# HG changeset patch # User Miguel Garcia # Date 1399915559 -7200 # Node ID a027048a2e5ffefdef9cb9036aba3a8bb49e98e1 # Parent 7903324bc73910da0cf366c2cd52fad902b06a26 [inlining] the constructor of InliningIterator now takes only the data it needs diff -r 7903324bc739 -r a027048a2e5f graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/InliningIterator.java --- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/InliningIterator.java Mon May 12 19:10:50 2014 +0200 +++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/InliningIterator.java Mon May 12 19:25:59 2014 +0200 @@ -32,20 +32,20 @@ import java.util.LinkedList; /** - * Given a starting node, visit all fixed nodes in dominator-based order, collecting in the process - * the {@link Invoke} nodes with {@link MethodCallTargetNode}. Such list of callsites is returned by + * Given a graph, visit all fixed nodes in dominator-based order, collecting in the process the + * {@link Invoke} nodes with {@link MethodCallTargetNode}. Such list of callsites is returned by * {@link #apply()} */ class InliningIterator { - private final FixedNode start; + private final StartNode start; private final Deque nodeQueue; private final NodeBitMap queuedNodes; - public InliningIterator(FixedNode start, NodeBitMap visitedFixedNodes) { - this.start = start; + public InliningIterator(StructuredGraph graph) { + this.start = graph.start(); this.nodeQueue = new ArrayDeque<>(); - this.queuedNodes = visitedFixedNodes; + this.queuedNodes = graph.createNodeBitMap(); assert start.isAlive(); } diff -r 7903324bc739 -r a027048a2e5f graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/InliningPhase.java --- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/InliningPhase.java Mon May 12 19:10:50 2014 +0200 +++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/InliningPhase.java Mon May 12 19:25:59 2014 +0200 @@ -508,8 +508,7 @@ public void pushGraph(StructuredGraph graph, double probability, double relevance) { assert !contains(graph); - NodeBitMap visitedFixedNodes = graph.createNodeBitMap(); - LinkedList invokes = new InliningIterator(graph.start(), visitedFixedNodes).apply(); + LinkedList invokes = new InliningIterator(graph).apply(); assert invokes.size() == count(graph.getInvokes()); graphQueue.push(new GraphInfo(graph, invokes, probability, relevance)); assert graphQueue.size() <= maxGraphs;