public final class DeoptimizeNode extends AbstractDeoptimizeNode implements Lowerable, LIRLowerable
Node.ConstantNodeParameter, Node.InjectedNodeParameter, Node.Input, Node.NodeIntrinsic, Node.OptionalInput, Node.Successor, Node.ValueNumberable
DeoptimizingNode.DeoptAfter, DeoptimizingNode.DeoptBefore, DeoptimizingNode.DeoptDuring
Modifier and Type | Field and Description |
---|---|
protected DeoptimizationAction |
action |
protected int |
debugId |
static int |
DEFAULT_DEBUG_ID |
protected DeoptimizationReason |
reason |
protected JavaConstant |
speculation |
static NodeClass<DeoptimizeNode> |
TYPE |
stateBefore
NODE_LIST, NOT_ITERABLE, USE_UNSAFE_TO_CLONE, WithAllEdges, WithNoEdges, WithOnlyInputEdges, WithOnlySucessorEdges
Constructor and Description |
---|
DeoptimizeNode(DeoptimizationAction action,
DeoptimizationReason reason) |
DeoptimizeNode(DeoptimizationAction action,
DeoptimizationReason reason,
int debugId,
JavaConstant speculation,
FrameState stateBefore) |
DeoptimizeNode(DeoptimizationAction action,
DeoptimizationReason reason,
JavaConstant speculation) |
Modifier and Type | Method and Description |
---|---|
DeoptimizationAction |
action() |
static void |
deopt(DeoptimizationAction action,
DeoptimizationReason reason) |
void |
generate(NodeLIRBuilderTool gen) |
ValueNode |
getActionAndReason(MetaAccessProvider metaAccess) |
int |
getDebugId() |
JavaConstant |
getSpeculation() |
ValueNode |
getSpeculation(MetaAccessProvider metaAccess) |
void |
lower(LoweringTool tool)
Expand this node into lower level nodes expressing the same semantics.
|
DeoptimizationReason |
reason() |
canDeoptimize, setStateBefore, stateBefore
asConstant, asJavaConstant, getKind, graph, inferStamp, isAllowedUsageType, isConstant, isConstantPredicate, isNullConstant, setStamp, stamp, updateStamp
acceptInputs, acceptSuccessors, afterClone, assertFalse, assertTrue, cfgPredecessors, cfgSuccessors, clearInputs, clearSuccessors, copyWithInputs, copyWithInputs, equals, fail, formatTo, getDebugProperties, getDebugProperties, getId, getNodeClass, getUsageAt, getUsageCount, hashCode, hasNoUsages, hasUsages, inputs, isAlive, isDeleted, markDeleted, modCount, newIdentityMap, newIdentityMap, newIdentityMap, newMap, newMap, newMap, newSet, newSet, predecessor, pushInputs, removeUsage, replaceAndDelete, replaceAtMatchingUsages, replaceAtPredecessor, replaceAtUsages, replaceAtUsages, replaceAtUsages, replaceFirstInput, replaceFirstSuccessor, safeDelete, simplify, successors, toString, toString, updatePredecessor, updateUsages, updateUsagesInterface, usages, valueEquals, verifyEdges, verifyInputs
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
states
public static final int DEFAULT_DEBUG_ID
public static final NodeClass<DeoptimizeNode> TYPE
protected final DeoptimizationAction action
protected final DeoptimizationReason reason
protected final int debugId
protected final JavaConstant speculation
public DeoptimizeNode(DeoptimizationAction action, DeoptimizationReason reason)
public DeoptimizeNode(DeoptimizationAction action, DeoptimizationReason reason, JavaConstant speculation)
public DeoptimizeNode(DeoptimizationAction action, DeoptimizationReason reason, int debugId, JavaConstant speculation, FrameState stateBefore)
public DeoptimizationAction action()
public DeoptimizationReason reason()
public void lower(LoweringTool tool)
Lowerable
public int getDebugId()
public void generate(NodeLIRBuilderTool gen)
generate
in interface LIRLowerable
public ValueNode getActionAndReason(MetaAccessProvider metaAccess)
getActionAndReason
in class AbstractDeoptimizeNode
public ValueNode getSpeculation(MetaAccessProvider metaAccess)
getSpeculation
in class AbstractDeoptimizeNode
public JavaConstant getSpeculation()
public static void deopt(DeoptimizationAction action, DeoptimizationReason reason)