public final class GuardProxyNode extends ProxyNode implements GuardingNode, Proxy, LIRLowerable, Canonicalizable
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 |
---|---|
static NodeClass<GuardProxyNode> |
TYPE |
(package private) GuardingNode |
value |
proxyPoint
NODE_LIST, NOT_ITERABLE, USE_UNSAFE_TO_CLONE, WithAllEdges, WithNoEdges, WithOnlyInputEdges, WithOnlySucessorEdges
Constructor and Description |
---|
GuardProxyNode(GuardingNode value,
AbstractBeginNode proxyPoint) |
Modifier and Type | Method and Description |
---|---|
Node |
canonical(CanonicalizerTool tool) |
void |
generate(NodeLIRBuilderTool generator) |
Node |
getOriginalNode() |
void |
setValue(GuardingNode newValue) |
ValueNode |
value() |
forGuard, forValue, proxyPoint, verify
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, toString, updatePredecessor, updateUsages, updateUsagesInterface, usages, valueEquals, verifyEdges, verifyInputs
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
asNode
public static final NodeClass<GuardProxyNode> TYPE
GuardingNode value
public GuardProxyNode(GuardingNode value, AbstractBeginNode proxyPoint)
public void generate(NodeLIRBuilderTool generator)
generate
in interface LIRLowerable
public void setValue(GuardingNode newValue)
public Node getOriginalNode()
getOriginalNode
in interface Proxy
public Node canonical(CanonicalizerTool tool)
canonical
in interface Canonicalizable