public abstract class AbstractDeoptimizeNode extends ControlSinkNode implements IterableNodeType, DeoptimizingNode.DeoptBefore
deoptimization state.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 |
|---|---|
(package private) FrameState |
stateBefore |
static NodeClass<AbstractDeoptimizeNode> |
TYPE |
NODE_LIST, NOT_ITERABLE, USE_UNSAFE_TO_CLONE, WithAllEdges, WithNoEdges, WithOnlyInputEdges, WithOnlySucessorEdges| Modifier | Constructor and Description |
|---|---|
protected |
AbstractDeoptimizeNode(NodeClass<? extends AbstractDeoptimizeNode> c,
FrameState stateBefore) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
canDeoptimize()
Determines if this node needs deoptimization information.
|
abstract ValueNode |
getActionAndReason(MetaAccessProvider metaAccess) |
abstract ValueNode |
getSpeculation(MetaAccessProvider metaAccess) |
void |
setStateBefore(FrameState f)
Sets the
FrameState describing the program state before the execution of this
node. |
FrameState |
stateBefore() |
asConstant, 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, waitstatesasNodepublic static final NodeClass<AbstractDeoptimizeNode> TYPE
FrameState stateBefore
protected AbstractDeoptimizeNode(NodeClass<? extends AbstractDeoptimizeNode> c, FrameState stateBefore)
public boolean canDeoptimize()
DeoptimizingNodecanDeoptimize in interface DeoptimizingNodepublic FrameState stateBefore()
stateBefore in interface DeoptimizingNode.DeoptBeforepublic void setStateBefore(FrameState f)
DeoptimizingNode.DeoptBeforeFrameState describing the program state before the execution of this
node.setStateBefore in interface DeoptimizingNode.DeoptBeforepublic abstract ValueNode getActionAndReason(MetaAccessProvider metaAccess)
public abstract ValueNode getSpeculation(MetaAccessProvider metaAccess)