< prev index next >

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

Print this page
rev 7522 : * * *
8066827: Remove ReferenceProcessor::clean_up_discovered_references()
Summary: Abandon rather than clean up discovered references.
Reviewed-by:


 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     }
 353 
 354     if (!ScavengeWithObjectsInToSpace) {
 355       assert(young_gen->to_space()->is_empty(),
 356              "Attempt to scavenge with live objects in to_space");
 357       young_gen->to_space()->clear(SpaceDecorator::Mangle);
 358     } else if (ZapUnusedHeapArea) {
 359       young_gen->to_space()->mangle_unused_area();
 360     }
 361     save_to_space_top_before_gc();
 362 
 363     COMPILER2_PRESENT(DerivedPointerTable::clear());
 364 
 365     reference_processor()->enable_discovery(true /*verify_disabled*/, true /*verify_no_refs*/);
 366     reference_processor()->setup_policy(false);
 367 
 368     // We track how much was promoted to the next generation for
 369     // the AdaptiveSizePolicy.
 370     size_t old_gen_used_before = old_gen->used_in_bytes();
 371 
 372     // For PrintGCDetails
 373     size_t young_gen_used_before = young_gen->used_in_bytes();
 374 
 375     // Reset our survivor overflow.
 376     set_survivor_overflow(false);
 377 
 378     // We need to save the old top values before
 379     // creating the promotion_manager. We pass the top
 380     // values to the card_table, to prevent it from
 381     // straying into the promotion labs.
 382     HeapWord* old_top = old_gen->object_space()->top();
 383 
 384     // Release all previously held resources
 385     gc_task_manager()->release_all_resources();




 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     }
 353 
 354     if (!ScavengeWithObjectsInToSpace) {
 355       assert(young_gen->to_space()->is_empty(),
 356              "Attempt to scavenge with live objects in to_space");
 357       young_gen->to_space()->clear(SpaceDecorator::Mangle);
 358     } else if (ZapUnusedHeapArea) {
 359       young_gen->to_space()->mangle_unused_area();
 360     }
 361     save_to_space_top_before_gc();
 362 
 363     COMPILER2_PRESENT(DerivedPointerTable::clear());
 364 
 365     reference_processor()->enable_discovery();
 366     reference_processor()->setup_policy(false);
 367 
 368     // We track how much was promoted to the next generation for
 369     // the AdaptiveSizePolicy.
 370     size_t old_gen_used_before = old_gen->used_in_bytes();
 371 
 372     // For PrintGCDetails
 373     size_t young_gen_used_before = young_gen->used_in_bytes();
 374 
 375     // Reset our survivor overflow.
 376     set_survivor_overflow(false);
 377 
 378     // We need to save the old top values before
 379     // creating the promotion_manager. We pass the top
 380     // values to the card_table, to prevent it from
 381     // straying into the promotion labs.
 382     HeapWord* old_top = old_gen->object_space()->top();
 383 
 384     // Release all previously held resources
 385     gc_task_manager()->release_all_resources();


< prev index next >