RFR: Print the log message for minor Traversal cycle

Aleksey Shipilev shade at redhat.com
Wed Sep 5 10:47:18 UTC 2018


...so that GC logs and Event logs in hs_err clearly say we entered it:

diff -r 3e247a8c900c src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp
--- a/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp        Wed Sep 05 11:13:25 2018 +0200
+++ b/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp        Wed Sep 05 12:46:21 2018 +0200
@@ -2712,3 +2712,3 @@

-  static const char* msg = "Pause Init Traversal";
+  const char* msg = init_traversal_event_message();
   GCTraceTime(Info, gc) time(msg, gc_timer());
@@ -2727,3 +2727,3 @@

-  static const char* msg = "Pause Final Traversal";
+  const char* msg = final_traversal_event_message();
   GCTraceTime(Info, gc) time(msg, gc_timer());
@@ -2877,3 +2877,3 @@
 void ShenandoahHeap::entry_traversal() {
-  static const char* msg = "Concurrent traversal";
+  const char* msg = conc_traversal_event_message();
   GCTraceTime(Info, gc) time(msg, NULL, GCCause::_no_gc, true);
@@ -3070,2 +3070,26 @@

+const char* ShenandoahHeap::init_traversal_event_message() const {
+  if (is_minor_gc()) {
+    return "Pause Init Traversal (minor)";
+  } else {
+    return "Pause Init Traversal";
+  }
+}
+
+const char* ShenandoahHeap::final_traversal_event_message() const {
+  if (is_minor_gc()) {
+    return "Pause Final Traversal (minor)";
+  } else {
+    return "Pause Final Traversal";
+  }
+}
+
+const char* ShenandoahHeap::conc_traversal_event_message() const {
+  if (is_minor_gc()) {
+    return "Concurrent traversal (minor)";
+  } else {
+    return "Concurrent traversal";
+  }
+}
+
 const char* ShenandoahHeap::degen_event_message(ShenandoahDegenPoint point) const {
diff -r 3e247a8c900c src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp
--- a/src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp        Wed Sep 05 11:13:25 2018 +0200
+++ b/src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp        Wed Sep 05 12:46:21 2018 +0200
@@ -856,2 +856,5 @@
   const char* conc_mark_event_message() const;
+  const char* init_traversal_event_message() const;
+  const char* final_traversal_event_message() const;
+  const char* conc_traversal_event_message() const;
   const char* degen_event_message(ShenandoahDegenPoint point) const;

Testing: tier1_gc_shenandoah

Thanks,
-Aleksey



More information about the shenandoah-dev mailing list