equal
deleted
inserted
replaced
2176 concurrent_mark()->update_roots(ShenandoahPhaseTimings::degen_gc_update_roots); |
2176 concurrent_mark()->update_roots(ShenandoahPhaseTimings::degen_gc_update_roots); |
2177 } else { |
2177 } else { |
2178 concurrent_mark()->update_thread_roots(ShenandoahPhaseTimings::final_update_refs_roots); |
2178 concurrent_mark()->update_thread_roots(ShenandoahPhaseTimings::final_update_refs_roots); |
2179 } |
2179 } |
2180 |
2180 |
|
2181 // Has to be done before cset is clear |
|
2182 if (ShenandoahVerify) { |
|
2183 verifier()->verify_roots_in_to_space(); |
|
2184 } |
|
2185 |
2181 ShenandoahGCPhase final_update_refs(ShenandoahPhaseTimings::final_update_refs_recycle); |
2186 ShenandoahGCPhase final_update_refs(ShenandoahPhaseTimings::final_update_refs_recycle); |
2182 |
2187 |
2183 trash_cset_regions(); |
2188 trash_cset_regions(); |
2184 set_has_forwarded_objects(false); |
2189 set_has_forwarded_objects(false); |
2185 set_update_refs_in_progress(false); |
2190 set_update_refs_in_progress(false); |
2186 |
2191 |
2187 if (ShenandoahVerify) { |
2192 if (ShenandoahVerify) { |
2188 verifier()->verify_roots_no_forwarded(); |
|
2189 verifier()->verify_after_updaterefs(); |
2193 verifier()->verify_after_updaterefs(); |
2190 } |
2194 } |
2191 |
2195 |
2192 if (VerifyAfterGC) { |
2196 if (VerifyAfterGC) { |
2193 Universe::verify(); |
2197 Universe::verify(); |