src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/DeoptimizeNode.java
changeset 48861 47f19ff9903c
parent 47216 71c04702a3d5
child 49451 e06f9607f370
equal deleted inserted replaced
48860:5bce1b7e7800 48861:47f19ff9903c
    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