src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/DeoptimizeNode.java
equal
deleted
inserted
replaced
37 import jdk.vm.ci.meta.JavaKind; |
37 import jdk.vm.ci.meta.JavaKind; |
38 import jdk.vm.ci.meta.MetaAccessProvider; |
38 import jdk.vm.ci.meta.MetaAccessProvider; |
39 import jdk.vm.ci.meta.Value; |
39 import jdk.vm.ci.meta.Value; |
40 |
40 |
41 @NodeInfo(shortName = "Deopt", nameTemplate = "Deopt {p#reason/s}") |
41 @NodeInfo(shortName = "Deopt", nameTemplate = "Deopt {p#reason/s}") |
42 public final class DeoptimizeNode extends AbstractDeoptimizeNode implements Lowerable, LIRLowerable { |
42 public final class DeoptimizeNode extends AbstractDeoptimizeNode implements Lowerable, LIRLowerable, StaticDeoptimizingNode { |
43 public static final int DEFAULT_DEBUG_ID = 0; |
43 public static final int DEFAULT_DEBUG_ID = 0; |
44 |
44 |
45 public static final NodeClass<DeoptimizeNode> TYPE = NodeClass.create(DeoptimizeNode.class); |
45 public static final NodeClass<DeoptimizeNode> TYPE = NodeClass.create(DeoptimizeNode.class); |
46 protected final DeoptimizationAction action; |
46 protected final DeoptimizationAction action; |
47 protected final DeoptimizationReason reason; |
47 protected final DeoptimizationReason reason; |
65 this.reason = reason; |
65 this.reason = reason; |
66 this.debugId = debugId; |
66 this.debugId = debugId; |
67 this.speculation = speculation; |
67 this.speculation = speculation; |
68 } |
68 } |
69 |
69 |
70 public DeoptimizationAction action() { |
70 @Override |
|
71 public DeoptimizationAction getAction() { |
71 return action; |
72 return action; |
72 } |
73 } |
73 |
74 |
74 public DeoptimizationReason reason() { |
75 @Override |
|
76 public DeoptimizationReason getReason() { |
75 return reason; |
77 return reason; |
76 } |
78 } |
77 |
79 |
78 @Override |
80 @Override |
79 public void lower(LoweringTool tool) { |
81 public void lower(LoweringTool tool) { |
113 @Override |
115 @Override |
114 public ValueNode getSpeculation(MetaAccessProvider metaAccess) { |
116 public ValueNode getSpeculation(MetaAccessProvider metaAccess) { |
115 return ConstantNode.forConstant(speculation, metaAccess, graph()); |
117 return ConstantNode.forConstant(speculation, metaAccess, graph()); |
116 } |
118 } |
117 |
119 |
|
120 @Override |
118 public JavaConstant getSpeculation() { |
121 public JavaConstant getSpeculation() { |
119 return speculation; |
122 return speculation; |
120 } |
123 } |
121 |
124 |
122 @NodeIntrinsic |
125 @NodeIntrinsic |