RFR (8): [backport]: 8221751: Shenandoah: Improve SATB enqueueing

Roman Kennke rkennke at redhat.com
Fri May 17 16:05:23 UTC 2019


Another rather nasty backport.

Original JDK11 change:
https://hg.openjdk.java.net/shenandoah/jdk11/rev/0d5e66cf201a
Backport:
http://cr.openjdk.java.net/~rkennke/backport-jdk8-JDK-8221751/webrev.00/

It's nasty for two reasons:

1. We have no GC interface for the arraycopy stuff. The next best thing
is to splice the implementation, and backport the jdk11
arraycopy_prologue() stuff into the switch, under a separate branch for
Shenandoah.
2. We have no single-loop arraycopy in shenandoahBarrierSet. Ok, that's
actually not nasty, because we can just drop that part. But I needed to
add some checks in the other paths that lead to arraycopy pre-barriers
in runtime.

Testing: hotspot_gc_shenandoah on x86_64 and aarch64 (there is no _32
bit impl, but should be easy to deduce from the jdk11 mixed impl soon),
point testing specjvm.

Ok?

Roman



More information about the shenandoah-dev mailing list