328 |
328 |
329 NOT_PRODUCT(reference_processor()->verify_no_references_recorded()); |
329 NOT_PRODUCT(reference_processor()->verify_no_references_recorded()); |
330 COMPILER2_PRESENT(DerivedPointerTable::clear()); |
330 COMPILER2_PRESENT(DerivedPointerTable::clear()); |
331 |
331 |
332 reference_processor()->enable_discovery(); |
332 reference_processor()->enable_discovery(); |
333 reference_processor()->snap_policy(false); |
333 reference_processor()->setup_policy(false); |
334 |
334 |
335 // We track how much was promoted to the next generation for |
335 // We track how much was promoted to the next generation for |
336 // the AdaptiveSizePolicy. |
336 // the AdaptiveSizePolicy. |
337 size_t old_gen_used_before = old_gen->used_in_bytes(); |
337 size_t old_gen_used_before = old_gen->used_in_bytes(); |
338 |
338 |
393 |
393 |
394 scavenge_midpoint.update(); |
394 scavenge_midpoint.update(); |
395 |
395 |
396 // Process reference objects discovered during scavenge |
396 // Process reference objects discovered during scavenge |
397 { |
397 { |
398 reference_processor()->snap_policy(false); // not always_clear |
398 reference_processor()->setup_policy(false); // not always_clear |
399 PSKeepAliveClosure keep_alive(promotion_manager); |
399 PSKeepAliveClosure keep_alive(promotion_manager); |
400 PSEvacuateFollowersClosure evac_followers(promotion_manager); |
400 PSEvacuateFollowersClosure evac_followers(promotion_manager); |
401 if (reference_processor()->processing_is_mt()) { |
401 if (reference_processor()->processing_is_mt()) { |
402 PSRefProcTaskExecutor task_executor; |
402 PSRefProcTaskExecutor task_executor; |
403 reference_processor()->process_discovered_references( |
403 reference_processor()->process_discovered_references( |