RFR: Traversal: Pre-evacuate code-roots and disable barriers for constants

Aleksey Shipilev shade at redhat.com
Thu Aug 2 17:36:02 UTC 2018


On 08/02/2018 07:32 PM, Roman Kennke wrote:
> We used to enable barriers on constants in Traversal GC. Reason is that
> we did not pre-evacuate code-roots before coming back from
> init-traversal pause, so we might have seen from-space refs. This change
> implements pre-evacuating code-roots when conc-class-unloading is
> enabled. It's already done when conc-class-unloading is disabled: in
> this case we call process_all_roots() which also handles all code roots.
> 
> http://cr.openjdk.java.net/~rkennke/traversal-preevac-coderoots/webrev.01/

Looks good. I can see ShHeap is already available in _heap, you may skip ShenandoahHeap::heap(). Fix
that, and push!

-Aleksey



More information about the shenandoah-dev mailing list