--- a/hotspot/src/share/vm/gc/parallel/psYoungGen.cpp Thu Dec 10 23:02:31 2015 +0000
+++ b/hotspot/src/share/vm/gc/parallel/psYoungGen.cpp Thu Dec 10 14:57:55 2015 +0100
@@ -30,6 +30,7 @@
#include "gc/parallel/psYoungGen.hpp"
#include "gc/shared/gcUtil.hpp"
#include "gc/shared/spaceDecorator.hpp"
+#include "logging/log.hpp"
#include "oops/oop.inline.hpp"
#include "runtime/java.hpp"
@@ -268,14 +269,12 @@
space_invariants();
- if (PrintAdaptiveSizePolicy && Verbose) {
- gclog_or_tty->print_cr("Young generation size: "
- "desired eden: " SIZE_FORMAT " survivor: " SIZE_FORMAT
- " used: " SIZE_FORMAT " capacity: " SIZE_FORMAT
- " gen limits: " SIZE_FORMAT " / " SIZE_FORMAT,
- eden_size, survivor_size, used_in_bytes(), capacity_in_bytes(),
- _max_gen_size, min_gen_size());
- }
+ log_trace(gc, ergo)("Young generation size: "
+ "desired eden: " SIZE_FORMAT " survivor: " SIZE_FORMAT
+ " used: " SIZE_FORMAT " capacity: " SIZE_FORMAT
+ " gen limits: " SIZE_FORMAT " / " SIZE_FORMAT,
+ eden_size, survivor_size, used_in_bytes(), capacity_in_bytes(),
+ _max_gen_size, min_gen_size());
}
}
@@ -330,26 +329,17 @@
size_changed = true;
}
} else {
- if (Verbose && PrintGC) {
- if (orig_size == gen_size_limit()) {
- gclog_or_tty->print_cr("PSYoung generation size at maximum: "
- SIZE_FORMAT "K", orig_size/K);
- } else if (orig_size == min_gen_size()) {
- gclog_or_tty->print_cr("PSYoung generation size at minium: "
- SIZE_FORMAT "K", orig_size/K);
- }
+ if (orig_size == gen_size_limit()) {
+ log_trace(gc)("PSYoung generation size at maximum: " SIZE_FORMAT "K", orig_size/K);
+ } else if (orig_size == min_gen_size()) {
+ log_trace(gc)("PSYoung generation size at minium: " SIZE_FORMAT "K", orig_size/K);
}
}
if (size_changed) {
post_resize();
-
- if (Verbose && PrintGC) {
- size_t current_size = virtual_space()->committed_size();
- gclog_or_tty->print_cr("PSYoung generation size changed: "
- SIZE_FORMAT "K->" SIZE_FORMAT "K",
- orig_size/K, current_size/K);
- }
+ log_trace(gc)("PSYoung generation size changed: " SIZE_FORMAT "K->" SIZE_FORMAT "K",
+ orig_size/K, virtual_space()->committed_size()/K);
}
guarantee(eden_plus_survivors <= virtual_space()->committed_size() ||
@@ -412,28 +402,25 @@
s2->mangle_region(delta2_right);
}
- if (TraceZapUnusedHeapArea) {
- // s1
- gclog_or_tty->print_cr("Current region: [" PTR_FORMAT ", " PTR_FORMAT ") "
- "New region: [" PTR_FORMAT ", " PTR_FORMAT ")",
- p2i(s1->bottom()), p2i(s1->end()),
- p2i(s1MR.start()), p2i(s1MR.end()));
- gclog_or_tty->print_cr(" Mangle before: [" PTR_FORMAT ", "
- PTR_FORMAT ") Mangle after: [" PTR_FORMAT ", " PTR_FORMAT ")",
- p2i(delta1_left.start()), p2i(delta1_left.end()),
- p2i(delta1_right.start()), p2i(delta1_right.end()));
+ // s1
+ log_develop_trace(gc)("Current region: [" PTR_FORMAT ", " PTR_FORMAT ") "
+ "New region: [" PTR_FORMAT ", " PTR_FORMAT ")",
+ p2i(s1->bottom()), p2i(s1->end()),
+ p2i(s1MR.start()), p2i(s1MR.end()));
+ log_develop_trace(gc)(" Mangle before: [" PTR_FORMAT ", "
+ PTR_FORMAT ") Mangle after: [" PTR_FORMAT ", " PTR_FORMAT ")",
+ p2i(delta1_left.start()), p2i(delta1_left.end()),
+ p2i(delta1_right.start()), p2i(delta1_right.end()));
- // s2
- gclog_or_tty->print_cr("Current region: [" PTR_FORMAT ", " PTR_FORMAT ") "
- "New region: [" PTR_FORMAT ", " PTR_FORMAT ")",
- p2i(s2->bottom()), p2i(s2->end()),
- p2i(s2MR.start()), p2i(s2MR.end()));
- gclog_or_tty->print_cr(" Mangle before: [" PTR_FORMAT ", "
- PTR_FORMAT ") Mangle after: [" PTR_FORMAT ", " PTR_FORMAT ")",
- p2i(delta2_left.start()), p2i(delta2_left.end()),
- p2i(delta2_right.start()), p2i(delta2_right.end()));
- }
-
+ // s2
+ log_develop_trace(gc)("Current region: [" PTR_FORMAT ", " PTR_FORMAT ") "
+ "New region: [" PTR_FORMAT ", " PTR_FORMAT ")",
+ p2i(s2->bottom()), p2i(s2->end()),
+ p2i(s2MR.start()), p2i(s2MR.end()));
+ log_develop_trace(gc)(" Mangle before: [" PTR_FORMAT ", "
+ PTR_FORMAT ") Mangle after: [" PTR_FORMAT ", " PTR_FORMAT ")",
+ p2i(delta2_left.start()), p2i(delta2_left.end()),
+ p2i(delta2_right.start()), p2i(delta2_right.end()));
}
#endif // NOT PRODUCT
@@ -448,41 +435,32 @@
return;
}
- if (PrintAdaptiveSizePolicy && Verbose) {
- gclog_or_tty->print_cr("PSYoungGen::resize_spaces(requested_eden_size: "
- SIZE_FORMAT
- ", requested_survivor_size: " SIZE_FORMAT ")",
- requested_eden_size, requested_survivor_size);
- gclog_or_tty->print_cr(" eden: [" PTR_FORMAT ".." PTR_FORMAT ") "
- SIZE_FORMAT,
- p2i(eden_space()->bottom()),
- p2i(eden_space()->end()),
- pointer_delta(eden_space()->end(),
- eden_space()->bottom(),
- sizeof(char)));
- gclog_or_tty->print_cr(" from: [" PTR_FORMAT ".." PTR_FORMAT ") "
- SIZE_FORMAT,
- p2i(from_space()->bottom()),
- p2i(from_space()->end()),
- pointer_delta(from_space()->end(),
- from_space()->bottom(),
- sizeof(char)));
- gclog_or_tty->print_cr(" to: [" PTR_FORMAT ".." PTR_FORMAT ") "
- SIZE_FORMAT,
- p2i(to_space()->bottom()),
- p2i(to_space()->end()),
- pointer_delta( to_space()->end(),
- to_space()->bottom(),
- sizeof(char)));
- }
+ log_trace(gc, ergo)("PSYoungGen::resize_spaces(requested_eden_size: " SIZE_FORMAT ", requested_survivor_size: " SIZE_FORMAT ")",
+ requested_eden_size, requested_survivor_size);
+ log_trace(gc, ergo)(" eden: [" PTR_FORMAT ".." PTR_FORMAT ") " SIZE_FORMAT,
+ p2i(eden_space()->bottom()),
+ p2i(eden_space()->end()),
+ pointer_delta(eden_space()->end(),
+ eden_space()->bottom(),
+ sizeof(char)));
+ log_trace(gc, ergo)(" from: [" PTR_FORMAT ".." PTR_FORMAT ") " SIZE_FORMAT,
+ p2i(from_space()->bottom()),
+ p2i(from_space()->end()),
+ pointer_delta(from_space()->end(),
+ from_space()->bottom(),
+ sizeof(char)));
+ log_trace(gc, ergo)(" to: [" PTR_FORMAT ".." PTR_FORMAT ") " SIZE_FORMAT,
+ p2i(to_space()->bottom()),
+ p2i(to_space()->end()),
+ pointer_delta( to_space()->end(),
+ to_space()->bottom(),
+ sizeof(char)));
// There's nothing to do if the new sizes are the same as the current
if (requested_survivor_size == to_space()->capacity_in_bytes() &&
requested_survivor_size == from_space()->capacity_in_bytes() &&
requested_eden_size == eden_space()->capacity_in_bytes()) {
- if (PrintAdaptiveSizePolicy && Verbose) {
- gclog_or_tty->print_cr(" capacities are the right sizes, returning");
- }
+ log_trace(gc, ergo)(" capacities are the right sizes, returning");
return;
}
@@ -503,9 +481,7 @@
if (eden_from_to_order) {
// Eden, from, to
eden_from_to_order = true;
- if (PrintAdaptiveSizePolicy && Verbose) {
- gclog_or_tty->print_cr(" Eden, from, to:");
- }
+ log_trace(gc, ergo)(" Eden, from, to:");
// Set eden
// "requested_eden_size" is a goal for the size of eden
@@ -566,28 +542,21 @@
guarantee(to_start != to_end, "to space is zero sized");
- if (PrintAdaptiveSizePolicy && Verbose) {
- gclog_or_tty->print_cr(" [eden_start .. eden_end): "
- "[" PTR_FORMAT " .. " PTR_FORMAT ") " SIZE_FORMAT,
- p2i(eden_start),
- p2i(eden_end),
- pointer_delta(eden_end, eden_start, sizeof(char)));
- gclog_or_tty->print_cr(" [from_start .. from_end): "
- "[" PTR_FORMAT " .. " PTR_FORMAT ") " SIZE_FORMAT,
- p2i(from_start),
- p2i(from_end),
- pointer_delta(from_end, from_start, sizeof(char)));
- gclog_or_tty->print_cr(" [ to_start .. to_end): "
- "[" PTR_FORMAT " .. " PTR_FORMAT ") " SIZE_FORMAT,
- p2i(to_start),
- p2i(to_end),
- pointer_delta( to_end, to_start, sizeof(char)));
- }
+ log_trace(gc, ergo)(" [eden_start .. eden_end): [" PTR_FORMAT " .. " PTR_FORMAT ") " SIZE_FORMAT,
+ p2i(eden_start),
+ p2i(eden_end),
+ pointer_delta(eden_end, eden_start, sizeof(char)));
+ log_trace(gc, ergo)(" [from_start .. from_end): [" PTR_FORMAT " .. " PTR_FORMAT ") " SIZE_FORMAT,
+ p2i(from_start),
+ p2i(from_end),
+ pointer_delta(from_end, from_start, sizeof(char)));
+ log_trace(gc, ergo)(" [ to_start .. to_end): [" PTR_FORMAT " .. " PTR_FORMAT ") " SIZE_FORMAT,
+ p2i(to_start),
+ p2i(to_end),
+ pointer_delta( to_end, to_start, sizeof(char)));
} else {
// Eden, to, from
- if (PrintAdaptiveSizePolicy && Verbose) {
- gclog_or_tty->print_cr(" Eden, to, from:");
- }
+ log_trace(gc, ergo)(" Eden, to, from:");
// To space gets priority over eden resizing. Note that we position
// to space as if we were able to resize from space, even though from
@@ -623,23 +592,18 @@
eden_end = MAX2(eden_end, eden_start + alignment);
to_start = MAX2(to_start, eden_end);
- if (PrintAdaptiveSizePolicy && Verbose) {
- gclog_or_tty->print_cr(" [eden_start .. eden_end): "
- "[" PTR_FORMAT " .. " PTR_FORMAT ") " SIZE_FORMAT,
- p2i(eden_start),
- p2i(eden_end),
- pointer_delta(eden_end, eden_start, sizeof(char)));
- gclog_or_tty->print_cr(" [ to_start .. to_end): "
- "[" PTR_FORMAT " .. " PTR_FORMAT ") " SIZE_FORMAT,
- p2i(to_start),
- p2i(to_end),
- pointer_delta( to_end, to_start, sizeof(char)));
- gclog_or_tty->print_cr(" [from_start .. from_end): "
- "[" PTR_FORMAT " .. " PTR_FORMAT ") " SIZE_FORMAT,
- p2i(from_start),
- p2i(from_end),
- pointer_delta(from_end, from_start, sizeof(char)));
- }
+ log_trace(gc, ergo)(" [eden_start .. eden_end): [" PTR_FORMAT " .. " PTR_FORMAT ") " SIZE_FORMAT,
+ p2i(eden_start),
+ p2i(eden_end),
+ pointer_delta(eden_end, eden_start, sizeof(char)));
+ log_trace(gc, ergo)(" [ to_start .. to_end): [" PTR_FORMAT " .. " PTR_FORMAT ") " SIZE_FORMAT,
+ p2i(to_start),
+ p2i(to_end),
+ pointer_delta( to_end, to_start, sizeof(char)));
+ log_trace(gc, ergo)(" [from_start .. from_end): [" PTR_FORMAT " .. " PTR_FORMAT ") " SIZE_FORMAT,
+ p2i(from_start),
+ p2i(from_end),
+ pointer_delta(from_end, from_start, sizeof(char)));
}
@@ -658,7 +622,7 @@
// Let's make sure the call to initialize doesn't reset "top"!
HeapWord* old_from_top = from_space()->top();
- // For PrintAdaptiveSizePolicy block below
+ // For logging block below
size_t old_from = from_space()->capacity_in_bytes();
size_t old_to = to_space()->capacity_in_bytes();
@@ -704,18 +668,11 @@
assert(from_space()->top() == old_from_top, "from top changed!");
- if (PrintAdaptiveSizePolicy) {
- ParallelScavengeHeap* heap = ParallelScavengeHeap::heap();
- gclog_or_tty->print("AdaptiveSizePolicy::survivor space sizes: "
- "collection: %d "
- "(" SIZE_FORMAT ", " SIZE_FORMAT ") -> "
- "(" SIZE_FORMAT ", " SIZE_FORMAT ") ",
- heap->total_collections(),
- old_from, old_to,
- from_space()->capacity_in_bytes(),
- to_space()->capacity_in_bytes());
- gclog_or_tty->cr();
- }
+ log_trace(gc, ergo)("AdaptiveSizePolicy::survivor space sizes: collection: %d (" SIZE_FORMAT ", " SIZE_FORMAT ") -> (" SIZE_FORMAT ", " SIZE_FORMAT ") ",
+ ParallelScavengeHeap::heap()->total_collections(),
+ old_from, old_to,
+ from_space()->capacity_in_bytes(),
+ to_space()->capacity_in_bytes());
}
void PSYoungGen::swap_spaces() {
@@ -794,13 +751,8 @@
void PSYoungGen::print() const { print_on(tty); }
void PSYoungGen::print_on(outputStream* st) const {
st->print(" %-15s", "PSYoungGen");
- if (PrintGCDetails && Verbose) {
- st->print(" total " SIZE_FORMAT ", used " SIZE_FORMAT,
- capacity_in_bytes(), used_in_bytes());
- } else {
- st->print(" total " SIZE_FORMAT "K, used " SIZE_FORMAT "K",
- capacity_in_bytes()/K, used_in_bytes()/K);
- }
+ st->print(" total " SIZE_FORMAT "K, used " SIZE_FORMAT "K",
+ capacity_in_bytes()/K, used_in_bytes()/K);
virtual_space()->print_space_boundaries_on(st);
st->print(" eden"); eden_space()->print_on(st);
st->print(" from"); from_space()->print_on(st);
@@ -809,13 +761,8 @@
// Note that a space is not printed before the [NAME:
void PSYoungGen::print_used_change(size_t prev_used) const {
- gclog_or_tty->print("[%s:", name());
- gclog_or_tty->print(" " SIZE_FORMAT "K"
- "->" SIZE_FORMAT "K"
- "(" SIZE_FORMAT "K)",
- prev_used / K, used_in_bytes() / K,
- capacity_in_bytes() / K);
- gclog_or_tty->print("]");
+ log_info(gc, heap)("%s: " SIZE_FORMAT "K->" SIZE_FORMAT "K(" SIZE_FORMAT "K)",
+ name(), prev_used / K, used_in_bytes() / K, capacity_in_bytes() / K);
}
size_t PSYoungGen::available_for_expansion() {