JDK-8212603 : Need to step over GC barriers in Node::eqv_uncast()
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 11,12
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2018-10-17
  • Updated: 2020-11-18
  • Resolved: 2018-10-18
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 12
12 b17Fixed
Related Reports
Relates :  
Description
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.
Comments
This change was reverted by JDK-8212673.
03-09-2019

ILW = Lock elimination is broken, only showed up with Shenandoah barriers, use different GC = HLM = P3
18-10-2018