RFC: shenandoah/jdk8u fails arraycopy verification after verification fix
Aleksey Shipilev
shade at redhat.com
Mon Jul 17 07:34:13 UTC 2017
shenandoah/jdk8u fails C2 verification here:
if (call->is_call_to_arraycopystub()) {
...
if (!ShenandoahBarrierNode::verify_helper(n->in(TypeFunc::Parms), phis,
visited, ShenandoahLoad, trace, barriers_used) ||
!ShenandoahBarrierNode::verify_helper(dest, phis, visited,
ShenandoahStore, trace, barriers_used)) {
n->dump(10);
ShouldNotReachHere(); <--- fails
}
Fails almost immediately with e.g.:
$ build/linux-x86_64-normal-server-fastdebug/images/j2sdk-image/bin/java -jar
~/Install/jcstress/jcstress-tests-all-2017-06-12.jar --jvmArgs "-Xmx1g
-XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=aggressive
-XX:+UnlockExperimentalVMOptions -XX:+UnlockDiagnosticVMOptions
-XX:+ShenandoahVerifyOptoBarriers" -m quick
Bisected to this change:
http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/e1efabeca2be
The same change performs fine in shenandoah/jdk9 and shenandoah/jdk10. Reverting
it fixes the test in shenandoah/jdk8u. What should we do about it?
Thanks,
-Aleksey
More information about the shenandoah-dev
mailing list