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

Go to the source code of this file.

Classes

class  v8::internal::MacroAssembler
 
struct  v8::internal::MoveCycleState
 

Namespaces

namespace  v8
 
namespace  v8::internal
 

Macros

#define xlen   (uint8_t(sizeof(void*) * 8))
 
#define SmiWordOffset(offset)
 
#define COND_TYPED_ARGS   Condition cond, Register r1, const Operand &r2
 
#define COND_ARGS   cond, r1, r2
 
#define DECLARE_NORELOC_PROTOTYPE(Name, target_type)
 
#define DECLARE_BRANCH_PROTOTYPES(Name)
 
#define COND_ARGS
 
#define DEFINE_INSTRUCTION(instr)
 
#define DEFINE_INSTRUCTION2(instr)
 
#define DEFINE_INSTRUCTION3(instr)
 
#define ACCESS_MASM(masm)
 

Enumerations

enum  v8::internal::LiFlags {
  v8::internal::OPTIMIZE_SIZE = 0 , v8::internal::CONSTANT_SIZE = 1 , v8::internal::ADDRESS_LOAD = 2 , v8::internal::OPTIMIZE_SIZE = 0 ,
  v8::internal::CONSTANT_SIZE = 1 , v8::internal::ADDRESS_LOAD = 2 , v8::internal::OPTIMIZE_SIZE = 0 , v8::internal::CONSTANT_SIZE = 1 ,
  v8::internal::ADDRESS_LOAD = 2
}
 
enum  v8::internal::RAStatus {
  v8::internal::kRAHasNotBeenSaved , v8::internal::kRAHasBeenSaved , v8::internal::kRAHasNotBeenSaved , v8::internal::kRAHasBeenSaved ,
  v8::internal::kRAHasNotBeenSaved , v8::internal::kRAHasBeenSaved
}
 
enum  v8::internal::StackLimitKind {
  v8::internal::kInterruptStackLimit , v8::internal::kRealStackLimit , v8::internal::kInterruptStackLimit , v8::internal::kRealStackLimit ,
  v8::internal::kInterruptStackLimit , v8::internal::kRealStackLimit , v8::internal::kInterruptStackLimit , v8::internal::kRealStackLimit ,
  v8::internal::kInterruptStackLimit , v8::internal::kRealStackLimit , v8::internal::kInterruptStackLimit , v8::internal::kRealStackLimit
}
 

Functions

Register v8::internal::GetRegisterThatIsNotOneOf (Register reg1, Register reg2=no_reg, Register reg3=no_reg, Register reg4=no_reg, Register reg5=no_reg, Register reg6=no_reg)
 
MemOperand v8::internal::FieldMemOperand (Register object, int offset)
 
MemOperand v8::internal::CFunctionArgumentOperand (int index)
 
MemOperand v8::internal::ExitFrameStackSlotOperand (int offset)
 
MemOperand v8::internal::ExitFrameCallerStackSlotOperand (int index)
 
void v8::internal::CallApiFunctionAndReturn (MacroAssembler *masm, bool with_profiling, Register function_address, ExternalReference thunk_ref, Register thunk_arg, int slots_to_drop_on_return, MemOperand *argc_operand, MemOperand return_value_operand)
 

Macro Definition Documentation

◆ ACCESS_MASM

#define ACCESS_MASM ( masm)
Value:
masm->

Definition at line 2032 of file macro-assembler-riscv.h.

◆ COND_ARGS [1/2]

#define COND_ARGS   cond, r1, r2

Definition at line 165 of file macro-assembler-riscv.h.

◆ COND_ARGS [2/2]

#define COND_ARGS
Value:
Condition cond = al, Register rs = zero_reg, \
const Operand &rt = Operand(zero_reg)

Definition at line 165 of file macro-assembler-riscv.h.

◆ COND_TYPED_ARGS

#define COND_TYPED_ARGS   Condition cond, Register r1, const Operand &r2

Definition at line 164 of file macro-assembler-riscv.h.

◆ DECLARE_BRANCH_PROTOTYPES

#define DECLARE_BRANCH_PROTOTYPES ( Name)
Value:
DECLARE_NORELOC_PROTOTYPE(Name, Label*) \
DECLARE_NORELOC_PROTOTYPE(Name, int32_t)
#define DECLARE_NORELOC_PROTOTYPE(Name, target_type)

Definition at line 172 of file macro-assembler-riscv.h.

◆ DECLARE_NORELOC_PROTOTYPE

#define DECLARE_NORELOC_PROTOTYPE ( Name,
target_type )
Value:
void Name(target_type target); \
void Name(target_type target, COND_TYPED_ARGS);
#define COND_TYPED_ARGS

Definition at line 168 of file macro-assembler-riscv.h.

◆ DEFINE_INSTRUCTION

#define DEFINE_INSTRUCTION ( instr)
Value:
void instr(Register rd, Register rs, const Operand& rt); \
void instr(Register rd, Register rs, Register rt) { \
instr(rd, rs, Operand(rt)); \
} \
void instr(Register rs, Register rt, int32_t j) { instr(rs, rt, Operand(j)); }
Instruction * instr

Definition at line 580 of file macro-assembler-riscv.h.

◆ DEFINE_INSTRUCTION2

#define DEFINE_INSTRUCTION2 ( instr)
Value:
void instr(Register rs, const Operand& rt); \
void instr(Register rs, Register rt) { instr(rs, Operand(rt)); } \
void instr(Register rs, int32_t j) { instr(rs, Operand(j)); }

Definition at line 587 of file macro-assembler-riscv.h.

◆ DEFINE_INSTRUCTION3

#define DEFINE_INSTRUCTION3 ( instr)
Value:
void instr(Register rd, intptr_t imm);

Definition at line 592 of file macro-assembler-riscv.h.

◆ SmiWordOffset

#define SmiWordOffset ( offset)
Value:

Definition at line 76 of file macro-assembler-riscv.h.

◆ xlen

#define xlen   (uint8_t(sizeof(void*) * 8))

Definition at line 26 of file macro-assembler-riscv.h.