8004170: G1: Verbose GC output is not getting flushed to log file using JDK 8

Add flushes to G1CollectedHeap::log_gc_footer() and TraceCPUTime destructor.

Reviewed-by: jwilhelm, azeemj, brutisso
This commit is contained in:
John Cuthbertson 2012-11-30 11:46:17 -08:00
parent 6a66f24366
commit 4e43b88153
2 changed files with 6 additions and 3 deletions

View file

@ -3690,6 +3690,7 @@ void G1CollectedHeap::log_gc_footer(double pause_time_sec) {
g1_policy()->print_heap_transition(); g1_policy()->print_heap_transition();
gclog_or_tty->print_cr(", %3.7f secs]", pause_time_sec); gclog_or_tty->print_cr(", %3.7f secs]", pause_time_sec);
} }
gclog_or_tty->flush();
} }
bool bool
@ -4036,10 +4037,11 @@ G1CollectedHeap::do_collection_pause_at_safepoint(double target_pause_time_ms) {
#endif #endif
gc_epilogue(false); gc_epilogue(false);
log_gc_footer(os::elapsedTime() - pause_start_sec);
} }
// Print the remainder of the GC log output.
log_gc_footer(os::elapsedTime() - pause_start_sec);
// It is not yet to safe to tell the concurrent mark to // It is not yet to safe to tell the concurrent mark to
// start as we have some optional output below. We don't want the // start as we have some optional output below. We don't want the
// output from the concurrent mark thread interfering with this // output from the concurrent mark thread interfering with this

View file

@ -210,8 +210,9 @@ TraceCPUTime::~TraceCPUTime() {
} else { } else {
_logfile->print("[Error in TraceCPUTime]"); _logfile->print("[Error in TraceCPUTime]");
} }
if (_print_cr) { if (_print_cr) {
_logfile->print_cr(""); _logfile->print_cr("");
} }
_logfile->flush();
} }
} }