RFR: Hole in CAS barrier when using traversal heuristics
Zhengyu Gu
zgu at redhat.com
Thu Jan 25 17:15:03 UTC 2018
I am not complete sure this is right fix. There is hole in CAS barrier
when using traversal heuristics.
E.g. Unsafe_CompareAndSetObject() evacuates target and exchange object,
but not the field, so it may hit assertion in ShenandoahBarrier::enqueue().
I could not come up a reliable reproducer, but I have seen this a few
time with specjvm ScimarkLU with options:
"-Xmx1g -Xms1g -XX:+UseShenandoahGC -XX:+UnlockExperimentalVMOptions
-XX:+UnlockDiagnosticVMOptions -XX:ShenandoahGCHeuristics=traversal
-Xlog:gc+stats"
Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/cas_traversal/webrev.00/
Thanks,
-Zhengyu
More information about the shenandoah-dev
mailing list