RFR: Purge support for ShenandoahConcurrentEvacCodeRoots and ShenandoahBarriersForConst

Aleksey Shipilev shade at redhat.com
Thu Aug 2 16:15:34 UTC 2018


http://cr.openjdk.java.net/~shade/shenandoah/purge-concevac-coderoots/webrev.01/

This is the leftover from our not entirely successful experiment to get code roots pre-evac-ed
concurrently. This requires emitting barriers after constants in the generated code when enabled,
which complicates compiler logic. Since then, we have improved our pre-evac times by tracking which
regions contain which code roots (ShenandoahCodeRootsStyle=2), which makes this code irrelevant.

Traversal enables ShenandoahBarriersForConst to avoid pre-evac on some paths, Roman is fixing it
now. It does not seem to affect normal operation, unless class unloading is enabled for traversal,
which it is not. This must be why tier3 passes.

Testing: tier3_gc_shenandoah

Thanks,
-Aleksey



More information about the shenandoah-dev mailing list