|
enum | OffsetKind { Immediate
, IndexRegister
, ScaledIndexRegister
} |
|
enum | Mode {
kModeMask = (8 | 4 | 1) << 21
, Offset = (8 | 4 | 0) << 21
, PreIndex = (8 | 4 | 1) << 21
, PostIndex = (0 | 4 | 0) << 21
,
NegOffset = (8 | 0 | 0) << 21
, NegPreIndex = (8 | 0 | 1) << 21
, NegPostIndex = (0 | 0 | 0) << 21
} |
|
enum | AddressType {
Offset = (8 | 4 | 0) << 21
, PreIndex = (8 | 4 | 1) << 21
, PostIndex = (0 | 4 | 0) << 21
, PairOffset
,
PairPreIndex
, PairPostIndex
, Reg
, PCOffset
,
Unknown
} |
|
enum | Scaling { Unscaled
, Scaled
} |
|
Public Types inherited from dart::compiler::Operand |
enum | OperandType {
Shifted
, Extended
, Immediate
, BitfieldImm
,
Unknown
} |
|
|
| Address (const Address &other) |
|
Address & | operator= (const Address &other) |
|
bool | Equals (const Address &other) const |
|
| Address (Register rn, int32_t offset=0, Mode am=Offset) |
|
| Address (Register rn, Register r, Mode am) |
|
| Address (Register rn, Register rm, Shift shift=LSL, uint32_t shift_imm=0, Mode am=Offset) |
|
| Address (Register rn, Register rm, Shift shift, Register r, Mode am=Offset) |
|
| Address (const Address &other) |
|
Address & | operator= (const Address &other) |
|
bool | can_writeback_to (Register r) const |
|
| Address (Register rn, int32_t offset=0, AddressType at=Offset) |
|
| Address (Register rn, Register offset, AddressType at)=delete |
|
| Address (Register rn, Register rm, Extend ext=UXTX, Scaling scale=Unscaled) |
|
| Address (Register base, int32_t disp) |
|
| Address (Register index, ScaleFactor scale, int32_t disp) |
|
| Address (Register index, ScaleFactor scale, Register r) |
|
| Address (Register base, Register index, ScaleFactor scale, int32_t disp) |
|
| Address (Register base, Register index, ScaleFactor scale, Register r) |
|
| Address (const Address &other) |
|
Address & | operator= (const Address &other) |
|
| Address (Register base, intptr_t offset) |
|
| Address (Register base) |
|
| Address (Register base, Register index)=delete |
|
Register | base () const |
|
intptr_t | offset () const |
|
| Address (Register base, int32_t disp) |
|
| Address (Register base, Register r) |
|
| Address (Register index, ScaleFactor scale, int32_t disp) |
|
| Address (Register index, ScaleFactor scale, Register r) |
|
| Address (Register base, Register index, ScaleFactor scale, int32_t disp) |
|
| Address (Register base, Register index, ScaleFactor scale, Register r) |
|
| Address (const Address &other) |
|
Address & | operator= (const Address &other) |
|
| ValueObject () |
|
| ~ValueObject () |
|
Public Member Functions inherited from dart::compiler::Operand |
| Operand () |
|
| Operand (const Operand &other) |
|
Operand & | operator= (const Operand &other) |
|
| Operand (uint32_t immediate) |
|
| Operand (uint32_t rotate, uint32_t immed8) |
|
| Operand (Register rm) |
|
| Operand (Register rm, Shift shift, uint32_t shift_imm) |
|
| Operand (Register rm, Shift shift, Register rs) |
|
| Operand () |
|
| Operand (const Operand &other) |
|
Operand & | operator= (const Operand &other) |
|
| Operand (Register rm) |
|
| Operand (Register rm, Shift shift, int32_t imm) |
|
| Operand (Register rm, Shift shift, Register r) |
|
| Operand (Register rm, Extend extend, int32_t imm) |
|
| Operand (Register rm, Extend extend, Register r) |
|
| Operand (int32_t imm) |
|
| Operand (uint8_t n, int8_t imm_s, int8_t imm_r) |
|
uint8_t | mod () const |
|
Register | rm () const |
|
ScaleFactor | scale () const |
|
Register | index () const |
|
Register | base () const |
|
int8_t | disp8 () const |
|
int32_t | disp32 () const |
|
| Operand (const Operand &other) |
|
Operand & | operator= (const Operand &other) |
|
bool | Equals (const Operand &other) const |
|
uint8_t | rex () const |
|
uint8_t | mod () const |
|
Register | rm () const |
|
ScaleFactor | scale () const |
|
Register | index () const |
|
Register | base () const |
|
int8_t | disp8 () const |
|
int32_t | disp32 () const |
|
| Operand (const Operand &other) |
|
Operand & | operator= (const Operand &other) |
|
bool | Equals (const Operand &other) const |
|
|
static OperandSize | OperandSizeFor (intptr_t cid) |
|
static bool | CanHoldLoadOffset (OperandSize size, int32_t offset, int32_t *offset_mask) |
|
static bool | CanHoldStoreOffset (OperandSize size, int32_t offset, int32_t *offset_mask) |
|
static bool | CanHoldImmediateOffset (bool is_load, intptr_t cid, int64_t offset) |
|
static bool | CanHoldOffset (int32_t offset, AddressType at=Offset, OperandSize sz=kEightBytes) |
|
static Address | PC (int32_t pc_off) |
|
static Address | Pair (Register rn, int32_t offset=0, AddressType at=PairOffset) |
|
static Address | PC (Register r)=delete |
|
static OperandSize | OperandSizeFor (intptr_t cid) |
|
static Address | Absolute (const uword addr) |
|
static Address | AddressRIPRelative (int32_t disp) |
|
static Address | AddressBaseImm32 (Register base, int32_t disp) |
|
static Address | AddressBaseImm32 (Register base, Register r) |
|
Static Public Member Functions inherited from dart::compiler::Operand |
static bool | CanHold (uint32_t immediate, Operand *o) |
|
static bool | IsImmLogical (uint64_t value, uint8_t width, Operand *imm_op) |
|
static OperandType | CanHold (int64_t imm, uint8_t sz, Operand *op) |
|
Definition at line 221 of file assembler_arm.h.