RFR: JDK-8222259: Shenandoah: Pre-evacuate string-dedup roots in Traversal GC

Roman Kennke rkennke at redhat.com
Wed Apr 10 12:34:58 UTC 2019


> On 4/10/19 1:28 PM, Roman Kennke wrote:
> > Fix:
> > http://cr.openjdk.java.net/~rkennke/JDK-8222259/webrev.00/
> 
> It looks okay, but I would have expected the call to
> ShenandoahRootProcessor, rather than naked root
> walk. Isn't there a path into SRP that does it for traversal?

Currently not, and the whole idea of pre-evacing anything from
traversal is a bit of a cludge currently. For example, we need to pre-
evac everything from code-roots currently, even if we stricly only want
strong stuff marked. The solution would be to pre-evac strong code
roots via stacks, and then let nmethod barrier pre-evac everything ever
entered during the cycle. All of this requires deeper looking into it,
but probably later when we're seriously into stabilizing traversal GC.

Roman



More information about the shenandoah-dev mailing list