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/g1/vm_operations_g1.cpp
          +++ new/hotspot/src/share/vm/gc_implementation/g1/vm_operations_g1.cpp
↓ open down ↓ 222 lines elided ↑ open up ↑
 223  223  
 224  224  void VM_CGC_Operation::release_and_notify_pending_list_lock() {
 225  225    assert(_needs_pll, "don't call this otherwise");
 226  226    // The caller may block while communicating
 227  227    // with the SLT thread in order to acquire/release the PLL.
 228  228    ConcurrentMarkThread::slt()->
 229  229      manipulatePLL(SurrogateLockerThread::releaseAndNotifyPLL);
 230  230  }
 231  231  
 232  232  void VM_CGC_Operation::doit() {
 233      -  gclog_or_tty->date_stamp(G1Log::fine() && PrintGCDateStamps);
 234  233    TraceCPUTime tcpu(G1Log::finer(), true, gclog_or_tty);
 235  234    GCTraceTime t(_printGCMessage, G1Log::fine(), true, G1CollectedHeap::heap()->gc_timer_cm(), G1CollectedHeap::heap()->concurrent_mark()->concurrent_gc_id());
 236  235    SharedHeap* sh = SharedHeap::heap();
 237  236    // This could go away if CollectedHeap gave access to _gc_is_active...
 238  237    if (sh != NULL) {
 239  238      IsGCActiveMark x;
 240  239      _cl->do_void();
 241  240    } else {
 242  241      _cl->do_void();
 243  242    }
↓ open down ↓ 23 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX