Mercurial > hg > graal-jvmci-8
changeset 22106:cb7d2d509b01
Fix an issue in the inlining phase in the context of deleted unwind nodes. Reported by: Christian Thalinger.
author | Thomas Wuerthinger <thomas.wuerthinger@oracle.com> |
---|---|
date | Fri, 26 Jun 2015 18:02:40 +0200 |
parents | 6772b63f4dac |
children | 33468b455bed |
files | graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/InliningUtil.java |
diffstat | 1 files changed, 2 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/InliningUtil.java Mon Jun 22 15:00:10 2015 +0200 +++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/InliningUtil.java Fri Jun 26 18:02:40 2015 +0200 @@ -334,7 +334,7 @@ if (invoke instanceof InvokeWithExceptionNode) { InvokeWithExceptionNode invokeWithException = ((InvokeWithExceptionNode) invoke); - if (unwindNode != null) { + if (unwindNode != null && unwindNode.isAlive()) { assert unwindNode.predecessor() != null; assert invokeWithException.exceptionEdge().successors().count() == 1; ExceptionObjectNode obj = (ExceptionObjectNode) invokeWithException.exceptionEdge(); @@ -358,7 +358,7 @@ graph.removeFixed(begin); } } else { - if (unwindNode != null && !unwindNode.isDeleted()) { + if (unwindNode != null && unwindNode.isAlive()) { DeoptimizeNode deoptimizeNode = graph.add(new DeoptimizeNode(DeoptimizationAction.InvalidateRecompile, DeoptimizationReason.NotCompiledExceptionHandler)); unwindNode.replaceAndDelete(deoptimizeNode); }