changeset 4207:38d1bd11fb2d

Merge
author ehelin
date Thu, 14 Feb 2013 16:04:42 +0100
parents 78bef3bdb386 d05fee30c170
children 6a71d443bd0a
files
diffstat 4 files changed, 9 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp	Thu Feb 14 04:40:23 2013 -0800
+++ b/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp	Thu Feb 14 16:04:42 2013 +0100
@@ -2285,7 +2285,7 @@
         {
           ReleaseForegroundGC x(this);
           stats().record_cms_begin();
-          register_gc_start();
+          register_gc_start(GCCause::_cms_concurrent_mark);
 
           VM_CMS_Initial_Mark initial_mark_op(this);
           VMThread::execute(&initial_mark_op);
@@ -2421,11 +2421,11 @@
   }
 }
 
-void CMSCollector::register_gc_start() {
+void CMSCollector::register_gc_start(GCCause::Cause cause) {
   _cms_start_registered = true;
   CollectedHeap* heap = GenCollectedHeap::heap();
   _gc_timer_cm->register_gc_start(os::elapsed_counter());
-  _gc_tracer_cm->report_gc_start(heap->gc_cause(), _gc_timer_cm->gc_start());
+  _gc_tracer_cm->report_gc_start(cause, _gc_timer_cm->gc_start());
 }
 
 void CMSCollector::register_gc_end() {
@@ -2469,7 +2469,7 @@
     }
     switch (_collectorState) {
       case InitialMarking:
-        register_gc_start();
+        register_gc_start(GenCollectedHeap::heap()->gc_cause());
         init_mark_was_synchronous = true;  // fact to be exploited in re-mark
         checkpointRootsInitial(false);
         assert(_collectorState == Marking, "Collector state should have changed"
--- a/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp	Thu Feb 14 04:40:23 2013 -0800
+++ b/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp	Thu Feb 14 16:04:42 2013 +0100
@@ -615,7 +615,7 @@
   ConcurrentGCTimer* _gc_timer_cm;
 
   bool _cms_start_registered;
-  void register_gc_start();
+  void register_gc_start(GCCause::Cause cause);
   void register_gc_end();
 
  protected:
--- a/src/share/vm/gc_interface/gcCause.cpp	Thu Feb 14 04:40:23 2013 -0800
+++ b/src/share/vm/gc_interface/gcCause.cpp	Thu Feb 14 16:04:42 2013 +0100
@@ -72,6 +72,9 @@
     case _cms_final_remark:
       return "CMS Final Remark";
 
+    case _cms_concurrent_mark:
+      return "CMS Concurrent Mark";
+
     case _old_generation_expanded_on_last_scavenge:
       return "Old Generation Expanded On Last Scavenge";
 
--- a/src/share/vm/gc_interface/gcCause.hpp	Thu Feb 14 04:40:23 2013 -0800
+++ b/src/share/vm/gc_interface/gcCause.hpp	Thu Feb 14 16:04:42 2013 +0100
@@ -60,6 +60,7 @@
     _cms_generation_full,
     _cms_initial_mark,
     _cms_final_remark,
+    _cms_concurrent_mark,
 
     _old_generation_expanded_on_last_scavenge,
     _old_generation_too_full_to_scavenge,