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

Classes

class  CacheStatePreservingTempRegisters
 

Enumerations

enum class  MinOrMax : uint8_t {
  kMin , kMax , kMin , kMax ,
  kMin , kMax
}
 
enum  ShiftDirection { kLeft , kRight , kLeft , kRight }
 
enum class  ShiftDirection : bool { kLeft , kRight , kLeft , kRight }
 
enum class  ShiftSign : bool { kSigned , kUnsigned }
 
enum class  Binop {
  kAdd , kSub , kAnd , kOr ,
  kXor , kExchange , kAdd , kAdd ,
  kSub , kSub , kAnd , kAnd ,
  kOr , kOr , kXor , kXor ,
  kExchange , kExchange , kAdd , kSub ,
  kAnd , kOr , kXor , kExchange ,
  kAdd , kSub , kAnd , kOr ,
  kXor , kExchange
}
 
enum  Binop {
  kAdd , kSub , kAnd , kOr ,
  kXor , kExchange , kAdd , kSub ,
  kAnd , kOr , kXor , kExchange ,
  kAdd , kSub , kAnd , kOr ,
  kXor , kExchange
}
 
enum class  DivOrRem : uint8_t { kDiv , kRem , kDiv , kRem }
 
enum class  MinOrMax : uint8_t {
  kMin , kMax , kMin , kMax ,
  kMin , kMax
}
 
enum class  Binop {
  kAdd , kSub , kAnd , kOr ,
  kXor , kExchange , kAdd , kSub ,
  kAnd , kOr , kXor , kExchange ,
  kAdd , kSub , kAnd , kOr ,
  kXor , kExchange
}
 
enum class  Binop {
  kAdd , kSub , kAnd , kOr ,
  kXor , kExchange , kAdd , kSub ,
  kAnd , kOr , kXor , kExchange ,
  kAdd , kSub , kAnd , kOr ,
  kXor , kExchange
}
 
enum class  DivOrRem : uint8_t { kDiv , kRem , kDiv , kRem }
 
enum class  MinOrMax : uint8_t {
  kMin , kMax , kMin , kMax ,
  kMin , kMax
}
 

Functions

MemOperand GetStackSlot (int offset)
 
MemOperand GetHalfStackSlot (int offset, RegPairHalf half)
 
MemOperand GetInstanceDataOperand ()
 
MemOperand GetMemOp (LiftoffAssembler *assm, UseScratchRegisterScope *temps, Register addr, Register offset, int32_t offset_imm, unsigned shift_amount=0)
 
Register CalculateActualAddress (LiftoffAssembler *assm, UseScratchRegisterScope *temps, Register addr_reg, Register offset_reg, uintptr_t offset_imm, Register result_reg=no_reg)
 
Condition MakeUnsigned (Condition cond)
 
template<void(Assembler::*)(Register, Register, Register, SBit, Condition) op, void(Assembler::*)(Register, Register, const Operand &, SBit, Condition) op_with_carry>
void I64Binop (LiftoffAssembler *assm, LiftoffRegister dst, LiftoffRegister lhs, LiftoffRegister rhs)
 
template<void(Assembler::*)(Register, Register, const Operand &, SBit, Condition) op, void(Assembler::*)(Register, Register, const Operand &, SBit, Condition) op_with_carry>
void I64BinopI (LiftoffAssembler *assm, LiftoffRegister dst, LiftoffRegister lhs, int64_t imm)
 
template<void(MacroAssembler::*)(Register, Register, Register, Register, Register) op, bool is_left_shift>
void I64Shiftop (LiftoffAssembler *assm, LiftoffRegister dst, LiftoffRegister src, Register amount)
 
FloatRegister GetFloatRegister (DoubleRegister reg)
 
Simd128Register GetSimd128Register (DoubleRegister reg)
 
Simd128Register GetSimd128Register (LiftoffRegister reg)
 
template<typename RegisterType >
void EmitFloatMinOrMax (LiftoffAssembler *assm, RegisterType dst, RegisterType lhs, RegisterType rhs, MinOrMax min_or_max)
 
Register EnsureNoAlias (Assembler *assm, Register reg, Register must_not_alias, UseScratchRegisterScope *temps)
 
void S128NarrowOp (LiftoffAssembler *assm, NeonDataType dt, NeonDataType sdt, LiftoffRegister dst, LiftoffRegister lhs, LiftoffRegister rhs)
 
void F64x2Compare (LiftoffAssembler *assm, LiftoffRegister dst, LiftoffRegister lhs, LiftoffRegister rhs, Condition cond)
 
void Store (LiftoffAssembler *assm, LiftoffRegister src, MemOperand dst, ValueKind kind)
 
void Load (LiftoffAssembler *assm, LiftoffRegister dst, MemOperand src, ValueKind kind)
 
constexpr int MaskFromNeonDataType (NeonDataType dt)
 
template<ShiftDirection dir = kLeft, NeonDataType dt, NeonSize sz>
void EmitSimdShift (LiftoffAssembler *assm, LiftoffRegister dst, LiftoffRegister lhs, LiftoffRegister rhs)
 
template<ShiftDirection dir, NeonDataType dt>
void EmitSimdShiftImmediate (LiftoffAssembler *assm, LiftoffRegister dst, LiftoffRegister lhs, int32_t rhs)
 
void EmitAnyTrue (LiftoffAssembler *assm, LiftoffRegister dst, LiftoffRegister src)
 
void LoadInternal (LiftoffAssembler *lasm, LiftoffRegister dst, Register src_addr, Register offset_reg, int32_t offset_imm, LoadType type, uint32_t *protected_load_pc=nullptr, bool needs_shift=false)
 
void AtomicOp32 (LiftoffAssembler *lasm, Register dst_addr, Register offset_reg, uint32_t offset_imm, LiftoffRegister value, LiftoffRegister result, LiftoffRegList pinned, void(Assembler::*load)(Register, Register, Condition), void(Assembler::*store)(Register, Register, Register, Condition), void(*op)(LiftoffAssembler *, Register, Register, Register))
 
void Add (LiftoffAssembler *lasm, Register dst, Register lhs, Register rhs)
 
void Sub (LiftoffAssembler *lasm, Register dst, Register lhs, Register rhs)
 
void And (LiftoffAssembler *lasm, Register dst, Register lhs, Register rhs)
 
void Or (LiftoffAssembler *lasm, Register dst, Register lhs, Register rhs)
 
void Xor (LiftoffAssembler *lasm, Register dst, Register lhs, Register rhs)
 
void Exchange (LiftoffAssembler *lasm, Register dst, Register lhs, Register rhs)
 
void AtomicBinop32 (LiftoffAssembler *lasm, Register dst_addr, Register offset_reg, uint32_t offset_imm, LiftoffRegister value, LiftoffRegister result, StoreType type, void(*op)(LiftoffAssembler *, Register, Register, Register))
 
void AtomicOp64 (LiftoffAssembler *lasm, Register dst_addr, Register offset_reg, uint32_t offset_imm, LiftoffRegister value, std::optional< LiftoffRegister > result, void(*op)(LiftoffAssembler *, LiftoffRegister, LiftoffRegister, LiftoffRegister))
 
void I64Store (LiftoffAssembler *lasm, LiftoffRegister dst, LiftoffRegister, LiftoffRegister src)
 
void AtomicI64CompareExchange (LiftoffAssembler *lasm, Register dst_addr_reg, Register offset_reg, uint32_t offset_imm, LiftoffRegister expected, LiftoffRegister new_value, LiftoffRegister result)
 
void GeneratePopCnt (Assembler *assm, Register dst, Register src, Register scratch1, Register scratch2)
 
CPURegister GetRegFromType (const LiftoffRegister &reg, ValueKind kind)
 
CPURegList PadRegList (RegList list)
 
CPURegList PadVRegList (DoubleRegList list)
 
CPURegister AcquireByType (UseScratchRegisterScope *temps, ValueKind kind)
 
template<typename T >
MemOperand GetMemOp (LiftoffAssembler *assm, UseScratchRegisterScope *temps, Register addr, Register offset, T offset_imm, bool i64_offset=false, unsigned shift_amount=0)
 
Register GetEffectiveAddress (LiftoffAssembler *assm, UseScratchRegisterScope *temps, Register addr, Register offset, uintptr_t offset_imm, bool i64_offset=false)
 
template<ShiftDirection dir, ShiftSign sign = ShiftSign::kSigned>
void EmitSimdShift (LiftoffAssembler *assm, VRegister dst, VRegister lhs, Register rhs, VectorFormat format)
 
template<VectorFormat format, ShiftSign sign>
void EmitSimdShiftRightImmediate (LiftoffAssembler *assm, VRegister dst, VRegister lhs, int32_t rhs)
 
void EmitAllTrue (LiftoffAssembler *assm, LiftoffRegister dst, LiftoffRegister src, VectorFormat format)
 
CPURegister LoadToRegister (LiftoffAssembler *assm, UseScratchRegisterScope *temps, const LiftoffAssembler::VarState &src)
 
void StoreToMemory (LiftoffAssembler *assm, MemOperand dst, const LiftoffAssembler::VarState &src)
 
Register CalculateActualAddress (LiftoffAssembler *lasm, UseScratchRegisterScope &temps, Register addr_reg, Register offset_reg, uintptr_t offset_imm)
 
void AtomicBinop (LiftoffAssembler *lasm, Register dst_addr, Register offset_reg, uintptr_t offset_imm, LiftoffRegister value, LiftoffRegister result, StoreType type, Binop op)
 
Operand MemOperand (Register base, Register offset_reg, int offset_imm)
 
void Load (LiftoffAssembler *assm, LiftoffRegister dst, Register base, int32_t offset, ValueKind kind)
 
void Store (LiftoffAssembler *assm, Register base, int32_t offset, LiftoffRegister src, ValueKind kind)
 
void push (LiftoffAssembler *assm, LiftoffRegister reg, ValueKind kind, int padding=0)
 
void SignExtendI32ToI64 (Assembler *assm, LiftoffRegister reg)
 
Register GetTmpByteRegister (LiftoffAssembler *assm, Register candidate)
 
void MoveStackValue (LiftoffAssembler *assm, const Operand &src, const Operand &dst)
 
void AtomicAddOrSubOrExchange32 (LiftoffAssembler *lasm, Binop binop, Register dst_addr, Register offset_reg, uint32_t offset_imm, LiftoffRegister value, LiftoffRegister result, StoreType type)
 
void AtomicBinop32 (LiftoffAssembler *lasm, Binop op, Register dst_addr, Register offset_reg, uint32_t offset_imm, LiftoffRegister value, LiftoffRegister result, StoreType type)
 
void AtomicBinop64 (LiftoffAssembler *lasm, Binop op, Register dst_addr, Register offset_reg, uint32_t offset_imm, LiftoffRegister value, LiftoffRegister result)
 
template<void(Assembler::*)(Register, Register) op>
void EmitCommutativeBinOp (LiftoffAssembler *assm, Register dst, Register lhs, Register rhs)
 
template<void(Assembler::*)(Register, int32_t) op>
void EmitCommutativeBinOpImm (LiftoffAssembler *assm, Register dst, Register lhs, int32_t imm)
 
template<bool is_signed, DivOrRem div_or_rem>
void EmitInt32DivOrRem (LiftoffAssembler *assm, Register dst, Register lhs, Register rhs, Label *trap_div_by_zero, Label *trap_div_unrepresentable)
 
void EmitShiftOperation (LiftoffAssembler *assm, Register dst, Register src, Register amount, void(Assembler::*emit_shift)(Register))
 
template<void(Assembler::*)(Register, Register) op, void(Assembler::*)(Register, Register) op_with_carry>
void OpWithCarry (LiftoffAssembler *assm, LiftoffRegister dst, LiftoffRegister lhs, LiftoffRegister rhs)
 
template<void(Assembler::*)(Register, const Immediate &) op, void(Assembler::*)(Register, int32_t) op_with_carry>
void OpWithCarryI (LiftoffAssembler *assm, LiftoffRegister dst, LiftoffRegister lhs, int64_t imm)
 
bool PairContains (LiftoffRegister pair, Register reg)
 
LiftoffRegister ReplaceInPair (LiftoffRegister pair, Register old_reg, Register new_reg)
 
void Emit64BitShiftOperation (LiftoffAssembler *assm, LiftoffRegister dst, LiftoffRegister src, Register amount, void(MacroAssembler::*emit_shift)(Register, Register))
 
template<typename type >
void EmitFloatMinOrMax (LiftoffAssembler *assm, DoubleRegister dst, DoubleRegister lhs, DoubleRegister rhs, MinOrMax min_or_max)
 
template<typename dst_type , typename src_type >
void ConvertFloatToIntAndBack (LiftoffAssembler *assm, Register dst, DoubleRegister src, DoubleRegister converted_back, LiftoffRegList pinned)
 
template<typename dst_type , typename src_type >
void EmitTruncateFloatToInt (LiftoffAssembler *assm, Register dst, DoubleRegister src, Label *trap)
 
template<typename dst_type , typename src_type >
void EmitSatTruncateFloatToInt (LiftoffAssembler *assm, Register dst, DoubleRegister src)
 
void setcc_32_no_spill (LiftoffAssembler *assm, Condition cond, Register dst, Register tmp_byte_reg)
 
void setcc_32 (LiftoffAssembler *assm, Condition cond, Register dst)
 
Condition cond_make_unsigned (Condition cond)
 
template<void(Assembler::*)(DoubleRegister, DoubleRegister) cmp_op>
void EmitFloatSetCond (LiftoffAssembler *assm, Condition cond, Register dst, DoubleRegister lhs, DoubleRegister rhs)
 
template<void(Assembler::*)(XMMRegister, XMMRegister, XMMRegister) avx_op, void(Assembler::*)(XMMRegister, XMMRegister) sse_op>
void EmitSimdCommutativeBinOp (LiftoffAssembler *assm, LiftoffRegister dst, LiftoffRegister lhs, LiftoffRegister rhs, std::optional< CpuFeature > feature=std::nullopt)
 
template<void(Assembler::*)(XMMRegister, XMMRegister, XMMRegister) avx_op, void(Assembler::*)(XMMRegister, XMMRegister) sse_op>
void EmitSimdNonCommutativeBinOp (LiftoffAssembler *assm, LiftoffRegister dst, LiftoffRegister lhs, LiftoffRegister rhs, std::optional< CpuFeature > feature=std::nullopt)
 
template<void(Assembler::*)(XMMRegister, XMMRegister, XMMRegister) avx_op, void(Assembler::*)(XMMRegister, XMMRegister) sse_op, uint8_t width>
void EmitSimdShiftOp (LiftoffAssembler *assm, LiftoffRegister dst, LiftoffRegister operand, LiftoffRegister count)
 
template<void(Assembler::*)(XMMRegister, XMMRegister, uint8_t) avx_op, void(Assembler::*)(XMMRegister, uint8_t) sse_op, uint8_t width>
void EmitSimdShiftOpImm (LiftoffAssembler *assm, LiftoffRegister dst, LiftoffRegister operand, int32_t count)
 
template<void(SharedMacroAssemblerBase::*)(XMMRegister, XMMRegister) pcmp>
void EmitAllTrue (LiftoffAssembler *assm, LiftoffRegister dst, LiftoffRegister src, std::optional< CpuFeature > feature=std::nullopt)
 
void I32x4ExtMulHelper (LiftoffAssembler *assm, XMMRegister dst, XMMRegister src1, XMMRegister src2, bool low, bool is_signed)
 
template<typename T >
MemOperand GetMemOp (LiftoffAssembler *assm, Register addr, Register offset, T offset_imm, bool i64_offset=false, unsigned shift_amount=0)
 
void Store (LiftoffAssembler *assm, MemOperand dst, LiftoffRegister src, ValueKind kind)
 
void push (LiftoffAssembler *assm, LiftoffRegister reg, ValueKind kind)
 
FPUCondition ConditionToConditionCmpFPU (Condition condition, bool *predicate)
 
void EmitAllTrue (LiftoffAssembler *assm, LiftoffRegister dst, LiftoffRegister src, MSABranchDF msa_branch_df)
 
MemOperand GetMemOp (LiftoffAssembler *assm, Register addr, Register offset, uintptr_t offset_imm, Register scratch, bool i64_offset=false, unsigned shift_amount=0)
 
MemOperand GetStackSlot (uint32_t offset)
 
void StoreToMemory (LiftoffAssembler *assm, MemOperand dst, const LiftoffAssembler::VarState &src, Register scratch1, Register scratch2)
 
MemOperand GetMemOp (LiftoffAssembler *assm, Register addr, Register offset, uintptr_t offset_imm, unsigned shift_amount=0)
 
Register EnsureNoAlias (Assembler *assm, Register reg, LiftoffRegister must_not_alias, UseScratchRegisterScope *temps)
 
Register CalculateActualAddress (LiftoffAssembler *lasm, UseScratchRegisterScope &temps, Register addr_reg, Register offset_reg, uintptr_t offset_imm, Register result_reg=no_reg)
 
void AtomicBinop64 (LiftoffAssembler *lasm, Register dst_addr, Register offset_reg, uintptr_t offset_imm, LiftoffRegister value, LiftoffRegister result, StoreType type, Binop op)
 
bool IsRegInRegPair (LiftoffRegister pair, Register reg)
 
void Emit64BitShiftOperation (LiftoffAssembler *assm, LiftoffRegister dst, LiftoffRegister src, Register amount, void(MacroAssembler::*emit_shift)(Register, Register, Register, Register, Register, Register, Register))
 
MemOperand GetMemOp (LiftoffAssembler *assm, Register addr, Register offset, uintptr_t offset_imm, bool i64_offset=false, unsigned shift_amount=0)
 
void StoreToMemory (LiftoffAssembler *assm, MemOperand dst, const LiftoffAssembler::VarState &src, Register scratch)
 
Operand GetMemOp (LiftoffAssembler *assm, Register addr, Register offset_reg, uintptr_t offset_imm, ScaleFactor scale_factor=times_1)
 
void LoadFromStack (LiftoffAssembler *assm, LiftoffRegister dst, Operand src, ValueKind kind)
 
void StoreToMemory (LiftoffAssembler *assm, Operand dst, LiftoffRegister src, ValueKind kind)
 
void StoreToMemory (LiftoffAssembler *assm, Operand dst, const LiftoffAssembler::VarState &src)
 
void AtomicBinop (LiftoffAssembler *lasm, void(Assembler::*opl)(Register, Register), void(Assembler::*opq)(Register, Register), Register dst_addr, Register offset_reg, uintptr_t offset_imm, LiftoffRegister value, LiftoffRegister result, StoreType type, bool i64_offset)
 
template<void(Assembler::*)(Register, Register) op, void(Assembler::*)(Register, Register) mov>
void EmitCommutativeBinOp (LiftoffAssembler *assm, Register dst, Register lhs, Register rhs)
 
template<void(Assembler::*)(Register, Immediate) op, void(Assembler::*)(Register, Register) mov>
void EmitCommutativeBinOpImm (LiftoffAssembler *assm, Register dst, Register lhs, int32_t imm)
 
template<typename type , DivOrRem div_or_rem>
void EmitIntDivOrRem (LiftoffAssembler *assm, Register dst, Register lhs, Register rhs, Label *trap_div_by_zero, Label *trap_div_unrepresentable)
 
template<ValueKind kind>
void EmitShiftOperation (LiftoffAssembler *assm, Register dst, Register src, Register amount, void(Assembler::*emit_shift)(Register))
 
template<typename dst_type , typename src_type >
void ConvertFloatToIntAndBack (LiftoffAssembler *assm, Register dst, DoubleRegister src, DoubleRegister converted_back)
 
template<typename src_type >
void EmitSatTruncateFloatToUInt64 (LiftoffAssembler *assm, Register dst, DoubleRegister src)
 

Variables

constexpr int32_t kPatchInstructionsRequired = 3
 
constexpr int kHalfStackSlotSize = LiftoffAssembler::kStackSlotSize >> 1
 
static constexpr LiftoffRegList kByteRegs
 
constexpr DoubleRegister kScratchDoubleReg = xmm7
 
constexpr DoubleRegister kScratchDoubleReg2 = xmm0
 
constexpr int kSubSpSize = 6
 
constexpr int32_t kLowWordOffset = 0
 
constexpr int32_t kHighWordOffset = 4
 
constexpr Register kScratchRegister2 = r11
 
constexpr Operand kInstanceDataOperand
 
constexpr Operand kOSRTargetSlot = GetStackSlot(kOSRTargetOffset)
 

Enumeration Type Documentation

◆ Binop [1/4]

Enumerator
kAdd 
kSub 
kAnd 
kOr 
kXor 
kExchange 
kAdd 
kAdd 
kSub 
kSub 
kAnd 
kAnd 
kOr 
kOr 
kXor 
kXor 
kExchange 
kExchange 
kAdd 
kSub 
kAnd 
kOr 
kXor 
kExchange 
kAdd 
kSub 
kAnd 
kOr 
kXor 
kExchange 

Definition at line 871 of file liftoff-assembler-arm64-inl.h.

◆ Binop [2/4]

Enumerator
kAdd 
kSub 
kAnd 
kOr 
kXor 
kExchange 
kAdd 
kSub 
kAnd 
kOr 
kXor 
kExchange 
kAdd 
kSub 
kAnd 
kOr 
kXor 
kExchange 

Definition at line 825 of file liftoff-assembler-ia32-inl.h.

◆ Binop [3/4]

Enumerator
kAdd 
kSub 
kAnd 
kOr 
kXor 
kExchange 
kAdd 
kSub 
kAnd 
kOr 
kXor 
kExchange 
kAdd 
kSub 
kAnd 
kOr 
kXor 
kExchange 

Definition at line 484 of file liftoff-assembler-riscv32-inl.h.

◆ Binop [4/4]

Enumerator
kAdd 
kSub 
kAnd 
kOr 
kXor 
kExchange 
kAdd 
kSub 
kAnd 
kOr 
kXor 
kExchange 
kAdd 
kSub 
kAnd 
kOr 
kXor 
kExchange 

Definition at line 496 of file liftoff-assembler-riscv64-inl.h.

◆ DivOrRem [1/2]

enum class v8::internal::wasm::liftoff::DivOrRem : uint8_t
strong
Enumerator
kDiv 
kRem 
kDiv 
kRem 

Definition at line 1538 of file liftoff-assembler-ia32-inl.h.

◆ DivOrRem [2/2]

enum class v8::internal::wasm::liftoff::DivOrRem : uint8_t
strong
Enumerator
kDiv 
kRem 
kDiv 
kRem 

Definition at line 1247 of file liftoff-assembler-x64-inl.h.

◆ MinOrMax [1/3]

enum class v8::internal::wasm::liftoff::MinOrMax : uint8_t
strong
Enumerator
kMin 
kMax 
kMin 
kMax 
kMin 
kMax 

Definition at line 204 of file liftoff-assembler-arm-inl.h.

◆ MinOrMax [2/3]

enum class v8::internal::wasm::liftoff::MinOrMax : uint8_t
strong
Enumerator
kMin 
kMax 
kMin 
kMax 
kMin 
kMax 

Definition at line 2118 of file liftoff-assembler-ia32-inl.h.

◆ MinOrMax [3/3]

enum class v8::internal::wasm::liftoff::MinOrMax : uint8_t
strong
Enumerator
kMin 
kMax 
kMin 
kMax 
kMin 
kMax 

Definition at line 1715 of file liftoff-assembler-x64-inl.h.

◆ ShiftDirection [1/2]

Enumerator
kLeft 
kRight 
kLeft 
kRight 

Definition at line 377 of file liftoff-assembler-arm-inl.h.

◆ ShiftDirection [2/2]

Enumerator
kLeft 
kRight 
kLeft 
kRight 

Definition at line 139 of file liftoff-assembler-arm64-inl.h.

◆ ShiftSign

Enumerator
kSigned 
kUnsigned 

Definition at line 141 of file liftoff-assembler-arm64-inl.h.

Function Documentation

◆ AcquireByType()

CPURegister v8::internal::wasm::liftoff::AcquireByType ( UseScratchRegisterScope * temps,
ValueKind kind )
inline

Definition at line 84 of file liftoff-assembler-arm64-inl.h.

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

◆ Add()

void v8::internal::wasm::liftoff::Add ( LiftoffAssembler * lasm,
Register dst,
Register lhs,
Register rhs )
inline

Definition at line 1081 of file liftoff-assembler-arm-inl.h.

Here is the caller graph for this function:

◆ And()

void v8::internal::wasm::liftoff::And ( LiftoffAssembler * lasm,
Register dst,
Register lhs,
Register rhs )
inline

Definition at line 1091 of file liftoff-assembler-arm-inl.h.

Here is the caller graph for this function:

◆ AtomicAddOrSubOrExchange32()

void v8::internal::wasm::liftoff::AtomicAddOrSubOrExchange32 ( LiftoffAssembler * lasm,
Binop binop,
Register dst_addr,
Register offset_reg,
uint32_t offset_imm,
LiftoffRegister value,
LiftoffRegister result,
StoreType type )
inline

Definition at line 827 of file liftoff-assembler-ia32-inl.h.

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

◆ AtomicBinop() [1/2]

void v8::internal::wasm::liftoff::AtomicBinop ( LiftoffAssembler * lasm,
Register dst_addr,
Register offset_reg,
uintptr_t offset_imm,
LiftoffRegister value,
LiftoffRegister result,
StoreType type,
Binop op )
inline

Definition at line 873 of file liftoff-assembler-arm64-inl.h.

Here is the call graph for this function:

◆ AtomicBinop() [2/2]

void v8::internal::wasm::liftoff::AtomicBinop ( LiftoffAssembler * lasm,
void(Assembler::* opl )(Register, Register),
void(Assembler::* opq )(Register, Register),
Register dst_addr,
Register offset_reg,
uintptr_t offset_imm,
LiftoffRegister value,
LiftoffRegister result,
StoreType type,
bool i64_offset )
inline

Definition at line 800 of file liftoff-assembler-x64-inl.h.

Here is the call graph for this function:

◆ AtomicBinop32() [1/2]

void v8::internal::wasm::liftoff::AtomicBinop32 ( LiftoffAssembler * lasm,
Binop op,
Register dst_addr,
Register offset_reg,
uint32_t offset_imm,
LiftoffRegister value,
LiftoffRegister result,
StoreType type )
inline

Definition at line 896 of file liftoff-assembler-ia32-inl.h.

Here is the call graph for this function:

◆ AtomicBinop32() [2/2]

void v8::internal::wasm::liftoff::AtomicBinop32 ( LiftoffAssembler * lasm,
Register dst_addr,
Register offset_reg,
uint32_t offset_imm,
LiftoffRegister value,
LiftoffRegister result,
StoreType type,
void(* op )(LiftoffAssembler *, Register, Register, Register) )
inline

Definition at line 1111 of file liftoff-assembler-arm-inl.h.

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

◆ AtomicBinop64() [1/2]

void v8::internal::wasm::liftoff::AtomicBinop64 ( LiftoffAssembler * lasm,
Binop op,
Register dst_addr,
Register offset_reg,
uint32_t offset_imm,
LiftoffRegister value,
LiftoffRegister result )
inline

Definition at line 1011 of file liftoff-assembler-ia32-inl.h.

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

◆ AtomicBinop64() [2/2]

void v8::internal::wasm::liftoff::AtomicBinop64 ( LiftoffAssembler * lasm,
Register dst_addr,
Register offset_reg,
uintptr_t offset_imm,
LiftoffRegister value,
LiftoffRegister result,
StoreType type,
Binop op )
inline

Definition at line 485 of file liftoff-assembler-riscv32-inl.h.

Here is the call graph for this function:

◆ AtomicI64CompareExchange()

void v8::internal::wasm::liftoff::AtomicI64CompareExchange ( LiftoffAssembler * lasm,
Register dst_addr_reg,
Register offset_reg,
uint32_t offset_imm,
LiftoffRegister expected,
LiftoffRegister new_value,
LiftoffRegister result )
inline

Definition at line 1373 of file liftoff-assembler-arm-inl.h.

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

◆ AtomicOp32()

void v8::internal::wasm::liftoff::AtomicOp32 ( LiftoffAssembler * lasm,
Register dst_addr,
Register offset_reg,
uint32_t offset_imm,
LiftoffRegister value,
LiftoffRegister result,
LiftoffRegList pinned,
void(Assembler::* load )(Register, Register, Condition),
void(Assembler::* store )(Register, Register, Register, Condition),
void(* op )(LiftoffAssembler *, Register, Register, Register) )
inline

Definition at line 1048 of file liftoff-assembler-arm-inl.h.

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

◆ AtomicOp64()

void v8::internal::wasm::liftoff::AtomicOp64 ( LiftoffAssembler * lasm,
Register dst_addr,
Register offset_reg,
uint32_t offset_imm,
LiftoffRegister value,
std::optional< LiftoffRegister > result,
void(* op )(LiftoffAssembler *, LiftoffRegister, LiftoffRegister, LiftoffRegister) )
inline

Definition at line 1152 of file liftoff-assembler-arm-inl.h.

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

◆ CalculateActualAddress() [1/3]

Register v8::internal::wasm::liftoff::CalculateActualAddress ( LiftoffAssembler * assm,
UseScratchRegisterScope * temps,
Register addr_reg,
Register offset_reg,
uintptr_t offset_imm,
Register result_reg = no_reg )
inline

Definition at line 88 of file liftoff-assembler-arm-inl.h.

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

◆ CalculateActualAddress() [2/3]

Register v8::internal::wasm::liftoff::CalculateActualAddress ( LiftoffAssembler * lasm,
UseScratchRegisterScope & temps,
Register addr_reg,
Register offset_reg,
uintptr_t offset_imm )
inline

Definition at line 855 of file liftoff-assembler-arm64-inl.h.

Here is the call graph for this function:

◆ CalculateActualAddress() [3/3]

Register v8::internal::wasm::liftoff::CalculateActualAddress ( LiftoffAssembler * lasm,
UseScratchRegisterScope & temps,
Register addr_reg,
Register offset_reg,
uintptr_t offset_imm,
Register result_reg = no_reg )
inline

Definition at line 463 of file liftoff-assembler-riscv32-inl.h.

Here is the call graph for this function:

◆ cond_make_unsigned()

Condition v8::internal::wasm::liftoff::cond_make_unsigned ( Condition cond)
inline

Definition at line 2731 of file liftoff-assembler-ia32-inl.h.

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

◆ ConditionToConditionCmpFPU()

FPUCondition v8::internal::wasm::liftoff::ConditionToConditionCmpFPU ( Condition condition,
bool * predicate )
inline

Definition at line 1902 of file liftoff-assembler-loong64-inl.h.

Here is the call graph for this function:

◆ ConvertFloatToIntAndBack() [1/2]

template<typename dst_type , typename src_type >
void v8::internal::wasm::liftoff::ConvertFloatToIntAndBack ( LiftoffAssembler * assm,
Register dst,
DoubleRegister src,
DoubleRegister converted_back )
inline

Definition at line 1983 of file liftoff-assembler-x64-inl.h.

Here is the call graph for this function:

◆ ConvertFloatToIntAndBack() [2/2]

template<typename dst_type , typename src_type >
void v8::internal::wasm::liftoff::ConvertFloatToIntAndBack ( LiftoffAssembler * assm,
Register dst,
DoubleRegister src,
DoubleRegister converted_back,
LiftoffRegList pinned )
inline

Definition at line 2397 of file liftoff-assembler-ia32-inl.h.

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

◆ Emit64BitShiftOperation() [1/2]

void v8::internal::wasm::liftoff::Emit64BitShiftOperation ( LiftoffAssembler * assm,
LiftoffRegister dst,
LiftoffRegister src,
Register amount,
void(MacroAssembler::* emit_shift )(Register, Register) )
inline

Definition at line 1884 of file liftoff-assembler-ia32-inl.h.

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

◆ Emit64BitShiftOperation() [2/2]

void v8::internal::wasm::liftoff::Emit64BitShiftOperation ( LiftoffAssembler * assm,
LiftoffRegister dst,
LiftoffRegister src,
Register amount,
void(MacroAssembler::* emit_shift )(Register, Register, Register, Register, Register, Register, Register) )
inline

Definition at line 1451 of file liftoff-assembler-riscv32-inl.h.

Here is the call graph for this function:

◆ EmitAllTrue() [1/3]

void v8::internal::wasm::liftoff::EmitAllTrue ( LiftoffAssembler * assm,
LiftoffRegister dst,
LiftoffRegister src,
MSABranchDF msa_branch_df )
inline

Definition at line 2018 of file liftoff-assembler-mips64-inl.h.

Here is the call graph for this function:

◆ EmitAllTrue() [2/3]

template<void(SharedMacroAssemblerBase::*)(XMMRegister, XMMRegister) pcmp>
void v8::internal::wasm::liftoff::EmitAllTrue ( LiftoffAssembler * assm,
LiftoffRegister dst,
LiftoffRegister src,
std::optional< CpuFeature > feature = std::nullopt )
inline

Definition at line 2924 of file liftoff-assembler-ia32-inl.h.

Here is the call graph for this function:

◆ EmitAllTrue() [3/3]

void v8::internal::wasm::liftoff::EmitAllTrue ( LiftoffAssembler * assm,
LiftoffRegister dst,
LiftoffRegister src,
VectorFormat format )
inline

Definition at line 199 of file liftoff-assembler-arm64-inl.h.

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

◆ EmitAnyTrue()

void v8::internal::wasm::liftoff::EmitAnyTrue ( LiftoffAssembler * assm,
LiftoffRegister dst,
LiftoffRegister src )
inline

Definition at line 414 of file liftoff-assembler-arm-inl.h.

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

◆ EmitCommutativeBinOp() [1/2]

template<void(Assembler::*)(Register, Register) op>
void v8::internal::wasm::liftoff::EmitCommutativeBinOp ( LiftoffAssembler * assm,
Register dst,
Register lhs,
Register rhs )

Definition at line 1507 of file liftoff-assembler-ia32-inl.h.

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

◆ EmitCommutativeBinOp() [2/2]

template<void(Assembler::*)(Register, Register) op, void(Assembler::*)(Register, Register) mov>
void v8::internal::wasm::liftoff::EmitCommutativeBinOp ( LiftoffAssembler * assm,
Register dst,
Register lhs,
Register rhs )

Definition at line 1221 of file liftoff-assembler-x64-inl.h.

◆ EmitCommutativeBinOpImm() [1/2]

template<void(Assembler::*)(Register, int32_t) op>
void v8::internal::wasm::liftoff::EmitCommutativeBinOpImm ( LiftoffAssembler * assm,
Register dst,
Register lhs,
int32_t imm )

Definition at line 1518 of file liftoff-assembler-ia32-inl.h.

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

◆ EmitCommutativeBinOpImm() [2/2]

template<void(Assembler::*)(Register, Immediate) op, void(Assembler::*)(Register, Register) mov>
void v8::internal::wasm::liftoff::EmitCommutativeBinOpImm ( LiftoffAssembler * assm,
Register dst,
Register lhs,
int32_t imm )

Definition at line 1233 of file liftoff-assembler-x64-inl.h.

◆ EmitFloatMinOrMax() [1/2]

template<typename type >
void v8::internal::wasm::liftoff::EmitFloatMinOrMax ( LiftoffAssembler * assm,
DoubleRegister dst,
DoubleRegister lhs,
DoubleRegister rhs,
MinOrMax min_or_max )
inline

Definition at line 2120 of file liftoff-assembler-ia32-inl.h.

Here is the call graph for this function:

◆ EmitFloatMinOrMax() [2/2]

template<typename RegisterType >
void v8::internal::wasm::liftoff::EmitFloatMinOrMax ( LiftoffAssembler * assm,
RegisterType dst,
RegisterType lhs,
RegisterType rhs,
MinOrMax min_or_max )
inline

Definition at line 206 of file liftoff-assembler-arm-inl.h.

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

◆ EmitFloatSetCond()

template<void(Assembler::*)(DoubleRegister, DoubleRegister) cmp_op>
void v8::internal::wasm::liftoff::EmitFloatSetCond ( LiftoffAssembler * assm,
Condition cond,
Register dst,
DoubleRegister lhs,
DoubleRegister rhs )

Definition at line 2779 of file liftoff-assembler-ia32-inl.h.

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

◆ EmitInt32DivOrRem()

template<bool is_signed, DivOrRem div_or_rem>
void v8::internal::wasm::liftoff::EmitInt32DivOrRem ( LiftoffAssembler * assm,
Register dst,
Register lhs,
Register rhs,
Label * trap_div_by_zero,
Label * trap_div_unrepresentable )

Definition at line 1540 of file liftoff-assembler-ia32-inl.h.

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

◆ EmitIntDivOrRem()

template<typename type , DivOrRem div_or_rem>
void v8::internal::wasm::liftoff::EmitIntDivOrRem ( LiftoffAssembler * assm,
Register dst,
Register lhs,
Register rhs,
Label * trap_div_by_zero,
Label * trap_div_unrepresentable )

Definition at line 1249 of file liftoff-assembler-x64-inl.h.

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

◆ EmitSatTruncateFloatToInt()

template<typename dst_type , typename src_type >
void v8::internal::wasm::liftoff::EmitSatTruncateFloatToInt ( LiftoffAssembler * assm,
Register dst,
DoubleRegister src )
inline

Definition at line 2461 of file liftoff-assembler-ia32-inl.h.

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

◆ EmitSatTruncateFloatToUInt64()

template<typename src_type >
void v8::internal::wasm::liftoff::EmitSatTruncateFloatToUInt64 ( LiftoffAssembler * assm,
Register dst,
DoubleRegister src )
inline

Definition at line 2125 of file liftoff-assembler-x64-inl.h.

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

◆ EmitShiftOperation() [1/2]

void v8::internal::wasm::liftoff::EmitShiftOperation ( LiftoffAssembler * assm,
Register dst,
Register src,
Register amount,
void(Assembler::* emit_shift )(Register) )
inline

Definition at line 1654 of file liftoff-assembler-ia32-inl.h.

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

◆ EmitShiftOperation() [2/2]

template<ValueKind kind>
void v8::internal::wasm::liftoff::EmitShiftOperation ( LiftoffAssembler * assm,
Register dst,
Register src,
Register amount,
void(Assembler::* emit_shift )(Register) )
inline

Definition at line 1389 of file liftoff-assembler-x64-inl.h.

Here is the call graph for this function:

◆ EmitSimdCommutativeBinOp()

template<void(Assembler::*)(XMMRegister, XMMRegister, XMMRegister) avx_op, void(Assembler::*)(XMMRegister, XMMRegister) sse_op>
void v8::internal::wasm::liftoff::EmitSimdCommutativeBinOp ( LiftoffAssembler * assm,
LiftoffRegister dst,
LiftoffRegister lhs,
LiftoffRegister rhs,
std::optional< CpuFeature > feature = std::nullopt )

Definition at line 2835 of file liftoff-assembler-ia32-inl.h.

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

◆ EmitSimdNonCommutativeBinOp()

template<void(Assembler::*)(XMMRegister, XMMRegister, XMMRegister) avx_op, void(Assembler::*)(XMMRegister, XMMRegister) sse_op>
void v8::internal::wasm::liftoff::EmitSimdNonCommutativeBinOp ( LiftoffAssembler * assm,
LiftoffRegister dst,
LiftoffRegister lhs,
LiftoffRegister rhs,
std::optional< CpuFeature > feature = std::nullopt )

Definition at line 2857 of file liftoff-assembler-ia32-inl.h.

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

◆ EmitSimdShift() [1/2]

template<ShiftDirection dir = kLeft, NeonDataType dt, NeonSize sz>
void v8::internal::wasm::liftoff::EmitSimdShift ( LiftoffAssembler * assm,
LiftoffRegister dst,
LiftoffRegister lhs,
LiftoffRegister rhs )
inline

Definition at line 380 of file liftoff-assembler-arm-inl.h.

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

◆ EmitSimdShift() [2/2]

template<ShiftDirection dir, ShiftSign sign = ShiftSign::kSigned>
void v8::internal::wasm::liftoff::EmitSimdShift ( LiftoffAssembler * assm,
VRegister dst,
VRegister lhs,
Register rhs,
VectorFormat format )
inline

Definition at line 144 of file liftoff-assembler-arm64-inl.h.

Here is the call graph for this function:

◆ EmitSimdShiftImmediate()

template<ShiftDirection dir, NeonDataType dt>
void v8::internal::wasm::liftoff::EmitSimdShiftImmediate ( LiftoffAssembler * assm,
LiftoffRegister dst,
LiftoffRegister lhs,
int32_t rhs )
inline

Definition at line 396 of file liftoff-assembler-arm-inl.h.

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

◆ EmitSimdShiftOp()

template<void(Assembler::*)(XMMRegister, XMMRegister, XMMRegister) avx_op, void(Assembler::*)(XMMRegister, XMMRegister) sse_op, uint8_t width>
void v8::internal::wasm::liftoff::EmitSimdShiftOp ( LiftoffAssembler * assm,
LiftoffRegister dst,
LiftoffRegister operand,
LiftoffRegister count )

Definition at line 2881 of file liftoff-assembler-ia32-inl.h.

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

◆ EmitSimdShiftOpImm()

template<void(Assembler::*)(XMMRegister, XMMRegister, uint8_t) avx_op, void(Assembler::*)(XMMRegister, uint8_t) sse_op, uint8_t width>
void v8::internal::wasm::liftoff::EmitSimdShiftOpImm ( LiftoffAssembler * assm,
LiftoffRegister dst,
LiftoffRegister operand,
int32_t count )

Definition at line 2901 of file liftoff-assembler-ia32-inl.h.

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

◆ EmitSimdShiftRightImmediate()

template<VectorFormat format, ShiftSign sign>
void v8::internal::wasm::liftoff::EmitSimdShiftRightImmediate ( LiftoffAssembler * assm,
VRegister dst,
VRegister lhs,
int32_t rhs )
inline

Definition at line 169 of file liftoff-assembler-arm64-inl.h.

Here is the call graph for this function:

◆ EmitTruncateFloatToInt()

template<typename dst_type , typename src_type >
void v8::internal::wasm::liftoff::EmitTruncateFloatToInt ( LiftoffAssembler * assm,
Register dst,
DoubleRegister src,
Label * trap )
inline

Definition at line 2427 of file liftoff-assembler-ia32-inl.h.

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

◆ EnsureNoAlias() [1/2]

Register v8::internal::wasm::liftoff::EnsureNoAlias ( Assembler * assm,
Register reg,
LiftoffRegister must_not_alias,
UseScratchRegisterScope * temps )
inline

Definition at line 186 of file liftoff-assembler-riscv32-inl.h.

Here is the call graph for this function:

◆ EnsureNoAlias() [2/2]

Register v8::internal::wasm::liftoff::EnsureNoAlias ( Assembler * assm,
Register reg,
Register must_not_alias,
UseScratchRegisterScope * temps )
inline

Definition at line 227 of file liftoff-assembler-arm-inl.h.

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

◆ Exchange()

void v8::internal::wasm::liftoff::Exchange ( LiftoffAssembler * lasm,
Register dst,
Register lhs,
Register rhs )
inline

Definition at line 1106 of file liftoff-assembler-arm-inl.h.

Here is the caller graph for this function:

◆ F64x2Compare()

void v8::internal::wasm::liftoff::F64x2Compare ( LiftoffAssembler * assm,
LiftoffRegister dst,
LiftoffRegister lhs,
LiftoffRegister rhs,
Condition cond )
inline

Definition at line 249 of file liftoff-assembler-arm-inl.h.

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

◆ GeneratePopCnt()

void v8::internal::wasm::liftoff::GeneratePopCnt ( Assembler * assm,
Register dst,
Register src,
Register scratch1,
Register scratch2 )
inline

Definition at line 1873 of file liftoff-assembler-arm-inl.h.

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

◆ GetEffectiveAddress()

Register v8::internal::wasm::liftoff::GetEffectiveAddress ( LiftoffAssembler * assm,
UseScratchRegisterScope * temps,
Register addr,
Register offset,
uintptr_t offset_imm,
bool i64_offset = false )
inline

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

Here is the call graph for this function:

◆ GetFloatRegister()

FloatRegister v8::internal::wasm::liftoff::GetFloatRegister ( DoubleRegister reg)
inline

Definition at line 191 of file liftoff-assembler-arm-inl.h.

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

◆ GetHalfStackSlot()

MemOperand v8::internal::wasm::liftoff::GetHalfStackSlot ( int offset,
RegPairHalf half )
inline

Definition at line 60 of file liftoff-assembler-arm-inl.h.

Here is the caller graph for this function:

◆ GetInstanceDataOperand()

MemOperand v8::internal::wasm::liftoff::GetInstanceDataOperand ( )
inline

Definition at line 66 of file liftoff-assembler-arm-inl.h.

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

◆ GetMemOp() [1/7]

template<typename T >
MemOperand v8::internal::wasm::liftoff::GetMemOp ( LiftoffAssembler * assm,
Register addr,
Register offset,
T offset_imm,
bool i64_offset = false,
unsigned shift_amount = 0 )
inline

Definition at line 57 of file liftoff-assembler-loong64-inl.h.

Here is the call graph for this function:

◆ GetMemOp() [2/7]

MemOperand v8::internal::wasm::liftoff::GetMemOp ( LiftoffAssembler * assm,
Register addr,
Register offset,
uintptr_t offset_imm,
bool i64_offset = false,
unsigned shift_amount = 0 )
inline

Definition at line 45 of file liftoff-assembler-riscv64-inl.h.

Here is the call graph for this function:

◆ GetMemOp() [3/7]

MemOperand v8::internal::wasm::liftoff::GetMemOp ( LiftoffAssembler * assm,
Register addr,
Register offset,
uintptr_t offset_imm,
Register scratch,
bool i64_offset = false,
unsigned shift_amount = 0 )
inline

Definition at line 53 of file liftoff-assembler-ppc-inl.h.

Here is the call graph for this function:

◆ GetMemOp() [4/7]

MemOperand v8::internal::wasm::liftoff::GetMemOp ( LiftoffAssembler * assm,
Register addr,
Register offset,
uintptr_t offset_imm,
unsigned shift_amount = 0 )
inline

Definition at line 57 of file liftoff-assembler-riscv32-inl.h.

Here is the call graph for this function:

◆ GetMemOp() [5/7]

Operand v8::internal::wasm::liftoff::GetMemOp ( LiftoffAssembler * assm,
Register addr,
Register offset_reg,
uintptr_t offset_imm,
ScaleFactor scale_factor = times_1 )
inline

Definition at line 60 of file liftoff-assembler-x64-inl.h.

◆ GetMemOp() [6/7]

MemOperand v8::internal::wasm::liftoff::GetMemOp ( LiftoffAssembler * assm,
UseScratchRegisterScope * temps,
Register addr,
Register offset,
int32_t offset_imm,
unsigned shift_amount = 0 )
inline

Definition at line 70 of file liftoff-assembler-arm-inl.h.

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

◆ GetMemOp() [7/7]

template<typename T >
MemOperand v8::internal::wasm::liftoff::GetMemOp ( LiftoffAssembler * assm,
UseScratchRegisterScope * temps,
Register addr,
Register offset,
T offset_imm,
bool i64_offset = false,
unsigned shift_amount = 0 )
inline

Definition at line 105 of file liftoff-assembler-arm64-inl.h.

Here is the call graph for this function:

◆ GetRegFromType()

CPURegister v8::internal::wasm::liftoff::GetRegFromType ( const LiftoffRegister & reg,
ValueKind kind )
inline

Definition at line 55 of file liftoff-assembler-arm64-inl.h.

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

◆ GetSimd128Register() [1/2]

Simd128Register v8::internal::wasm::liftoff::GetSimd128Register ( DoubleRegister reg)
inline

Definition at line 196 of file liftoff-assembler-arm-inl.h.

Here is the call graph for this function:

◆ GetSimd128Register() [2/2]

Simd128Register v8::internal::wasm::liftoff::GetSimd128Register ( LiftoffRegister reg)
inline

Definition at line 200 of file liftoff-assembler-arm-inl.h.

Here is the call graph for this function:

◆ GetStackSlot() [1/2]

Operand v8::internal::wasm::liftoff::GetStackSlot ( int offset)
inlineconstexpr

Definition at line 58 of file liftoff-assembler-arm-inl.h.

Here is the caller graph for this function:

◆ GetStackSlot() [2/2]

MemOperand v8::internal::wasm::liftoff::GetStackSlot ( uint32_t offset)
inline

Definition at line 83 of file liftoff-assembler-ppc-inl.h.

◆ GetTmpByteRegister()

Register v8::internal::wasm::liftoff::GetTmpByteRegister ( LiftoffAssembler * assm,
Register candidate )
inline

Definition at line 161 of file liftoff-assembler-ia32-inl.h.

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

◆ I32x4ExtMulHelper()

void v8::internal::wasm::liftoff::I32x4ExtMulHelper ( LiftoffAssembler * assm,
XMMRegister dst,
XMMRegister src1,
XMMRegister src2,
bool low,
bool is_signed )
inline

Definition at line 4005 of file liftoff-assembler-ia32-inl.h.

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

◆ I64Binop()

template<void(Assembler::*)(Register, Register, Register, SBit, Condition) op, void(Assembler::*)(Register, Register, const Operand &, SBit, Condition) op_with_carry>
void v8::internal::wasm::liftoff::I64Binop ( LiftoffAssembler * assm,
LiftoffRegister dst,
LiftoffRegister lhs,
LiftoffRegister rhs )
inline

Definition at line 133 of file liftoff-assembler-arm-inl.h.

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

◆ I64BinopI()

template<void(Assembler::*)(Register, Register, const Operand &, SBit, Condition) op, void(Assembler::*)(Register, Register, const Operand &, SBit, Condition) op_with_carry>
void v8::internal::wasm::liftoff::I64BinopI ( LiftoffAssembler * assm,
LiftoffRegister dst,
LiftoffRegister lhs,
int64_t imm )
inline

Definition at line 151 of file liftoff-assembler-arm-inl.h.

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

◆ I64Shiftop()

template<void(MacroAssembler::*)(Register, Register, Register, Register, Register) op, bool is_left_shift>
void v8::internal::wasm::liftoff::I64Shiftop ( LiftoffAssembler * assm,
LiftoffRegister dst,
LiftoffRegister src,
Register amount )
inline

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

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

◆ I64Store()

void v8::internal::wasm::liftoff::I64Store ( LiftoffAssembler * lasm,
LiftoffRegister dst,
LiftoffRegister ,
LiftoffRegister src )
inline

Definition at line 1237 of file liftoff-assembler-arm-inl.h.

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

◆ IsRegInRegPair()

bool v8::internal::wasm::liftoff::IsRegInRegPair ( LiftoffRegister pair,
Register reg )
inline

Definition at line 1446 of file liftoff-assembler-riscv32-inl.h.

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

◆ Load() [1/2]

void v8::internal::wasm::liftoff::Load ( LiftoffAssembler * assm,
LiftoffRegister dst,
MemOperand src,
ValueKind kind )
inline

Definition at line 321 of file liftoff-assembler-arm-inl.h.

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

◆ Load() [2/2]

void v8::internal::wasm::liftoff::Load ( LiftoffAssembler * assm,
LiftoffRegister dst,
Register base,
int32_t offset,
ValueKind kind )
inline

Definition at line 50 of file liftoff-assembler-ia32-inl.h.

Here is the call graph for this function:

◆ LoadFromStack()

void v8::internal::wasm::liftoff::LoadFromStack ( LiftoffAssembler * assm,
LiftoffRegister dst,
Operand src,
ValueKind kind )
inline

Definition at line 76 of file liftoff-assembler-x64-inl.h.

Here is the call graph for this function:

◆ LoadInternal()

void v8::internal::wasm::liftoff::LoadInternal ( LiftoffAssembler * lasm,
LiftoffRegister dst,
Register src_addr,
Register offset_reg,
int32_t offset_imm,
LoadType type,
uint32_t * protected_load_pc = nullptr,
bool needs_shift = false )
inline

Definition at line 793 of file liftoff-assembler-arm-inl.h.

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

◆ LoadToRegister()

CPURegister v8::internal::wasm::liftoff::LoadToRegister ( LiftoffAssembler * assm,
UseScratchRegisterScope * temps,
const LiftoffAssembler::VarState & src )
inline

Definition at line 209 of file liftoff-assembler-arm64-inl.h.

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

◆ MakeUnsigned()

Condition v8::internal::wasm::liftoff::MakeUnsigned ( Condition cond)
inline

Definition at line 108 of file liftoff-assembler-arm-inl.h.

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

◆ MaskFromNeonDataType()

int v8::internal::wasm::liftoff::MaskFromNeonDataType ( NeonDataType dt)
constexpr

Definition at line 357 of file liftoff-assembler-arm-inl.h.

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

◆ MemOperand()

Operand v8::internal::wasm::liftoff::MemOperand ( Register base,
Register offset_reg,
int offset_imm )
inline

Definition at line 42 of file liftoff-assembler-ia32-inl.h.

◆ MoveStackValue()

void v8::internal::wasm::liftoff::MoveStackValue ( LiftoffAssembler * assm,
const Operand & src,
const Operand & dst )
inline

Definition at line 168 of file liftoff-assembler-ia32-inl.h.

Here is the call graph for this function:

◆ OpWithCarry()

template<void(Assembler::*)(Register, Register) op, void(Assembler::*)(Register, Register) op_with_carry>
void v8::internal::wasm::liftoff::OpWithCarry ( LiftoffAssembler * assm,
LiftoffRegister dst,
LiftoffRegister lhs,
LiftoffRegister rhs )
inline

Definition at line 1741 of file liftoff-assembler-ia32-inl.h.

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

◆ OpWithCarryI()

template<void(Assembler::*)(Register, const Immediate &) op, void(Assembler::*)(Register, int32_t) op_with_carry>
void v8::internal::wasm::liftoff::OpWithCarryI ( LiftoffAssembler * assm,
LiftoffRegister dst,
LiftoffRegister lhs,
int64_t imm )
inline

Definition at line 1770 of file liftoff-assembler-ia32-inl.h.

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

◆ Or()

void v8::internal::wasm::liftoff::Or ( LiftoffAssembler * lasm,
Register dst,
Register lhs,
Register rhs )
inline

Definition at line 1096 of file liftoff-assembler-arm-inl.h.

Here is the caller graph for this function:

◆ PadRegList()

CPURegList v8::internal::wasm::liftoff::PadRegList ( RegList list)
inline

Definition at line 74 of file liftoff-assembler-arm64-inl.h.

Here is the call graph for this function:

◆ PadVRegList()

CPURegList v8::internal::wasm::liftoff::PadVRegList ( DoubleRegList list)
inline

Definition at line 79 of file liftoff-assembler-arm64-inl.h.

Here is the call graph for this function:

◆ PairContains()

bool v8::internal::wasm::liftoff::PairContains ( LiftoffRegister pair,
Register reg )
inline

Definition at line 1869 of file liftoff-assembler-ia32-inl.h.

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

◆ push() [1/2]

void v8::internal::wasm::liftoff::push ( LiftoffAssembler * assm,
LiftoffRegister reg,
ValueKind kind )
inline

Definition at line 141 of file liftoff-assembler-loong64-inl.h.

Here is the call graph for this function:

◆ push() [2/2]

void v8::internal::wasm::liftoff::push ( LiftoffAssembler * assm,
LiftoffRegister reg,
ValueKind kind,
int padding = 0 )
inline

Definition at line 118 of file liftoff-assembler-ia32-inl.h.

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

◆ ReplaceInPair()

LiftoffRegister v8::internal::wasm::liftoff::ReplaceInPair ( LiftoffRegister pair,
Register old_reg,
Register new_reg )
inline

Definition at line 1873 of file liftoff-assembler-ia32-inl.h.

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

◆ S128NarrowOp()

void v8::internal::wasm::liftoff::S128NarrowOp ( LiftoffAssembler * assm,
NeonDataType dt,
NeonDataType sdt,
LiftoffRegister dst,
LiftoffRegister lhs,
LiftoffRegister rhs )
inline

Definition at line 237 of file liftoff-assembler-arm-inl.h.

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

◆ setcc_32()

void v8::internal::wasm::liftoff::setcc_32 ( LiftoffAssembler * assm,
Condition cond,
Register dst )
inline

Definition at line 2700 of file liftoff-assembler-ia32-inl.h.

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

◆ setcc_32_no_spill()

void v8::internal::wasm::liftoff::setcc_32_no_spill ( LiftoffAssembler * assm,
Condition cond,
Register dst,
Register tmp_byte_reg )
inline

Definition at line 2693 of file liftoff-assembler-ia32-inl.h.

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

◆ SignExtendI32ToI64()

void v8::internal::wasm::liftoff::SignExtendI32ToI64 ( Assembler * assm,
LiftoffRegister reg )
inline

Definition at line 154 of file liftoff-assembler-ia32-inl.h.

Here is the call graph for this function:

◆ Store() [1/3]

void v8::internal::wasm::liftoff::Store ( LiftoffAssembler * assm,
LiftoffRegister src,
MemOperand dst,
ValueKind kind )
inline

Definition at line 279 of file liftoff-assembler-arm-inl.h.

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

◆ Store() [2/3]

void v8::internal::wasm::liftoff::Store ( LiftoffAssembler * assm,
MemOperand dst,
LiftoffRegister src,
ValueKind kind )
inline

Definition at line 110 of file liftoff-assembler-loong64-inl.h.

Here is the call graph for this function:

◆ Store() [3/3]

void v8::internal::wasm::liftoff::Store ( LiftoffAssembler * assm,
Register base,
int32_t offset,
LiftoffRegister src,
ValueKind kind )
inline

Definition at line 84 of file liftoff-assembler-ia32-inl.h.

Here is the call graph for this function:

◆ StoreToMemory() [1/5]

void v8::internal::wasm::liftoff::StoreToMemory ( LiftoffAssembler * assm,
MemOperand dst,
const LiftoffAssembler::VarState & src )
inline

Definition at line 234 of file liftoff-assembler-arm64-inl.h.

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

◆ StoreToMemory() [2/5]

void v8::internal::wasm::liftoff::StoreToMemory ( LiftoffAssembler * assm,
MemOperand dst,
const LiftoffAssembler::VarState & src,
Register scratch )
inline

Definition at line 54 of file liftoff-assembler-s390-inl.h.

Here is the call graph for this function:

◆ StoreToMemory() [3/5]

void v8::internal::wasm::liftoff::StoreToMemory ( LiftoffAssembler * assm,
MemOperand dst,
const LiftoffAssembler::VarState & src,
Register scratch1,
Register scratch2 )
inline

Definition at line 91 of file liftoff-assembler-ppc-inl.h.

Here is the call graph for this function:

◆ StoreToMemory() [4/5]

void v8::internal::wasm::liftoff::StoreToMemory ( LiftoffAssembler * assm,
Operand dst,
const LiftoffAssembler::VarState & src )
inline

Definition at line 134 of file liftoff-assembler-x64-inl.h.

Here is the call graph for this function:

◆ StoreToMemory() [5/5]

void v8::internal::wasm::liftoff::StoreToMemory ( LiftoffAssembler * assm,
Operand dst,
LiftoffRegister src,
ValueKind kind )
inline

Definition at line 105 of file liftoff-assembler-x64-inl.h.

Here is the call graph for this function:

◆ Sub()

void v8::internal::wasm::liftoff::Sub ( LiftoffAssembler * lasm,
Register dst,
Register lhs,
Register rhs )
inline

Definition at line 1086 of file liftoff-assembler-arm-inl.h.

Here is the caller graph for this function:

◆ Xor()

void v8::internal::wasm::liftoff::Xor ( LiftoffAssembler * lasm,
Register dst,
Register lhs,
Register rhs )
inline

Definition at line 1101 of file liftoff-assembler-arm-inl.h.

Here is the caller graph for this function:

Variable Documentation

◆ kByteRegs

LiftoffRegList v8::internal::wasm::liftoff::kByteRegs
staticconstexpr
Initial value:
=
LiftoffRegList::FromBits<RegList{eax, ecx, edx}.bits()>()
constexpr storage_t bits() const
RegListBase< Register > RegList
Definition reglist-arm.h:14

Definition at line 47 of file liftoff-assembler-ia32-inl.h.

◆ kHalfStackSlotSize

int v8::internal::wasm::liftoff::kHalfStackSlotSize = LiftoffAssembler::kStackSlotSize >> 1
constexpr

Definition at line 56 of file liftoff-assembler-arm-inl.h.

◆ kHighWordOffset

int32_t v8::internal::wasm::liftoff::kHighWordOffset = 4
constexpr

Definition at line 48 of file liftoff-assembler-riscv32-inl.h.

◆ kInstanceDataOperand

Operand v8::internal::wasm::liftoff::kInstanceDataOperand
constexpr
Initial value:
=
GetStackSlot(WasmLiftoffFrameConstants::kInstanceDataOffset)

Definition at line 53 of file liftoff-assembler-x64-inl.h.

◆ kLowWordOffset

int32_t v8::internal::wasm::liftoff::kLowWordOffset = 0
constexpr

Definition at line 47 of file liftoff-assembler-riscv32-inl.h.

◆ kOSRTargetSlot

Operand v8::internal::wasm::liftoff::kOSRTargetSlot = GetStackSlot(kOSRTargetOffset)
constexpr

Definition at line 56 of file liftoff-assembler-x64-inl.h.

◆ kPatchInstructionsRequired

int32_t v8::internal::wasm::liftoff::kPatchInstructionsRequired = 3
constexpr

Definition at line 55 of file liftoff-assembler-arm-inl.h.

◆ kScratchDoubleReg

DoubleRegister v8::internal::wasm::liftoff::kScratchDoubleReg = xmm7
constexpr

Definition at line 215 of file liftoff-assembler-ia32-inl.h.

◆ kScratchDoubleReg2

DoubleRegister v8::internal::wasm::liftoff::kScratchDoubleReg2 = xmm0
constexpr

Definition at line 216 of file liftoff-assembler-ia32-inl.h.

◆ kScratchRegister2

Register v8::internal::wasm::liftoff::kScratchRegister2 = r11
constexpr

Definition at line 35 of file liftoff-assembler-x64-inl.h.

◆ kSubSpSize

int v8::internal::wasm::liftoff::kSubSpSize = 6
constexpr

Definition at line 220 of file liftoff-assembler-ia32-inl.h.