< prev index next >
src/share/vm/gc/g1/g1CollectedHeap.cpp
Print this page
@@ -2327,13 +2327,17 @@
void G1CollectedHeap::register_concurrent_cycle_end() {
if (collector_state()->concurrent_cycle_started()) {
GCIdMarkAndRestore conc_gc_id_mark(_cmThread->gc_id());
if (_cm->has_aborted()) {
_gc_tracer_cm->report_concurrent_mode_failure();
- }
+ // ConcurrentGCTimer will be ended as well.
+ _cm->register_concurrent_gc_end();
+ } else {
_gc_timer_cm->register_gc_end();
+ }
+
_gc_tracer_cm->report_gc_end(_gc_timer_cm->gc_end(), _gc_timer_cm->time_partitions());
// Clear state variables to prepare for the next concurrent cycle.
collector_state()->set_concurrent_cycle_started(false);
_heap_summary_sent = false;
< prev index next >