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

Conversion of comparison nodes affects local slots in optimistic continuation

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: P3
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 10
    • Component/s: core-libs
    • Labels:
      None
    • Subcomponent:
    • Resolved In Build:
      b39
    • CPU:
      generic
    • OS:
      generic

      Backports

        Description

        LocalVariableTypesCalculator replaces some binary comparison nodes with RuntimeNodes depending on the types of their left and right sides. Since types can change between optimistic recompilations, it is possible that a BinaryNode is replaced by a RuntimeNode in a later compilation. Different nodes use different local slots, so the local slot layout may different between an initial optimistic version of a function and a recompiled restOf version of the function, causing the continuation handler to crash.

        This happens in version 2.0.3 of the CoffeeScript compiler when running with optimistic types enabled.

          Issue Links

            Activity

            Hide
            hgupdate HG Updates added a comment -
            URL: http://hg.openjdk.java.net/jdk/jdk10/rev/78aaea7388ad
            User: hannesw
            Date: 2018-01-08 16:21:33 +0000
            Show
            hgupdate HG Updates added a comment - URL: http://hg.openjdk.java.net/jdk/jdk10/rev/78aaea7388ad User: hannesw Date: 2018-01-08 16:21:33 +0000
            Hide
            hannesw Hannes Wallnoefer added a comment -
            The fix for this issue caused a performance regression: JDK-8195123
            Show
            hannesw Hannes Wallnoefer added a comment - The fix for this issue caused a performance regression: JDK-8195123

              People

              • Assignee:
                hannesw Hannes Wallnoefer
                Reporter:
                hannesw Hannes Wallnoefer
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: