--- old/src/share/vm/gc/g1/concurrentMark.cpp 2015-09-08 13:23:19.435225836 +0200 +++ new/src/share/vm/gc/g1/concurrentMark.cpp 2015-09-08 13:23:19.327225840 +0200 @@ -41,6 +41,7 @@ #include "gc/g1/heapRegionRemSet.hpp" #include "gc/g1/heapRegionSet.inline.hpp" #include "gc/g1/suspendibleThreadSet.hpp" +#include "gc/shared/gcId.hpp" #include "gc/shared/gcTimer.hpp" #include "gc/shared/gcTrace.hpp" #include "gc/shared/gcTraceTime.hpp" @@ -520,7 +521,6 @@ _has_overflown(false), _concurrent(false), _has_aborted(false), - _aborted_gc_id(GCId::undefined()), _restart_for_overflow(false), _concurrent_marking_in_progress(false), @@ -991,7 +991,7 @@ force_overflow()->update(); if (G1Log::fine()) { - gclog_or_tty->gclog_stamp(concurrent_gc_id()); + gclog_or_tty->gclog_stamp(); gclog_or_tty->print_cr("[GC concurrent-mark-reset-for-overflow]"); } } @@ -1181,7 +1181,7 @@ // should not attempt to do any further work. if (root_regions()->scan_in_progress()) { if (G1Log::fine()) { - gclog_or_tty->gclog_stamp(concurrent_gc_id()); + gclog_or_tty->gclog_stamp(); gclog_or_tty->print_cr("[GC concurrent-root-region-scan-start]"); } @@ -1195,7 +1195,7 @@ _parallel_workers->run_task(&task); if (G1Log::fine()) { - gclog_or_tty->gclog_stamp(concurrent_gc_id()); + gclog_or_tty->gclog_stamp(); gclog_or_tty->print_cr("[GC concurrent-root-region-scan-end, %1.7lf secs]", os::elapsedTime() - scan_start); } @@ -1245,8 +1245,7 @@ public: G1CMTraceTime(const char* title, bool doit) - : GCTraceTime(title, doit_and_prepend(doit), false, G1CollectedHeap::heap()->gc_timer_cm(), - G1CollectedHeap::heap()->concurrent_mark()->concurrent_gc_id()) { + : GCTraceTime(title, doit_and_prepend(doit), false, G1CollectedHeap::heap()->gc_timer_cm()) { } }; @@ -2391,8 +2390,7 @@ &g1_keep_alive, &g1_drain_mark_stack, executor, - g1h->gc_timer_cm(), - concurrent_gc_id()); + g1h->gc_timer_cm()); g1h->gc_tracer_cm()->report_gc_reference_stats(stats); // The do_oop work routines of the keep_alive and drain_marking_stack @@ -2970,7 +2968,6 @@ // We haven't started a concurrent cycle or we have already aborted it. No need to do anything. return; } - // Clear all marks in the next bitmap for the next marking cycle. This will allow us to skip the next // concurrent bitmap clearing. _nextMarkBitMap->clearAll(); @@ -2988,8 +2985,6 @@ } _first_overflow_barrier_sync.abort(); _second_overflow_barrier_sync.abort(); - _aborted_gc_id = _g1h->gc_tracer_cm()->gc_id(); - assert(!_aborted_gc_id.is_undefined(), "ConcurrentMark::abort() executed more than once?"); _has_aborted = true; SATBMarkQueueSet& satb_mq_set = JavaThread::satb_mark_queue_set(); @@ -3004,13 +2999,6 @@ _g1h->register_concurrent_cycle_end(); } -const GCId& ConcurrentMark::concurrent_gc_id() { - if (has_aborted()) { - return _aborted_gc_id; - } - return _g1h->gc_tracer_cm()->gc_id(); -} - static void print_ms_time_info(const char* prefix, const char* name, NumberSeq& ns) { gclog_or_tty->print_cr("%s%5d %12s: total time = %8.2f s (avg = %8.2f ms).",