public abstract class AbstractFixedGuardNode extends DeoptimizingFixedWithNextNode implements Simplifiable, GuardingNode, DeoptimizingGuard
Node.ConstantNodeParameter, Node.EdgeVisitor, Node.IndirectCanonicalization, Node.InjectedNodeParameter, Node.Input, Node.NodeInsertionStackTrace, Node.NodeIntrinsic, Node.NodeIntrinsicFactory, Node.OptionalInput, Node.Successor, Node.ValueNumberableStaticDeoptimizingNode.GuardPriorityDeoptimizingNode.DeoptAfter, DeoptimizingNode.DeoptBefore, DeoptimizingNode.DeoptDuring| Modifier and Type | Field and Description |
|---|---|
protected DeoptimizationAction |
action |
protected LogicNode |
condition |
protected boolean |
negated |
protected NodeSourcePosition |
noDeoptSuccessorPosition |
protected DeoptimizationReason |
reason |
protected Speculation |
speculation |
static NodeClass<AbstractFixedGuardNode> |
TYPE |
stateBeforenextEMPTY_ARRAY, stampNODE_LIST, NOT_ITERABLE, TRACK_CREATION_POSITION, WithAllEdges, WithNoEdges, WithOnlyInputEdges, WithOnlySucessorEdges| Modifier | Constructor and Description |
|---|---|
protected |
AbstractFixedGuardNode(NodeClass<? extends AbstractFixedGuardNode> c,
LogicNode condition,
DeoptimizationReason deoptReason,
DeoptimizationAction action,
Speculation speculation,
boolean negated) |
protected |
AbstractFixedGuardNode(NodeClass<? extends AbstractFixedGuardNode> c,
LogicNode condition,
DeoptimizationReason deoptReason,
DeoptimizationAction action,
Speculation speculation,
boolean negated,
NodeSourcePosition noDeoptSuccessorPosition) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
canDeoptimize()
Determines if this node needs deoptimization information.
|
LogicNode |
condition() |
DeoptimizationAction |
getAction() |
LogicNode |
getCondition() |
NodeSourcePosition |
getNoDeoptSuccessorPosition() |
DeoptimizationReason |
getReason() |
Speculation |
getSpeculation() |
boolean |
isNegated() |
DeoptimizeNode |
lowerToIf() |
void |
setAction(DeoptimizationAction action) |
void |
setCondition(LogicNode x,
boolean negated) |
void |
setNoDeoptSuccessorPosition(NodeSourcePosition noDeoptSuccessorPosition) |
void |
setReason(DeoptimizationReason reason) |
void |
simplify(SimplifierTool tool) |
String |
toString(Verbosity verbosity)
Creates a String representation for
this with a given Verbosity. |
setStateBefore, stateBeforeasFixedWithNextNode, next, setNextasFixedNode, verifyasConstant, asJavaConstant, asNode, asSerializableConstant, checkReplaceAtUsagesInvariants, getStackKind, graph, hasUsagesOtherThan, inferStamp, isAllowedUsageType, isConstant, isConstantPredicate, isDefaultConstant, isIllegalConstant, isJavaConstant, isNullConstant, isSerializableConstant, recursivelyDataFlowEqualsUpTo, setStamp, stamp, updateStamp, updateUsagesInterfaceafterClone, applyInputs, applySuccessors, assertFalse, assertTrue, cfgPredecessors, cfgSuccessors, clearInputs, clearNodeSourcePosition, clearSuccessors, copyWithInputs, copyWithInputs, dataFlowEquals, dynamicNodeSizeEstimate, estimatedNodeCycles, estimatedNodeSize, fail, formatTo, getCreationPosition, getDebug, getDebugProperties, getDebugProperties, getInsertionPosition, getNodeClass, getNodeSourcePosition, getOptions, getUsageCount, hasExactlyOneUsage, hashCode, hasMoreThanOneUsage, hasNoUsages, hasOnlyUsagesOfType, hasUsages, hasUsagesOfType, inputPositions, inputs, isAlive, isDeleted, isUnregistered, markDeleted, maybeNotifyZeroUsages, modCount, predecessor, pushInputs, removeUsage, replaceAllInputs, replaceAndDelete, replaceAtAllUsages, replaceAtMatchingUsages, replaceAtPredecessor, replaceAtUsages, replaceAtUsages, replaceAtUsages, replaceAtUsages, replaceAtUsages, replaceAtUsagesAndDelete, replaceAtUsagesAndDelete, replaceFirstInput, replaceFirstSuccessor, safeDelete, setCreationPosition, setInsertionPosition, setNodeSourcePosition, singleUsage, successorPositions, successors, toString, updateNodeSourcePosition, updatePredecessor, updateUsages, usages, valueEquals, verifyEdges, verifyInputs, verifySourcePosition, withNodeSourcePositionclone, equals, getClass, notify, notifyAll, wait, wait, waitaddCallerToNoDeoptSuccessorPositioncomputePriority, mergeActionsasNodecanUseAsStateDuringstatesasFixedNodepublic static final NodeClass<AbstractFixedGuardNode> TYPE
protected LogicNode condition
protected DeoptimizationReason reason
protected DeoptimizationAction action
protected Speculation speculation
protected boolean negated
protected NodeSourcePosition noDeoptSuccessorPosition
protected AbstractFixedGuardNode(NodeClass<? extends AbstractFixedGuardNode> c, LogicNode condition, DeoptimizationReason deoptReason, DeoptimizationAction action, Speculation speculation, boolean negated)
protected AbstractFixedGuardNode(NodeClass<? extends AbstractFixedGuardNode> c, LogicNode condition, DeoptimizationReason deoptReason, DeoptimizationAction action, Speculation speculation, boolean negated, NodeSourcePosition noDeoptSuccessorPosition)
public LogicNode getCondition()
getCondition in interface DeoptimizingGuardpublic LogicNode condition()
public void setCondition(LogicNode x, boolean negated)
setCondition in interface DeoptimizingGuardpublic DeoptimizationReason getReason()
getReason in interface StaticDeoptimizingNodepublic DeoptimizationAction getAction()
getAction in interface StaticDeoptimizingNodepublic Speculation getSpeculation()
getSpeculation in interface StaticDeoptimizingNodepublic boolean isNegated()
isNegated in interface DeoptimizingGuardpublic String toString(Verbosity verbosity)
Nodethis with a given Verbosity.public void simplify(SimplifierTool tool)
simplify in interface Simplifiablepublic DeoptimizeNode lowerToIf()
public boolean canDeoptimize()
DeoptimizingNodecanDeoptimize in interface DeoptimizingNodepublic void setAction(DeoptimizationAction action)
setAction in interface StaticDeoptimizingNodepublic void setReason(DeoptimizationReason reason)
setReason in interface StaticDeoptimizingNodepublic NodeSourcePosition getNoDeoptSuccessorPosition()
getNoDeoptSuccessorPosition in interface DeoptimizingGuardpublic void setNoDeoptSuccessorPosition(NodeSourcePosition noDeoptSuccessorPosition)
setNoDeoptSuccessorPosition in interface DeoptimizingGuard