RFR: JDK-8212603: Need to step over GC barriers in Node::eqv_uncast()

Roman Kennke rkennke at redhat.com
Wed Oct 17 17:54:53 UTC 2018

Node::eqv_uncast() checks if two nodes are equal (equivalent) behind
casts. It's used in many places concerning lock elimination. The trouble
is if the actual nodes are behind GC barriers, and we get the same node
behind two different GC barrier nodes, this would return false negative.
We have seen a bad case of this with Shenandoah, where lock elimination
was subtly thrown off by this, which led to eliminated locks not
re-locked properly during deoptimization.

I propose to also strip any possible GC barriers like this:


Testing: hotspot/tier1, will push through jdk/submit in a bit


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20181017/c9a3f0b8/signature.asc>

More information about the hotspot-compiler-dev mailing list