626 } |
626 } |
627 } |
627 } |
628 |
628 |
629 NOT_PRODUCT(_overflow_counter = CMSMarkStackOverflowInterval;) |
629 NOT_PRODUCT(_overflow_counter = CMSMarkStackOverflowInterval;) |
630 _gc_counters = new CollectorCounters("CMS", 1); |
630 _gc_counters = new CollectorCounters("CMS", 1); |
|
631 _cgc_counters = new CollectorCounters("CMS stop-the-world phases", 2); |
631 _completed_initialization = true; |
632 _completed_initialization = true; |
632 _inter_sweep_timer.start(); // start of time |
633 _inter_sweep_timer.start(); // start of time |
633 } |
634 } |
634 |
635 |
635 const char* ConcurrentMarkSweepGeneration::name() const { |
636 const char* ConcurrentMarkSweepGeneration::name() const { |
5551 register_gc_end(); |
5552 register_gc_end(); |
5552 } |
5553 } |
5553 |
5554 |
5554 void CMSCollector::do_CMS_operation(CMS_op_type op, GCCause::Cause gc_cause) { |
5555 void CMSCollector::do_CMS_operation(CMS_op_type op, GCCause::Cause gc_cause) { |
5555 GCTraceCPUTime tcpu; |
5556 GCTraceCPUTime tcpu; |
5556 TraceCollectorStats tcs(counters()); |
5557 TraceCollectorStats tcs_cgc(cgc_counters()); |
5557 |
5558 |
5558 switch (op) { |
5559 switch (op) { |
5559 case CMS_op_checkpointRootsInitial: { |
5560 case CMS_op_checkpointRootsInitial: { |
5560 GCTraceTime(Info, gc) t("Pause Initial Mark", NULL, GCCause::_no_gc, true); |
5561 GCTraceTime(Info, gc) t("Pause Initial Mark", NULL, GCCause::_no_gc, true); |
5561 SvcGCMarker sgcm(SvcGCMarker::OTHER); |
5562 SvcGCMarker sgcm(SvcGCMarker::CONCURRENT); |
5562 checkpointRootsInitial(); |
5563 checkpointRootsInitial(); |
5563 break; |
5564 break; |
5564 } |
5565 } |
5565 case CMS_op_checkpointRootsFinal: { |
5566 case CMS_op_checkpointRootsFinal: { |
5566 GCTraceTime(Info, gc) t("Pause Remark", NULL, GCCause::_no_gc, true); |
5567 GCTraceTime(Info, gc) t("Pause Remark", NULL, GCCause::_no_gc, true); |
5567 SvcGCMarker sgcm(SvcGCMarker::OTHER); |
5568 SvcGCMarker sgcm(SvcGCMarker::CONCURRENT); |
5568 checkpointRootsFinal(); |
5569 checkpointRootsFinal(); |
5569 break; |
5570 break; |
5570 } |
5571 } |
5571 default: |
5572 default: |
5572 fatal("No such CMS_op"); |
5573 fatal("No such CMS_op"); |