hotspot/src/share/vm/gc/parallel/parallelScavengeHeap.hpp
changeset 46657 cc4ac8d1ef6b
parent 41283 2615c024f3eb
--- a/hotspot/src/share/vm/gc/parallel/parallelScavengeHeap.hpp	Wed Jul 12 12:46:31 2017 +0000
+++ b/hotspot/src/share/vm/gc/parallel/parallelScavengeHeap.hpp	Tue Jul 04 20:41:33 2017 +0200
@@ -266,4 +266,33 @@
   size_t _metadata_used;
 };
 
+// Class that can be used to print information about the
+// adaptive size policy at intervals specified by
+// AdaptiveSizePolicyOutputInterval.  Only print information
+// if an adaptive size policy is in use.
+class AdaptiveSizePolicyOutput : AllStatic {
+  static bool enabled() {
+    return UseParallelGC &&
+           UseAdaptiveSizePolicy &&
+           log_is_enabled(Debug, gc, ergo);
+  }
+ public:
+  static void print() {
+    if (enabled()) {
+      ParallelScavengeHeap::heap()->size_policy()->print();
+    }
+  }
+
+  static void print(AdaptiveSizePolicy* size_policy, uint count) {
+    bool do_print =
+        enabled() &&
+        (AdaptiveSizePolicyOutputInterval > 0) &&
+        (count % AdaptiveSizePolicyOutputInterval) == 0;
+
+    if (do_print) {
+      size_policy->print();
+    }
+  }
+};
+
 #endif // SHARE_VM_GC_PARALLEL_PARALLELSCAVENGEHEAP_HPP