[15] RFR 8243200: Shenandoah: Allow concurrent nmethod iteration
Zhengyu Gu
zgu at redhat.com
Mon Apr 20 20:27:29 UTC 2020
Currently, Shenandoah nmethod iterator does not allow concurrent
iterations, but there is possibility that heap iteration is performed in
the middle of concurrent class unloading, when both want to scan
nmethods (scanning roots by heap iterator and nmethod processing by
concurrent class unloader).
Oddly, we have not seen this problem in tests. But after I tweaked code
a bit, I started seeing this issue.
There is no reason for the restriction and fix is simple.
Bug: https://bugs.openjdk.java.net/browse/JDK-8243200
Webrev: http://cr.openjdk.java.net/~zgu/JDK-8243200/webrev.00/
Test:
hotspot_gc_shenandoah
vmTestbase_nsk_jvmti
vmTestbase_nsk_jdi
Thanks,
-Zhengyu
More information about the shenandoah-dev
mailing list