public class AArch64AddressNode extends AddressNode implements LIRLowerable
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<AArch64AddressNode> |
TYPE |
EMPTY_ARRAY, stampNODE_LIST, NOT_ITERABLE, TRACK_CREATION_POSITION, WithAllEdges, WithNoEdges, WithOnlyInputEdges, WithOnlySucessorEdges| Constructor and Description |
|---|
AArch64AddressNode(int bitMemoryTransferSize,
ValueNode base,
ValueNode index) |
| Modifier and Type | Method and Description |
|---|---|
void |
generate(NodeLIRBuilderTool gen) |
AArch64Address.AddressingMode |
getAddressingMode() |
ValueNode |
getBase() |
long |
getDisplacement() |
ValueNode |
getIndex() |
long |
getMaxConstantDisplacement()
Constant that is the maximum displacement from the base and index for this address.
|
void |
setBase(ValueNode base) |
void |
setDisplacement(long displacement,
int scaleFactor,
AArch64Address.AddressingMode addressingMode) |
void |
setIndex(ValueNode index) |
boolean |
verify() |
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, verifyEdges, verifyInputs, verifySourcePosition, withNodeSourcePositionpublic static final NodeClass<AArch64AddressNode> TYPE
public void generate(NodeLIRBuilderTool gen)
generate in interface LIRLowerablepublic ValueNode getBase()
getBase in class AddressNodepublic void setBase(ValueNode base)
public ValueNode getIndex()
getIndex in class AddressNodepublic void setIndex(ValueNode index)
public long getDisplacement()
public void setDisplacement(long displacement,
int scaleFactor,
AArch64Address.AddressingMode addressingMode)
public long getMaxConstantDisplacement()
AddressNodegetMaxConstantDisplacement in class AddressNodepublic AArch64Address.AddressingMode getAddressingMode()