public final class DeoptimizeNode extends AbstractDeoptimizeNode implements Lowerable, LIRLowerable
Node.ConstantNodeParameter, Node.InjectedNodeParameter, Node.Input, Node.NodeIntrinsic, Node.OptionalInput, Node.Successor, Node.ValueNumberableDeoptimizingNode.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 |
stateBeforeNODE_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, stateBeforeasConstant, asJavaConstant, getKind, graph, inferStamp, isAllowedUsageType, isConstant, isConstantPredicate, isNullConstant, setStamp, stamp, updateStampacceptInputs, 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, verifyInputsclone, finalize, getClass, notify, notifyAll, wait, wait, waitstatespublic 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)
Lowerablepublic int getDebugId()
public void generate(NodeLIRBuilderTool gen)
generate in interface LIRLowerablepublic ValueNode getActionAndReason(MetaAccessProvider metaAccess)
getActionAndReason in class AbstractDeoptimizeNodepublic ValueNode getSpeculation(MetaAccessProvider metaAccess)
getSpeculation in class AbstractDeoptimizeNodepublic JavaConstant getSpeculation()
public static void deopt(DeoptimizationAction action, DeoptimizationReason reason)