< prev index next >

src/share/vm/gc/parallel/psScavenge.cpp

Print this page
rev 10188 : [mq]: scavenge_nmethods_auto_prune


 583 
 584       // Update the structure of the eden. With NUMA-eden CPU hotplugging or offlining can
 585       // cause the change of the heap layout. Make sure eden is reshaped if that's the case.
 586       // Also update() will case adaptive NUMA chunk resizing.
 587       assert(young_gen->eden_space()->is_empty(), "eden space should be empty now");
 588       young_gen->eden_space()->update();
 589 
 590       heap->gc_policy_counters()->update_counters();
 591 
 592       heap->resize_all_tlabs();
 593 
 594       assert(young_gen->to_space()->is_empty(), "to space should be empty now");
 595     }
 596 
 597 #if defined(COMPILER2) || INCLUDE_JVMCI
 598     DerivedPointerTable::update_pointers();
 599 #endif
 600 
 601     NOT_PRODUCT(reference_processor()->verify_no_references_recorded());
 602 
 603     {
 604       GCTraceTime(Debug, gc, phases) tm("Prune Scavenge Root Methods", &_gc_timer);
 605 
 606       CodeCache::prune_scavenge_root_nmethods();
 607     }
 608 
 609     // Re-verify object start arrays
 610     if (VerifyObjectStartArray &&
 611         VerifyAfterGC) {
 612       old_gen->verify_object_start_array();
 613     }
 614 
 615     // Verify all old -> young cards are now precise
 616     if (VerifyRememberedSets) {
 617       // Precise verification will give false positives. Until this is fixed,
 618       // use imprecise verification.
 619       // CardTableExtension::verify_all_young_refs_precise();
 620       CardTableExtension::verify_all_young_refs_imprecise();
 621     }
 622 
 623     if (TraceYoungGenTime) accumulated_time()->stop();
 624 
 625     young_gen->print_used_change(pre_gc_values.young_gen_used());
 626     old_gen->print_used_change(pre_gc_values.old_gen_used());
 627     MetaspaceAux::print_metaspace_change(pre_gc_values.metadata_used());
 628 




 583 
 584       // Update the structure of the eden. With NUMA-eden CPU hotplugging or offlining can
 585       // cause the change of the heap layout. Make sure eden is reshaped if that's the case.
 586       // Also update() will case adaptive NUMA chunk resizing.
 587       assert(young_gen->eden_space()->is_empty(), "eden space should be empty now");
 588       young_gen->eden_space()->update();
 589 
 590       heap->gc_policy_counters()->update_counters();
 591 
 592       heap->resize_all_tlabs();
 593 
 594       assert(young_gen->to_space()->is_empty(), "to space should be empty now");
 595     }
 596 
 597 #if defined(COMPILER2) || INCLUDE_JVMCI
 598     DerivedPointerTable::update_pointers();
 599 #endif
 600 
 601     NOT_PRODUCT(reference_processor()->verify_no_references_recorded());
 602 






 603     // Re-verify object start arrays
 604     if (VerifyObjectStartArray &&
 605         VerifyAfterGC) {
 606       old_gen->verify_object_start_array();
 607     }
 608 
 609     // Verify all old -> young cards are now precise
 610     if (VerifyRememberedSets) {
 611       // Precise verification will give false positives. Until this is fixed,
 612       // use imprecise verification.
 613       // CardTableExtension::verify_all_young_refs_precise();
 614       CardTableExtension::verify_all_young_refs_imprecise();
 615     }
 616 
 617     if (TraceYoungGenTime) accumulated_time()->stop();
 618 
 619     young_gen->print_used_change(pre_gc_values.young_gen_used());
 620     old_gen->print_used_change(pre_gc_values.old_gen_used());
 621     MetaspaceAux::print_metaspace_change(pre_gc_values.metadata_used());
 622 


< prev index next >