v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
register-mips64.h File Reference
Include dependency graph for register-mips64.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::MSARegister
 
class  v8::internal::FPURegister
 
struct  v8::internal::FPUControlRegister
 
struct  v8::internal::MSAControlRegister
 

Namespaces

namespace  v8
 
namespace  v8::internal
 

Macros

#define GENERAL_REGISTERS(V)
 
#define ALLOCATABLE_GENERAL_REGISTERS(V)
 
#define DOUBLE_REGISTERS(V)
 
#define DOUBLE_USE_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 REGISTER_CODE(R)
 
#define DECLARE_DOUBLE_REGISTER(R)
 
#define DECLARE_SIMD128_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::MSARegisterCode { v8::internal::kMsaAfterLast }
 
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
}
 

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

const Simd128Register v8::internal::no_msareg = Simd128Register::no_reg()
 
constexpr DoubleRegister v8::internal::kDoubleCompareReg = f23
 
constexpr Simd128Register v8::internal::kSimd128RegZero = w28
 
constexpr Simd128Register v8::internal::kSimd128ScratchReg = w30
 
constexpr MSAControlRegister v8::internal::no_msacreg = {kInvalidMSAControlRegister}
 
constexpr MSAControlRegister v8::internal::MSAIR = {kMSAIRRegister}
 
constexpr MSAControlRegister v8::internal::MSACSR = {kMSACSRRegister}
 

Macro Definition Documentation

◆ ALLOCATABLE_DOUBLE_REGISTERS

#define ALLOCATABLE_DOUBLE_REGISTERS ( V)
Value:
V(f0) V(f2) V(f4) V(f6) V(f8) V(f10) V(f12) V(f14) \
V(f16) V(f18) V(f20) V(f22) V(f24) V(f26)
#define V(Name)

Definition at line 46 of file register-mips64.h.

◆ ALLOCATABLE_GENERAL_REGISTERS

#define 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(s7) \
V(v0) V(v1)

Definition at line 21 of file register-mips64.h.

◆ DECLARE_DOUBLE_REGISTER

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

Definition at line 198 of file register-mips64.h.

◆ DECLARE_REGISTER

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

Definition at line 106 of file register-mips64.h.

◆ DECLARE_SIMD128_REGISTER

#define DECLARE_SIMD128_REGISTER ( R)
Value:
constexpr Simd128Register R = Simd128Register::from_code(kMsaCode_##R);

Definition at line 208 of file register-mips64.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 26 of file register-mips64.h.

◆ DOUBLE_USE_REGISTERS

#define DOUBLE_USE_REGISTERS ( V)
Value:
V(f0) V(f2) V(f4) V(f6) V(f8) V(f10) V(f12) V(f13) \
V(f14) V(f15) V(f16) V(f17) V(f18) V(f19) V(f20) V(f22) \
V(f24) V(f26) V(f28) V(f30)

Definition at line 34 of file register-mips64.h.

◆ FLOAT_REGISTERS

#define FLOAT_REGISTERS   DOUBLE_REGISTERS

Definition at line 39 of file register-mips64.h.

◆ GENERAL_REGISTERS

#define GENERAL_REGISTERS ( V)
Value:
V(zero_reg) V(at) V(v0) V(v1) 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(s0) V(s1) V(s2) V(s3) V(s4) V(s5) V(s6) V(s7) V(t8) V(t9) \
V(k0) V(k1) V(gp) V(sp) V(fp) V(ra)

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

◆ REGISTER_CODE [1/3]

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

Definition at line 80 of file register-mips64.h.

◆ REGISTER_CODE [2/3]

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

Definition at line 80 of file register-mips64.h.

◆ REGISTER_CODE [3/3]

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

Definition at line 80 of file register-mips64.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 40 of file register-mips64.h.