< prev index next >
src/share/vm/gc/g1/concurrentMarkThread.cpp
Print this page
@@ -90,11 +90,11 @@
jlong sleep_time_ms = mmu_tracker->when_ms(now, prediction_ms);
os::sleep(this, sleep_time_ms, false);
}
}
-class G1ConcPhaseTimer : public GCTraceConcTimeImpl<LogLevel::Info, LogTag::_gc, LogTag::_marking> {
+class G1ConcPhaseTimer : public GCTraceConcTimeImpl<LogLevel::Info, LOG_TAGS(gc, marking)> {
G1ConcurrentMark* _cm;
public:
G1ConcPhaseTimer(G1ConcurrentMark* cm, const char* title) :
GCTraceConcTimeImpl<LogLevel::Info, LogTag::_gc, LogTag::_marking>(title),
@@ -120,10 +120,12 @@
_cm->root_regions()->cancel_scan();
break;
}
assert(GCId::current() != GCId::undefined(), "GC id should have been set up by the initial mark GC.");
+
+ GCTraceConcTime(Info, gc) tt("Concurrent Cycle");
{
ResourceMark rm;
HandleMark hm;
double cycle_start = os::elapsedVTime();
@@ -208,11 +210,10 @@
// case they are needed by the pause. If a Full GC takes
// place, it would wait for us to process the regions
// reclaimed by cleanup.
G1ConcPhaseTimer t(_cm, "Concurrent Complete Cleanup");
-
// Now do the concurrent cleanup operation.
_cm->complete_cleanup();
// Notify anyone who's waiting that there are no more free
// regions coming. We have to do this before we join the STS
< prev index next >