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

#include <linkage.h>

Inheritance diagram for v8::internal::compiler::Linkage:
Collaboration diagram for v8::internal::compiler::Linkage:

Public Member Functions

 Linkage (CallDescriptor *incoming)
 
 Linkage (const Linkage &)=delete
 
Linkageoperator= (const Linkage &)=delete
 
CallDescriptorGetIncomingDescriptor () const
 
LinkageLocation GetParameterLocation (int index) const
 
MachineType GetParameterType (int index) const
 
LinkageLocation GetReturnLocation (size_t index=0) const
 
MachineType GetReturnType (size_t index=0) const
 
bool ParameterHasSecondaryLocation (int index) const
 
LinkageLocation GetParameterSecondaryLocation (int index) const
 
LinkageLocation GetOsrValueLocation (int index) const
 

Static Public Member Functions

static CallDescriptorComputeIncoming (Zone *zone, OptimizedCompilationInfo *info)
 
static CallDescriptorGetJSCallDescriptor (Zone *zone, bool is_osr, int parameter_count, CallDescriptor::Flags flags, Operator::Properties properties=Operator::kNoProperties)
 
static CallDescriptorGetRuntimeCallDescriptor (Zone *zone, Runtime::FunctionId function, int js_parameter_count, Operator::Properties properties, CallDescriptor::Flags flags, LazyDeoptOnThrow lazy_deopt_on_throw=LazyDeoptOnThrow::kNo)
 
static CallDescriptorGetCEntryStubCallDescriptor (Zone *zone, int return_count, int js_parameter_count, const char *debug_name, Operator::Properties properties, CallDescriptor::Flags flags, StackArgumentOrder stack_order=StackArgumentOrder::kDefault)
 
static CallDescriptorGetStubCallDescriptor (Zone *zone, const CallInterfaceDescriptor &descriptor, int stack_parameter_count, CallDescriptor::Flags flags, Operator::Properties properties=Operator::kNoProperties, StubCallMode stub_mode=StubCallMode::kCallCodeObject)
 
static CallDescriptorGetBytecodeDispatchCallDescriptor (Zone *zone, const CallInterfaceDescriptor &descriptor, int stack_parameter_count)
 
static CallDescriptorGetSimplifiedCDescriptor (Zone *zone, const MachineSignature *sig, CallDescriptor::Flags flags=CallDescriptor::kNoFlags, Operator::Properties properties=Operator::kNoThrow)
 
static bool NeedsFrameStateInput (Runtime::FunctionId function)
 
static int GetStubCallContextParamIndex (int parameter_count)
 
static constexpr int GetJSCallNewTargetParamIndex (int parameter_count)
 
static constexpr int GetJSCallArgCountParamIndex (int parameter_count)
 
static constexpr int GetJSCallContextParamIndex (int parameter_count)
 

Static Public Attributes

static constexpr int kJSCallClosureParamIndex = kJSCallClosureParameterIndex
 
static const int kOsrContextSpillSlotIndex = -1
 
static const int kOsrAccumulatorRegisterIndex = -1
 

Private Attributes

CallDescriptor *const incoming_
 

Detailed Description

Definition at line 394 of file linkage.h.

Constructor & Destructor Documentation

◆ Linkage() [1/2]

v8::internal::compiler::Linkage::Linkage ( CallDescriptor * incoming)
inlineexplicit

Definition at line 396 of file linkage.h.

◆ Linkage() [2/2]

v8::internal::compiler::Linkage::Linkage ( const Linkage & )
delete

Member Function Documentation

◆ ComputeIncoming()

CallDescriptor * v8::internal::compiler::Linkage::ComputeIncoming ( Zone * zone,
OptimizedCompilationInfo * info )
static

Definition at line 361 of file linkage.cc.

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

◆ GetBytecodeDispatchCallDescriptor()

CallDescriptor * v8::internal::compiler::Linkage::GetBytecodeDispatchCallDescriptor ( Zone * zone,
const CallInterfaceDescriptor & descriptor,
int stack_parameter_count )
static

Definition at line 686 of file linkage.cc.

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

◆ GetCEntryStubCallDescriptor()

CallDescriptor * v8::internal::compiler::Linkage::GetCEntryStubCallDescriptor ( Zone * zone,
int return_count,
int js_parameter_count,
const char * debug_name,
Operator::Properties properties,
CallDescriptor::Flags flags,
StackArgumentOrder stack_order = StackArgumentOrder::kDefault )
static

Definition at line 447 of file linkage.cc.

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

◆ GetIncomingDescriptor()

CallDescriptor * v8::internal::compiler::Linkage::GetIncomingDescriptor ( ) const
inline

Definition at line 405 of file linkage.h.

Here is the caller graph for this function:

◆ GetJSCallArgCountParamIndex()

static constexpr int v8::internal::compiler::Linkage::GetJSCallArgCountParamIndex ( int parameter_count)
inlinestaticconstexpr

Definition at line 482 of file linkage.h.

Here is the caller graph for this function:

◆ GetJSCallContextParamIndex()

static constexpr int v8::internal::compiler::Linkage::GetJSCallContextParamIndex ( int parameter_count)
inlinestaticconstexpr

Definition at line 495 of file linkage.h.

Here is the caller graph for this function:

◆ GetJSCallDescriptor()

CallDescriptor * v8::internal::compiler::Linkage::GetJSCallDescriptor ( Zone * zone,
bool is_osr,
int parameter_count,
CallDescriptor::Flags flags,
Operator::Properties properties = Operator::kNoProperties )
static

Definition at line 507 of file linkage.cc.

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

◆ GetJSCallNewTargetParamIndex()

static constexpr int v8::internal::compiler::Linkage::GetJSCallNewTargetParamIndex ( int parameter_count)
inlinestaticconstexpr

Definition at line 477 of file linkage.h.

Here is the caller graph for this function:

◆ GetOsrValueLocation()

LinkageLocation v8::internal::compiler::Linkage::GetOsrValueLocation ( int index) const

Definition at line 731 of file linkage.cc.

Here is the call graph for this function:

◆ GetParameterLocation()

LinkageLocation v8::internal::compiler::Linkage::GetParameterLocation ( int index) const
inline

Definition at line 444 of file linkage.h.

Here is the caller graph for this function:

◆ GetParameterSecondaryLocation()

LinkageLocation v8::internal::compiler::Linkage::GetParameterSecondaryLocation ( int index) const

Definition at line 778 of file linkage.cc.

Here is the call graph for this function:

◆ GetParameterType()

MachineType v8::internal::compiler::Linkage::GetParameterType ( int index) const
inline

Definition at line 449 of file linkage.h.

Here is the caller graph for this function:

◆ GetReturnLocation()

LinkageLocation v8::internal::compiler::Linkage::GetReturnLocation ( size_t index = 0) const
inline

Definition at line 454 of file linkage.h.

Here is the caller graph for this function:

◆ GetReturnType()

MachineType v8::internal::compiler::Linkage::GetReturnType ( size_t index = 0) const
inline

Definition at line 459 of file linkage.h.

◆ GetRuntimeCallDescriptor()

CallDescriptor * v8::internal::compiler::Linkage::GetRuntimeCallDescriptor ( Zone * zone,
Runtime::FunctionId function,
int js_parameter_count,
Operator::Properties properties,
CallDescriptor::Flags flags,
LazyDeoptOnThrow lazy_deopt_on_throw = LazyDeoptOnThrow::kNo )
static

Definition at line 426 of file linkage.cc.

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

◆ GetSimplifiedCDescriptor()

CallDescriptor * v8::internal::compiler::Linkage::GetSimplifiedCDescriptor ( Zone * zone,
const MachineSignature * sig,
CallDescriptor::Flags flags = CallDescriptor::kNoFlags,
Operator::Properties properties = Operator::kNoThrow )
static

Definition at line 269 of file c-linkage.cc.

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

◆ GetStubCallContextParamIndex()

static int v8::internal::compiler::Linkage::GetStubCallContextParamIndex ( int parameter_count)
inlinestatic

Definition at line 472 of file linkage.h.

◆ GetStubCallDescriptor()

CallDescriptor * v8::internal::compiler::Linkage::GetStubCallDescriptor ( Zone * zone,
const CallInterfaceDescriptor & descriptor,
int stack_parameter_count,
CallDescriptor::Flags flags,
Operator::Properties properties = Operator::kNoProperties,
StubCallMode stub_mode = StubCallMode::kCallCodeObject )
static

Definition at line 587 of file linkage.cc.

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

◆ NeedsFrameStateInput()

bool v8::internal::compiler::Linkage::NeedsFrameStateInput ( Runtime::FunctionId function)
static

Definition at line 385 of file linkage.cc.

Here is the caller graph for this function:

◆ operator=()

Linkage & v8::internal::compiler::Linkage::operator= ( const Linkage & )
delete

◆ ParameterHasSecondaryLocation()

bool v8::internal::compiler::Linkage::ParameterHasSecondaryLocation ( int index) const

Definition at line 762 of file linkage.cc.

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

Member Data Documentation

◆ incoming_

CallDescriptor* const v8::internal::compiler::Linkage::incoming_
private

Definition at line 514 of file linkage.h.

◆ kJSCallClosureParamIndex

int v8::internal::compiler::Linkage::kJSCallClosureParamIndex = kJSCallClosureParameterIndex
staticconstexpr

Definition at line 504 of file linkage.h.

◆ kOsrAccumulatorRegisterIndex

const int v8::internal::compiler::Linkage::kOsrAccumulatorRegisterIndex = -1
static

Definition at line 511 of file linkage.h.

◆ kOsrContextSpillSlotIndex

const int v8::internal::compiler::Linkage::kOsrContextSpillSlotIndex = -1
static

Definition at line 508 of file linkage.h.


The documentation for this class was generated from the following files: