# HG changeset patch # User Thomas Wuerthinger # Date 1435334560 -7200 # Node ID cb7d2d509b0190820d3293a1d0be9bd620f54736 # Parent 6772b63f4dac74fed0f49598db3113a936a55ffb Fix an issue in the inlining phase in the context of deleted unwind nodes. Reported by: Christian Thalinger. diff -r 6772b63f4dac -r cb7d2d509b01 graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/InliningUtil.java --- 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); }