Mercurial > hg > graal-compiler
changeset 9017:055d555d5378
A Invoke without a state cannot deoptimize
author | Christian Wimmer <christian.wimmer@oracle.com> |
---|---|
date | Thu, 11 Apr 2013 14:26:54 -0700 |
parents | 60b9fe7034e6 |
children | 79312b185b74 |
files | graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InvokeNode.java |
diffstat | 1 files changed, 4 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InvokeNode.java Thu Apr 11 14:24:09 2013 -0700 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InvokeNode.java Thu Apr 11 14:26:54 2013 -0700 @@ -147,6 +147,9 @@ @Override public FrameState stateDuring() { FrameState stateAfter = stateAfter(); + if (stateAfter == null) { + return null; + } FrameState stateDuring = stateAfter.duplicateModified(bci(), stateAfter.rethrowException(), kind()); stateDuring.setDuringCall(true); return stateDuring; @@ -179,7 +182,7 @@ @Override public boolean canDeoptimize() { - return true; + return stateAfter() != null; } @Override