# HG changeset patch # User Andreas Woess # Date 1405636417 -7200 # Node ID 0eb70f622d014bb59c8b2b9d677f63fbf00aa379 # Parent 8be5c68a779defd78459bdfaeafe466a8cbe8ba3 Truffle: make NeverPartOfCompilationNode a MacroStateSplitNode for better debuggability diff -r 8be5c68a779d -r 0eb70f622d01 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 Tue Jul 22 16:32:43 2014 +0200 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/asserts/NeverPartOfCompilationNode.java Fri Jul 18 00:33:37 2014 +0200 @@ -24,11 +24,9 @@ import com.oracle.graal.graph.*; import com.oracle.graal.nodes.*; -import com.oracle.graal.nodes.spi.*; -import com.oracle.graal.nodes.util.*; import com.oracle.graal.replacements.nodes.*; -public class NeverPartOfCompilationNode extends MacroNode implements IterableNodeType { +public class NeverPartOfCompilationNode extends MacroStateSplitNode implements IterableNodeType { private final String message; @@ -44,9 +42,4 @@ public final String getMessage() { return message + " " + arguments.toString(); } - - @Override - public void lower(LoweringTool tool) { - throw GraphUtil.approxSourceException(this, new VerificationError(getMessage())); - } } diff -r 8be5c68a779d -r 0eb70f622d01 graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/typesystem/CustomizedUnsafeStoreMacroNode.java --- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/typesystem/CustomizedUnsafeStoreMacroNode.java Tue Jul 22 16:32:43 2014 +0200 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/typesystem/CustomizedUnsafeStoreMacroNode.java Fri Jul 18 00:33:37 2014 +0200 @@ -35,9 +35,6 @@ * Macro node for method {@link CompilerDirectives#unsafeCast(Object, Class, boolean)}. */ public class CustomizedUnsafeStoreMacroNode extends NeverPartOfCompilationNode implements Canonicalizable, StateSplit { - - @Input(InputType.State) private FrameState stateAfter; - private static final int ARGUMENT_COUNT = 4; private static final int OBJECT_ARGUMENT_INDEX = 0; private static final int OFFSET_ARGUMENT_INDEX = 1; @@ -47,7 +44,6 @@ public CustomizedUnsafeStoreMacroNode(Invoke invoke) { super(invoke, "The location argument could not be resolved to a constant."); assert arguments.size() == ARGUMENT_COUNT; - this.stateAfter = invoke.stateAfter(); } @Override @@ -64,21 +60,8 @@ locationIdentity = ObjectLocationIdentity.create(locationArgument.asConstant()); } - return new UnsafeStoreNode(objectArgument, offsetArgument, valueArgument, this.getTargetMethod().getSignature().getParameterKind(VALUE_ARGUMENT_INDEX), locationIdentity, stateAfter); + return new UnsafeStoreNode(objectArgument, offsetArgument, valueArgument, this.getTargetMethod().getSignature().getParameterKind(VALUE_ARGUMENT_INDEX), locationIdentity, stateAfter()); } return this; } - - @Override - public FrameState stateAfter() { - return stateAfter; - } - - public void setStateAfter(FrameState x) { - this.stateAfter = x; - } - - public boolean hasSideEffect() { - return true; - } }