|
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 ®, 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) |
|