288
289 assert(!NeverTenure || _tenuring_threshold == markOopDesc::max_age + 1, "Sanity");
290 assert(!AlwaysTenure || _tenuring_threshold == 0, "Sanity");
291
292 // Fill in TLABs
293 heap->accumulate_statistics_all_tlabs();
294 heap->ensure_parsability(true); // retire TLABs
295
296 if (VerifyBeforeGC && heap->total_collections() >= VerifyGCStartAt) {
297 HandleMark hm; // Discard invalid handles created during verification
298 Universe::verify("Before GC");
299 }
300
301 {
302 ResourceMark rm;
303 HandleMark hm;
304
305 GCTraceCPUTime tcpu;
306 GCTraceTime(Info, gc) tm("Pause Young", NULL, gc_cause, true);
307 TraceCollectorStats tcs(counters());
308 TraceMemoryManagerStats tms(false /* not full GC */,gc_cause);
309
310 if (log_is_enabled(Debug, gc, heap, exit)) {
311 accumulated_time()->start();
312 }
313
314 // Let the size policy know we're starting
315 size_policy->minor_collection_begin();
316
317 // Verify the object start arrays.
318 if (VerifyObjectStartArray &&
319 VerifyBeforeGC) {
320 old_gen->verify_object_start_array();
321 }
322
323 // Verify no unmarked old->young roots
324 if (VerifyRememberedSets) {
325 CardTableExtension::verify_all_young_refs_imprecise();
326 }
327
328 assert(young_gen->to_space()->is_empty(),
|
288
289 assert(!NeverTenure || _tenuring_threshold == markOopDesc::max_age + 1, "Sanity");
290 assert(!AlwaysTenure || _tenuring_threshold == 0, "Sanity");
291
292 // Fill in TLABs
293 heap->accumulate_statistics_all_tlabs();
294 heap->ensure_parsability(true); // retire TLABs
295
296 if (VerifyBeforeGC && heap->total_collections() >= VerifyGCStartAt) {
297 HandleMark hm; // Discard invalid handles created during verification
298 Universe::verify("Before GC");
299 }
300
301 {
302 ResourceMark rm;
303 HandleMark hm;
304
305 GCTraceCPUTime tcpu;
306 GCTraceTime(Info, gc) tm("Pause Young", NULL, gc_cause, true);
307 TraceCollectorStats tcs(counters());
308 TraceMemoryManagerStats tms(heap->minor_mgr(), gc_cause);
309
310 if (log_is_enabled(Debug, gc, heap, exit)) {
311 accumulated_time()->start();
312 }
313
314 // Let the size policy know we're starting
315 size_policy->minor_collection_begin();
316
317 // Verify the object start arrays.
318 if (VerifyObjectStartArray &&
319 VerifyBeforeGC) {
320 old_gen->verify_object_start_array();
321 }
322
323 // Verify no unmarked old->young roots
324 if (VerifyRememberedSets) {
325 CardTableExtension::verify_all_young_refs_imprecise();
326 }
327
328 assert(young_gen->to_space()->is_empty(),
|