# HG changeset patch # User aeriksso # Date 1368804260 -7200 # Node ID f74dbdd457543edbf9b5d6341d1b1ef39d5bfbdd # Parent 1f60a119863a02e18f64c994f2bbe136937c6f76 7176220: 'Full GC' events miss date stamp information occasionally Summary: Move date stamp logic into GCTraceTime Reviewed-by: brutisso, tschatzl diff -r 1f60a119863a -r f74dbdd45754 src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp --- a/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp Mon Mar 02 11:08:09 2015 +0100 +++ b/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp Fri May 17 17:24:20 2013 +0200 @@ -6634,7 +6634,6 @@ } void CMSCollector::do_CMS_operation(CMS_op_type op, GCCause::Cause gc_cause) { - gclog_or_tty->date_stamp(PrintGC && PrintGCDateStamps); TraceCPUTime tcpu(PrintGCDetails, true, gclog_or_tty); GCTraceTime t(GCCauseString("GC", gc_cause), PrintGC, !PrintGCDetails, NULL, _gc_tracer_cm->gc_id()); TraceCollectorStats tcs(counters()); diff -r 1f60a119863a -r f74dbdd45754 src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp --- a/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp Mon Mar 02 11:08:09 2015 +0100 +++ b/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp Fri May 17 17:24:20 2013 +0200 @@ -1297,7 +1297,6 @@ // Timing assert(gc_cause() != GCCause::_java_lang_system_gc || explicit_gc, "invariant"); - gclog_or_tty->date_stamp(G1Log::fine() && PrintGCDateStamps); TraceCPUTime tcpu(G1Log::finer(), true, gclog_or_tty); { diff -r 1f60a119863a -r f74dbdd45754 src/share/vm/gc_implementation/g1/vm_operations_g1.cpp --- a/src/share/vm/gc_implementation/g1/vm_operations_g1.cpp Mon Mar 02 11:08:09 2015 +0100 +++ b/src/share/vm/gc_implementation/g1/vm_operations_g1.cpp Fri May 17 17:24:20 2013 +0200 @@ -230,7 +230,6 @@ } void VM_CGC_Operation::doit() { - gclog_or_tty->date_stamp(G1Log::fine() && PrintGCDateStamps); TraceCPUTime tcpu(G1Log::finer(), true, gclog_or_tty); GCTraceTime t(_printGCMessage, G1Log::fine(), true, G1CollectedHeap::heap()->gc_timer_cm(), G1CollectedHeap::heap()->concurrent_mark()->concurrent_gc_id()); SharedHeap* sh = SharedHeap::heap(); diff -r 1f60a119863a -r f74dbdd45754 src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp --- a/src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp Mon Mar 02 11:08:09 2015 +0100 +++ b/src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp Fri May 17 17:24:20 2013 +0200 @@ -167,7 +167,6 @@ { HandleMark hm; - gclog_or_tty->date_stamp(PrintGC && PrintGCDateStamps); TraceCPUTime tcpu(PrintGCDetails, true, gclog_or_tty); GCTraceTime t1(GCCauseString("Full GC", gc_cause), PrintGC, !PrintGCDetails, NULL, _gc_tracer->gc_id()); TraceCollectorStats tcs(counters()); diff -r 1f60a119863a -r f74dbdd45754 src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp --- a/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp Mon Mar 02 11:08:09 2015 +0100 +++ b/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp Fri May 17 17:24:20 2013 +0200 @@ -2054,7 +2054,6 @@ gc_task_manager()->task_idle_workers(); heap->set_par_threads(gc_task_manager()->active_workers()); - gclog_or_tty->date_stamp(PrintGC && PrintGCDateStamps); TraceCPUTime tcpu(PrintGCDetails, true, gclog_or_tty); GCTraceTime t1(GCCauseString("Full GC", gc_cause), PrintGC, !PrintGCDetails, NULL, _gc_tracer.gc_id()); TraceCollectorStats tcs(counters()); diff -r 1f60a119863a -r f74dbdd45754 src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp --- a/src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp Mon Mar 02 11:08:09 2015 +0100 +++ b/src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp Fri May 17 17:24:20 2013 +0200 @@ -329,7 +329,6 @@ ResourceMark rm; HandleMark hm; - gclog_or_tty->date_stamp(PrintGC && PrintGCDateStamps); TraceCPUTime tcpu(PrintGCDetails, true, gclog_or_tty); GCTraceTime t1(GCCauseString("GC", gc_cause), PrintGC, !PrintGCDetails, NULL, _gc_tracer.gc_id()); TraceCollectorStats tcs(counters()); diff -r 1f60a119863a -r f74dbdd45754 src/share/vm/gc_implementation/shared/gcTraceTime.cpp --- a/src/share/vm/gc_implementation/shared/gcTraceTime.cpp Mon Mar 02 11:08:09 2015 +0100 +++ b/src/share/vm/gc_implementation/shared/gcTraceTime.cpp Fri May 17 17:24:20 2013 +0200 @@ -49,10 +49,8 @@ } if (_doit) { - if (PrintGCTimeStamps) { - gclog_or_tty->stamp(); - gclog_or_tty->print(": "); - } + gclog_or_tty->date_stamp(PrintGCDateStamps); + gclog_or_tty->stamp(PrintGCTimeStamps); if (PrintGCID) { gclog_or_tty->print("#%u: ", gc_id.id()); } diff -r 1f60a119863a -r f74dbdd45754 src/share/vm/memory/genCollectedHeap.cpp --- a/src/share/vm/memory/genCollectedHeap.cpp Mon Mar 02 11:08:09 2015 +0100 +++ b/src/share/vm/memory/genCollectedHeap.cpp Fri May 17 17:24:20 2013 +0200 @@ -384,7 +384,6 @@ bool complete = full && (max_level == (n_gens()-1)); const char* gc_cause_prefix = complete ? "Full GC" : "GC"; - gclog_or_tty->date_stamp(PrintGC && PrintGCDateStamps); TraceCPUTime tcpu(PrintGCDetails, true, gclog_or_tty); // The PrintGCDetails logging starts before we have incremented the GC id. We will do that later // so we can assume here that the next GC id is what we want.