< prev index next >

src/share/vm/gc/g1/concurrentMarkThread.cpp

Print this page
rev 10384 : [mq]: step.00
rev 10385 : [mq]: step.01

@@ -95,15 +95,15 @@
 class GCConcPhaseTimer : StackObj {
   G1ConcurrentMark* _cm;
 
  public:
   GCConcPhaseTimer(G1ConcurrentMark* cm, const char* title) : _cm(cm) {
-    _cm->register_concurrent_phase_start(title);
+    _cm->gc_timer_cm()->register_gc_concurrent_start(title);
   }
 
   ~GCConcPhaseTimer() {
-    _cm->register_concurrent_phase_end();
+    _cm->gc_timer_cm()->register_gc_concurrent_end();
   }
 };
 
 void ConcurrentMarkThread::run() {
   initialize_in_thread();

@@ -126,10 +126,14 @@
     if (_should_terminate) {
       _cm->root_regions()->cancel_scan();
       break;
     }
 
+    GCIdMark gc_id_mark;
+
+    cm()->concurrent_cycle_start();
+
     assert(GCId::current() != GCId::undefined(), "GC id should have been set up by the initial mark GC.");
     {
       ResourceMark rm;
       HandleMark   hm;
       double cycle_start = os::elapsedVTime();

@@ -286,11 +290,12 @@
     // Java thread is waiting for a full GC to happen (e.g., it
     // called System.gc() with +ExplicitGCInvokesConcurrent).
     {
       SuspendibleThreadSetJoiner sts_join;
       g1h->increment_old_marking_cycles_completed(true /* concurrent */);
-      g1h->register_concurrent_cycle_end();
+
+      cm()->concurrent_cycle_end();
     }
   }
 }
 
 void ConcurrentMarkThread::stop() {
< prev index next >