public abstract class AbstractFixedGuardNode extends DeoptimizingFixedWithNextNode implements Simplifiable, GuardingNode
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 jdk.internal.jvmci.meta.DeoptimizationAction |
action |
protected LogicNode |
condition |
protected boolean |
negated |
protected jdk.internal.jvmci.meta.DeoptimizationReason |
reason |
protected jdk.internal.jvmci.meta.JavaConstant |
speculation |
static NodeClass<AbstractFixedGuardNode> |
TYPE |
stateBefore
next
NODE_LIST, NOT_ITERABLE, USE_UNSAFE_TO_CLONE, WithAllEdges, WithNoEdges, WithOnlyInputEdges, WithOnlySucessorEdges
Modifier | Constructor and Description |
---|---|
protected |
AbstractFixedGuardNode(NodeClass<? extends AbstractFixedGuardNode> c,
LogicNode condition,
jdk.internal.jvmci.meta.DeoptimizationReason deoptReason,
jdk.internal.jvmci.meta.DeoptimizationAction action,
jdk.internal.jvmci.meta.JavaConstant speculation,
boolean negated) |
Modifier and Type | Method and Description |
---|---|
boolean |
canDeoptimize()
Determines if this node needs deoptimization information.
|
LogicNode |
condition() |
jdk.internal.jvmci.meta.DeoptimizationAction |
getAction() |
jdk.internal.jvmci.meta.DeoptimizationReason |
getReason() |
jdk.internal.jvmci.meta.JavaConstant |
getSpeculation() |
boolean |
isNegated() |
DeoptimizeNode |
lowerToIf() |
void |
setCondition(LogicNode x) |
void |
simplify(SimplifierTool tool) |
String |
toString(Verbosity verbosity) |
setStateBefore, stateBefore
asNode, next, setNext
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, successors, toString, updatePredecessor, updateUsages, updateUsagesInterface, usages, valueEquals, verifyEdges, verifyInputs
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
asNode
states
public static final NodeClass<AbstractFixedGuardNode> TYPE
protected final jdk.internal.jvmci.meta.DeoptimizationReason reason
protected final jdk.internal.jvmci.meta.DeoptimizationAction action
protected jdk.internal.jvmci.meta.JavaConstant speculation
protected boolean negated
protected AbstractFixedGuardNode(NodeClass<? extends AbstractFixedGuardNode> c, LogicNode condition, jdk.internal.jvmci.meta.DeoptimizationReason deoptReason, jdk.internal.jvmci.meta.DeoptimizationAction action, jdk.internal.jvmci.meta.JavaConstant speculation, boolean negated)
public void setCondition(LogicNode x)
public jdk.internal.jvmci.meta.DeoptimizationReason getReason()
public jdk.internal.jvmci.meta.DeoptimizationAction getAction()
public jdk.internal.jvmci.meta.JavaConstant getSpeculation()
public boolean isNegated()
public void simplify(SimplifierTool tool)
simplify
in interface Simplifiable
simplify
in class Node
public DeoptimizeNode lowerToIf()
public boolean canDeoptimize()
DeoptimizingNode
canDeoptimize
in interface DeoptimizingNode