--- 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