V8 Project
|
#include <assembler-arm64.h>
Public Member Functions | |
Operand (Register reg, Shift shift=LSL, unsigned shift_amount=0) | |
Operand (Register reg, Extend extend, unsigned shift_amount=0) | |
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 |
Register | reg () const |
Shift | shift () const |
Extend | extend () const |
unsigned | shift_amount () const |
bool | NeedsRelocation (const Assembler *assembler) const |
Static Public Member Functions | |
static Operand | UntagSmi (Register smi) |
static Operand | UntagSmiAndScale (Register smi, int scale) |
Private Attributes | |
Immediate | immediate_ |
Register | reg_ |
Shift | shift_ |
Extend | extend_ |
unsigned | shift_amount_ |
Definition at line 639 of file assembler-arm64.h.
|
inline |
Definition at line 338 of file assembler-arm64-inl.h.
References DCHECK, v8::internal::CPURegister::Is32Bits(), v8::internal::CPURegister::Is64Bits(), v8::internal::CPURegister::IsSP(), v8::internal::kWRegSizeInBits, v8::internal::kXRegSizeInBits, reg(), and shift_amount().
Referenced by v8::internal::BASE_EMBEDDED< Visitor >::ForCell(), v8::internal::BASE_EMBEDDED< Visitor >::ForRegisterPlusImmediate(), v8::internal::BASE_EMBEDDED< Visitor >::INLINE(), v8::internal::MemOperand::OffsetAsOperand(), v8::internal::BASE_EMBEDDED< Visitor >::StaticArray(), v8::internal::BASE_EMBEDDED< Visitor >::StaticVariable(), ToExtendedRegister(), UntagSmi(), and UntagSmiAndScale().
Definition at line 350 of file assembler-arm64-inl.h.
References DCHECK, extend(), v8::internal::CPURegister::Is64Bits(), v8::internal::CPURegister::IsSP(), v8::internal::Register::IsValid(), reg(), shift_amount(), v8::internal::SXTX, and v8::internal::UXTX.
Definition at line 325 of file assembler-arm64-inl.h.
|
inline |
Definition at line 329 of file assembler-arm64-inl.h.
|
inline |
Definition at line 333 of file assembler-arm64-inl.h.
|
inline |
Definition at line 420 of file assembler-arm64-inl.h.
References DCHECK, extend_, and IsExtendedRegister().
Referenced by Operand().
|
inline |
Definition at line 396 of file assembler-arm64-inl.h.
References DCHECK, immediate_, and IsImmediate().
|
inline |
Definition at line 402 of file assembler-arm64-inl.h.
References DCHECK, immediate_, IsImmediate(), and v8::internal::Immediate::value().
Referenced by v8::internal::MacroAssembler::Add(), v8::internal::MacroAssembler::Adds(), v8::internal::MacroAssembler::Ccmn(), v8::internal::MacroAssembler::Ccmp(), v8::internal::MacroAssembler::CompareAndBranch(), IsZero(), v8::internal::MacroAssembler::Neg(), v8::internal::MacroAssembler::Sub(), and v8::internal::MacroAssembler::Subs().
|
inline |
Definition at line 375 of file assembler-arm64-inl.h.
References extend_, v8::internal::Register::IsValid(), v8::internal::NO_EXTEND, and reg_.
Referenced by extend(), reg(), and shift_amount().
|
inline |
Definition at line 365 of file assembler-arm64-inl.h.
References v8::internal::CPURegister::Is(), and reg_.
Referenced by v8::internal::MacroAssembler::Add(), v8::internal::MacroAssembler::Adds(), v8::internal::MacroAssembler::Ccmn(), v8::internal::MacroAssembler::Ccmp(), v8::internal::MacroAssembler::CompareAndBranch(), immediate(), ImmediateValue(), IsZero(), v8::internal::MacroAssembler::Neg(), v8::internal::MacroAssembler::Sub(), and v8::internal::MacroAssembler::Subs().
|
inline |
Definition at line 370 of file assembler-arm64-inl.h.
References v8::internal::Register::IsValid(), v8::internal::NO_SHIFT, reg_, and shift_.
Referenced by reg(), shift(), shift_amount(), and ToExtendedRegister().
|
inline |
Definition at line 380 of file assembler-arm64-inl.h.
References ImmediateValue(), IsImmediate(), v8::internal::CPURegister::IsZero(), and reg().
|
inline |
Definition at line 408 of file assembler-arm64-inl.h.
References DCHECK, IsExtendedRegister(), IsShiftedRegister(), and reg_.
Referenced by IsZero(), and Operand().
|
inline |
Definition at line 414 of file assembler-arm64-inl.h.
References DCHECK, IsShiftedRegister(), and shift_.
|
inline |
Definition at line 426 of file assembler-arm64-inl.h.
References DCHECK, IsExtendedRegister(), IsShiftedRegister(), and shift_amount_.
Referenced by Operand().
|
inline |
Definition at line 389 of file assembler-arm64-inl.h.
References DCHECK, v8::internal::CPURegister::Is64Bits(), IsShiftedRegister(), v8::internal::LSL, Operand(), reg_, shift_, shift_amount_, v8::internal::UXTW, and v8::internal::UXTX.
Definition at line 432 of file assembler-arm64-inl.h.
References v8::internal::ASR, DCHECK, v8::internal::CPURegister::Is64Bits(), v8::internal::kSmiShift, v8::internal::kSmiValueSize, v8::internal::kXRegSizeInBits, Operand(), and v8::internal::STATIC_ASSERT().
Definition at line 440 of file assembler-arm64-inl.h.
References v8::internal::ASR, DCHECK, v8::internal::CPURegister::Is64Bits(), v8::internal::kSmiShift, v8::internal::kSmiValueSize, v8::internal::kXRegSizeInBits, v8::internal::LSL, Operand(), and v8::internal::STATIC_ASSERT().
Referenced by v8::internal::LCodeGen::PrepareKeyedArrayOperand(), and v8::internal::LCodeGen::PrepareKeyedExternalArrayOperand().
|
private |
Definition at line 697 of file assembler-arm64.h.
Referenced by extend(), and IsExtendedRegister().
|
private |
Definition at line 694 of file assembler-arm64.h.
Referenced by immediate(), and ImmediateValue().
|
private |
Definition at line 695 of file assembler-arm64.h.
Referenced by IsExtendedRegister(), IsImmediate(), IsShiftedRegister(), reg(), and ToExtendedRegister().
|
private |
Definition at line 696 of file assembler-arm64.h.
Referenced by IsShiftedRegister(), shift(), and ToExtendedRegister().
|
private |
Definition at line 698 of file assembler-arm64.h.
Referenced by shift_amount(), and ToExtendedRegister().