v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
v8::internal::baseline::detail Namespace Reference

Classes

struct  ArgumentSettingHelper
 
struct  ArgumentSettingHelper< Descriptor, ArgIndex, false, Arg, Args... >
 
struct  ArgumentSettingHelper< Descriptor, ArgIndex, kIsRegister >
 
struct  ArgumentSettingHelper< Descriptor, ArgIndex, true, Arg, Args... >
 
struct  ArgumentSettingHelper< Descriptor, ArgIndex, true, interpreter::RegisterList >
 
struct  CountPushHelper
 
struct  CountPushHelper< Arg, Args... >
 
struct  CountPushHelper< interpreter::RegisterList, Args... >
 
struct  CountPushHelper<>
 
struct  PopAllHelper
 
struct  PopAllHelper< Register >
 
struct  PopAllHelper< Register, Register, T... >
 
struct  PopAllHelper< Register, T... >
 
struct  PopAllHelper<>
 
struct  PushAllHelper
 
struct  PushAllHelper< Arg >
 
struct  PushAllHelper< Arg, Args... >
 
struct  PushAllHelper< Arg, interpreter::RegisterList >
 
struct  PushAllHelper< Arg1, Arg2, Args... >
 
struct  PushAllHelper< interpreter::RegisterList >
 
struct  PushAllHelper<>
 
struct  PushHelper
 
struct  PushHelper< interpreter::RegisterList >
 

Functions

template<typename Arg >
Register ToRegister (BaselineAssembler *basm, BaselineAssembler::ScratchRegisterScope *scope, Arg arg)
 
Register ToRegister (BaselineAssembler *basm, BaselineAssembler::ScratchRegisterScope *scope, Register reg)
 
template<typename... Args>
void PushAll (BaselineAssembler *basm, Args... args)
 
template<typename... Args>
void PushAllReverse (BaselineAssembler *basm, Args... args)
 
template<typename Descriptor , typename... Args>
void CheckArgs (Args... args)
 
template<typename... Args>
void CheckSettingDoesntClobber (Register target, Args... args)
 
template<Builtin kBuiltin, typename... Args>
void MoveArgumentsForBuiltin (BaselineAssembler *masm, Args... args)
 
void PushSingle (MacroAssembler *masm, RootIndex source)
 
void PushSingle (MacroAssembler *masm, Register reg)
 
void PushSingle (MacroAssembler *masm, Tagged< TaggedIndex > value)
 
void PushSingle (MacroAssembler *masm, Tagged< Smi > value)
 
void PushSingle (MacroAssembler *masm, Handle< HeapObject > object)
 
void PushSingle (MacroAssembler *masm, int32_t immediate)
 
void PushSingle (MacroAssembler *masm, MemOperand operand)
 
void PushSingle (MacroAssembler *masm, interpreter::Register source)
 

Variables

static constexpr Register kScratchRegisters [] = {ecx, edx, esi, edi}
 
static constexpr int kNumScratchRegisters = arraysize(kScratchRegisters)
 
static constexpr Register kScratchRegisters [] = {r9, r10, ip}
 
static constexpr int kNumScratchRegisters = arraysize(kScratchRegisters)
 
static constexpr Register kScratchRegisters [] = {r8, ip, r1}
 
static constexpr int kNumScratchRegisters = arraysize(kScratchRegisters)
 
static constexpr Register kScratchRegisters [] = {r8, r9, r11, r12, r15}
 
static constexpr int kNumScratchRegisters = arraysize(kScratchRegisters)
 

Function Documentation

◆ CheckArgs()

template<typename Descriptor , typename... Args>
void v8::internal::baseline::detail::CheckArgs ( Args... args)

Definition at line 179 of file baseline-compiler.cc.

Here is the caller graph for this function:

◆ CheckSettingDoesntClobber()

template<typename... Args>
void v8::internal::baseline::detail::CheckSettingDoesntClobber ( Register target,
Args... args )

Definition at line 182 of file baseline-compiler.cc.

Here is the caller graph for this function:

◆ MoveArgumentsForBuiltin()

template<Builtin kBuiltin, typename... Args>
void v8::internal::baseline::detail::MoveArgumentsForBuiltin ( BaselineAssembler * masm,
Args... args )

Definition at line 238 of file baseline-compiler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PushAll()

template<typename... Args>
void v8::internal::baseline::detail::PushAll ( BaselineAssembler * basm,
Args... args )
inline

Definition at line 269 of file baseline-assembler-arm64-inl.h.

Here is the caller graph for this function:

◆ PushAllReverse()

template<typename... Args>
void v8::internal::baseline::detail::PushAllReverse ( BaselineAssembler * basm,
Args... args )
inline

Definition at line 273 of file baseline-assembler-arm64-inl.h.

Here is the caller graph for this function:

◆ PushSingle() [1/8]

void v8::internal::baseline::detail::PushSingle ( MacroAssembler * masm,
Handle< HeapObject > object )
inline

Definition at line 233 of file baseline-assembler-ia32-inl.h.

Here is the call graph for this function:

◆ PushSingle() [2/8]

void v8::internal::baseline::detail::PushSingle ( MacroAssembler * masm,
int32_t immediate )
inline

Definition at line 236 of file baseline-assembler-ia32-inl.h.

Here is the call graph for this function:

◆ PushSingle() [3/8]

void v8::internal::baseline::detail::PushSingle ( MacroAssembler * masm,
interpreter::Register source )
inline

Definition at line 242 of file baseline-assembler-ia32-inl.h.

Here is the call graph for this function:

◆ PushSingle() [4/8]

void v8::internal::baseline::detail::PushSingle ( MacroAssembler * masm,
MemOperand operand )
inline

Definition at line 239 of file baseline-assembler-ia32-inl.h.

Here is the call graph for this function:

◆ PushSingle() [5/8]

void v8::internal::baseline::detail::PushSingle ( MacroAssembler * masm,
Register reg )
inline

Definition at line 226 of file baseline-assembler-ia32-inl.h.

Here is the call graph for this function:

◆ PushSingle() [6/8]

void v8::internal::baseline::detail::PushSingle ( MacroAssembler * masm,
RootIndex source )
inline

Definition at line 223 of file baseline-assembler-ia32-inl.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PushSingle() [7/8]

void v8::internal::baseline::detail::PushSingle ( MacroAssembler * masm,
Tagged< Smi > value )
inline

Definition at line 230 of file baseline-assembler-ia32-inl.h.

Here is the call graph for this function:

◆ PushSingle() [8/8]

void v8::internal::baseline::detail::PushSingle ( MacroAssembler * masm,
Tagged< TaggedIndex > value )
inline

Definition at line 227 of file baseline-assembler-ia32-inl.h.

Here is the call graph for this function:

◆ ToRegister() [1/2]

template<typename Arg >
Register v8::internal::baseline::detail::ToRegister ( BaselineAssembler * basm,
BaselineAssembler::ScratchRegisterScope * scope,
Arg arg )
inline

Definition at line 216 of file baseline-assembler-arm-inl.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ToRegister() [2/2]

Register v8::internal::baseline::detail::ToRegister ( BaselineAssembler * basm,
BaselineAssembler::ScratchRegisterScope * scope,
Register reg )
inline

Definition at line 223 of file baseline-assembler-arm-inl.h.

Variable Documentation

◆ kNumScratchRegisters [1/4]

int v8::internal::baseline::detail::kNumScratchRegisters = arraysize(kScratchRegisters)
staticconstexpr

Definition at line 21 of file baseline-assembler-ia32-inl.h.

◆ kNumScratchRegisters [2/4]

int v8::internal::baseline::detail::kNumScratchRegisters = arraysize(kScratchRegisters)
staticconstexpr

Definition at line 21 of file baseline-assembler-ppc-inl.h.

◆ kNumScratchRegisters [3/4]

int v8::internal::baseline::detail::kNumScratchRegisters = arraysize(kScratchRegisters)
staticconstexpr

Definition at line 20 of file baseline-assembler-s390-inl.h.

◆ kNumScratchRegisters [4/4]

int v8::internal::baseline::detail::kNumScratchRegisters = arraysize(kScratchRegisters)
staticconstexpr

Definition at line 23 of file baseline-assembler-x64-inl.h.

◆ kScratchRegisters [1/4]

Register v8::internal::baseline::detail::kScratchRegisters[] = {ecx, edx, esi, edi}
staticconstexpr

Definition at line 20 of file baseline-assembler-ia32-inl.h.

◆ kScratchRegisters [2/4]

Register v8::internal::baseline::detail::kScratchRegisters[] = {r9, r10, ip}
staticconstexpr

Definition at line 20 of file baseline-assembler-ppc-inl.h.

◆ kScratchRegisters [3/4]

Register v8::internal::baseline::detail::kScratchRegisters[] = {r8, ip, r1}
staticconstexpr

Definition at line 19 of file baseline-assembler-s390-inl.h.

◆ kScratchRegisters [4/4]

Register v8::internal::baseline::detail::kScratchRegisters[] = {r8, r9, r11, r12, r15}
staticconstexpr

Definition at line 22 of file baseline-assembler-x64-inl.h.