26 import java.util.ArrayList; |
26 import java.util.ArrayList; |
27 import java.util.Deque; |
27 import java.util.Deque; |
28 import java.util.Iterator; |
28 import java.util.Iterator; |
29 import java.util.List; |
29 import java.util.List; |
30 |
30 |
|
31 import org.graalvm.collections.EconomicMap; |
|
32 import org.graalvm.collections.Equivalence; |
|
33 import org.graalvm.collections.MapCursor; |
31 import org.graalvm.compiler.graph.Node; |
34 import org.graalvm.compiler.graph.Node; |
32 import org.graalvm.compiler.nodes.AbstractBeginNode; |
35 import org.graalvm.compiler.nodes.AbstractBeginNode; |
33 import org.graalvm.compiler.nodes.AbstractEndNode; |
36 import org.graalvm.compiler.nodes.AbstractEndNode; |
34 import org.graalvm.compiler.nodes.AbstractMergeNode; |
37 import org.graalvm.compiler.nodes.AbstractMergeNode; |
35 import org.graalvm.compiler.nodes.EndNode; |
38 import org.graalvm.compiler.nodes.EndNode; |
36 import org.graalvm.compiler.nodes.FixedNode; |
39 import org.graalvm.compiler.nodes.FixedNode; |
37 import org.graalvm.compiler.nodes.FixedWithNextNode; |
40 import org.graalvm.compiler.nodes.FixedWithNextNode; |
38 import org.graalvm.compiler.nodes.LoopBeginNode; |
41 import org.graalvm.compiler.nodes.LoopBeginNode; |
39 import org.graalvm.compiler.nodes.LoopEndNode; |
42 import org.graalvm.compiler.nodes.LoopEndNode; |
40 import org.graalvm.compiler.nodes.LoopExitNode; |
43 import org.graalvm.compiler.nodes.LoopExitNode; |
41 import org.graalvm.util.Equivalence; |
|
42 import org.graalvm.util.EconomicMap; |
|
43 import org.graalvm.util.MapCursor; |
|
44 |
44 |
45 public final class ReentrantNodeIterator { |
45 public final class ReentrantNodeIterator { |
46 |
46 |
47 public static class LoopInfo<StateT> { |
47 public static class LoopInfo<StateT> { |
48 |
48 |