Mercurial > hg > truffle
changeset 13221:d5c6d9beebe3
graph builder: fixed wrong liveness of locals in ExceptionObject?s frame state
author | Erik Eckstein <erik.eckstein@oracle.com> |
---|---|
date | Tue, 03 Dec 2013 16:05:51 +0100 |
parents | 2b43fcc68add |
children | de8f74d49690 |
files | graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java |
diffstat | 1 files changed, 3 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java Mon Dec 02 18:06:00 2013 +0100 +++ b/graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java Tue Dec 03 16:05:51 2013 +0100 @@ -1218,14 +1218,14 @@ frameState.pushReturn(resultType, append(invoke)); return invoke; } else { + assert bci() == currentBlock.endBci; + frameState.clearNonLiveLocals(currentBlock.localsLiveOut); + DispatchBeginNode exceptionEdge = handleException(null, bci()); InvokeWithExceptionNode invoke = append(new InvokeWithExceptionNode(callTarget, exceptionEdge, bci())); frameState.pushReturn(resultType, invoke); Block nextBlock = currentBlock.successors.get(0); - assert bci() == currentBlock.endBci; - frameState.clearNonLiveLocals(currentBlock.localsLiveOut); - invoke.setNext(createTarget(nextBlock, frameState)); invoke.setStateAfter(frameState.create(nextBlock.startBci)); return invoke;