public final class DeoptimizeNode extends AbstractDeoptimizeNode implements Lowerable, LIRLowerable, StaticDeoptimizingNode
Node.ConstantNodeParameter, Node.EdgeVisitor, Node.IndirectCanonicalization, Node.InjectedNodeParameter, Node.Input, Node.NodeInsertionStackTrace, Node.NodeIntrinsic, Node.NodeIntrinsicFactory, Node.OptionalInput, Node.Successor, Node.ValueNumberable
StaticDeoptimizingNode.GuardPriority
DeoptimizingNode.DeoptAfter, DeoptimizingNode.DeoptBefore, DeoptimizingNode.DeoptDuring
Modifier and Type | Field and Description |
---|---|
protected jdk.vm.ci.meta.DeoptimizationAction |
action |
protected int |
debugId |
static int |
DEFAULT_DEBUG_ID |
protected jdk.vm.ci.meta.DeoptimizationReason |
reason |
protected jdk.vm.ci.meta.SpeculationLog.Speculation |
speculation |
static NodeClass<DeoptimizeNode> |
TYPE |
NODE_LIST, NOT_ITERABLE, TRACK_CREATION_POSITION, WithAllEdges, WithNoEdges, WithOnlyInputEdges, WithOnlySucessorEdges
Constructor and Description |
---|
DeoptimizeNode(jdk.vm.ci.meta.DeoptimizationAction action,
jdk.vm.ci.meta.DeoptimizationReason reason) |
DeoptimizeNode(jdk.vm.ci.meta.DeoptimizationAction action,
jdk.vm.ci.meta.DeoptimizationReason reason,
int debugId,
jdk.vm.ci.meta.SpeculationLog.Speculation speculation,
FrameState stateBefore) |
DeoptimizeNode(jdk.vm.ci.meta.DeoptimizationAction action,
jdk.vm.ci.meta.DeoptimizationReason reason,
jdk.vm.ci.meta.SpeculationLog.Speculation speculation) |
Modifier and Type | Method and Description |
---|---|
static void |
deopt(jdk.vm.ci.meta.DeoptimizationAction action,
jdk.vm.ci.meta.DeoptimizationReason reason) |
void |
generate(NodeLIRBuilderTool gen) |
jdk.vm.ci.meta.DeoptimizationAction |
getAction() |
ValueNode |
getActionAndReason(jdk.vm.ci.meta.MetaAccessProvider metaAccess) |
int |
getDebugId() |
jdk.vm.ci.meta.DeoptimizationReason |
getReason() |
jdk.vm.ci.meta.SpeculationLog.Speculation |
getSpeculation() |
ValueNode |
getSpeculation(jdk.vm.ci.meta.MetaAccessProvider metaAccess) |
void |
setAction(jdk.vm.ci.meta.DeoptimizationAction action) |
void |
setDebugId(int debugId) |
void |
setReason(jdk.vm.ci.meta.DeoptimizationReason reason) |
canDeoptimize, setStateBefore, stateBefore
asConstant, asJavaConstant, asSerializableConstant, getStackKind, graph, hasUsagesOtherThan, inferStamp, isAllowedUsageType, isConstant, isConstantPredicate, isDefaultConstant, isIllegalConstant, isJavaConstant, isNullConstant, isSerializableConstant, replaceAtAllUsages, replaceAtUsages, setStamp, stamp, updateStamp
afterClone, applyInputs, applySuccessors, assertFalse, assertTrue, cfgPredecessors, cfgSuccessors, clearInputs, clearNodeSourcePosition, clearSuccessors, copyWithInputs, copyWithInputs, dataFlowEquals, estimatedNodeCycles, estimatedNodeSize, fail, formatTo, getCreationPosition, getDebug, getDebugProperties, getDebugProperties, getInsertionPosition, getNodeClass, getNodeSourcePosition, getOptions, getUsageCount, hasExactlyOneUsage, hashCode, hasMoreThanOneUsage, hasNoUsages, hasOnlyUsagesOfType, hasUsages, inputPositions, inputs, isAlive, isDeleted, isUnregistered, markDeleted, maybeNotifyZeroUsages, modCount, predecessor, pushInputs, removeUsage, replaceAllInputs, replaceAndDelete, replaceAtMatchingUsages, replaceAtPredecessor, replaceAtUsages, replaceAtUsages, replaceAtUsages, replaceAtUsages, replaceAtUsagesAndDelete, replaceAtUsagesAndDelete, replaceFirstInput, replaceFirstInput, replaceFirstSuccessor, safeDelete, setCreationPosition, setInsertionPosition, setNodeSourcePosition, simplify, successorPositions, successors, toString, toString, updateNodeSourcePosition, updatePredecessor, updateUsages, updateUsagesInterface, usages, valueEquals, verifyEdges, verifyInputs, verifySourcePosition, withNodeSourcePosition
clone, equals, finalize, getClass, notify, notifyAll, wait, wait, wait
computePriority, mergeActions
asNode
canUseAsStateDuring
states
asNode
public static final int DEFAULT_DEBUG_ID
public static final NodeClass<DeoptimizeNode> TYPE
protected jdk.vm.ci.meta.DeoptimizationAction action
protected jdk.vm.ci.meta.DeoptimizationReason reason
protected int debugId
protected final jdk.vm.ci.meta.SpeculationLog.Speculation speculation
public DeoptimizeNode(jdk.vm.ci.meta.DeoptimizationAction action, jdk.vm.ci.meta.DeoptimizationReason reason)
public DeoptimizeNode(jdk.vm.ci.meta.DeoptimizationAction action, jdk.vm.ci.meta.DeoptimizationReason reason, jdk.vm.ci.meta.SpeculationLog.Speculation speculation)
public DeoptimizeNode(jdk.vm.ci.meta.DeoptimizationAction action, jdk.vm.ci.meta.DeoptimizationReason reason, int debugId, jdk.vm.ci.meta.SpeculationLog.Speculation speculation, FrameState stateBefore)
public jdk.vm.ci.meta.DeoptimizationAction getAction()
getAction
in interface StaticDeoptimizingNode
public void setAction(jdk.vm.ci.meta.DeoptimizationAction action)
setAction
in interface StaticDeoptimizingNode
public jdk.vm.ci.meta.DeoptimizationReason getReason()
getReason
in interface StaticDeoptimizingNode
public void setReason(jdk.vm.ci.meta.DeoptimizationReason reason)
setReason
in interface StaticDeoptimizingNode
public int getDebugId()
public void setDebugId(int debugId)
public void generate(NodeLIRBuilderTool gen)
generate
in interface LIRLowerable
public ValueNode getActionAndReason(jdk.vm.ci.meta.MetaAccessProvider metaAccess)
getActionAndReason
in class AbstractDeoptimizeNode
public ValueNode getSpeculation(jdk.vm.ci.meta.MetaAccessProvider metaAccess)
getSpeculation
in class AbstractDeoptimizeNode
public jdk.vm.ci.meta.SpeculationLog.Speculation getSpeculation()
getSpeculation
in interface StaticDeoptimizingNode
public static void deopt(jdk.vm.ci.meta.DeoptimizationAction action, jdk.vm.ci.meta.DeoptimizationReason reason)