--- old/src/hotspot/share/gc/g1/g1ConcurrentMark.cpp 2018-10-08 18:33:11.000000000 -0400 +++ new/src/hotspot/share/gc/g1/g1ConcurrentMark.cpp 2018-10-08 18:33:11.000000000 -0400 @@ -929,6 +929,8 @@ _gc_tracer_cm->report_gc_start(GCCause::_no_gc /* first parameter is not used */, _gc_timer_cm->gc_start()); _g1h->trace_heap_before_gc(_gc_tracer_cm); + // Record start, but take no time + TraceConcMemoryManagerStats tms(TraceConcMemoryManagerStats::CycleStart, _g1h->gc_cause()); } void G1ConcurrentMark::concurrent_cycle_end() { @@ -944,6 +946,8 @@ _gc_timer_cm->register_gc_end(); _gc_tracer_cm->report_gc_end(_gc_timer_cm->gc_end(), _gc_timer_cm->time_partitions()); + // Record end, but take no time + TraceConcMemoryManagerStats tms(TraceConcMemoryManagerStats::CycleEnd, _g1h->gc_cause()); } void G1ConcurrentMark::mark_from_roots() { @@ -1121,6 +1125,8 @@ return; } + TraceConcMemoryManagerStats tms(TraceConcMemoryManagerStats::Remark, _g1h->gc_cause()); + G1Policy* g1p = _g1h->g1_policy(); g1p->record_concurrent_mark_remark_start(); @@ -1337,6 +1343,8 @@ return; } + TraceConcMemoryManagerStats tms(TraceConcMemoryManagerStats::Cleanup, _g1h->gc_cause()); + G1Policy* g1p = _g1h->g1_policy(); g1p->record_concurrent_mark_cleanup_start();