< prev index next >

src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext.java

Print this page
rev 52509 : [mq]: graal

@@ -35,10 +35,11 @@
 import org.graalvm.compiler.bytecode.BytecodeProvider;
 import org.graalvm.compiler.graph.NodeSourcePosition;
 import org.graalvm.compiler.nodes.AbstractMergeNode;
 import org.graalvm.compiler.nodes.FrameState;
 import org.graalvm.compiler.nodes.Invoke;
+import org.graalvm.compiler.nodes.LoopExitNode;
 import org.graalvm.compiler.nodes.StateSplit;
 import org.graalvm.compiler.nodes.StructuredGraph;
 import org.graalvm.compiler.nodes.java.ExceptionObjectNode;
 
 import jdk.vm.ci.meta.ResolvedJavaMethod;

@@ -214,11 +215,11 @@
             if (graph.trackNodeSourcePosition()) {
                 frameState.setNodeSourcePosition(sourcePosition);
             }
             return frameState;
         } else {
-            if (forStateSplit instanceof AbstractMergeNode) {
+            if (forStateSplit instanceof AbstractMergeNode || forStateSplit instanceof LoopExitNode) {
                 // Merge nodes always need a frame state
                 if (sideEffects.isAfterSideEffect()) {
                     // A merge after one or more side effects
                     FrameState frameState = graph.add(new FrameState(AFTER_BCI));
                     if (graph.trackNodeSourcePosition()) {
< prev index next >