v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
liftoff-assembler-arm-inl.h File Reference
Include dependency graph for liftoff-assembler-arm-inl.h:

Go to the source code of this file.

Classes

class  v8::internal::wasm::liftoff::CacheStatePreservingTempRegisters
 

Namespaces

namespace  v8
 
namespace  v8::internal
 
namespace  v8::internal::wasm
 
namespace  v8::internal::wasm::liftoff
 

Macros

#define __   lasm->
 
#define __   lasm->
 
#define __   lasm->
 

Enumerations

enum class  v8::internal::wasm::liftoff::MinOrMax : uint8_t {
  v8::internal::wasm::liftoff::kMin , v8::internal::wasm::liftoff::kMax , v8::internal::wasm::liftoff::kMin , v8::internal::wasm::liftoff::kMax ,
  v8::internal::wasm::liftoff::kMin , v8::internal::wasm::liftoff::kMax
}
 
enum  v8::internal::wasm::liftoff::ShiftDirection { v8::internal::wasm::liftoff::kLeft , v8::internal::wasm::liftoff::kRight , v8::internal::wasm::liftoff::kLeft , v8::internal::wasm::liftoff::kRight }
 

Functions

MemOperand v8::internal::wasm::liftoff::GetStackSlot (int offset)
 
MemOperand v8::internal::wasm::liftoff::GetHalfStackSlot (int offset, RegPairHalf half)
 
MemOperand v8::internal::wasm::liftoff::GetInstanceDataOperand ()
 
MemOperand v8::internal::wasm::liftoff::GetMemOp (LiftoffAssembler *assm, UseScratchRegisterScope *temps, Register addr, Register offset, int32_t offset_imm, unsigned shift_amount=0)
 
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)
 
Condition v8::internal::wasm::liftoff::MakeUnsigned (Condition cond)
 
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)
 
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)
 
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)
 
FloatRegister v8::internal::wasm::liftoff::GetFloatRegister (DoubleRegister reg)
 
Simd128Register v8::internal::wasm::liftoff::GetSimd128Register (DoubleRegister reg)
 
Simd128Register v8::internal::wasm::liftoff::GetSimd128Register (LiftoffRegister reg)
 
template<typename RegisterType >
void v8::internal::wasm::liftoff::EmitFloatMinOrMax (LiftoffAssembler *assm, RegisterType dst, RegisterType lhs, RegisterType rhs, MinOrMax min_or_max)
 
Register v8::internal::wasm::liftoff::EnsureNoAlias (Assembler *assm, Register reg, Register must_not_alias, UseScratchRegisterScope *temps)
 
void v8::internal::wasm::liftoff::S128NarrowOp (LiftoffAssembler *assm, NeonDataType dt, NeonDataType sdt, LiftoffRegister dst, LiftoffRegister lhs, LiftoffRegister rhs)
 
void v8::internal::wasm::liftoff::F64x2Compare (LiftoffAssembler *assm, LiftoffRegister dst, LiftoffRegister lhs, LiftoffRegister rhs, Condition cond)
 
void v8::internal::wasm::liftoff::Store (LiftoffAssembler *assm, LiftoffRegister src, MemOperand dst, ValueKind kind)
 
void v8::internal::wasm::liftoff::Load (LiftoffAssembler *assm, LiftoffRegister dst, MemOperand src, ValueKind kind)
 
constexpr int v8::internal::wasm::liftoff::MaskFromNeonDataType (NeonDataType dt)
 
template<ShiftDirection dir = kLeft, NeonDataType dt, NeonSize sz>
void v8::internal::wasm::liftoff::EmitSimdShift (LiftoffAssembler *assm, LiftoffRegister dst, LiftoffRegister lhs, LiftoffRegister rhs)
 
template<ShiftDirection dir, NeonDataType dt>
void v8::internal::wasm::liftoff::EmitSimdShiftImmediate (LiftoffAssembler *assm, LiftoffRegister dst, LiftoffRegister lhs, int32_t rhs)
 
void v8::internal::wasm::liftoff::EmitAnyTrue (LiftoffAssembler *assm, LiftoffRegister dst, LiftoffRegister src)
 
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)
 
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))
 
void v8::internal::wasm::liftoff::Add (LiftoffAssembler *lasm, Register dst, Register lhs, Register rhs)
 
void v8::internal::wasm::liftoff::Sub (LiftoffAssembler *lasm, Register dst, Register lhs, Register rhs)
 
void v8::internal::wasm::liftoff::And (LiftoffAssembler *lasm, Register dst, Register lhs, Register rhs)
 
void v8::internal::wasm::liftoff::Or (LiftoffAssembler *lasm, Register dst, Register lhs, Register rhs)
 
void v8::internal::wasm::liftoff::Xor (LiftoffAssembler *lasm, Register dst, Register lhs, Register rhs)
 
void v8::internal::wasm::liftoff::Exchange (LiftoffAssembler *lasm, Register dst, Register lhs, Register rhs)
 
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))
 
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))
 
void v8::internal::wasm::liftoff::I64Store (LiftoffAssembler *lasm, LiftoffRegister dst, LiftoffRegister, LiftoffRegister src)
 
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)
 
void v8::internal::wasm::liftoff::GeneratePopCnt (Assembler *assm, Register dst, Register src, Register scratch1, Register scratch2)
 

Variables

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

Macro Definition Documentation

◆ __ [1/3]

#define __   lasm->

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

◆ __ [2/3]

#define __   lasm->

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

◆ __ [3/3]

#define __   lasm->

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