changeset 6438:bbf47e2d519f

Allow calls without a FrameState in the backend
author Christian Wimmer <christian.wimmer@oracle.com>
date Tue, 25 Sep 2012 09:20:18 -0700
parents 8f820c815cc2
children 0c999cf286d1
files graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/LIRGenerator.java
diffstat 1 files changed, 5 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- 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<Value> 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) {