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

Go to the source code of this file.

Namespaces

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

Macros

#define __   lasm->
 
#define I32_BINOP(name, instruction)
 
#define I32_BINOP_I(name, instruction)
 
#define I32_SHIFTOP(name, instruction)
 
#define I32_SHIFTOP_I(name, instruction)
 
#define FP_UNOP_RETURN_FALSE(name)
 

Enumerations

enum class  v8::internal::wasm::liftoff::Binop {
  v8::internal::wasm::liftoff::kAdd , v8::internal::wasm::liftoff::kSub , v8::internal::wasm::liftoff::kAnd , v8::internal::wasm::liftoff::kOr ,
  v8::internal::wasm::liftoff::kXor , v8::internal::wasm::liftoff::kExchange , v8::internal::wasm::liftoff::kAdd , v8::internal::wasm::liftoff::kSub ,
  v8::internal::wasm::liftoff::kAnd , v8::internal::wasm::liftoff::kOr , v8::internal::wasm::liftoff::kXor , v8::internal::wasm::liftoff::kExchange ,
  v8::internal::wasm::liftoff::kAdd , v8::internal::wasm::liftoff::kSub , v8::internal::wasm::liftoff::kAnd , v8::internal::wasm::liftoff::kOr ,
  v8::internal::wasm::liftoff::kXor , v8::internal::wasm::liftoff::kExchange
}
 

Functions

MemOperand v8::internal::wasm::liftoff::GetHalfStackSlot (int offset, RegPairHalf half)
 
MemOperand v8::internal::wasm::liftoff::GetMemOp (LiftoffAssembler *assm, Register addr, Register offset, uintptr_t offset_imm, unsigned shift_amount=0)
 
void v8::internal::wasm::liftoff::Load (LiftoffAssembler *assm, LiftoffRegister dst, Register base, int32_t offset, ValueKind kind)
 
void v8::internal::wasm::liftoff::Store (LiftoffAssembler *assm, Register base, int32_t offset, LiftoffRegister src, ValueKind kind)
 
void v8::internal::wasm::liftoff::push (LiftoffAssembler *assm, LiftoffRegister reg, ValueKind kind)
 
Register v8::internal::wasm::liftoff::EnsureNoAlias (Assembler *assm, Register reg, LiftoffRegister must_not_alias, UseScratchRegisterScope *temps)
 
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)
 
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)
 
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)
 
bool v8::internal::wasm::liftoff::IsRegInRegPair (LiftoffRegister pair, Register reg)
 
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))
 
Condition v8::internal::wasm::liftoff::cond_make_unsigned (Condition cond)
 

Variables

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

Macro Definition Documentation

◆ __

#define __   lasm->

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

◆ FP_UNOP_RETURN_FALSE

#define FP_UNOP_RETURN_FALSE ( name)
Value:
bool LiftoffAssembler::emit_##name(DoubleRegister dst, DoubleRegister src) { \
return false; \
}
const char * name
Definition builtins.cc:39

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

◆ I32_BINOP

#define I32_BINOP ( name,
instruction )
Value:
void LiftoffAssembler::emit_i32_##name(Register dst, Register lhs, \
Register rhs) { \
instruction(dst, lhs, rhs); \
}

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

◆ I32_BINOP_I

#define I32_BINOP_I ( name,
instruction )
Value:
void LiftoffAssembler::emit_i32_##name##i(Register dst, Register lhs, \
int32_t imm) { \
instruction(dst, lhs, Operand(imm)); \
}

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

◆ I32_SHIFTOP

#define I32_SHIFTOP ( name,
instruction )
Value:
void LiftoffAssembler::emit_i32_##name(Register dst, Register src, \
Register amount) { \
instruction(dst, src, amount); \
}

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

◆ I32_SHIFTOP_I

#define I32_SHIFTOP_I ( name,
instruction )
Value:
void LiftoffAssembler::emit_i32_##name##i(Register dst, Register src, \
int amount) { \
instruction(dst, src, amount & 31); \
}

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