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

C2 must re-execute checks after deoptimizing from merged uncommon traps

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P1 P1
    • 9
    • 9
    • hotspot
    • None
    • b96
    • Verified

      C2 merges the branches that trap for an If and the dominating If into a single region that branches to the uncommon trap for the dominating If. The problem is that if the dominating If branches to an uncommon trap with 'Reason_unloaded', the merged uncommon trap will not re-execute the checks but directly execute the branch of the first If. This leads to wrong code being executed. Since we don't know which of the two checks failed, we have to re-execute both.

            thartmann Tobias Hartmann
            thartmann Tobias Hartmann
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: