< 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 >