![]() |
v8
3.25.30(node0.11.13)
V8 is Google's open source JavaScript engine
|
#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 int_t > | |
| Operand (int_t t, RelocInfo::Mode rmode) | |
| bool | IsImmediate () const |
| bool | IsShiftedRegister () const |
| bool | IsExtendedRegister () const |
| bool | IsZero () const |
| Operand | ToExtendedRegister () const |
| int64_t | immediate () const |
| Register | reg () const |
| Shift | shift () const |
| Extend | extend () const |
| unsigned | shift_amount () const |
| RelocInfo::Mode | rmode () const |
| void | set_rmode (RelocInfo::Mode rmode) |
| bool | NeedsRelocation () const |
| template<typename T > | |
| Operand (T t, RelocInfo::Mode rmode) | |
Static Public Member Functions | |
| static Operand | UntagSmi (Register smi) |
| static Operand | UntagSmiAndScale (Register smi, int scale) |
Definition at line 624 of file assembler-arm64.h.
Definition at line 331 of file assembler-arm64-inl.h.
References ASSERT, CPURegister::Is32Bits(), CPURegister::Is64Bits(), CPURegister::IsSP(), v8::internal::kWRegSizeInBits, and v8::internal::kXRegSizeInBits.
Referenced by BASE_EMBEDDED< Visitor >::ForCell(), BASE_EMBEDDED< Visitor >::INLINE(), MemOperand::OffsetAsOperand(), BASE_EMBEDDED< Visitor >::StaticArray(), BASE_EMBEDDED< Visitor >::StaticVariable(), Operand::ToExtendedRegister(), Operand::UntagSmi(), and Operand::UntagSmiAndScale().
Definition at line 343 of file assembler-arm64-inl.h.
References ASSERT, CPURegister::Is64Bits(), CPURegister::IsSP(), Register::IsValid(), v8::internal::SXTX, and v8::internal::UXTX.
Definition at line 272 of file assembler-arm64-inl.h.
Definition at line 316 of file assembler-arm64-inl.h.
|
inline |
Definition at line 323 of file assembler-arm64-inl.h.
References v8::internal::STATIC_ASSERT().
|
inline |
Definition at line 407 of file assembler-arm64-inl.h.
References ASSERT, and Operand::IsExtendedRegister().
Referenced by MemOperand::MemOperand().
|
inline |
Definition at line 389 of file assembler-arm64-inl.h.
References ASSERT, and Operand::IsImmediate().
Referenced by MacroAssembler::Add(), MacroAssembler::Adds(), MacroAssembler::BumpSystemStackPointer(), MacroAssembler::Ccmn(), MacroAssembler::Ccmp(), MacroAssembler::CompareAndBranch(), Operand::IsZero(), MemOperand::MemOperand(), MacroAssembler::Neg(), MacroAssembler::Sub(), and MacroAssembler::Subs().
|
inline |
Definition at line 368 of file assembler-arm64-inl.h.
References Register::IsValid(), and v8::internal::NO_EXTEND.
Referenced by Operand::extend(), MemOperand::MemOperand(), Operand::reg(), and Operand::shift_amount().
|
inline |
Definition at line 358 of file assembler-arm64-inl.h.
References CPURegister::Is().
Referenced by MacroAssembler::Add(), MacroAssembler::Adds(), MacroAssembler::BumpSystemStackPointer(), MacroAssembler::Ccmn(), MacroAssembler::Ccmp(), MacroAssembler::CompareAndBranch(), Operand::immediate(), Operand::IsZero(), MemOperand::MemOperand(), MacroAssembler::Neg(), MacroAssembler::Sub(), and MacroAssembler::Subs().
|
inline |
Definition at line 363 of file assembler-arm64-inl.h.
References Register::IsValid(), and v8::internal::NO_SHIFT.
Referenced by MemOperand::MemOperand(), Operand::reg(), Operand::shift(), Operand::shift_amount(), and Operand::ToExtendedRegister().
|
inline |
Definition at line 373 of file assembler-arm64-inl.h.
References Operand::immediate(), Operand::IsImmediate(), CPURegister::IsZero(), and Operand::reg().
Referenced by MacroAssembler::Claim(), MacroAssembler::ClaimBySMI(), MacroAssembler::Drop(), and MacroAssembler::DropBySMI().
| bool NeedsRelocation | ( | ) | const |
|
inline |
Definition at line 395 of file assembler-arm64-inl.h.
References ASSERT, Operand::IsExtendedRegister(), and Operand::IsShiftedRegister().
Referenced by Operand::IsZero(), and MemOperand::MemOperand().
|
inline |
Definition at line 671 of file assembler-arm64.h.
Referenced by Operand::set_rmode().
|
inline |
Definition at line 672 of file assembler-arm64.h.
References Operand::rmode().
|
inline |
Definition at line 401 of file assembler-arm64-inl.h.
References ASSERT, and Operand::IsShiftedRegister().
Referenced by MemOperand::MemOperand().
|
inline |
Definition at line 413 of file assembler-arm64-inl.h.
References ASSERT, Operand::IsExtendedRegister(), and Operand::IsShiftedRegister().
Referenced by MemOperand::MemOperand().
|
inline |
Definition at line 382 of file assembler-arm64-inl.h.
References ASSERT, CPURegister::Is64Bits(), Operand::IsShiftedRegister(), v8::internal::LSL, Operand::Operand(), v8::internal::UXTW, and v8::internal::UXTX.
Definition at line 419 of file assembler-arm64-inl.h.
References v8::internal::ASR, ASSERT, CPURegister::Is64Bits(), v8::internal::kSmiShift, and Operand::Operand().
Definition at line 425 of file assembler-arm64-inl.h.
References v8::internal::ASR, ASSERT, CPURegister::Is64Bits(), v8::internal::kSmiShift, v8::internal::kSmiValueSize, v8::internal::LSL, and Operand::Operand().