RFR (sh/jdk8): Cleanup weak JNI refs when not doing reference processing
Roman Kennke
rkennke at redhat.com
Fri Dec 13 13:34:50 UTC 2019
We may run into troubles in jdk8 when doing class-unloading but not
reference-processing: in JDK8, ref-processing also handles JNI weak-refs
(it doesn't really belong there, which is why it has been moved out in
later releases). This means that when we have a cycle that doesn't do
ref-processing, we may skip cleaning JNI refs and end up with dangling
refs there. This manifests easily when running IntelliJ.
Fix is to clean JNI weak-refs explicitely when skipping ref-processing.
Fix:
http://cr.openjdk.java.net/~rkennke/shjdk8-cleanup-weakjni/webrev.00/
Testing: hotspot_gc_shenandoah
IntelliJ with default and traversal mode (failed before/passes now)
Good?
Thanks,
Roman
More information about the shenandoah-dev
mailing list