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

Namespaces

namespace  v8
 
namespace  v8::internal
 

Macros

#define GENERAL_REGISTERS(V)
 
#define ALWAYS_ALLOCATABLE_GENERAL_REGISTERS(V)
 
#define MAYBE_ALLOCATEABLE_CONSTANT_POOL_REGISTER(V)
 
#define MAYBE_ALLOCATABLE_CAGE_REGISTERS(V)
 
#define ALLOCATABLE_GENERAL_REGISTERS(V)
 
#define LOW_DOUBLE_REGISTERS(V)
 
#define NON_LOW_DOUBLE_REGISTERS(V)
 
#define DOUBLE_REGISTERS(V)
 
#define ALLOCATABLE_DOUBLE_REGISTERS(V)
 
#define FLOAT_REGISTERS   DOUBLE_REGISTERS
 
#define SIMD128_REGISTERS(V)
 
#define ALLOCATABLE_SIMD128_REGISTERS(V)
 
#define C_REGISTERS(V)
 
#define REGISTER_CODE(R)
 
#define DEFINE_REGISTER(R)
 
#define REGISTER_CODE(R)
 
#define REGISTER_CODE(R)
 
#define DECLARE_SIMD128_REGISTER(R)
 
#define DEFINE_REGISTER(R)
 
#define REGISTER_CODE(R)
 
#define DECLARE_C_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::Simd128RegisterCode { v8::internal::kSimd128AfterLast , v8::internal::kSimd128AfterLast }
 
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::CRegisterCode { v8::internal::kCAfterLast , v8::internal::kCAfterLast , v8::internal::kCAfterLast }
 

Functions

 v8::internal::ASSERT_TRIVIALLY_COPYABLE (Register)
 
Register v8::internal::ReassignRegister (Register &source)
 
constexpr int v8::internal::ArgumentPaddingSlots (int argument_count)
 
 v8::internal::ASSERT_TRIVIALLY_COPYABLE (Simd128Register)
 
 v8::internal::ASSERT_TRIVIALLY_COPYABLE (DoubleRegister)
 
Register v8::internal::ToRegister (int num)
 

Variables

const int v8::internal::kNumRequiredStackFrameSlots = 14
 
const int v8::internal::kStackFrameLRSlot = 2
 
const int v8::internal::kStackFrameExtraParamSlot = 14
 
constexpr Register v8::internal::kConstantPoolRegister = r28
 
static const int v8::internal::kRegisterPassedArguments = arraysize(kCArgRegs)
 
const Simd128Register v8::internal::no_simdreg = Simd128Register::no_reg()
 
constexpr Simd128Register v8::internal::kScratchSimd128Reg = v13
 
constexpr Simd128Register v8::internal::kScratchSimd128Reg2 = v15
 

Macro Definition Documentation

◆ ALLOCATABLE_DOUBLE_REGISTERS

#define ALLOCATABLE_DOUBLE_REGISTERS ( V)
Value:
V(d1) V(d2) V(d3) V(d4) V(d5) V(d6) V(d7) \
V(d8) V(d9) V(d10) V(d11) V(d12) V(d15) \
V(d16) V(d17) V(d18) V(d19) V(d20) V(d21) V(d22) V(d23) \
V(d24) V(d25) V(d26) V(d27) V(d28) V(d29) V(d30) V(d31)
#define V(Name)

Definition at line 54 of file register-ppc.h.

◆ ALLOCATABLE_GENERAL_REGISTERS

#define ALLOCATABLE_GENERAL_REGISTERS ( V)
Value:
MAYBE_ALLOCATEABLE_CONSTANT_POOL_REGISTER(V) \
MAYBE_ALLOCATABLE_CAGE_REGISTERS(V)
#define ALWAYS_ALLOCATABLE_GENERAL_REGISTERS(V)

Definition at line 38 of file register-ppc.h.

◆ ALLOCATABLE_SIMD128_REGISTERS

#define ALLOCATABLE_SIMD128_REGISTERS ( V)
Value:
V(v0) V(v1) V(v2) V(v3) V(v4) V(v5) V(v6) V(v7) \
V(v8) V(v9) V(v10) V(v11) V(v12) \
V(v16) V(v17) V(v18) V(v19) V(v20) V(v21) V(v22) V(v23) \
V(v24) V(v25) V(v26) V(v27) V(v28) V(v29) V(v30) V(v31)

Definition at line 67 of file register-ppc.h.

◆ ALWAYS_ALLOCATABLE_GENERAL_REGISTERS

#define ALWAYS_ALLOCATABLE_GENERAL_REGISTERS ( V)
Value:
V(r3) V(r4) V(r5) V(r6) V(r7) \
V(r8) V(r9) V(r10) V(r14) V(r15) \
V(r16) V(r17) V(r18) V(r19) V(r20) V(r21) V(r22) V(r23) \
V(r24) V(r25) V(r26) V(r30)

Definition at line 20 of file register-ppc.h.

◆ C_REGISTERS

#define C_REGISTERS ( V)
Value:
V(cr0) V(cr1) V(cr2) V(cr3) V(cr4) V(cr5) V(cr6) V(cr7) \
V(cr8) V(cr9) V(cr10) V(cr11) V(cr12) V(cr15)

Definition at line 73 of file register-ppc.h.

◆ DECLARE_C_REGISTER

#define DECLARE_C_REGISTER ( R)
Value:
constexpr CRegister R = CRegister::from_code(kCCode_##R);

Definition at line 294 of file register-ppc.h.

◆ DECLARE_SIMD128_REGISTER

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

Definition at line 258 of file register-ppc.h.

◆ DEFINE_REGISTER [1/2]

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

Definition at line 146 of file register-ppc.h.

◆ DEFINE_REGISTER [2/2]

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

Definition at line 146 of file register-ppc.h.

◆ DOUBLE_REGISTERS

#define DOUBLE_REGISTERS ( V)
Value:
#define LOW_DOUBLE_REGISTERS(V)
#define NON_LOW_DOUBLE_REGISTERS(V)

Definition at line 51 of file register-ppc.h.

◆ FLOAT_REGISTERS

#define FLOAT_REGISTERS   DOUBLE_REGISTERS

Definition at line 60 of file register-ppc.h.

◆ GENERAL_REGISTERS

#define GENERAL_REGISTERS ( V)
Value:
V(r0) V(sp) V(r2) V(r3) V(r4) V(r5) V(r6) V(r7) \
V(r8) V(r9) V(r10) V(r11) V(ip) V(r13) V(r14) V(r15) \
V(r16) V(r17) V(r18) V(r19) V(r20) V(r21) V(r22) V(r23) \
V(r24) V(r25) V(r26) V(r27) V(r28) V(r29) V(r30) V(fp)

Definition at line 14 of file register-ppc.h.

◆ LOW_DOUBLE_REGISTERS

#define LOW_DOUBLE_REGISTERS ( V)
Value:
V(d0) V(d1) V(d2) V(d3) V(d4) V(d5) V(d6) V(d7) \
V(d8) V(d9) V(d10) V(d11) V(d12) V(d13) V(d14) V(d15)

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

◆ MAYBE_ALLOCATABLE_CAGE_REGISTERS

#define MAYBE_ALLOCATABLE_CAGE_REGISTERS ( V)
Value:
V(r27)

Definition at line 35 of file register-ppc.h.

◆ MAYBE_ALLOCATEABLE_CONSTANT_POOL_REGISTER

#define MAYBE_ALLOCATEABLE_CONSTANT_POOL_REGISTER ( V)
Value:
V(r28)

Definition at line 29 of file register-ppc.h.

◆ NON_LOW_DOUBLE_REGISTERS

#define NON_LOW_DOUBLE_REGISTERS ( V)
Value:
V(d16) V(d17) V(d18) V(d19) V(d20) V(d21) V(d22) V(d23) \
V(d24) V(d25) V(d26) V(d27) V(d28) V(d29) V(d30) V(d31)

Definition at line 47 of file register-ppc.h.

◆ REGISTER_CODE [1/4]

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

Definition at line 114 of file register-ppc.h.

◆ REGISTER_CODE [2/4]

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

Definition at line 114 of file register-ppc.h.

◆ REGISTER_CODE [3/4]

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

Definition at line 114 of file register-ppc.h.

◆ REGISTER_CODE [4/4]

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

Definition at line 114 of file register-ppc.h.

◆ SIMD128_REGISTERS

#define SIMD128_REGISTERS ( V)
Value:
V(v0) V(v1) V(v2) V(v3) V(v4) V(v5) V(v6) V(v7) \
V(v8) V(v9) V(v10) V(v11) V(v12) V(v13) V(v14) V(v15) \
V(v16) V(v17) V(v18) V(v19) V(v20) V(v21) V(v22) V(v23) \
V(v24) V(v25) V(v26) V(v27) V(v28) V(v29) V(v30) V(v31)

Definition at line 61 of file register-ppc.h.