src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp

Print this page
rev 4735 : [mq]: 8013895
rev 4736 : Add per-region type information to the output of -XX:+G1SummarizeRSetStats

@@ -3534,19 +3534,26 @@
   assert(InlineCacheBuffer::is_empty(), "should have cleaned up ICBuffer");
   // Call allocation profiler
   AllocationProfiler::iterate_since_last_gc();
   // Fill TLAB's and such
   ensure_parsability(true);
+
+  if (G1SummarizeRSetStats &&
+      (G1SummarizeRSetStatsPeriod > 0) && ((G1SummarizeRSetStatsTime & 2) != 0) &&
+      // we are at the end of the GC. Total collections has already been increased.
+      (total_collections() % G1SummarizeRSetStatsPeriod == 0)) {
+    g1_rem_set()->print_periodic_summary_info("Before GC RS summary");
+  }
 }
 
 void G1CollectedHeap::gc_epilogue(bool full /* Ignored */) {
 
   if (G1SummarizeRSetStats &&
-      (G1SummarizeRSetStatsPeriod > 0) &&
+      (G1SummarizeRSetStatsPeriod > 0) && ((G1SummarizeRSetStatsTime & 1) != 0) &&
       // we are at the end of the GC. Total collections has already been increased.
       ((total_collections() - 1) % G1SummarizeRSetStatsPeriod == 0)) {
-    g1_rem_set()->print_periodic_summary_info();
+    g1_rem_set()->print_periodic_summary_info("After GC RS summary");
   }
 
   // FIXME: what is this about?
   // I'm ignoring the "fill_newgen()" call if "alloc_event_enabled"
   // is set.