Mercurial > hg > graal-compiler
changeset 10722:c84048228b4a
prevent repeated simplification of FixedGuardNode
author | Lukas Stadler <lukas.stadler@jku.at> |
---|---|
date | Fri, 12 Jul 2013 17:01:14 +0200 |
parents | 5fc4aedf7910 |
children | 097a634b57b1 |
files | graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FixedGuardNode.java |
diffstat | 1 files changed, 5 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- 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); } } }