[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 hotspot-gc-dev mailing list