< prev index next >
src/hotspot/share/gc/shared/genCollectedHeap.cpp
Print this page
rev 52941 : 8215221: Serial GC misreports young GC time
Reported-by: XXX
@@ -573,19 +573,11 @@
bool complete = full && (max_generation == OldGen);
bool old_collects_young = complete && !ScavengeBeforeFullGC;
bool do_young_collection = !old_collects_young && _young_gen->should_collect(full, size, is_tlab);
- FormatBuffer<> gc_string("%s", "Pause ");
- if (do_young_collection) {
- gc_string.append("Young");
- } else {
- gc_string.append("Full");
- }
-
GCTraceCPUTime tcpu;
- GCTraceTime(Info, gc) t(gc_string, NULL, gc_cause(), true);
gc_prologue(complete);
increment_total_collections(complete);
size_t young_prev_used = _young_gen->used();
@@ -600,10 +592,12 @@
if (run_verification && VerifyGCLevel <= 0 && VerifyBeforeGC) {
prepare_for_verify();
prepared_for_verification = true;
}
+ GCTraceTime(Info, gc) t("Pause Young", NULL, gc_cause(), true);
+
collect_generation(_young_gen,
full,
size,
is_tlab,
run_verification && VerifyGCLevel <= 0,
@@ -635,10 +629,11 @@
GCIdMark gc_id_mark;
GCTraceTime(Info, gc) t("Pause Full", NULL, gc_cause(), true);
collect_generation(_old_gen, full, size, is_tlab, run_verification && VerifyGCLevel <= 1, do_clear_all_soft_refs, true);
} else {
// No young GC done. Use the same GC id as was set up earlier in this method.
+ GCTraceTime(Info, gc) t("Pause Full", NULL, gc_cause(), true);
collect_generation(_old_gen, full, size, is_tlab, run_verification && VerifyGCLevel <= 1, do_clear_all_soft_refs, true);
}
must_restore_marks_for_biased_locking = true;
collected_old = true;
< prev index next >