public final class AArch64AddressValue extends CompositeValue
CompositeValue.Component| Modifier and Type | Field and Description |
|---|---|
protected AllocatableValue |
base |
protected AllocatableValue |
offset |
| Constructor and Description |
|---|
AArch64AddressValue(<any> kind,
int bitMemoryTransferSize,
AllocatableValue base,
AllocatableValue offset,
int displacement,
int scaleFactor,
AArch64Address.AddressingMode addressingMode) |
| Modifier and Type | Method and Description |
|---|---|
CompositeValue |
forEachComponent(LIRInstruction inst,
LIRInstruction.OperandMode mode,
InstructionValueProcedure proc)
|
AArch64Address.AddressingMode |
getAddressingMode() |
AllocatableValue |
getBase() |
int |
getBitMemoryTransferSize() |
int |
getDisplacement() |
AllocatableValue |
getOffset() |
int |
getScaleFactor() |
static AArch64AddressValue |
makeAddress(<any> kind,
int bitMemoryTransferSize,
AllocatableValue base)
Generates an AArch64AddressValue of the form
base. |
static AArch64AddressValue |
makeAddress(<any> kind,
int bitMemoryTransferSize,
AllocatableValue base,
int displacement)
Generates an AArch64AddressValue of the form
base + displacement. |
AArch64Address |
toAddress() |
protected void |
visitEachComponent(LIRInstruction inst,
LIRInstruction.OperandMode mode,
InstructionValueConsumer proc) |
equals, hashCode, toString, visitValueArraypublic AArch64AddressValue(<any> kind,
int bitMemoryTransferSize,
AllocatableValue base,
AllocatableValue offset,
int displacement,
int scaleFactor,
AArch64Address.AddressingMode addressingMode)
public static AArch64AddressValue makeAddress(<any> kind, int bitMemoryTransferSize, AllocatableValue base)
base.public static AArch64AddressValue makeAddress(<any> kind, int bitMemoryTransferSize, AllocatableValue base, int displacement)
base + displacement.
Will fail if displacement cannot be represented directly as an immediate address.public AllocatableValue getBase()
public AllocatableValue getOffset()
public int getDisplacement()
public int getScaleFactor()
public AArch64Address.AddressingMode getAddressingMode()
public int getBitMemoryTransferSize()
public AArch64Address toAddress()
public CompositeValue forEachComponent(LIRInstruction inst, LIRInstruction.OperandMode mode, InstructionValueProcedure proc)
CompositeValueproc on each Value element of this CompositeValue. If
proc replaces any value then a new CompositeValue should be returned.forEachComponent in class CompositeValueprotected void visitEachComponent(LIRInstruction inst, LIRInstruction.OperandMode mode, InstructionValueConsumer proc)
visitEachComponent in class CompositeValue