RFR: JDK-8212603: Need to step over GC barriers in Node::eqv_uncast()
erik.osterlund at oracle.com
Wed Oct 17 18:39:55 UTC 2018
On 2018-10-17 19:54, Roman Kennke wrote:
> 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
More information about the hotspot-compiler-dev