< prev index next >

src/share/vm/gc/parallel/asPSOldGen.cpp

Print this page

        

@@ -123,27 +123,23 @@
   // only reduce the footprint.
 
   size_t result = policy->promo_increment_aligned_down(max_contraction);
   // Also adjust for inter-generational alignment
   size_t result_aligned = align_size_down(result, gen_alignment);
-  if (PrintAdaptiveSizePolicy && Verbose) {
-    gclog_or_tty->print_cr("\nASPSOldGen::available_for_contraction:"
-      " " SIZE_FORMAT " K / " SIZE_FORMAT_HEX, result_aligned/K, result_aligned);
-    gclog_or_tty->print_cr(" reserved().byte_size() " SIZE_FORMAT " K / " SIZE_FORMAT_HEX,
-      reserved().byte_size()/K, reserved().byte_size());
+
+  LogHandle(gc, ergo) log;
+  if (log.is_trace()) {
     size_t working_promoted = (size_t) policy->avg_promoted()->padded_average();
-    gclog_or_tty->print_cr(" padded promoted " SIZE_FORMAT " K / " SIZE_FORMAT_HEX,
-      working_promoted/K, working_promoted);
-    gclog_or_tty->print_cr(" used " SIZE_FORMAT " K / " SIZE_FORMAT_HEX,
-      used_in_bytes()/K, used_in_bytes());
-    gclog_or_tty->print_cr(" min_gen_size() " SIZE_FORMAT " K / " SIZE_FORMAT_HEX,
-      min_gen_size()/K, min_gen_size());
-    gclog_or_tty->print_cr(" max_contraction " SIZE_FORMAT " K / " SIZE_FORMAT_HEX,
-      max_contraction/K, max_contraction);
-    gclog_or_tty->print_cr("    without alignment " SIZE_FORMAT " K / " SIZE_FORMAT_HEX,
-      policy->promo_increment(max_contraction)/K,
-      policy->promo_increment(max_contraction));
-    gclog_or_tty->print_cr(" alignment " SIZE_FORMAT_HEX, gen_alignment);
+    size_t promo_increment = policy->promo_increment(max_contraction);
+    log.trace("ASPSOldGen::available_for_contraction: " SIZE_FORMAT " K / " SIZE_FORMAT_HEX, result_aligned/K, result_aligned);
+    log.trace(" reserved().byte_size() " SIZE_FORMAT " K / " SIZE_FORMAT_HEX, reserved().byte_size()/K, reserved().byte_size());
+    log.trace(" padded promoted " SIZE_FORMAT " K / " SIZE_FORMAT_HEX, working_promoted/K, working_promoted);
+    log.trace(" used " SIZE_FORMAT " K / " SIZE_FORMAT_HEX, used_in_bytes()/K, used_in_bytes());
+    log.trace(" min_gen_size() " SIZE_FORMAT " K / " SIZE_FORMAT_HEX, min_gen_size()/K, min_gen_size());
+    log.trace(" max_contraction " SIZE_FORMAT " K / " SIZE_FORMAT_HEX, max_contraction/K, max_contraction);
+    log.trace("    without alignment " SIZE_FORMAT " K / " SIZE_FORMAT_HEX, promo_increment/K, promo_increment);
+    log.trace(" alignment " SIZE_FORMAT_HEX, gen_alignment);
   }
+
   assert(result_aligned <= max_contraction, "arithmetic is wrong");
   return result_aligned;
 }
< prev index next >