RFR 8228490: Shenandoah: Shenandoah concurrent root evacuation may race against OopStorage::release()

Zhengyu Gu zgu at redhat.com
Mon Jul 22 23:42:05 UTC 2019


Concurrent evacuating OopStorage backed roots, may race against 
OopStorage::release() calls. Therefore, it needs to update the roots 
with Atomic::cmpxchg(), to avoid overwriting the roots if they are 
released.

Since I could not reproduce the problem seen in nightly, let's push to 
shenandoah-jdk, and verify the fix there.

Bug: https://bugs.openjdk.java.net/browse/JDK-8228490
Webrev: http://cr.openjdk.java.net/~zgu/JDK-8228490/webrev.00/index.html

Test:
   hotspot_gc_shenandoah (fastdebug and release)
   jcstress fastdebug

Thanks,

-Zhengyu



More information about the shenandoah-dev mailing list