< prev index next >

src/share/vm/gc/cms/concurrentMarkSweepGeneration.cpp

Print this page
rev 9733 : [mq]: webrev.00
rev 9734 : [mq]: webrev.01

*** 2740,2752 **** --- 2740,2754 ---- _collector(collector), _title(title), _trace_time(title) { _collector->resetYields(); _collector->resetTimer(); _collector->startTimer(); + _collector->gc_timer_cm()->register_gc_concurrent_start(title); } CMSPhaseAccounting::~CMSPhaseAccounting() { + _collector->gc_timer_cm()->register_gc_concurrent_end(); _collector->stopTimer(); log_debug(gc)("Concurrent active time: %.3fms", TimeHelper::counter_to_seconds(_collector->timerTicks())); log_trace(gc)(" (CMS %s yielded %d times)", _title, _collector->yields()); }
*** 5481,5490 **** --- 5483,5493 ---- assert(_collectorState == Idling, "The state should only change" " because the foreground collector has finished the collection"); return; } + { // Clear the mark bitmap (no grey objects to start with) // for the next cycle. GCTraceCPUTime tcpu; CMSPhaseAccounting cmspa(this, "Concurrent Reset");
*** 5521,5530 **** --- 5524,5534 ---- // Because only the full (i.e., concurrent mode failure) collections // are being measured for gc overhead limits, clean the "near" flag // and count. size_policy()->reset_gc_overhead_limit_count(); _collectorState = Idling; + } register_gc_end(); } // Same as above but for STW paths
< prev index next >