v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
register-loong64.h File Reference
Include dependency graph for register-loong64.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  v8::internal::Register
 
class  v8::internal::FPURegister
 
struct  v8::internal::FPUControlRegister
 

Namespaces

namespace  v8
 
namespace  v8::internal
 

Macros

#define GENERAL_REGISTERS(V)
 
#define ALWAYS_ALLOCATABLE_GENERAL_REGISTERS(V)
 
#define MAYBE_ALLOCATABLE_GENERAL_REGISTERS(V)
 
#define ALLOCATABLE_GENERAL_REGISTERS(V)
 
#define DOUBLE_REGISTERS(V)
 
#define FLOAT_REGISTERS   DOUBLE_REGISTERS
 
#define SIMD128_REGISTERS(V)
 
#define ALLOCATABLE_DOUBLE_REGISTERS(V)
 
#define REGISTER_CODE(R)
 
#define DECLARE_REGISTER(R)
 
#define REGISTER_CODE(R)
 
#define DECLARE_DOUBLE_REGISTER(R)
 

Enumerations

enum  v8::internal::RegisterCode {
  v8::internal::kRegAfterLast , v8::internal::kRegAfterLast , v8::internal::kRegAfterLast , v8::internal::kRegAfterLast ,
  v8::internal::kRegAfterLast , v8::internal::kRegAfterLast , v8::internal::kRegAfterLast , v8::internal::kRegAfterLast ,
  v8::internal::kRegAfterLast
}
 
enum  v8::internal::DoubleRegisterCode {
  v8::internal::kDoubleAfterLast , v8::internal::kDoubleAfterLast , v8::internal::kDoubleAfterLast , v8::internal::kDoubleAfterLast ,
  v8::internal::kDoubleAfterLast , v8::internal::kDoubleAfterLast , v8::internal::kDoubleAfterLast , v8::internal::kDoubleAfterLast
}
 
enum  v8::internal::CFRegister {
  v8::internal::FCC0 , v8::internal::FCC1 , v8::internal::FCC2 , v8::internal::FCC3 ,
  v8::internal::FCC4 , v8::internal::FCC5 , v8::internal::FCC6 , v8::internal::FCC7
}
 

Functions

int v8::internal::ToNumber (Register reg)
 
Register v8::internal::ToRegister (int num)
 
Register v8::internal::ReassignRegister (Register &source)
 
constexpr int v8::internal::ArgumentPaddingSlots (int argument_count)
 

Variables

constexpr Register v8::internal::kScratchReg = s3
 
constexpr Register v8::internal::kScratchReg2 = s4
 
constexpr DoubleRegister v8::internal::kScratchDoubleReg2 = f31
 
constexpr FPUControlRegister v8::internal::no_fpucreg = {kInvalidFPUControlRegister}
 
constexpr FPUControlRegister v8::internal::FCSR = {kFCSRRegister}
 
constexpr FPUControlRegister v8::internal::FCSR0 = {kFCSRRegister}
 
constexpr FPUControlRegister v8::internal::FCSR1 = {kFCSRRegister + 1}
 
constexpr FPUControlRegister v8::internal::FCSR2 = {kFCSRRegister + 2}
 
constexpr FPUControlRegister v8::internal::FCSR3 = {kFCSRRegister + 3}
 
constexpr Register v8::internal::kPtrComprCageBaseRegister = no_reg
 

Macro Definition Documentation

◆ ALLOCATABLE_DOUBLE_REGISTERS

#define ALLOCATABLE_DOUBLE_REGISTERS ( V)
Value:
V(f0) V(f1) V(f2) V(f3) V(f4) V(f5) V(f6) V(f7) \
V(f8) V(f9) V(f10) V(f11) V(f12) V(f13) V(f14) V(f15) \
V(f16) V(f17) V(f18) V(f19) V(f20) V(f21) V(f22) V(f23) \
V(f24) V(f25) V(f26) V(f27) V(f28)
#define V(Name)

Definition at line 50 of file register-loong64.h.

◆ ALLOCATABLE_GENERAL_REGISTERS

#define ALLOCATABLE_GENERAL_REGISTERS ( V)
Value:
MAYBE_ALLOCATABLE_GENERAL_REGISTERS(V)
#define ALWAYS_ALLOCATABLE_GENERAL_REGISTERS(V)

Definition at line 33 of file register-loong64.h.

◆ ALWAYS_ALLOCATABLE_GENERAL_REGISTERS

#define ALWAYS_ALLOCATABLE_GENERAL_REGISTERS ( V)
Value:
V(a0) V(a1) V(a2) V(a3) V(a4) V(a5) V(a6) V(a7) \
V(t0) V(t1) V(t2) V(t3) V(t4) V(t5) \
V(s0) V(s1) V(s2) V(s3) V(s4) V(s5) V(s7)

Definition at line 22 of file register-loong64.h.

◆ DECLARE_DOUBLE_REGISTER

#define DECLARE_DOUBLE_REGISTER ( R)
Value:
constexpr DoubleRegister R = DoubleRegister::from_code(kDoubleCode_##R);

Definition at line 158 of file register-loong64.h.

◆ DECLARE_REGISTER

#define DECLARE_REGISTER ( R)
Value:
constexpr Register R = Register::from_code(kRegCode_##R);

Definition at line 105 of file register-loong64.h.

◆ DOUBLE_REGISTERS

#define DOUBLE_REGISTERS ( V)
Value:
V(f0) V(f1) V(f2) V(f3) V(f4) V(f5) V(f6) V(f7) \
V(f8) V(f9) V(f10) V(f11) V(f12) V(f13) V(f14) V(f15) \
V(f16) V(f17) V(f18) V(f19) V(f20) V(f21) V(f22) V(f23) \
V(f24) V(f25) V(f26) V(f27) V(f28) V(f29) V(f30) V(f31)

Definition at line 37 of file register-loong64.h.

◆ FLOAT_REGISTERS

#define FLOAT_REGISTERS   DOUBLE_REGISTERS

Definition at line 43 of file register-loong64.h.

◆ GENERAL_REGISTERS

#define GENERAL_REGISTERS ( V)
Value:
V(zero_reg) V(ra) V(tp) V(sp) \
V(a0) V(a1) V(a2) V(a3) V(a4) V(a5) V(a6) V(a7) \
V(t0) V(t1) V(t2) V(t3) V(t4) V(t5) V(t6) V(t7) V(t8) \
V(x_reg) V(fp) \
V(s0) V(s1) V(s2) V(s3) V(s4) V(s5) V(s6) V(s7) V(s8) \

Definition at line 15 of file register-loong64.h.

◆ MAYBE_ALLOCATABLE_GENERAL_REGISTERS

#define MAYBE_ALLOCATABLE_GENERAL_REGISTERS ( V)
Value:
V(s8)

Definition at line 30 of file register-loong64.h.

◆ REGISTER_CODE [1/2]

#define REGISTER_CODE ( R)
Value:
kRegCode_##R,

Definition at line 86 of file register-loong64.h.

◆ REGISTER_CODE [2/2]

#define REGISTER_CODE ( R)
Value:
kDoubleCode_##R,

Definition at line 86 of file register-loong64.h.

◆ SIMD128_REGISTERS

#define SIMD128_REGISTERS ( V)
Value:
V(w0) V(w1) V(w2) V(w3) V(w4) V(w5) V(w6) V(w7) \
V(w8) V(w9) V(w10) V(w11) V(w12) V(w13) V(w14) V(w15) \
V(w16) V(w17) V(w18) V(w19) V(w20) V(w21) V(w22) V(w23) \
V(w24) V(w25) V(w26) V(w27) V(w28) V(w29) V(w30) V(w31)

Definition at line 44 of file register-loong64.h.