V8 API Reference, 7.2.502.16 (for Deno 0.2.4)
v8::internal::MemOperand Class Reference
Inheritance diagram for v8::internal::MemOperand:
v8::internal::Operand v8::internal::Operand

Public Types

enum  PairResult { kNotPair, kPairAB, kPairBA }
 
enum  OffsetAddend { offset_minus_one = -1, offset_zero = 0, offset_minus_one = -1, offset_zero = 0 }
 
enum  OffsetAddend { offset_minus_one = -1, offset_zero = 0, offset_minus_one = -1, offset_zero = 0 }
 

Public Member Functions

 MemOperand (Register rn, int32_t offset=0, AddrMode am=Offset)
 
 MemOperand (Register rn, Register rm, AddrMode am=Offset)
 
 MemOperand (Register rn, Register rm, ShiftOp shift_op, int shift_imm, AddrMode am=Offset)
 
void set_offset (int32_t offset)
 
uint32_t offset () const
 
Register rn () const
 
Register rm () const
 
AddrMode am () const
 
bool OffsetIsUint12Encodable () const
 
 MemOperand (Register base, int64_t offset=0, AddrMode addrmode=Offset)
 
 MemOperand (Register base, Register regoffset, Shift shift=LSL, unsigned shift_amount=0)
 
 MemOperand (Register base, Register regoffset, Extend extend, unsigned shift_amount=0)
 
 MemOperand (Register base, const Operand &offset, AddrMode addrmode=Offset)
 
const Registerbase () const
 
const Registerregoffset () const
 
int64_t offset () const
 
AddrMode addrmode () const
 
Shift shift () const
 
Extend extend () const
 
unsigned shift_amount () const
 
bool IsImmediateOffset () const
 
bool IsRegisterOffset () const
 
bool IsPreIndex () const
 
bool IsPostIndex () const
 
Operand OffsetAsOperand () const
 
 MemOperand (Register rn, int32_t offset=0)
 
 MemOperand (Register rn, int32_t unit, int32_t multiplier, OffsetAddend offset_addend=offset_zero)
 
int32_t offset () const
 
bool OffsetIsInt16Encodable () const
 
 MemOperand (Register rn, int32_t offset=0)
 
 MemOperand (Register rn, int32_t unit, int32_t multiplier, OffsetAddend offset_addend=offset_zero)
 
int32_t offset () const
 
bool OffsetIsInt16Encodable () const
 
 MemOperand (Register rn, int32_t offset=0)
 
 MemOperand (Register ra, Register rb)
 
int32_t offset () const
 
Register ra () const
 
Register rb () const
 
 MemOperand (Register rx, Disp offset=0)
 
 MemOperand (Register rx, Register rb, Disp offset=0)
 
int32_t offset () const
 
uint32_t getDisplacement () const
 
Register rb () const
 
Register getBaseRegister () const
 
Register rx () const
 
Register getIndexRegister () const
 
- Public Member Functions inherited from v8::internal::Operand
V8_INLINE Operand (int32_t immediate, RelocInfo::Mode rmode=RelocInfo::NONE)
 
V8_INLINE Operand (const ExternalReference &f)
 
 Operand (Handle< HeapObject > handle)
 
V8_INLINE Operand (Smi value)
 
V8_INLINE Operand (Register rm)
 
 Operand (Register rm, ShiftOp shift_op, int shift_imm)
 
 Operand (Register rm, ShiftOp shift_op, Register rs)
 
bool IsRegister () const
 
bool IsImmediateShiftedRegister () const
 
bool IsRegisterShiftedRegister () const
 
int InstructionsRequired (const Assembler *assembler, Instr instr=0) const
 
bool MustOutputRelocInfo (const Assembler *assembler) const
 
int32_t immediate () const
 
bool IsImmediate () const
 
HeapObjectRequest heap_object_request () const
 
bool IsHeapObjectRequest () const
 
Register rm () const
 
Register rs () const
 
ShiftOp shift_op () const
 
 Operand (Register reg, Shift shift=LSL, unsigned shift_amount=0)
 
 Operand (Register reg, Extend extend, unsigned shift_amount=0)
 
bool IsHeapObjectRequest () const
 
HeapObjectRequest heap_object_request () const
 
Immediate immediate_for_heap_object_request () const
 
template<typename T >
 Operand (Handle< T > handle)
 
template<typename T >
 Operand (T t)
 
template<typename T >
 Operand (T t, RelocInfo::Mode rmode)
 
bool IsImmediate () const
 
bool IsShiftedRegister () const
 
bool IsExtendedRegister () const
 
bool IsZero () const
 
Operand ToExtendedRegister () const
 
Immediate immediate () const
 
int64_t ImmediateValue () const
 
RelocInfo::Mode ImmediateRMode () const
 
Register reg () const
 
Shift shift () const
 
Extend extend () const
 
unsigned shift_amount () const
 
bool NeedsRelocation (const Assembler *assembler) const
 
V8_INLINE Operand (Register reg)
 
V8_INLINE Operand (XMMRegister xmm_reg)
 
V8_INLINE Operand (int32_t disp, RelocInfo::Mode rmode)
 
V8_INLINE Operand (Immediate imm)
 
 Operand (Register base, int32_t disp, RelocInfo::Mode rmode=RelocInfo::NONE)
 
 Operand (Register base, Register index, ScaleFactor scale, int32_t disp, RelocInfo::Mode rmode=RelocInfo::NONE)
 
 Operand (Register index, ScaleFactor scale, int32_t disp, RelocInfo::Mode rmode=RelocInfo::NONE)
 
bool is_reg (Register reg) const
 
bool is_reg (XMMRegister reg) const
 
bool is_reg_only () const
 
Register reg () const
 
V8_INLINE Operand (int32_t immediate, RelocInfo::Mode rmode=RelocInfo::NONE)
 
V8_INLINE Operand (const ExternalReference &f)
 
V8_INLINE Operand (const char *s)
 
 Operand (Handle< HeapObject > handle)
 
V8_INLINE Operand (Smi value)
 
V8_INLINE Operand (Register rm)
 
V8_INLINE bool is_reg () const
 
int32_t immediate () const
 
bool IsImmediate () const
 
HeapObjectRequest heap_object_request () const
 
bool IsHeapObjectRequest () const
 
Register rm () const
 
RelocInfo::Mode rmode () const
 
V8_INLINE Operand (int64_t immediate, RelocInfo::Mode rmode=RelocInfo::NONE)
 
V8_INLINE Operand (const ExternalReference &f)
 
V8_INLINE Operand (const char *s)
 
 Operand (Handle< HeapObject > handle)
 
V8_INLINE Operand (Smi value)
 
V8_INLINE Operand (Register rm)
 
V8_INLINE bool is_reg () const
 
int64_t immediate () const
 
bool IsImmediate () const
 
HeapObjectRequest heap_object_request () const
 
bool IsHeapObjectRequest () const
 
Register rm () const
 
RelocInfo::Mode rmode () const
 
V8_INLINE Operand (intptr_t immediate, RelocInfo::Mode rmode=RelocInfo::NONE)
 
V8_INLINE Operand (const ExternalReference &f)
 
 Operand (Handle< HeapObject > handle)
 
V8_INLINE Operand (Smi value)
 
V8_INLINE Operand (Register rm)
 
V8_INLINE bool is_reg () const
 
bool must_output_reloc_info (const Assembler *assembler) const
 
intptr_t immediate () const
 
bool IsImmediate () const
 
HeapObjectRequest heap_object_request () const
 
Register rm () const
 
bool IsHeapObjectRequest () const
 
V8_INLINE Operand (intptr_t immediate, RelocInfo::Mode rmode=RelocInfo::NONE)
 
V8_INLINE Operand (const ExternalReference &f)
 
 Operand (Handle< HeapObject > handle)
 
V8_INLINE Operand (Smi value)
 
V8_INLINE Operand (Register rm)
 
V8_INLINE bool is_reg () const
 
bool must_output_reloc_info (const Assembler *assembler) const
 
intptr_t immediate () const
 
HeapObjectRequest heap_object_request () const
 
void setBits (int n)
 
Register rm () const
 
bool is_heap_object_request () const
 
RelocInfo::Mode rmode () const
 
 Operand (Register base, int32_t disp)
 
 Operand (Register base, Register index, ScaleFactor scale, int32_t disp)
 
 Operand (Register index, ScaleFactor scale, int32_t disp)
 
 Operand (Operand base, int32_t offset)
 
 Operand (Label *label, int addend=0)
 
 Operand (const Operand &)=default
 
bool AddressUsesRegister (Register reg) const
 
bool requires_rex () const
 
int operand_size () const
 
const Datadata () const
 

Static Public Member Functions

static V8_INLINE MemOperand PointerAddressFromSmiKey (Register array, Register key, AddrMode am=Offset)
 
static PairResult AreConsistentForPair (const MemOperand &operandA, const MemOperand &operandB, int access_size_log2=kXRegSizeLog2)
 
- Static Public Member Functions inherited from v8::internal::Operand
static V8_INLINE Operand Zero ()
 
static V8_INLINE Operand SmiUntag (Register rm)
 
static V8_INLINE Operand PointerOffsetFromSmiKey (Register key)
 
static V8_INLINE Operand DoubleOffsetFromSmiKey (Register key)
 
static Operand EmbeddedNumber (double number)
 
static Operand EmbeddedCode (CodeStub *stub)
 
static Operand EmbeddedStringConstant (const StringConstantBase *str)
 
static Operand EmbeddedNumber (double number)
 
static Operand EmbeddedCode (CodeStub *stub)
 
static Operand EmbeddedStringConstant (const StringConstantBase *str)
 
static Operand UntagSmi (Register smi)
 
static Operand UntagSmiAndScale (Register smi, int scale)
 
static Operand JumpTable (Register index, ScaleFactor scale, Label *table)
 
static Operand ForRegisterPlusImmediate (Register base, Immediate imm)
 
static Operand EmbeddedNumber (double number)
 
static Operand EmbeddedCode (CodeStub *stub)
 
static Operand EmbeddedStringConstant (const StringConstantBase *str)
 
static Operand EmbeddedNumber (double number)
 
static Operand EmbeddedCode (CodeStub *stub)
 
static Operand EmbeddedStringConstant (const StringConstantBase *str)
 
static V8_INLINE Operand Zero ()
 
static Operand EmbeddedNumber (double number)
 
static Operand EmbeddedStringConstant (const StringConstantBase *str)
 
static Operand EmbeddedCode (CodeStub *stub)
 
static V8_INLINE Operand Zero ()
 
static Operand EmbeddedNumber (double value)
 
static Operand EmbeddedStringConstant (const StringConstantBase *str)
 

Friends

class Assembler
 

Detailed Description

Definition at line 503 of file assembler-arm.h.


The documentation for this class was generated from the following files: