public class OffsetAddressNode extends AddressNode implements Canonicalizable, PiPushable
Kind.Object
, a word-sized integer or another pointer. The offset must be a word-sized
integer.AddressNode.Address
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 |
---|---|
(package private) ValueNode |
base |
(package private) ValueNode |
offset |
static NodeClass<OffsetAddressNode> |
TYPE |
NODE_LIST, NOT_ITERABLE, USE_UNSAFE_TO_CLONE, WithAllEdges, WithNoEdges, WithOnlyInputEdges, WithOnlySucessorEdges
Constructor and Description |
---|
OffsetAddressNode(ValueNode base,
ValueNode offset) |
Modifier and Type | Method and Description |
---|---|
static AddressNode.Address |
address(Object base,
long offset) |
Node |
canonical(CanonicalizerTool tool) |
ValueNode |
getBase() |
ValueNode |
getOffset() |
boolean |
push(PiNode parent) |
void |
setBase(ValueNode base) |
void |
setOffset(ValueNode offset) |
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, verify, verifyEdges, verifyInputs
public static final NodeClass<OffsetAddressNode> TYPE
public OffsetAddressNode(ValueNode base, ValueNode offset)
public Node canonical(CanonicalizerTool tool)
canonical
in interface Canonicalizable
public boolean push(PiNode parent)
push
in interface PiPushable
parent
- PiNodepublic static AddressNode.Address address(Object base, long offset)