v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
v8::internal::Operand Class Reference

#include <assembler-arm.h>

Inheritance diagram for v8::internal::Operand:
Collaboration diagram for v8::internal::Operand:

Classes

struct  LabelOperand
 
struct  MemoryOperand
 
union  Value
 

Public Member Functions

V8_INLINE Operand (int32_t immediate, RelocInfo::Mode rmode=RelocInfo::NO_INFO)
 
V8_INLINE Operand (const ExternalReference &f)
 
 Operand (Handle< HeapObject > handle)
 
V8_INLINE Operand (Tagged< 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
 
HeapNumberRequest heap_number_request () const
 
bool IsHeapNumberRequest () 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 IsHeapNumberRequest () const
 
HeapNumberRequest heap_number_request () const
 
Immediate immediate_for_heap_number_request () const
 
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
 
Operand ToW () 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::NO_INFO)
 
 Operand (Label *label)
 
 Operand (Register base, Register index, ScaleFactor scale, int32_t disp, RelocInfo::Mode rmode=RelocInfo::NO_INFO)
 
 Operand (Register index, ScaleFactor scale, int32_t disp, RelocInfo::Mode rmode=RelocInfo::NO_INFO)
 
bool is_reg (Register reg) const
 
bool is_reg (XMMRegister reg) const
 
bool is_reg_only () const
 
Register reg () const
 
base::Vector< const uint8_t > encoded_bytes () const
 
RelocInfo::Mode rmode ()
 
V8_INLINE Operand (int64_t immediate, RelocInfo::Mode rmode=RelocInfo::NO_INFO)
 
V8_INLINE Operand (const ExternalReference &f)
 
V8_INLINE Operand (Tagged< Smi > value)
 
 Operand (Handle< HeapObject > handle)
 
V8_INLINE Operand (Register rm)
 
V8_INLINE bool is_reg () const
 
int64_t immediate () const
 
bool IsImmediate () const
 
HeapNumberRequest heap_number_request () const
 
bool IsHeapNumberRequest () const
 
Register rm () const
 
RelocInfo::Mode rmode () const
 
V8_INLINE Operand (int64_t immediate, RelocInfo::Mode rmode=RelocInfo::NO_INFO)
 
V8_INLINE Operand (const ExternalReference &f)
 
V8_INLINE Operand (Tagged< Smi > value)
 
 Operand (Handle< HeapObject > handle)
 
V8_INLINE Operand (Register rm)
 
V8_INLINE bool is_reg () const
 
int64_t immediate () const
 
bool IsImmediate () const
 
HeapNumberRequest heap_number_request () const
 
bool IsHeapNumberRequest () const
 
Register rm () const
 
RelocInfo::Mode rmode () const
 
V8_INLINE Operand (intptr_t immediate, RelocInfo::Mode rmode=RelocInfo::NO_INFO)
 
V8_INLINE Operand (const ExternalReference &f)
 
 Operand (Handle< HeapObject > handle)
 
V8_INLINE Operand (Tagged< 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
 
HeapNumberRequest heap_number_request () const
 
Register rm () const
 
bool IsHeapNumberRequest () const
 
V8_INLINE Operand (intptr_t immediate, RelocInfo::Mode rmode=RelocInfo::NO_INFO)
 
V8_INLINE Operand (Tagged< Smi > value)
 
V8_INLINE Operand (const ExternalReference &f)
 
 Operand (Handle< HeapObject > handle, RelocInfo::Mode rmode=RelocInfo::FULL_EMBEDDED_OBJECT)
 
V8_INLINE Operand (Register rm)
 
V8_INLINE bool is_reg () const
 
intptr_t immediate_for_heap_number_request () const
 
intptr_t immediate () const
 
bool IsImmediate () const
 
HeapNumberRequest heap_number_request () const
 
bool IsHeapNumberRequest () const
 
Register rm () const
 
RelocInfo::Mode rmode () const
 
V8_INLINE Operand (intptr_t immediate, RelocInfo::Mode rmode=RelocInfo::NO_INFO)
 
V8_INLINE Operand (const ExternalReference &f)
 
 Operand (Handle< HeapObject > handle)
 
V8_INLINE Operand (Tagged< 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
 
HeapNumberRequest heap_number_request () const
 
void setBits (int n)
 
Register rm () const
 
bool is_heap_number_request () const
 
RelocInfo::Mode rmode () const
 
V8_INLINE constexpr Operand (Register base, int32_t disp)
 
V8_INLINE Operand (Register base, Register index, ScaleFactor scale, int32_t disp)
 
V8_INLINE Operand (Register index, ScaleFactor scale, int32_t disp)
 
 Operand (Operand base, int32_t offset)
 
V8_INLINE Operand (Label *label, int addend=0)
 
 Operand (const Operand &) V8_NOEXCEPT=default
 
Operandoperator= (const Operand &) V8_NOEXCEPT=default
 
V8_INLINE constexpr bool is_label_operand () const
 
V8_INLINE constexpr uint8_t rex () const
 
V8_INLINE const MemoryOperandmemory () const
 
V8_INLINE const LabelOperandlabel () const
 
bool AddressUsesRegister (Register reg) const
 

Static Public Member Functions

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 EmbeddedNumber (double number)
 
static Operand EmbeddedHeapNumber (double number)
 
static Operand JumpTable (Register index, ScaleFactor scale, Label *table)
 
static Operand ForRegisterPlusImmediate (Register base, Immediate imm)
 
static Operand EmbeddedNumber (double number)
 
static Operand EmbeddedNumber (double number)
 
static V8_INLINE Operand Zero ()
 
static Operand EmbeddedNumber (double number)
 
static Operand EmbeddedNumber (double number)
 
static V8_INLINE Operand Zero ()
 
static Operand EmbeddedNumber (double value)
 

Private Member Functions

void set_modrm (int mod, Register rm)
 
void set_sib (ScaleFactor scale, Register index, Register base)
 
void set_disp8 (int8_t disp)
 
void set_dispr (int32_t disp, RelocInfo::Mode rmode)
 
bool is_reg (int reg_code) const
 
V8_INLINE constexpr void set_modrm (int mod, Register rm_reg)
 
V8_INLINE constexpr void set_sib (ScaleFactor scale, Register index, Register base)
 
V8_INLINE constexpr void set_disp8 (int disp)
 
V8_INLINE void set_disp32 (int disp)
 

Private Attributes

Register rm_ = no_reg
 
Register rs_ = no_reg
 
ShiftOp shift_op_
 
int shift_imm_
 
union v8::internal::Operand::Value value_
 
bool is_heap_number_request_ = false
 
RelocInfo::Mode rmode_ = RelocInfo::NO_INFO
 
std::optional< HeapNumberRequestheap_number_request_
 
Immediate immediate_
 
Register reg_
 
Shift shift_
 
Extend extend_
 
unsigned shift_amount_
 
uint8_t buf_ [6]
 
uint8_t len_ = 0
 
union { 
 
   LabelOperand   label_ 
 
   MemoryOperand   memory_ = {} 
 
};  
 

Friends

class Assembler
 
class MacroAssembler
 

Detailed Description

Definition at line 180 of file assembler-x64.h.

Constructor & Destructor Documentation

◆ Operand() [1/50]

V8_INLINE v8::internal::Operand::Operand ( int32_t immediate,
RelocInfo::Mode rmode = RelocInfo::NO_INFO )
inlineexplicit

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

Here is the caller graph for this function:

◆ Operand() [2/50]

v8::internal::Operand::Operand ( const ExternalReference & f)
explicit

Definition at line 173 of file assembler-arm-inl.h.

Here is the call graph for this function:

◆ Operand() [3/50]

v8::internal::Operand::Operand ( Handle< HeapObject > handle)
explicit

◆ Operand() [4/50]

v8::internal::Operand::Operand ( Tagged< Smi > value)
explicit

Definition at line 178 of file assembler-arm-inl.h.

◆ Operand() [5/50]

v8::internal::Operand::Operand ( Register rm)
explicit

Definition at line 182 of file assembler-arm-inl.h.

◆ Operand() [6/50]

v8::internal::Operand::Operand ( Register rm,
ShiftOp shift_op,
int shift_imm )
explicit

◆ Operand() [7/50]

v8::internal::Operand::Operand ( Register rm,
ShiftOp shift_op,
Register rs )
explicit

◆ Operand() [8/50]

v8::internal::Operand::Operand ( Register reg,
Shift shift = LSL,
unsigned shift_amount = 0 )
inline

Definition at line 253 of file assembler-arm64-inl.h.

Here is the call graph for this function:

◆ Operand() [9/50]

v8::internal::Operand::Operand ( Register reg,
Extend extend,
unsigned shift_amount = 0 )
inline

Definition at line 264 of file assembler-arm64-inl.h.

Here is the call graph for this function:

◆ Operand() [10/50]

template<typename T >
v8::internal::Operand::Operand ( T t)
inline

Definition at line 247 of file assembler-arm64-inl.h.

◆ Operand() [11/50]

template<typename T >
v8::internal::Operand::Operand ( T t,
RelocInfo::Mode rmode )
inline

Definition at line 250 of file assembler-arm64-inl.h.

◆ Operand() [12/50]

V8_INLINE v8::internal::Operand::Operand ( Register reg)
inlineexplicit

Definition at line 226 of file assembler-ia32.h.

◆ Operand() [13/50]

V8_INLINE v8::internal::Operand::Operand ( XMMRegister xmm_reg)
inlineexplicit

Definition at line 229 of file assembler-ia32.h.

Here is the call graph for this function:

◆ Operand() [14/50]

V8_INLINE v8::internal::Operand::Operand ( int32_t disp,
RelocInfo::Mode rmode )
inlineexplicit

Definition at line 235 of file assembler-ia32.h.

◆ Operand() [15/50]

V8_INLINE v8::internal::Operand::Operand ( Immediate imm)
inlineexplicit

Definition at line 241 of file assembler-ia32.h.

◆ Operand() [16/50]

v8::internal::Operand::Operand ( Register base,
int32_t disp,
RelocInfo::Mode rmode = RelocInfo::NO_INFO )
explicit

◆ Operand() [17/50]

v8::internal::Operand::Operand ( Label * label)
inlineexplicit

Definition at line 251 of file assembler-ia32.h.

◆ Operand() [18/50]

v8::internal::Operand::Operand ( Register base,
Register index,
ScaleFactor scale,
int32_t disp,
RelocInfo::Mode rmode = RelocInfo::NO_INFO )
explicit

◆ Operand() [19/50]

v8::internal::Operand::Operand ( Register index,
ScaleFactor scale,
int32_t disp,
RelocInfo::Mode rmode = RelocInfo::NO_INFO )
explicit

◆ Operand() [20/50]

V8_INLINE v8::internal::Operand::Operand ( int64_t immediate,
RelocInfo::Mode rmode = RelocInfo::NO_INFO )
inlineexplicit

Definition at line 35 of file assembler-loong64.h.

Here is the call graph for this function:

◆ Operand() [21/50]

V8_INLINE v8::internal::Operand::Operand ( const ExternalReference & f)
inlineexplicit

Definition at line 40 of file assembler-loong64.h.

Here is the call graph for this function:

◆ Operand() [22/50]

V8_INLINE v8::internal::Operand::Operand ( Tagged< Smi > value)
inlineexplicit

Definition at line 44 of file assembler-loong64.h.

◆ Operand() [23/50]

v8::internal::Operand::Operand ( Handle< HeapObject > handle)
explicit

◆ Operand() [24/50]

V8_INLINE v8::internal::Operand::Operand ( Register rm)
inlineexplicit

Definition at line 52 of file assembler-loong64.h.

◆ Operand() [25/50]

V8_INLINE v8::internal::Operand::Operand ( int64_t immediate,
RelocInfo::Mode rmode = RelocInfo::NO_INFO )
inlineexplicit

Definition at line 65 of file assembler-mips64.h.

Here is the call graph for this function:

◆ Operand() [26/50]

V8_INLINE v8::internal::Operand::Operand ( const ExternalReference & f)
inlineexplicit

Definition at line 70 of file assembler-mips64.h.

Here is the call graph for this function:

◆ Operand() [27/50]

V8_INLINE v8::internal::Operand::Operand ( Tagged< Smi > value)
inlineexplicit

Definition at line 74 of file assembler-mips64.h.

◆ Operand() [28/50]

v8::internal::Operand::Operand ( Handle< HeapObject > handle)
explicit

◆ Operand() [29/50]

V8_INLINE v8::internal::Operand::Operand ( Register rm)
inlineexplicit

Definition at line 82 of file assembler-mips64.h.

◆ Operand() [30/50]

V8_INLINE v8::internal::Operand::Operand ( intptr_t immediate,
RelocInfo::Mode rmode = RelocInfo::NO_INFO )
inlineexplicit

Definition at line 68 of file assembler-ppc.h.

◆ Operand() [31/50]

V8_INLINE v8::internal::Operand::Operand ( const ExternalReference & f)
inlineexplicit

Definition at line 74 of file assembler-ppc.h.

Here is the call graph for this function:

◆ Operand() [32/50]

v8::internal::Operand::Operand ( Handle< HeapObject > handle)
explicit

◆ Operand() [33/50]

V8_INLINE v8::internal::Operand::Operand ( Tagged< Smi > value)
inlineexplicit

Definition at line 79 of file assembler-ppc.h.

◆ Operand() [34/50]

V8_INLINE v8::internal::Operand::Operand ( Register rm)
explicit

◆ Operand() [35/50]

V8_INLINE v8::internal::Operand::Operand ( intptr_t immediate,
RelocInfo::Mode rmode = RelocInfo::NO_INFO )
inlineexplicit

Definition at line 84 of file assembler-riscv.h.

Here is the call graph for this function:

◆ Operand() [36/50]

V8_INLINE v8::internal::Operand::Operand ( Tagged< Smi > value)
inlineexplicit

Definition at line 90 of file assembler-riscv.h.

◆ Operand() [37/50]

V8_INLINE v8::internal::Operand::Operand ( const ExternalReference & f)
inlineexplicit

Definition at line 93 of file assembler-riscv.h.

Here is the call graph for this function:

◆ Operand() [38/50]

v8::internal::Operand::Operand ( Handle< HeapObject > handle,
RelocInfo::Mode rmode = RelocInfo::FULL_EMBEDDED_OBJECT )
explicit

Definition at line 220 of file assembler-riscv.cc.

Here is the call graph for this function:

◆ Operand() [39/50]

V8_INLINE v8::internal::Operand::Operand ( Register rm)
inlineexplicit

Definition at line 104 of file assembler-riscv.h.

◆ Operand() [40/50]

V8_INLINE v8::internal::Operand::Operand ( intptr_t immediate,
RelocInfo::Mode rmode = RelocInfo::NO_INFO )
inlineexplicit

Definition at line 75 of file assembler-s390.h.

◆ Operand() [41/50]

V8_INLINE v8::internal::Operand::Operand ( const ExternalReference & f)
inlineexplicit

Definition at line 81 of file assembler-s390.h.

Here is the call graph for this function:

◆ Operand() [42/50]

v8::internal::Operand::Operand ( Handle< HeapObject > handle)
explicit

◆ Operand() [43/50]

V8_INLINE v8::internal::Operand::Operand ( Tagged< Smi > value)
inlineexplicit

Definition at line 86 of file assembler-s390.h.

◆ Operand() [44/50]

V8_INLINE v8::internal::Operand::Operand ( Register rm)
explicit

◆ Operand() [45/50]

V8_INLINE constexpr v8::internal::Operand::Operand ( Register base,
int32_t disp )
inlineconstexpr

Definition at line 223 of file assembler-x64.h.

◆ Operand() [46/50]

V8_INLINE v8::internal::Operand::Operand ( Register base,
Register index,
ScaleFactor scale,
int32_t disp )
inline

Definition at line 241 of file assembler-x64.h.

◆ Operand() [47/50]

V8_INLINE v8::internal::Operand::Operand ( Register index,
ScaleFactor scale,
int32_t disp )
inline

Definition at line 259 of file assembler-x64.h.

◆ Operand() [48/50]

v8::internal::Operand::Operand ( Operand base,
int32_t offset )

◆ Operand() [49/50]

V8_INLINE v8::internal::Operand::Operand ( Label * label,
int addend = 0 )
inlineexplicit

Definition at line 280 of file assembler-x64.h.

◆ Operand() [50/50]

v8::internal::Operand::Operand ( const Operand & )
default

Member Function Documentation

◆ AddressUsesRegister()

bool v8::internal::Operand::AddressUsesRegister ( Register reg) const

◆ DoubleOffsetFromSmiKey()

static V8_INLINE Operand v8::internal::Operand::DoubleOffsetFromSmiKey ( Register key)
inlinestatic

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

◆ EmbeddedHeapNumber()

static Operand v8::internal::Operand::EmbeddedHeapNumber ( double number)
static

◆ EmbeddedNumber() [1/7]

Operand v8::internal::Operand::EmbeddedNumber ( double number)
static

Definition at line 226 of file assembler-riscv.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ EmbeddedNumber() [2/7]

static Operand v8::internal::Operand::EmbeddedNumber ( double number)
static

◆ EmbeddedNumber() [3/7]

static Operand v8::internal::Operand::EmbeddedNumber ( double number)
static

◆ EmbeddedNumber() [4/7]

static Operand v8::internal::Operand::EmbeddedNumber ( double number)
static

◆ EmbeddedNumber() [5/7]

static Operand v8::internal::Operand::EmbeddedNumber ( double number)
static

◆ EmbeddedNumber() [6/7]

static Operand v8::internal::Operand::EmbeddedNumber ( double number)
static

◆ EmbeddedNumber() [7/7]

static Operand v8::internal::Operand::EmbeddedNumber ( double value)
static

◆ encoded_bytes()

base::Vector< const uint8_t > v8::internal::Operand::encoded_bytes ( ) const
inline

Definition at line 284 of file assembler-ia32.h.

◆ extend()

Extend v8::internal::Operand::extend ( ) const
inline

Definition at line 359 of file assembler-arm64-inl.h.

Here is the call graph for this function:

◆ ForRegisterPlusImmediate()

static Operand v8::internal::Operand::ForRegisterPlusImmediate ( Register base,
Immediate imm )
inlinestatic

Definition at line 269 of file assembler-ia32.h.

◆ heap_number_request() [1/7]

HeapNumberRequest v8::internal::Operand::heap_number_request ( ) const
inline

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

◆ heap_number_request() [2/7]

HeapNumberRequest v8::internal::Operand::heap_number_request ( ) const
inline

◆ heap_number_request() [3/7]

HeapNumberRequest v8::internal::Operand::heap_number_request ( ) const
inline

Definition at line 61 of file assembler-loong64.h.

Here is the call graph for this function:

◆ heap_number_request() [4/7]

HeapNumberRequest v8::internal::Operand::heap_number_request ( ) const
inline

Definition at line 91 of file assembler-mips64.h.

Here is the call graph for this function:

◆ heap_number_request() [5/7]

HeapNumberRequest v8::internal::Operand::heap_number_request ( ) const
inline

Definition at line 99 of file assembler-ppc.h.

◆ heap_number_request() [6/7]

HeapNumberRequest v8::internal::Operand::heap_number_request ( ) const
inline

Definition at line 122 of file assembler-riscv.h.

Here is the call graph for this function:

◆ heap_number_request() [7/7]

HeapNumberRequest v8::internal::Operand::heap_number_request ( ) const
inline

Definition at line 106 of file assembler-s390.h.

◆ immediate() [1/7]

int64_t v8::internal::Operand::immediate ( ) const
inline

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

Here is the caller graph for this function:

◆ immediate() [2/7]

Immediate v8::internal::Operand::immediate ( ) const
inline

◆ immediate() [3/7]

int64_t v8::internal::Operand::immediate ( ) const
inline

◆ immediate() [4/7]

int64_t v8::internal::Operand::immediate ( ) const
inline

◆ immediate() [5/7]

intptr_t v8::internal::Operand::immediate ( ) const
inline

Definition at line 92 of file assembler-ppc.h.

◆ immediate() [6/7]

intptr_t v8::internal::Operand::immediate ( ) const
inline

Definition at line 114 of file assembler-riscv.h.

Here is the call graph for this function:

◆ immediate() [7/7]

intptr_t v8::internal::Operand::immediate ( ) const
inline

Definition at line 100 of file assembler-s390.h.

◆ immediate_for_heap_number_request() [1/2]

Immediate v8::internal::Operand::immediate_for_heap_number_request ( ) const
inline

Definition at line 329 of file assembler-arm64-inl.h.

Here is the call graph for this function:

◆ immediate_for_heap_number_request() [2/2]

intptr_t v8::internal::Operand::immediate_for_heap_number_request ( ) const
inline

Definition at line 109 of file assembler-riscv.h.

Here is the call graph for this function:

◆ ImmediateRMode()

RelocInfo::Mode v8::internal::Operand::ImmediateRMode ( ) const
inline

Definition at line 344 of file assembler-arm64-inl.h.

Here is the call graph for this function:

◆ ImmediateValue()

int64_t v8::internal::Operand::ImmediateValue ( ) const
inline

Definition at line 339 of file assembler-arm64-inl.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ InstructionsRequired()

int v8::internal::Operand::InstructionsRequired ( const Assembler * assembler,
Instr instr = 0 ) const

◆ is_heap_number_request()

bool v8::internal::Operand::is_heap_number_request ( ) const
inline

Definition at line 118 of file assembler-s390.h.

◆ is_label_operand()

V8_INLINE constexpr bool v8::internal::Operand::is_label_operand ( ) const
inlineconstexpr

Definition at line 291 of file assembler-x64.h.

◆ is_reg() [1/8]

bool v8::internal::Operand::is_reg ( ) const

Definition at line 26 of file assembler-loong64-inl.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ is_reg() [2/8]

V8_INLINE bool v8::internal::Operand::is_reg ( ) const

◆ is_reg() [3/8]

V8_INLINE bool v8::internal::Operand::is_reg ( ) const
inline

Definition at line 88 of file assembler-ppc.h.

◆ is_reg() [4/8]

V8_INLINE bool v8::internal::Operand::is_reg ( ) const
inline

Definition at line 107 of file assembler-riscv.h.

Here is the call graph for this function:

◆ is_reg() [5/8]

V8_INLINE bool v8::internal::Operand::is_reg ( ) const
inline

Definition at line 96 of file assembler-s390.h.

◆ is_reg() [6/8]

bool v8::internal::Operand::is_reg ( int reg_code) const
inlineprivate

Definition at line 306 of file assembler-ia32.h.

◆ is_reg() [7/8]

bool v8::internal::Operand::is_reg ( Register reg) const
inline

Definition at line 274 of file assembler-ia32.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ is_reg() [8/8]

bool v8::internal::Operand::is_reg ( XMMRegister reg) const
inline

Definition at line 275 of file assembler-ia32.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ is_reg_only()

bool v8::internal::Operand::is_reg_only ( ) const

◆ IsExtendedRegister()

bool v8::internal::Operand::IsExtendedRegister ( ) const
inline

Definition at line 299 of file assembler-arm64-inl.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ IsHeapNumberRequest() [1/6]

bool v8::internal::Operand::IsHeapNumberRequest ( ) const
inline

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

Here is the caller graph for this function:

◆ IsHeapNumberRequest() [2/6]

bool v8::internal::Operand::IsHeapNumberRequest ( ) const
inline

◆ IsHeapNumberRequest() [3/6]

bool v8::internal::Operand::IsHeapNumberRequest ( ) const
inline

Definition at line 66 of file assembler-loong64.h.

Here is the call graph for this function:

◆ IsHeapNumberRequest() [4/6]

bool v8::internal::Operand::IsHeapNumberRequest ( ) const
inline

Definition at line 96 of file assembler-mips64.h.

Here is the call graph for this function:

◆ IsHeapNumberRequest() [5/6]

bool v8::internal::Operand::IsHeapNumberRequest ( ) const
inline

Definition at line 106 of file assembler-ppc.h.

◆ IsHeapNumberRequest() [6/6]

bool v8::internal::Operand::IsHeapNumberRequest ( ) const
inline

Definition at line 127 of file assembler-riscv.h.

Here is the call graph for this function:

◆ IsImmediate() [1/6]

bool v8::internal::Operand::IsImmediate ( ) const
inline

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

Here is the caller graph for this function:

◆ IsImmediate() [2/6]

bool v8::internal::Operand::IsImmediate ( ) const
inline

◆ IsImmediate() [3/6]

bool v8::internal::Operand::IsImmediate ( ) const
inline

Definition at line 59 of file assembler-loong64.h.

Here is the call graph for this function:

◆ IsImmediate() [4/6]

bool v8::internal::Operand::IsImmediate ( ) const
inline

Definition at line 89 of file assembler-mips64.h.

Here is the call graph for this function:

◆ IsImmediate() [5/6]

bool v8::internal::Operand::IsImmediate ( ) const
inline

Definition at line 97 of file assembler-ppc.h.

◆ IsImmediate() [6/6]

bool v8::internal::Operand::IsImmediate ( ) const
inline

Definition at line 120 of file assembler-riscv.h.

Here is the call graph for this function:

◆ IsImmediateShiftedRegister()

bool v8::internal::Operand::IsImmediateShiftedRegister ( ) const
inline

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

◆ IsRegister()

bool v8::internal::Operand::IsRegister ( ) const
inline

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

◆ IsRegisterShiftedRegister()

bool v8::internal::Operand::IsRegisterShiftedRegister ( ) const
inline

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

◆ IsShiftedRegister()

bool v8::internal::Operand::IsShiftedRegister ( ) const
inline

Definition at line 295 of file assembler-arm64-inl.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ IsZero()

bool v8::internal::Operand::IsZero ( ) const
inline

Definition at line 303 of file assembler-arm64-inl.h.

Here is the call graph for this function:

◆ JumpTable()

static Operand v8::internal::Operand::JumpTable ( Register index,
ScaleFactor scale,
Label * table )
inlinestatic

Definition at line 264 of file assembler-ia32.h.

◆ label()

V8_INLINE const LabelOperand & v8::internal::Operand::label ( ) const
inline

Definition at line 310 of file assembler-x64.h.

◆ memory()

V8_INLINE const MemoryOperand & v8::internal::Operand::memory ( ) const
inline

Definition at line 305 of file assembler-x64.h.

◆ must_output_reloc_info() [1/2]

bool v8::internal::Operand::must_output_reloc_info ( const Assembler * assembler) const

◆ must_output_reloc_info() [2/2]

bool v8::internal::Operand::must_output_reloc_info ( const Assembler * assembler) const

◆ MustOutputRelocInfo()

bool v8::internal::Operand::MustOutputRelocInfo ( const Assembler * assembler) const

◆ NeedsRelocation()

bool v8::internal::Operand::NeedsRelocation ( const Assembler * assembler) const

◆ operator=()

Operand & v8::internal::Operand::operator= ( const Operand & )
default

◆ PointerOffsetFromSmiKey()

static V8_INLINE Operand v8::internal::Operand::PointerOffsetFromSmiKey ( Register key)
inlinestatic

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

◆ reg() [1/2]

Register v8::internal::Operand::reg ( ) const
inline

Definition at line 349 of file assembler-arm64-inl.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ reg() [2/2]

Register v8::internal::Operand::reg ( ) const

◆ rex()

V8_INLINE constexpr uint8_t v8::internal::Operand::rex ( ) const
inlineconstexpr

Definition at line 297 of file assembler-x64.h.

Here is the caller graph for this function:

◆ rm() [1/6]

Register v8::internal::Operand::rm ( ) const
inline

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

Here is the caller graph for this function:

◆ rm() [2/6]

Register v8::internal::Operand::rm ( ) const
inline

Definition at line 74 of file assembler-loong64.h.

◆ rm() [3/6]

Register v8::internal::Operand::rm ( ) const
inline

Definition at line 104 of file assembler-mips64.h.

◆ rm() [4/6]

Register v8::internal::Operand::rm ( ) const
inline

Definition at line 104 of file assembler-ppc.h.

◆ rm() [5/6]

Register v8::internal::Operand::rm ( ) const
inline

Definition at line 135 of file assembler-riscv.h.

◆ rm() [6/6]

Register v8::internal::Operand::rm ( ) const
inline

Definition at line 116 of file assembler-s390.h.

◆ rmode() [1/5]

RelocInfo::Mode v8::internal::Operand::rmode ( )
inline

Definition at line 285 of file assembler-ia32.h.

Here is the caller graph for this function:

◆ rmode() [2/5]

RelocInfo::Mode v8::internal::Operand::rmode ( ) const
inline

Definition at line 76 of file assembler-loong64.h.

◆ rmode() [3/5]

RelocInfo::Mode v8::internal::Operand::rmode ( ) const
inline

Definition at line 106 of file assembler-mips64.h.

◆ rmode() [4/5]

RelocInfo::Mode v8::internal::Operand::rmode ( ) const
inline

Definition at line 137 of file assembler-riscv.h.

◆ rmode() [5/5]

RelocInfo::Mode v8::internal::Operand::rmode ( ) const
inline

Definition at line 126 of file assembler-s390.h.

◆ rs()

Register v8::internal::Operand::rs ( ) const
inline

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

◆ set_disp32()

V8_INLINE void v8::internal::Operand::set_disp32 ( int disp)
inlineprivate

Definition at line 347 of file assembler-x64.h.

◆ set_disp8() [1/2]

V8_INLINE constexpr void v8::internal::Operand::set_disp8 ( int disp)
inlineconstexprprivate

Definition at line 340 of file assembler-x64.h.

◆ set_disp8() [2/2]

void v8::internal::Operand::set_disp8 ( int8_t disp)
inlineprivate

Definition at line 298 of file assembler-ia32-inl.h.

◆ set_dispr()

void v8::internal::Operand::set_dispr ( int32_t disp,
RelocInfo::Mode rmode )
inlineprivate

Definition at line 298 of file assembler-ia32.h.

◆ set_modrm() [1/2]

void v8::internal::Operand::set_modrm ( int mod,
Register rm )
inlineprivate

Definition at line 290 of file assembler-ia32.h.

Here is the call graph for this function:

◆ set_modrm() [2/2]

V8_INLINE constexpr void v8::internal::Operand::set_modrm ( int mod,
Register rm_reg )
inlineconstexprprivate

Definition at line 320 of file assembler-x64.h.

Here is the call graph for this function:

◆ set_sib() [1/2]

void v8::internal::Operand::set_sib ( ScaleFactor scale,
Register index,
Register base )
inlineprivate

Definition at line 289 of file assembler-ia32-inl.h.

◆ set_sib() [2/2]

V8_INLINE constexpr void v8::internal::Operand::set_sib ( ScaleFactor scale,
Register index,
Register base )
inlineconstexprprivate

Definition at line 328 of file assembler-x64.h.

◆ setBits()

void v8::internal::Operand::setBits ( int n)
inline

Definition at line 111 of file assembler-s390.h.

◆ shift()

Shift v8::internal::Operand::shift ( ) const
inline

Definition at line 354 of file assembler-arm64-inl.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ shift_amount()

unsigned v8::internal::Operand::shift_amount ( ) const
inline

Definition at line 364 of file assembler-arm64-inl.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ shift_op()

ShiftOp v8::internal::Operand::shift_op ( ) const
inline

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

◆ SmiUntag()

static V8_INLINE Operand v8::internal::Operand::SmiUntag ( Register rm)
inlinestatic

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

◆ ToExtendedRegister()

Operand v8::internal::Operand::ToExtendedRegister ( ) const
inline

Definition at line 311 of file assembler-arm64-inl.h.

Here is the call graph for this function:

◆ ToW()

Operand v8::internal::Operand::ToW ( ) const
inline

Definition at line 317 of file assembler-arm64-inl.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Zero() [1/3]

Operand v8::internal::Operand::Zero ( )
static

Definition at line 171 of file assembler-arm-inl.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Zero() [2/3]

static V8_INLINE Operand v8::internal::Operand::Zero ( )
inlinestatic

Definition at line 73 of file assembler-ppc.h.

◆ Zero() [3/3]

static V8_INLINE Operand v8::internal::Operand::Zero ( )
inlinestatic

Definition at line 80 of file assembler-s390.h.

Friends And Related Symbol Documentation

◆ Assembler

Assembler
friend

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

◆ MacroAssembler

Definition at line 89 of file assembler-loong64.h.

Member Data Documentation

◆ [union]

union { ... } v8::internal::Operand

◆ buf_

uint8_t v8::internal::Operand::buf_[6]
private

Definition at line 311 of file assembler-ia32.h.

◆ extend_

Extend v8::internal::Operand::extend_
private

Definition at line 128 of file assembler-arm64.h.

◆ heap_number_request_

std::optional<HeapNumberRequest> v8::internal::Operand::heap_number_request_
private

Definition at line 124 of file assembler-arm64.h.

◆ immediate_

Immediate v8::internal::Operand::immediate_
private

Definition at line 125 of file assembler-arm64.h.

◆ is_heap_number_request_

bool v8::internal::Operand::is_heap_number_request_ = false
private

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

◆ label_

LabelOperand v8::internal::Operand::label_

Definition at line 355 of file assembler-x64.h.

◆ len_

uint8_t v8::internal::Operand::len_ = 0
private

Definition at line 313 of file assembler-ia32.h.

◆ memory_

MemoryOperand v8::internal::Operand::memory_ = {}

Definition at line 356 of file assembler-x64.h.

◆ reg_

Register v8::internal::Operand::reg_
private

Definition at line 126 of file assembler-arm64.h.

◆ rm_

Register v8::internal::Operand::rm_ = no_reg
private

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

◆ rmode_

RelocInfo::Mode v8::internal::Operand::rmode_ = RelocInfo::NO_INFO
private

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

◆ rs_

Register v8::internal::Operand::rs_ = no_reg
private

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

◆ shift_

Shift v8::internal::Operand::shift_
private

Definition at line 127 of file assembler-arm64.h.

◆ shift_amount_

unsigned v8::internal::Operand::shift_amount_
private

Definition at line 129 of file assembler-arm64.h.

◆ shift_imm_

int v8::internal::Operand::shift_imm_
private

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

◆ shift_op_

ShiftOp v8::internal::Operand::shift_op_
private

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

◆ value_

union v8::internal::Operand::Value v8::internal::Operand::value_
private

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