# HG changeset patch # User Doug Simon # Date 1429711319 -7200 # Node ID b97ec8aec2c7ec1c0b095cd98e39fab1adfeab69 # Parent b8ad48692008e73f1c35df61983bac43016df909 changed GraphBuilderContext.createStateAfter() to .setStateAfter(StateSplit) diff -r b8ad48692008 -r b97ec8aec2c7 graal/com.oracle.graal.graphbuilderconf/src/com/oracle/graal/graphbuilderconf/GraphBuilderContext.java --- a/graal/com.oracle.graal.graphbuilderconf/src/com/oracle/graal/graphbuilderconf/GraphBuilderContext.java Mon May 11 11:11:27 2015 +0200 +++ b/graal/com.oracle.graal.graphbuilderconf/src/com/oracle/graal/graphbuilderconf/GraphBuilderContext.java Wed Apr 22 16:01:59 2015 +0200 @@ -116,7 +116,7 @@ if (equivalentValue instanceof StateSplit) { StateSplit stateSplit = (StateSplit) equivalentValue; if (stateSplit.stateAfter() == null) { - stateSplit.setStateAfter(createStateAfter()); + setStateAfter(stateSplit); } } return equivalentValue; @@ -150,7 +150,7 @@ if (equivalentValue instanceof StateSplit) { StateSplit stateSplit = (StateSplit) equivalentValue; if (stateSplit.stateAfter() == null) { - stateSplit.setStateAfter(createStateAfter()); + setStateAfter(stateSplit); } } return equivalentValue; @@ -194,9 +194,11 @@ /** * Creates a snap shot of the current frame state with the BCI of the instruction after the one - * currently being parsed. + * currently being parsed and assigns it to a given state split node. + * + * @param stateSplit a node just appended to the graph that needs a frame state */ - FrameState createStateAfter(); + void setStateAfter(StateSplit stateSplit); /** * Gets the parsing context for the method that inlines the method being parsed by this context. diff -r b8ad48692008 -r b97ec8aec2c7 graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java --- a/graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java Mon May 11 11:11:27 2015 +0200 +++ b/graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java Wed Apr 22 16:01:59 2015 +0200 @@ -2422,8 +2422,9 @@ return frameState.create(bci); } - public FrameState createStateAfter() { - return createFrameState(stream.nextBCI()); + public void setStateAfter(StateSplit stateSplit) { + FrameState stateAfter = createFrameState(stream.nextBCI()); + stateSplit.setStateAfter(stateAfter); } } } diff -r b8ad48692008 -r b97ec8aec2c7 graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/DefaultGenericInvocationPlugin.java --- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/DefaultGenericInvocationPlugin.java Mon May 11 11:11:27 2015 +0200 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/DefaultGenericInvocationPlugin.java Wed Apr 22 16:01:59 2015 +0200 @@ -170,7 +170,7 @@ if (res instanceof StateSplit) { StateSplit stateSplit = (StateSplit) res; if (stateSplit.stateAfter() == null) { - stateSplit.setStateAfter(b.createStateAfter()); + b.setStateAfter(stateSplit); } } diff -r b8ad48692008 -r b97ec8aec2c7 graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/IntrinsicGraphBuilder.java --- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/IntrinsicGraphBuilder.java Mon May 11 11:11:27 2015 +0200 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/IntrinsicGraphBuilder.java Wed Apr 22 16:01:59 2015 +0200 @@ -152,8 +152,9 @@ return graph; } - public FrameState createStateAfter() { - return getGraph().add(new FrameState(BytecodeFrame.BEFORE_BCI)); + public void setStateAfter(StateSplit stateSplit) { + FrameState stateAfter = getGraph().add(new FrameState(BytecodeFrame.BEFORE_BCI)); + stateSplit.setStateAfter(stateAfter); } public GraphBuilderContext getParent() { diff -r b8ad48692008 -r b97ec8aec2c7 graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/PEGraphDecoder.java --- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/PEGraphDecoder.java Mon May 11 11:11:27 2015 +0200 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/PEGraphDecoder.java Wed Apr 22 16:01:59 2015 +0200 @@ -169,7 +169,7 @@ } @Override - public FrameState createStateAfter() { + public void setStateAfter(StateSplit stateSplit) { throw unimplemented(); } @@ -217,10 +217,11 @@ } @Override - public FrameState createStateAfter() { + public void setStateAfter(StateSplit stateSplit) { Node stateAfter = decodeFloatingNode(methodScope.caller, methodScope.callerLoopScope, methodScope.invokeData.stateAfterOrderId); getGraph().add(stateAfter); - return (FrameState) handleFloatingNodeAfterAdd(methodScope.caller, methodScope.callerLoopScope, stateAfter); + FrameState fs = (FrameState) handleFloatingNodeAfterAdd(methodScope.caller, methodScope.callerLoopScope, stateAfter); + stateSplit.setStateAfter(fs); } @Override diff -r b8ad48692008 -r b97ec8aec2c7 graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/asserts/NeverPartOfCompilationNode.java --- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/asserts/NeverPartOfCompilationNode.java Mon May 11 11:11:27 2015 +0200 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/asserts/NeverPartOfCompilationNode.java Wed Apr 22 16:01:59 2015 +0200 @@ -34,8 +34,8 @@ public static final NodeClass TYPE = NodeClass.create(NeverPartOfCompilationNode.class); protected final String message; - public NeverPartOfCompilationNode(String message, FrameState stateAfter) { - super(TYPE, StampFactory.forVoid(), stateAfter); + public NeverPartOfCompilationNode(String message) { + super(TYPE, StampFactory.forVoid()); this.message = message; } diff -r b8ad48692008 -r b97ec8aec2c7 graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/substitutions/TruffleGraphBuilderPlugins.java --- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/substitutions/TruffleGraphBuilderPlugins.java Mon May 11 11:11:27 2015 +0200 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/substitutions/TruffleGraphBuilderPlugins.java Wed Apr 22 16:01:59 2015 +0200 @@ -239,7 +239,7 @@ public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver receiver, ValueNode message) { if (message.isConstant()) { String messageString = message.asConstant().toValueString(); - b.add(new NeverPartOfCompilationNode(messageString, b.createStateAfter())); + b.add(new NeverPartOfCompilationNode(messageString)); return true; } else if (canDelayIntrinsification) { return false;