src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp

Print this page
rev 5685 : 8028128: Add a type safe alternative for working with counter based data
Reviewed-by:

*** 1991,2001 **** // a mark-sweep-compact. void CMSCollector::do_compaction_work(bool clear_all_soft_refs) { GenCollectedHeap* gch = GenCollectedHeap::heap(); STWGCTimer* gc_timer = GenMarkSweep::gc_timer(); ! gc_timer->register_gc_start(os::elapsed_counter()); SerialOldTracer* gc_tracer = GenMarkSweep::gc_tracer(); gc_tracer->report_gc_start(gch->gc_cause(), gc_timer->gc_start()); GCTraceTime t("CMS:MSC ", PrintGCDetails && Verbose, true, NULL); --- 1991,2001 ---- // a mark-sweep-compact. void CMSCollector::do_compaction_work(bool clear_all_soft_refs) { GenCollectedHeap* gch = GenCollectedHeap::heap(); STWGCTimer* gc_timer = GenMarkSweep::gc_timer(); ! gc_timer->register_gc_start(); SerialOldTracer* gc_tracer = GenMarkSweep::gc_tracer(); gc_tracer->report_gc_start(gch->gc_cause(), gc_timer->gc_start()); GCTraceTime t("CMS:MSC ", PrintGCDetails && Verbose, true, NULL);
*** 2087,2097 **** // Sample collection pause time and reset for collection interval. if (UseAdaptiveSizePolicy) { size_policy()->msc_collection_end(gch->gc_cause()); } ! gc_timer->register_gc_end(os::elapsed_counter()); gc_tracer->report_gc_end(gc_timer->gc_end(), gc_timer->time_partitions()); // For a mark-sweep-compact, compute_new_size() will be called // in the heap's do_collection() method. --- 2087,2097 ---- // Sample collection pause time and reset for collection interval. if (UseAdaptiveSizePolicy) { size_policy()->msc_collection_end(gch->gc_cause()); } ! gc_timer->register_gc_end(); gc_tracer->report_gc_end(gc_timer->gc_end(), gc_timer->time_partitions()); // For a mark-sweep-compact, compute_new_size() will be called // in the heap's do_collection() method.
*** 2473,2491 **** } } void CMSCollector::register_gc_start(GCCause::Cause cause) { _cms_start_registered = true; ! _gc_timer_cm->register_gc_start(os::elapsed_counter()); _gc_tracer_cm->report_gc_start(cause, _gc_timer_cm->gc_start()); } void CMSCollector::register_gc_end() { if (_cms_start_registered) { report_heap_summary(GCWhen::AfterGC); ! _gc_timer_cm->register_gc_end(os::elapsed_counter()); _gc_tracer_cm->report_gc_end(_gc_timer_cm->gc_end(), _gc_timer_cm->time_partitions()); _cms_start_registered = false; } } --- 2473,2491 ---- } } void CMSCollector::register_gc_start(GCCause::Cause cause) { _cms_start_registered = true; ! _gc_timer_cm->register_gc_start(); _gc_tracer_cm->report_gc_start(cause, _gc_timer_cm->gc_start()); } void CMSCollector::register_gc_end() { if (_cms_start_registered) { report_heap_summary(GCWhen::AfterGC); ! _gc_timer_cm->register_gc_end(); _gc_tracer_cm->report_gc_end(_gc_timer_cm->gc_end(), _gc_timer_cm->time_partitions()); _cms_start_registered = false; } }