# HG changeset patch # User Gilles Duboscq # Date 1405513668 -7200 # Node ID 7531cdfed73c41287824858cbda97ec81712986e # Parent b9e7ce429c79945570d9768beb48c8d804a59e2d ConvertDeoptimizeToGuardPhase: the SimplifierTool can be an instance field diff -r b9e7ce429c79 -r 7531cdfed73c graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/ConvertDeoptimizeToGuardPhase.java --- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/ConvertDeoptimizeToGuardPhase.java Wed Jul 16 14:22:43 2014 +0200 +++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/ConvertDeoptimizeToGuardPhase.java Wed Jul 16 14:27:48 2014 +0200 @@ -47,6 +47,7 @@ * */ public class ConvertDeoptimizeToGuardPhase extends Phase { + private SimplifierTool simplifierTool = GraphUtil.getDefaultSimplifier(null, null, null, false); private static BeginNode findBeginNode(FixedNode startNode) { return GraphUtil.predecessorIterable(startNode).filter(BeginNode.class).first(); @@ -58,10 +59,9 @@ if (graph.getNodes(DeoptimizeNode.class).isEmpty()) { return; } - SimplifierTool simplifierTool = GraphUtil.getDefaultSimplifier(null, null, null, false); for (DeoptimizeNode d : graph.getNodes(DeoptimizeNode.class)) { assert d.isAlive(); - visitDeoptBegin(BeginNode.prevBegin(d), d.action(), d.reason(), graph, simplifierTool); + visitDeoptBegin(BeginNode.prevBegin(d), d.action(), d.reason(), graph); } for (FixedGuardNode fixedGuard : graph.getNodes(FixedGuardNode.class)) { @@ -94,7 +94,7 @@ } if (xs[i].getKind() != Kind.Object && ys[i].getKind() != Kind.Object && compare.condition().foldCondition(xs[i], ys[i], null, compare.unorderedIsTrue()) == fixedGuard.isNegated()) { - visitDeoptBegin(BeginNode.prevBegin(mergePredecessor), fixedGuard.getAction(), fixedGuard.getReason(), graph, simplifierTool); + visitDeoptBegin(BeginNode.prevBegin(mergePredecessor), fixedGuard.getAction(), fixedGuard.getReason(), graph); } } } @@ -104,7 +104,7 @@ new DeadCodeEliminationPhase().apply(graph); } - private void visitDeoptBegin(BeginNode deoptBegin, DeoptimizationAction deoptAction, DeoptimizationReason deoptReason, StructuredGraph graph, SimplifierTool simplifierTool) { + private void visitDeoptBegin(BeginNode deoptBegin, DeoptimizationAction deoptAction, DeoptimizationReason deoptReason, StructuredGraph graph) { if (deoptBegin instanceof MergeNode) { MergeNode mergeNode = (MergeNode) deoptBegin; Debug.log("Visiting %s", mergeNode); @@ -112,11 +112,11 @@ while (mergeNode.isAlive()) { AbstractEndNode end = mergeNode.forwardEnds().first(); BeginNode newBeginNode = findBeginNode(end); - visitDeoptBegin(newBeginNode, deoptAction, deoptReason, graph, simplifierTool); + visitDeoptBegin(newBeginNode, deoptAction, deoptReason, graph); } assert next.isAlive(); BeginNode newBeginNode = findBeginNode(next); - visitDeoptBegin(newBeginNode, deoptAction, deoptReason, graph, simplifierTool); + visitDeoptBegin(newBeginNode, deoptAction, deoptReason, graph); return; } else if (deoptBegin.predecessor() instanceof IfNode) { IfNode ifNode = (IfNode) deoptBegin.predecessor();