comparison src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp @ 13400:86e6d691f2e1

8028128: Add a type safe alternative for working with counter based data Reviewed-by: dholmes, egahlin
author mgronlun
date Sat, 23 Nov 2013 12:25:13 +0100
parents 592d8b01fedd
children 870aedf4ba4f 9fdaa79b0c27
comparison
equal deleted inserted replaced
13399:260ac69dc096 13400:86e6d691f2e1
1991 // a mark-sweep-compact. 1991 // a mark-sweep-compact.
1992 void CMSCollector::do_compaction_work(bool clear_all_soft_refs) { 1992 void CMSCollector::do_compaction_work(bool clear_all_soft_refs) {
1993 GenCollectedHeap* gch = GenCollectedHeap::heap(); 1993 GenCollectedHeap* gch = GenCollectedHeap::heap();
1994 1994
1995 STWGCTimer* gc_timer = GenMarkSweep::gc_timer(); 1995 STWGCTimer* gc_timer = GenMarkSweep::gc_timer();
1996 gc_timer->register_gc_start(os::elapsed_counter()); 1996 gc_timer->register_gc_start();
1997 1997
1998 SerialOldTracer* gc_tracer = GenMarkSweep::gc_tracer(); 1998 SerialOldTracer* gc_tracer = GenMarkSweep::gc_tracer();
1999 gc_tracer->report_gc_start(gch->gc_cause(), gc_timer->gc_start()); 1999 gc_tracer->report_gc_start(gch->gc_cause(), gc_timer->gc_start());
2000 2000
2001 GCTraceTime t("CMS:MSC ", PrintGCDetails && Verbose, true, NULL); 2001 GCTraceTime t("CMS:MSC ", PrintGCDetails && Verbose, true, NULL);
2087 // Sample collection pause time and reset for collection interval. 2087 // Sample collection pause time and reset for collection interval.
2088 if (UseAdaptiveSizePolicy) { 2088 if (UseAdaptiveSizePolicy) {
2089 size_policy()->msc_collection_end(gch->gc_cause()); 2089 size_policy()->msc_collection_end(gch->gc_cause());
2090 } 2090 }
2091 2091
2092 gc_timer->register_gc_end(os::elapsed_counter()); 2092 gc_timer->register_gc_end();
2093 2093
2094 gc_tracer->report_gc_end(gc_timer->gc_end(), gc_timer->time_partitions()); 2094 gc_tracer->report_gc_end(gc_timer->gc_end(), gc_timer->time_partitions());
2095 2095
2096 // For a mark-sweep-compact, compute_new_size() will be called 2096 // For a mark-sweep-compact, compute_new_size() will be called
2097 // in the heap's do_collection() method. 2097 // in the heap's do_collection() method.
2473 } 2473 }
2474 } 2474 }
2475 2475
2476 void CMSCollector::register_gc_start(GCCause::Cause cause) { 2476 void CMSCollector::register_gc_start(GCCause::Cause cause) {
2477 _cms_start_registered = true; 2477 _cms_start_registered = true;
2478 _gc_timer_cm->register_gc_start(os::elapsed_counter()); 2478 _gc_timer_cm->register_gc_start();
2479 _gc_tracer_cm->report_gc_start(cause, _gc_timer_cm->gc_start()); 2479 _gc_tracer_cm->report_gc_start(cause, _gc_timer_cm->gc_start());
2480 } 2480 }
2481 2481
2482 void CMSCollector::register_gc_end() { 2482 void CMSCollector::register_gc_end() {
2483 if (_cms_start_registered) { 2483 if (_cms_start_registered) {
2484 report_heap_summary(GCWhen::AfterGC); 2484 report_heap_summary(GCWhen::AfterGC);
2485 2485
2486 _gc_timer_cm->register_gc_end(os::elapsed_counter()); 2486 _gc_timer_cm->register_gc_end();
2487 _gc_tracer_cm->report_gc_end(_gc_timer_cm->gc_end(), _gc_timer_cm->time_partitions()); 2487 _gc_tracer_cm->report_gc_end(_gc_timer_cm->gc_end(), _gc_timer_cm->time_partitions());
2488 _cms_start_registered = false; 2488 _cms_start_registered = false;
2489 } 2489 }
2490 } 2490 }
2491 2491