--- old/src/share/vm/gc/cms/concurrentMarkSweepGeneration.cpp 2015-12-14 21:50:28.334701629 -0800 +++ new/src/share/vm/gc/cms/concurrentMarkSweepGeneration.cpp 2015-12-14 21:50:28.242701632 -0800 @@ -2908,6 +2908,7 @@ // a safepoint is indeed in progress as a young generation // stop-the-world GC happens even as we mark in this generation. assert(_collectorState == Marking, "inconsistent state?"); + _gc_timer_cm->register_gc_concurrent_start("Concurrent Mark"); check_correct_thread_executing(); verify_overflow_empty(); @@ -2927,6 +2928,7 @@ log_debug(gc)("bailing out to foreground collection"); } verify_overflow_empty(); + _gc_timer_cm->register_gc_concurrent_end(); return res; } @@ -5293,6 +5295,7 @@ void CMSCollector::sweep() { assert(_collectorState == Sweeping, "just checking"); + _gc_timer_cm->register_gc_concurrent_start("Concurrent Sweep"); check_correct_thread_executing(); verify_work_stacks_empty(); verify_overflow_empty(); @@ -5373,6 +5376,7 @@ GenCollectedHeap* gch = GenCollectedHeap::heap(); gch->clear_incremental_collection_failed(); // Worth retrying as fresh space may have been freed up gch->update_full_collections_completed(_collection_count_start); + _gc_timer_cm->register_gc_concurrent_end(); } // FIX ME!!! Looks like this belongs in CFLSpace, with