RFR: Move JNI Weak References workaround to Shenandoah-specific root processor
Aleksey Shipilev
shade at redhat.com
Wed Aug 15 07:49:06 UTC 2018
We have this workaround in 8u:
http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/ba692039a40a
Kim Barrett suggested a saner approach to it -- which makes the workaround more to the point, allows
collecting jweaks during Full GC, and avoids bugs in whatever other codepath in RP that polls jweak
liveness:
http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/2018-August/022931.html
This patch implements that suggestion for Shenandoah:
http://cr.openjdk.java.net/~shade/shenandoah/8u-workaround-jweak-2/webrev.01/
While we can intercept the bad closure during init-mark (and somehow disambiguate weak_oops closure
for JNI weaks and other weak roots), it seems more straight-forward to intercept it near the actual
SRP use.
Testing: hotspot_tier3_gc_shenandoah (the regression test used to pass with the previous fix, failed
with reverting the previous fix, and passed again after applying this fix variant)
Thanks,
-Aleksey
More information about the shenandoah-dev
mailing list