src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/graph/SinglePassNodeIterator.java
changeset 48861 47f19ff9903c
parent 47216 71c04702a3d5
child 49873 26ebfe8ce852
equal deleted inserted replaced
48860:5bce1b7e7800 48861:47f19ff9903c
    25 import java.util.ArrayDeque;
    25 import java.util.ArrayDeque;
    26 import java.util.ArrayList;
    26 import java.util.ArrayList;
    27 import java.util.Deque;
    27 import java.util.Deque;
    28 import java.util.List;
    28 import java.util.List;
    29 
    29 
       
    30 import org.graalvm.collections.EconomicMap;
       
    31 import org.graalvm.collections.Equivalence;
    30 import org.graalvm.compiler.graph.Node;
    32 import org.graalvm.compiler.graph.Node;
    31 import org.graalvm.compiler.graph.NodeBitMap;
    33 import org.graalvm.compiler.graph.NodeBitMap;
    32 import org.graalvm.compiler.nodes.AbstractBeginNode;
    34 import org.graalvm.compiler.nodes.AbstractBeginNode;
    33 import org.graalvm.compiler.nodes.AbstractMergeNode;
    35 import org.graalvm.compiler.nodes.AbstractMergeNode;
    34 import org.graalvm.compiler.nodes.ControlSinkNode;
    36 import org.graalvm.compiler.nodes.ControlSinkNode;
    40 import org.graalvm.compiler.nodes.InvokeWithExceptionNode;
    42 import org.graalvm.compiler.nodes.InvokeWithExceptionNode;
    41 import org.graalvm.compiler.nodes.LoopBeginNode;
    43 import org.graalvm.compiler.nodes.LoopBeginNode;
    42 import org.graalvm.compiler.nodes.LoopEndNode;
    44 import org.graalvm.compiler.nodes.LoopEndNode;
    43 import org.graalvm.compiler.nodes.StartNode;
    45 import org.graalvm.compiler.nodes.StartNode;
    44 import org.graalvm.compiler.nodes.StructuredGraph;
    46 import org.graalvm.compiler.nodes.StructuredGraph;
    45 import org.graalvm.util.Equivalence;
       
    46 import org.graalvm.util.EconomicMap;
       
    47 
    47 
    48 /**
    48 /**
    49  * A SinglePassNodeIterator iterates the fixed nodes of the graph in post order starting from its
    49  * A SinglePassNodeIterator iterates the fixed nodes of the graph in post order starting from its
    50  * start node. Unlike in iterative dataflow analysis, a single pass is performed, which allows
    50  * start node. Unlike in iterative dataflow analysis, a single pass is performed, which allows
    51  * keeping a smaller working set of pending {@link MergeableState}. This iteration scheme requires:
    51  * keeping a smaller working set of pending {@link MergeableState}. This iteration scheme requires: