# HG changeset patch # User xlu # Date 1268526769 28800 # Node ID 0f6600cee5296af11760f68a03db3c276754ade0 # Parent 3b3d12e645e7a2ac740730160325c0530f37ba5a 6934758: Expose the break down of clean up task time during safepoint. Summary: Use -XX:+TraceSafepointCleanupTime to print out the details of each clean up tasks. Reviewed-by: dholmes, ysr diff -r 3b3d12e645e7 -r 0f6600cee529 src/share/vm/runtime/globals.hpp --- a/src/share/vm/runtime/globals.hpp Fri Mar 12 10:42:16 2010 -0500 +++ b/src/share/vm/runtime/globals.hpp Sat Mar 13 16:32:49 2010 -0800 @@ -2289,6 +2289,10 @@ "print safepoint statistics only when safepoint takes" \ " more than PrintSafepointSatisticsTimeout in millis") \ \ + product(bool, TraceSafepointCleanupTime, false, \ + "print the break down of clean up tasks performed during" \ + " safepoint") \ + \ develop(bool, InlineAccessors, true, \ "inline accessor methods (get/set)") \ \ diff -r 3b3d12e645e7 -r 0f6600cee529 src/share/vm/runtime/safepoint.cpp --- a/src/share/vm/runtime/safepoint.cpp Fri Mar 12 10:42:16 2010 -0500 +++ b/src/share/vm/runtime/safepoint.cpp Sat Mar 13 16:32:49 2010 -0800 @@ -457,21 +457,21 @@ // Various cleaning tasks that should be done periodically at safepoints void SafepointSynchronize::do_cleanup_tasks() { { - TraceTime t1("deflating idle monitors", TraceSafepoint); + TraceTime t1("deflating idle monitors", TraceSafepointCleanupTime); ObjectSynchronizer::deflate_idle_monitors(); } { - TraceTime t2("updating inline caches", TraceSafepoint); + TraceTime t2("updating inline caches", TraceSafepointCleanupTime); InlineCacheBuffer::update_inline_caches(); } if(UseCounterDecay && CounterDecay::is_decay_needed()) { - TraceTime t3("decaying counter", TraceSafepoint); + TraceTime t3("decaying counter", TraceSafepointCleanupTime); CounterDecay::decay(); } - TraceTime t4("sweeping nmethods", TraceSafepoint); + TraceTime t4("sweeping nmethods", TraceSafepointCleanupTime); NMethodSweeper::sweep(); }