< prev index next >

hotspot/src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp

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


 312   heap->trace_heap_before_gc(&_gc_tracer);
 313 
 314   assert(!NeverTenure || _tenuring_threshold == markOopDesc::max_age + 1, "Sanity");
 315   assert(!AlwaysTenure || _tenuring_threshold == 0, "Sanity");
 316 
 317   size_t prev_used = heap->used();
 318 
 319   // Fill in TLABs
 320   heap->accumulate_statistics_all_tlabs();
 321   heap->ensure_parsability(true);  // retire TLABs
 322 
 323   if (VerifyBeforeGC && heap->total_collections() >= VerifyGCStartAt) {
 324     HandleMark hm;  // Discard invalid handles created during verification
 325     Universe::verify(" VerifyBeforeGC:");
 326   }
 327 
 328   {
 329     ResourceMark rm;
 330     HandleMark hm;
 331 
 332     gclog_or_tty->date_stamp(PrintGC && PrintGCDateStamps);
 333     TraceCPUTime tcpu(PrintGCDetails, true, gclog_or_tty);
 334     GCTraceTime t1(GCCauseString("GC", gc_cause), PrintGC, !PrintGCDetails, NULL, _gc_tracer.gc_id());
 335     TraceCollectorStats tcs(counters());
 336     TraceMemoryManagerStats tms(false /* not full GC */,gc_cause);
 337 
 338     if (TraceGen0Time) accumulated_time()->start();
 339 
 340     // Let the size policy know we're starting
 341     size_policy->minor_collection_begin();
 342 
 343     // Verify the object start arrays.
 344     if (VerifyObjectStartArray &&
 345         VerifyBeforeGC) {
 346       old_gen->verify_object_start_array();
 347     }
 348 
 349     // Verify no unmarked old->young roots
 350     if (VerifyRememberedSets) {
 351       CardTableExtension::verify_all_young_refs_imprecise();
 352     }




 312   heap->trace_heap_before_gc(&_gc_tracer);
 313 
 314   assert(!NeverTenure || _tenuring_threshold == markOopDesc::max_age + 1, "Sanity");
 315   assert(!AlwaysTenure || _tenuring_threshold == 0, "Sanity");
 316 
 317   size_t prev_used = heap->used();
 318 
 319   // Fill in TLABs
 320   heap->accumulate_statistics_all_tlabs();
 321   heap->ensure_parsability(true);  // retire TLABs
 322 
 323   if (VerifyBeforeGC && heap->total_collections() >= VerifyGCStartAt) {
 324     HandleMark hm;  // Discard invalid handles created during verification
 325     Universe::verify(" VerifyBeforeGC:");
 326   }
 327 
 328   {
 329     ResourceMark rm;
 330     HandleMark hm;
 331 

 332     TraceCPUTime tcpu(PrintGCDetails, true, gclog_or_tty);
 333     GCTraceTime t1(GCCauseString("GC", gc_cause), PrintGC, !PrintGCDetails, NULL, _gc_tracer.gc_id());
 334     TraceCollectorStats tcs(counters());
 335     TraceMemoryManagerStats tms(false /* not full GC */,gc_cause);
 336 
 337     if (TraceGen0Time) accumulated_time()->start();
 338 
 339     // Let the size policy know we're starting
 340     size_policy->minor_collection_begin();
 341 
 342     // Verify the object start arrays.
 343     if (VerifyObjectStartArray &&
 344         VerifyBeforeGC) {
 345       old_gen->verify_object_start_array();
 346     }
 347 
 348     // Verify no unmarked old->young roots
 349     if (VerifyRememberedSets) {
 350       CardTableExtension::verify_all_young_refs_imprecise();
 351     }


< prev index next >