Mercurial > hg > graal-compiler
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) {