public class GuardNode extends FloatingAnchoredNode implements Canonicalizable, GuardingNode
Node.ConstantNodeParameter, Node.InjectedNodeParameter, Node.Input, Node.NodeIntrinsic, Node.OptionalInput, Node.Successor, Node.ValueNumberable
Canonicalizable.Binary<T extends Node>, Canonicalizable.BinaryCommutative<T extends Node>, Canonicalizable.Unary<T extends Node>
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<GuardNode> |
TYPE |
anchor
NODE_LIST, NOT_ITERABLE, USE_UNSAFE_TO_CLONE, WithAllEdges, WithNoEdges, WithOnlyInputEdges, WithOnlySucessorEdges
Modifier | Constructor and Description |
---|---|
|
GuardNode(LogicNode condition,
AnchoringNode anchor,
jdk.internal.jvmci.meta.DeoptimizationReason reason,
jdk.internal.jvmci.meta.DeoptimizationAction action,
boolean negated,
jdk.internal.jvmci.meta.JavaConstant speculation) |
protected |
GuardNode(NodeClass<? extends GuardNode> c,
LogicNode condition,
AnchoringNode anchor,
jdk.internal.jvmci.meta.DeoptimizationReason reason,
jdk.internal.jvmci.meta.DeoptimizationAction action,
boolean negated,
jdk.internal.jvmci.meta.JavaConstant speculation) |
Modifier and Type | Method and Description |
---|---|
jdk.internal.jvmci.meta.DeoptimizationAction |
action() |
Node |
canonical(CanonicalizerTool tool) |
LogicNode |
condition()
The instruction that produces the tested boolean value.
|
jdk.internal.jvmci.meta.JavaConstant |
getSpeculation() |
boolean |
isNegated() |
FixedWithNextNode |
lowerGuard() |
void |
negate() |
jdk.internal.jvmci.meta.DeoptimizationReason |
reason() |
void |
setAction(jdk.internal.jvmci.meta.DeoptimizationAction invalidaterecompile) |
void |
setSpeculation(jdk.internal.jvmci.meta.JavaConstant speculation) |
String |
toString(Verbosity verbosity) |
getAnchor, setAnchor
asNode
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, simplify, successors, toString, updatePredecessor, updateUsages, updateUsagesInterface, usages, valueEquals, verify, verifyEdges, verifyInputs
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
asNode
protected final jdk.internal.jvmci.meta.DeoptimizationReason reason
protected jdk.internal.jvmci.meta.JavaConstant speculation
protected jdk.internal.jvmci.meta.DeoptimizationAction action
protected boolean negated
public GuardNode(LogicNode condition, AnchoringNode anchor, jdk.internal.jvmci.meta.DeoptimizationReason reason, jdk.internal.jvmci.meta.DeoptimizationAction action, boolean negated, jdk.internal.jvmci.meta.JavaConstant speculation)
protected GuardNode(NodeClass<? extends GuardNode> c, LogicNode condition, AnchoringNode anchor, jdk.internal.jvmci.meta.DeoptimizationReason reason, jdk.internal.jvmci.meta.DeoptimizationAction action, boolean negated, jdk.internal.jvmci.meta.JavaConstant speculation)
public boolean isNegated()
public jdk.internal.jvmci.meta.DeoptimizationReason reason()
public jdk.internal.jvmci.meta.DeoptimizationAction action()
public jdk.internal.jvmci.meta.JavaConstant getSpeculation()
public void setSpeculation(jdk.internal.jvmci.meta.JavaConstant speculation)
public Node canonical(CanonicalizerTool tool)
canonical
in interface Canonicalizable
public FixedWithNextNode lowerGuard()
public void negate()
public void setAction(jdk.internal.jvmci.meta.DeoptimizationAction invalidaterecompile)