# HG changeset patch # User Christian Wimmer # Date 1348590018 25200 # Node ID bbf47e2d519f78a84976b8ecbaafe6dbe76bff1e # Parent 8f820c815cc2b12b6b71eaeed12043db8b9542f0 Allow calls without a FrameState in the backend diff -r 8f820c815cc2 -r bbf47e2d519f graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/LIRGenerator.java --- a/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/LIRGenerator.java Tue Sep 25 09:19:46 2012 -0700 +++ b/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/LIRGenerator.java Tue Sep 25 09:20:18 2012 -0700 @@ -832,7 +832,11 @@ List argList = visitInvokeArguments(cc, callTarget.arguments()); Value[] parameters = argList.toArray(new Value[argList.size()]); - LIRFrameState callState = stateFor(x.stateDuring(), null, x instanceof InvokeWithExceptionNode ? getLIRBlock(((InvokeWithExceptionNode) x).exceptionEdge()) : null, x.leafGraphId()); + LIRFrameState callState = null; + if (x.stateAfter() != null) { + callState = stateFor(x.stateDuring(), null, x instanceof InvokeWithExceptionNode ? getLIRBlock(((InvokeWithExceptionNode) x).exceptionEdge()) : null, x.leafGraphId()); + } + Value result = resultOperandFor(x.node().kind()); if (callTarget instanceof DirectCallTargetNode) {