< 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,44 ****
--- 35,45 ----
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,224 ****
if (graph.trackNodeSourcePosition()) {
frameState.setNodeSourcePosition(sourcePosition);
}
return frameState;
} else {
! if (forStateSplit instanceof AbstractMergeNode) {
// 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()) {
--- 215,225 ----
if (graph.trackNodeSourcePosition()) {
frameState.setNodeSourcePosition(sourcePosition);
}
return frameState;
} else {
! 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 >