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

Conversion of comparison nodes affects local slots in optimistic continuation

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P3 P3
    • 10
    • None
    • core-libs
    • None
    • b39
    • generic
    • generic

        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.

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

                Created:
                Updated:
                Resolved: