src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/EntryMarkerNode.java
equal
deleted
inserted
replaced
28 import static org.graalvm.compiler.nodeinfo.NodeCycles.CYCLES_0; |
28 import static org.graalvm.compiler.nodeinfo.NodeCycles.CYCLES_0; |
29 import static org.graalvm.compiler.nodeinfo.NodeSize.SIZE_0; |
29 import static org.graalvm.compiler.nodeinfo.NodeSize.SIZE_0; |
30 |
30 |
31 import org.graalvm.compiler.debug.GraalError; |
31 import org.graalvm.compiler.debug.GraalError; |
32 import org.graalvm.compiler.graph.IterableNodeType; |
32 import org.graalvm.compiler.graph.IterableNodeType; |
|
33 import org.graalvm.compiler.graph.Node; |
33 import org.graalvm.compiler.graph.NodeClass; |
34 import org.graalvm.compiler.graph.NodeClass; |
|
35 import org.graalvm.compiler.graph.iterators.NodeIterable; |
34 import org.graalvm.compiler.nodeinfo.NodeInfo; |
36 import org.graalvm.compiler.nodeinfo.NodeInfo; |
35 import org.graalvm.compiler.nodes.spi.LIRLowerable; |
37 import org.graalvm.compiler.nodes.spi.LIRLowerable; |
36 import org.graalvm.compiler.nodes.spi.NodeLIRBuilderTool; |
38 import org.graalvm.compiler.nodes.spi.NodeLIRBuilderTool; |
37 |
39 |
38 /** |
40 /** |
49 |
51 |
50 @Override |
52 @Override |
51 public void generate(NodeLIRBuilderTool gen) { |
53 public void generate(NodeLIRBuilderTool gen) { |
52 throw new GraalError("OnStackReplacementNode should not survive"); |
54 throw new GraalError("OnStackReplacementNode should not survive"); |
53 } |
55 } |
|
56 |
|
57 @Override |
|
58 public NodeIterable<Node> anchored() { |
|
59 return super.anchored().filter(n -> { |
|
60 if (n instanceof EntryProxyNode) { |
|
61 EntryProxyNode proxyNode = (EntryProxyNode) n; |
|
62 return proxyNode.proxyPoint != this; |
|
63 } |
|
64 return true; |
|
65 }); |
|
66 } |
|
67 |
|
68 @Override |
|
69 public void prepareDelete(FixedNode evacuateFrom) { |
|
70 for (Node usage : usages().filter(EntryProxyNode.class).snapshot()) { |
|
71 EntryProxyNode proxy = (EntryProxyNode) usage; |
|
72 proxy.replaceAndDelete(proxy.value()); |
|
73 } |
|
74 super.prepareDelete(evacuateFrom); |
|
75 } |
54 } |
76 } |