Print this page
rev 7125 : 7176220: 'Full GC' events miss date stamp information occasionally
Summary: Move date stamp logic into GCTraceTime
Reviewed-by: brutisso, tschatzl

Split Split Close
Expand all
Collapse all
          --- old/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp
          +++ new/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp
↓ open down ↓ 6626 lines elided ↑ open up ↑
6627 6627    NOT_PRODUCT(
6628 6628      if (RotateCMSCollectionTypes) {
6629 6629        _cmsGen->rotate_debug_collection_type();
6630 6630      }
6631 6631    )
6632 6632  
6633 6633    register_gc_end();
6634 6634  }
6635 6635  
6636 6636  void CMSCollector::do_CMS_operation(CMS_op_type op, GCCause::Cause gc_cause) {
6637      -  gclog_or_tty->date_stamp(PrintGC && PrintGCDateStamps);
6638 6637    TraceCPUTime tcpu(PrintGCDetails, true, gclog_or_tty);
6639 6638    GCTraceTime t(GCCauseString("GC", gc_cause), PrintGC, !PrintGCDetails, NULL, _gc_tracer_cm->gc_id());
6640 6639    TraceCollectorStats tcs(counters());
6641 6640  
6642 6641    switch (op) {
6643 6642      case CMS_op_checkpointRootsInitial: {
6644 6643        SvcGCMarker sgcm(SvcGCMarker::OTHER);
6645 6644        checkpointRootsInitial(true);       // asynch
6646 6645        if (PrintGC) {
6647 6646          _cmsGen->printOccupancy("initial-mark");
↓ open down ↓ 2932 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX