public class IndexAddressNode extends AddressNode implements Lowerable
AddressNode.AddressNode.ConstantNodeParameter, Node.EdgeVisitor, Node.IndirectCanonicalization, Node.InjectedNodeParameter, Node.Input, Node.NodeInsertionStackTrace, Node.NodeIntrinsic, Node.NodeIntrinsicFactory, Node.OptionalInput, Node.Successor, Node.ValueNumberable| Modifier and Type | Field and Description |
|---|---|
static NodeClass<IndexAddressNode> |
TYPE |
EMPTY_ARRAY, stampNODE_LIST, NOT_ITERABLE, TRACK_CREATION_POSITION, WithAllEdges, WithNoEdges, WithOnlyInputEdges, WithOnlySucessorEdges| Modifier | Constructor and Description |
|---|---|
protected |
IndexAddressNode(NodeClass<? extends IndexAddressNode> c,
ValueNode array,
ValueNode index,
JavaKind arrayKind,
JavaKind elementKind) |
|
IndexAddressNode(ValueNode array,
ValueNode index,
JavaKind elementKind) |
|
IndexAddressNode(ValueNode array,
ValueNode index,
JavaKind arrayKind,
JavaKind elementKind) |
| Modifier and Type | Method and Description |
|---|---|
ValueNode |
getArray() |
JavaKind |
getArrayKind() |
ValueNode |
getBase() |
JavaKind |
getElementKind() |
ValueNode |
getIndex() |
long |
getMaxConstantDisplacement()
Constant that is the maximum displacement from the base and index for this address.
|
asConstant, 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, toString, updateNodeSourcePosition, updatePredecessor, updateUsages, usages, valueEquals, verify, verifyEdges, verifyInputs, verifySourcePosition, withNodeSourcePositionclone, equals, getClass, notify, notifyAll, wait, wait, waitasNodepublic static final NodeClass<IndexAddressNode> TYPE
public IndexAddressNode(ValueNode array, ValueNode index, JavaKind arrayKind, JavaKind elementKind)
protected IndexAddressNode(NodeClass<? extends IndexAddressNode> c, ValueNode array, ValueNode index, JavaKind arrayKind, JavaKind elementKind)
public ValueNode getBase()
getBase in class AddressNodepublic ValueNode getArray()
public ValueNode getIndex()
getIndex in class AddressNodepublic long getMaxConstantDisplacement()
AddressNodegetMaxConstantDisplacement in class AddressNodepublic JavaKind getArrayKind()
public JavaKind getElementKind()