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

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

    XMLWordPrintable

    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: