V8 Project
v8::internal::compiler::X64LinkageHelperTraits Struct Reference
+ Collaboration diagram for v8::internal::compiler::X64LinkageHelperTraits:

Static Public Member Functions

static Register ReturnValueReg ()
 
static Register ReturnValue2Reg ()
 
static Register JSCallFunctionReg ()
 
static Register ContextReg ()
 
static Register RuntimeCallFunctionReg ()
 
static Register RuntimeCallArgCountReg ()
 
static RegList CCalleeSaveRegisters ()
 
static Register CRegisterParameter (int i)
 
static int CRegisterParametersLength ()
 

Detailed Description

Definition at line 23 of file linkage-x64.cc.

Member Function Documentation

◆ CCalleeSaveRegisters()

static RegList v8::internal::compiler::X64LinkageHelperTraits::CCalleeSaveRegisters ( )
inlinestatic

Definition at line 30 of file linkage-x64.cc.

30  {
31  if (kWin64) {
32  return rbx.bit() | rdi.bit() | rsi.bit() | r12.bit() | r13.bit() |
33  r14.bit() | r15.bit();
34  } else {
35  return rbx.bit() | r12.bit() | r13.bit() | r14.bit() | r15.bit();
36  }
37  }
const Register rsi
const Register r12
const Register rdi
const Register rbx
const Register r13
const Register r15
const Register r14

References v8::internal::Register::bit(), v8::internal::compiler::kWin64, v8::internal::r12, v8::internal::r13, v8::internal::r14, v8::internal::r15, v8::internal::rbx, v8::internal::rdi, and v8::internal::rsi.

+ Here is the call graph for this function:

◆ ContextReg()

static Register v8::internal::compiler::X64LinkageHelperTraits::ContextReg ( )
inlinestatic

Definition at line 27 of file linkage-x64.cc.

27 { return rsi; }

References v8::internal::rsi.

◆ CRegisterParameter()

static Register v8::internal::compiler::X64LinkageHelperTraits::CRegisterParameter ( int  i)
inlinestatic

Definition at line 38 of file linkage-x64.cc.

38  {
39  if (kWin64) {
40  static Register register_parameters[] = {rcx, rdx, r8, r9};
41  return register_parameters[i];
42  } else {
43  static Register register_parameters[] = {rdi, rsi, rdx, rcx, r8, r9};
44  return register_parameters[i];
45  }
46  }
const Register r9
const Register r8
const Register rdx
const Register rcx

References v8::internal::compiler::kWin64, v8::internal::r8, v8::internal::r9, v8::internal::rcx, v8::internal::rdi, v8::internal::rdx, and v8::internal::rsi.

◆ CRegisterParametersLength()

static int v8::internal::compiler::X64LinkageHelperTraits::CRegisterParametersLength ( )
inlinestatic

Definition at line 47 of file linkage-x64.cc.

47 { return kWin64 ? 4 : 6; }

References v8::internal::compiler::kWin64.

◆ JSCallFunctionReg()

static Register v8::internal::compiler::X64LinkageHelperTraits::JSCallFunctionReg ( )
inlinestatic

Definition at line 26 of file linkage-x64.cc.

26 { return rdi; }

References v8::internal::rdi.

◆ ReturnValue2Reg()

static Register v8::internal::compiler::X64LinkageHelperTraits::ReturnValue2Reg ( )
inlinestatic

Definition at line 25 of file linkage-x64.cc.

25 { return rdx; }

References v8::internal::rdx.

◆ ReturnValueReg()

static Register v8::internal::compiler::X64LinkageHelperTraits::ReturnValueReg ( )
inlinestatic

Definition at line 24 of file linkage-x64.cc.

24 { return rax; }
const Register rax

References v8::internal::rax.

◆ RuntimeCallArgCountReg()

static Register v8::internal::compiler::X64LinkageHelperTraits::RuntimeCallArgCountReg ( )
inlinestatic

Definition at line 29 of file linkage-x64.cc.

29 { return rax; }

References v8::internal::rax.

◆ RuntimeCallFunctionReg()

static Register v8::internal::compiler::X64LinkageHelperTraits::RuntimeCallFunctionReg ( )
inlinestatic

Definition at line 28 of file linkage-x64.cc.

28 { return rbx; }

References v8::internal::rbx.


The documentation for this struct was generated from the following file: