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