Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8212603

Need to step over GC barriers in Node::eqv_uncast()

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: P3
    • Resolution: Fixed
    • Affects Version/s: 11, 12
    • Fix Version/s: 12
    • Component/s: hotspot
    • Subcomponent:
    • Resolved In Build:
      b17
    • CPU:
      generic
    • OS:
      generic

      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.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                rkennke Roman Kennke
                Reporter:
                rkennke Roman Kennke
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: