6934758: Expose the break down of clean up task time during safepoint

Use -XX:+TraceSafepointCleanupTime to print out the details of each clean up tasks.

Reviewed-by: dholmes, ysr
This commit is contained in:
Xiaobin Lu 2010-03-13 16:32:49 -08:00
parent 053d7adeb2
commit 09f8dd45d1
2 changed files with 8 additions and 4 deletions

View file

@ -2289,6 +2289,10 @@ class CommandLineFlags {
"print safepoint statistics only when safepoint takes" \ "print safepoint statistics only when safepoint takes" \
" more than PrintSafepointSatisticsTimeout in millis") \ " more than PrintSafepointSatisticsTimeout in millis") \
\ \
product(bool, TraceSafepointCleanupTime, false, \
"print the break down of clean up tasks performed during" \
" safepoint") \
\
develop(bool, InlineAccessors, true, \ develop(bool, InlineAccessors, true, \
"inline accessor methods (get/set)") \ "inline accessor methods (get/set)") \
\ \

View file

@ -457,21 +457,21 @@ void CounterDecay::decay() {
// Various cleaning tasks that should be done periodically at safepoints // Various cleaning tasks that should be done periodically at safepoints
void SafepointSynchronize::do_cleanup_tasks() { void SafepointSynchronize::do_cleanup_tasks() {
{ {
TraceTime t1("deflating idle monitors", TraceSafepoint); TraceTime t1("deflating idle monitors", TraceSafepointCleanupTime);
ObjectSynchronizer::deflate_idle_monitors(); ObjectSynchronizer::deflate_idle_monitors();
} }
{ {
TraceTime t2("updating inline caches", TraceSafepoint); TraceTime t2("updating inline caches", TraceSafepointCleanupTime);
InlineCacheBuffer::update_inline_caches(); InlineCacheBuffer::update_inline_caches();
} }
if(UseCounterDecay && CounterDecay::is_decay_needed()) { if(UseCounterDecay && CounterDecay::is_decay_needed()) {
TraceTime t3("decaying counter", TraceSafepoint); TraceTime t3("decaying counter", TraceSafepointCleanupTime);
CounterDecay::decay(); CounterDecay::decay();
} }
TraceTime t4("sweeping nmethods", TraceSafepoint); TraceTime t4("sweeping nmethods", TraceSafepointCleanupTime);
NMethodSweeper::sweep(); NMethodSweeper::sweep();
} }