# HG changeset patch # User Lukas Stadler # Date 1373641274 -7200 # Node ID c84048228b4a541079ac28c8f31b2963e2347389 # Parent 5fc4aedf7910a20ef62ff7ec8503b91082a7ae93 prevent repeated simplification of FixedGuardNode diff -r 5fc4aedf7910 -r c84048228b4a graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FixedGuardNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FixedGuardNode.java Fri Jul 12 15:30:28 2013 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FixedGuardNode.java Fri Jul 12 17:01:14 2013 +0200 @@ -88,12 +88,11 @@ this.replaceAtUsages(BeginNode.prevBegin(this)); graph().removeFixed(this); } else { - FixedNode next = this.next(); - if (next != null) { - tool.deleteBranch(next); - } - setNext(graph().add(new DeoptimizeNode(DeoptimizationAction.InvalidateRecompile, reason))); - return; + FixedWithNextNode predecessor = (FixedWithNextNode) predecessor(); + DeoptimizeNode deopt = graph().add(new DeoptimizeNode(DeoptimizationAction.InvalidateRecompile, reason)); + deopt.setDeoptimizationState(getDeoptimizationState()); + tool.deleteBranch(this); + predecessor.setNext(deopt); } } }