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

#include <interface-descriptors.h>

Inherited by v8::internal::StaticCallInterfaceDescriptor< AbortDescriptor >, v8::internal::StaticCallInterfaceDescriptor< AllocateDescriptor >, v8::internal::StaticCallInterfaceDescriptor< ApiGetterDescriptor >, v8::internal::StaticCallInterfaceDescriptor< ArrayConstructorDescriptor >, v8::internal::StaticCallInterfaceDescriptor< ArrayNArgumentsConstructorDescriptor >, v8::internal::StaticCallInterfaceDescriptor< ArrayNoArgumentConstructorDescriptor >, v8::internal::StaticCallInterfaceDescriptor< ArraySingleArgumentConstructorDescriptor >, v8::internal::StaticCallInterfaceDescriptor< AsyncFunctionStackParameterDescriptor >, v8::internal::StaticCallInterfaceDescriptor< BaselineLeaveFrameDescriptor >, v8::internal::StaticCallInterfaceDescriptor< BaselineOutOfLinePrologueDescriptor >, v8::internal::StaticCallInterfaceDescriptor< BigIntToI32PairDescriptor >, v8::internal::StaticCallInterfaceDescriptor< BigIntToI64Descriptor >, v8::internal::StaticCallInterfaceDescriptor< BinaryOpDescriptor >, v8::internal::StaticCallInterfaceDescriptor< BinaryOp_BaselineDescriptor >, v8::internal::StaticCallInterfaceDescriptor< BinaryOp_WithFeedbackDescriptor >, v8::internal::StaticCallInterfaceDescriptor< BinarySmiOp_BaselineDescriptor >, v8::internal::StaticCallInterfaceDescriptor< CCallDescriptor >, v8::internal::StaticCallInterfaceDescriptor< CEntry1ArgvOnStackDescriptor >, v8::internal::StaticCallInterfaceDescriptor< CEntryDummyDescriptor >, v8::internal::StaticCallInterfaceDescriptor< CallApiCallbackGenericDescriptor >, v8::internal::StaticCallInterfaceDescriptor< CallApiCallbackOptimizedDescriptor >, v8::internal::StaticCallInterfaceDescriptor< CallForwardVarargsDescriptor >, v8::internal::StaticCallInterfaceDescriptor< CallFunctionTemplateDescriptor >, v8::internal::StaticCallInterfaceDescriptor< CallFunctionTemplateGenericDescriptor >, v8::internal::StaticCallInterfaceDescriptor< CallTrampolineDescriptor >, v8::internal::StaticCallInterfaceDescriptor< CallTrampoline_BaselineDescriptor >, v8::internal::StaticCallInterfaceDescriptor< CallTrampoline_Baseline_CompactDescriptor >, v8::internal::StaticCallInterfaceDescriptor< CallTrampoline_WithFeedbackDescriptor >, v8::internal::StaticCallInterfaceDescriptor< CallVarargsDescriptor >, v8::internal::StaticCallInterfaceDescriptor< CallWithArrayLikeDescriptor >, v8::internal::StaticCallInterfaceDescriptor< CallWithArrayLike_WithFeedbackDescriptor >, v8::internal::StaticCallInterfaceDescriptor< CallWithSpreadDescriptor >, v8::internal::StaticCallInterfaceDescriptor< CallWithSpread_BaselineDescriptor >, v8::internal::StaticCallInterfaceDescriptor< CallWithSpread_WithFeedbackDescriptor >, v8::internal::StaticCallInterfaceDescriptor< CheckTurboshaftFloat32TypeDescriptor >, v8::internal::StaticCallInterfaceDescriptor< CheckTurboshaftFloat64TypeDescriptor >, v8::internal::StaticCallInterfaceDescriptor< CloneObjectBaselineDescriptor >, v8::internal::StaticCallInterfaceDescriptor< CloneObjectWithVectorDescriptor >, v8::internal::StaticCallInterfaceDescriptor< CompareDescriptor >, v8::internal::StaticCallInterfaceDescriptor< CompareNoContextDescriptor >, v8::internal::StaticCallInterfaceDescriptor< Compare_BaselineDescriptor >, v8::internal::StaticCallInterfaceDescriptor< Compare_WithFeedbackDescriptor >, v8::internal::StaticCallInterfaceDescriptor< ConstructForwardAllArgsDescriptor >, v8::internal::StaticCallInterfaceDescriptor< ConstructForwardAllArgs_BaselineDescriptor >, v8::internal::StaticCallInterfaceDescriptor< ConstructForwardAllArgs_WithFeedbackDescriptor >, v8::internal::StaticCallInterfaceDescriptor< ConstructForwardVarargsDescriptor >, v8::internal::StaticCallInterfaceDescriptor< ConstructStubDescriptor >, v8::internal::StaticCallInterfaceDescriptor< ConstructVarargsDescriptor >, v8::internal::StaticCallInterfaceDescriptor< ConstructWithArrayLikeDescriptor >, v8::internal::StaticCallInterfaceDescriptor< ConstructWithSpreadDescriptor >, v8::internal::StaticCallInterfaceDescriptor< ConstructWithSpread_BaselineDescriptor >, v8::internal::StaticCallInterfaceDescriptor< ConstructWithSpread_WithFeedbackDescriptor >, v8::internal::StaticCallInterfaceDescriptor< Construct_BaselineDescriptor >, v8::internal::StaticCallInterfaceDescriptor< Construct_WithFeedbackDescriptor >, v8::internal::StaticCallInterfaceDescriptor< ContextOnlyDescriptor >, v8::internal::StaticCallInterfaceDescriptor< CopyDataPropertiesWithExcludedPropertiesDescriptor >, v8::internal::StaticCallInterfaceDescriptor< CopyDataPropertiesWithExcludedPropertiesOnStackDescriptor >, v8::internal::StaticCallInterfaceDescriptor< CppBuiltinAdaptorDescriptor >, v8::internal::StaticCallInterfaceDescriptor< CreateFromSlowBoilerplateHelperDescriptor >, v8::internal::StaticCallInterfaceDescriptor< DebugPrintFloat64Descriptor >, v8::internal::StaticCallInterfaceDescriptor< DebugPrintWordPtrDescriptor >, v8::internal::StaticCallInterfaceDescriptor< DefineKeyedOwnBaselineDescriptor >, v8::internal::StaticCallInterfaceDescriptor< DefineKeyedOwnDescriptor >, v8::internal::StaticCallInterfaceDescriptor< DefineKeyedOwnWithVectorDescriptor >, v8::internal::StaticCallInterfaceDescriptor< EnumeratedKeyedLoadBaselineDescriptor >, v8::internal::StaticCallInterfaceDescriptor< EnumeratedKeyedLoadDescriptor >, v8::internal::StaticCallInterfaceDescriptor< FastNewObjectDescriptor >, v8::internal::StaticCallInterfaceDescriptor< FindNonDefaultConstructorOrConstructDescriptor >, v8::internal::StaticCallInterfaceDescriptor< ForInPrepareDescriptor >, v8::internal::StaticCallInterfaceDescriptor< GetIteratorStackParameterDescriptor >, v8::internal::StaticCallInterfaceDescriptor< GetPropertyDescriptor >, v8::internal::StaticCallInterfaceDescriptor< GrowArrayElementsDescriptor >, v8::internal::StaticCallInterfaceDescriptor< I32PairToBigIntDescriptor >, v8::internal::StaticCallInterfaceDescriptor< I64ToBigIntDescriptor >, v8::internal::StaticCallInterfaceDescriptor< IndirectPointerWriteBarrierDescriptor >, v8::internal::StaticCallInterfaceDescriptor< InterpreterCEntry1Descriptor >, v8::internal::StaticCallInterfaceDescriptor< InterpreterCEntry2Descriptor >, v8::internal::StaticCallInterfaceDescriptor< InterpreterDispatchDescriptor >, v8::internal::StaticCallInterfaceDescriptor< InterpreterPushArgsThenCallDescriptor >, v8::internal::StaticCallInterfaceDescriptor< InterpreterPushArgsThenConstructDescriptor >, v8::internal::StaticCallInterfaceDescriptor< JSTrampolineDescriptor >, v8::internal::StaticCallInterfaceDescriptor< KeyedHasICBaselineDescriptor >, v8::internal::StaticCallInterfaceDescriptor< KeyedHasICWithVectorDescriptor >, v8::internal::StaticCallInterfaceDescriptor< KeyedLoadBaselineDescriptor >, v8::internal::StaticCallInterfaceDescriptor< KeyedLoadDescriptor >, v8::internal::StaticCallInterfaceDescriptor< KeyedLoadWithVectorDescriptor >, v8::internal::StaticCallInterfaceDescriptor< LoadBaselineDescriptor >, v8::internal::StaticCallInterfaceDescriptor< LoadDescriptor >, v8::internal::StaticCallInterfaceDescriptor< LoadGlobalBaselineDescriptor >, v8::internal::StaticCallInterfaceDescriptor< LoadGlobalDescriptor >, v8::internal::StaticCallInterfaceDescriptor< LoadGlobalNoFeedbackDescriptor >, v8::internal::StaticCallInterfaceDescriptor< LoadGlobalWithVectorDescriptor >, v8::internal::StaticCallInterfaceDescriptor< LoadNoFeedbackDescriptor >, v8::internal::StaticCallInterfaceDescriptor< LoadWithReceiverAndVectorDescriptor >, v8::internal::StaticCallInterfaceDescriptor< LoadWithReceiverBaselineDescriptor >, v8::internal::StaticCallInterfaceDescriptor< LoadWithVectorDescriptor >, v8::internal::StaticCallInterfaceDescriptor< LookupBaselineDescriptor >, v8::internal::StaticCallInterfaceDescriptor< LookupTrampolineDescriptor >, v8::internal::StaticCallInterfaceDescriptor< LookupWithVectorDescriptor >, v8::internal::StaticCallInterfaceDescriptor< MaglevOptimizeCodeOrTailCallOptimizedCodeSlotDescriptor >, v8::internal::StaticCallInterfaceDescriptor< NewHeapNumberDescriptor >, v8::internal::StaticCallInterfaceDescriptor< NoContextDescriptor >, v8::internal::StaticCallInterfaceDescriptor< OnStackReplacementDescriptor >, v8::internal::StaticCallInterfaceDescriptor< RegExpTrampolineDescriptor >, v8::internal::StaticCallInterfaceDescriptor< RestartFrameTrampolineDescriptor >, v8::internal::StaticCallInterfaceDescriptor< ResumeGeneratorBaselineDescriptor >, v8::internal::StaticCallInterfaceDescriptor< ResumeGeneratorDescriptor >, v8::internal::StaticCallInterfaceDescriptor< RunMicrotasksDescriptor >, v8::internal::StaticCallInterfaceDescriptor< RunMicrotasksEntryDescriptor >, v8::internal::StaticCallInterfaceDescriptor< SingleParameterOnStackDescriptor >, v8::internal::StaticCallInterfaceDescriptor< Descriptor >, v8::internal::StaticCallInterfaceDescriptor< StoreBaselineDescriptor >, v8::internal::StaticCallInterfaceDescriptor< StoreDescriptor >, v8::internal::StaticCallInterfaceDescriptor< StoreGlobalBaselineDescriptor >, v8::internal::StaticCallInterfaceDescriptor< StoreGlobalDescriptor >, v8::internal::StaticCallInterfaceDescriptor< StoreGlobalWithVectorDescriptor >, v8::internal::StaticCallInterfaceDescriptor< StoreNoFeedbackDescriptor >, v8::internal::StaticCallInterfaceDescriptor< StoreTransitionDescriptor >, v8::internal::StaticCallInterfaceDescriptor< StoreWithVectorDescriptor >, v8::internal::StaticCallInterfaceDescriptor< StringAtAsStringDescriptor >, v8::internal::StaticCallInterfaceDescriptor< StringEqualDescriptor >, v8::internal::StaticCallInterfaceDescriptor< StringSubstringDescriptor >, v8::internal::StaticCallInterfaceDescriptor< SuspendGeneratorBaselineDescriptor >, v8::internal::StaticCallInterfaceDescriptor< TypeConversionDescriptor >, v8::internal::StaticCallInterfaceDescriptor< TypeConversionNoContextDescriptor >, v8::internal::StaticCallInterfaceDescriptor< TypeConversion_BaselineDescriptor >, v8::internal::StaticCallInterfaceDescriptor< TypeofDescriptor >, v8::internal::StaticCallInterfaceDescriptor< UnaryOp_BaselineDescriptor >, v8::internal::StaticCallInterfaceDescriptor< UnaryOp_WithFeedbackDescriptor >, v8::internal::StaticCallInterfaceDescriptor< VoidDescriptor >, v8::internal::StaticCallInterfaceDescriptor< WasmDummyDescriptor >, v8::internal::StaticCallInterfaceDescriptor< WasmFloat32ToNumberDescriptor >, v8::internal::StaticCallInterfaceDescriptor< WasmFloat64ToTaggedDescriptor >, v8::internal::StaticCallInterfaceDescriptor< WasmHandleStackOverflowDescriptor >, v8::internal::StaticCallInterfaceDescriptor< WasmJSToWasmWrapperDescriptor >, v8::internal::StaticCallInterfaceDescriptor< WasmSuspendDescriptor >, v8::internal::StaticCallInterfaceDescriptor< WasmToJSWrapperDescriptor >, v8::internal::StaticCallInterfaceDescriptor< WriteBarrierDescriptor >, and v8::internal::StaticCallInterfaceDescriptor< DerivedDescriptor >.

Collaboration diagram for v8::internal::CallInterfaceDescriptor:

Public Types

using Flags = CallInterfaceDescriptorData::Flags
 

Public Member Functions

 CallInterfaceDescriptor ()
 
 ~CallInterfaceDescriptor ()=default
 
 CallInterfaceDescriptor (CallDescriptors::Key key)
 
Flags flags () const
 
CodeEntrypointTag tag () const
 
bool HasContextParameter () const
 
bool AllowVarArgs () const
 
bool CalleeSaveRegisters () const
 
int GetReturnCount () const
 
MachineType GetReturnType (int index) const
 
int GetParameterCount () const
 
int GetRegisterParameterCount () const
 
int GetStackParameterCount () const
 
Register GetRegisterParameter (int index) const
 
DoubleRegister GetDoubleRegisterParameter (int index) const
 
Register GetRegisterReturn (int index) const
 
DoubleRegister GetDoubleRegisterReturn (int index) const
 
MachineType GetParameterType (int index) const
 
RegList allocatable_registers () const
 
StackArgumentOrder GetStackArgumentOrder () const
 
const char * DebugName () const
 
bool operator== (const CallInterfaceDescriptor &other) const
 

Static Public Member Functions

static constexpr Register ContextRegister ()
 

Protected Member Functions

const CallInterfaceDescriptorDatadata () const
 
bool CheckFloatingPointParameters (CallInterfaceDescriptorData *data)
 
bool IsValidFloatParameterRegister (Register reg)
 

Static Protected Member Functions

static constexpr auto DefaultRegisterArray ()
 
static constexpr auto DefaultDoubleRegisterArray ()
 
static constexpr auto DefaultReturnRegisterArray ()
 
static constexpr auto DefaultReturnDoubleRegisterArray ()
 
static constexpr std::array< Register, kJSBuiltinRegisterParamsDefaultJSRegisterArray ()
 

Private Attributes

const CallInterfaceDescriptorDatadata_
 

Detailed Description

Definition at line 354 of file interface-descriptors.h.

Member Typedef Documentation

◆ Flags

Constructor & Destructor Documentation

◆ CallInterfaceDescriptor() [1/2]

v8::internal::CallInterfaceDescriptor::CallInterfaceDescriptor ( )
inline

Definition at line 358 of file interface-descriptors.h.

◆ ~CallInterfaceDescriptor()

v8::internal::CallInterfaceDescriptor::~CallInterfaceDescriptor ( )
default

◆ CallInterfaceDescriptor() [2/2]

v8::internal::CallInterfaceDescriptor::CallInterfaceDescriptor ( CallDescriptors::Key key)
inlineexplicit

Definition at line 361 of file interface-descriptors.h.

Member Function Documentation

◆ allocatable_registers()

RegList v8::internal::CallInterfaceDescriptor::allocatable_registers ( ) const
inline

Definition at line 422 of file interface-descriptors.h.

Here is the caller graph for this function:

◆ AllowVarArgs()

bool v8::internal::CallInterfaceDescriptor::AllowVarArgs ( ) const
inline

Definition at line 372 of file interface-descriptors.h.

Here is the call graph for this function:

◆ CalleeSaveRegisters()

bool v8::internal::CallInterfaceDescriptor::CalleeSaveRegisters ( ) const
inline

Definition at line 376 of file interface-descriptors.h.

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

◆ CheckFloatingPointParameters()

bool v8::internal::CallInterfaceDescriptor::CheckFloatingPointParameters ( CallInterfaceDescriptorData * data)
inlineprotected

Definition at line 455 of file interface-descriptors.h.

Here is the call graph for this function:

◆ ContextRegister()

static constexpr Register v8::internal::CallInterfaceDescriptor::ContextRegister ( )
inlinestaticconstexpr

Definition at line 430 of file interface-descriptors.h.

◆ data()

const CallInterfaceDescriptorData * v8::internal::CallInterfaceDescriptor::data ( ) const
inlineprotected

Definition at line 441 of file interface-descriptors.h.

◆ DebugName()

const char * v8::internal::CallInterfaceDescriptor::DebugName ( ) const

Definition at line 131 of file interface-descriptors.cc.

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

◆ DefaultDoubleRegisterArray()

auto v8::internal::CallInterfaceDescriptor::DefaultDoubleRegisterArray ( )
inlinestaticconstexprprotected

Definition at line 21 of file interface-descriptors-riscv-inl.h.

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

◆ DefaultJSRegisterArray()

std::array< Register, kJSBuiltinRegisterParams > v8::internal::CallInterfaceDescriptor::DefaultJSRegisterArray ( )
inlinestaticconstexprprotected

Definition at line 46 of file interface-descriptors-inl.h.

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

◆ DefaultRegisterArray()

auto v8::internal::CallInterfaceDescriptor::DefaultRegisterArray ( )
inlinestaticconstexprprotected

Definition at line 15 of file interface-descriptors-riscv-inl.h.

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

◆ DefaultReturnDoubleRegisterArray()

auto v8::internal::CallInterfaceDescriptor::DefaultReturnDoubleRegisterArray ( )
inlinestaticconstexprprotected

Definition at line 32 of file interface-descriptors-riscv-inl.h.

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

◆ DefaultReturnRegisterArray()

auto v8::internal::CallInterfaceDescriptor::DefaultReturnRegisterArray ( )
inlinestaticconstexprprotected

Definition at line 26 of file interface-descriptors-riscv-inl.h.

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

◆ flags()

Flags v8::internal::CallInterfaceDescriptor::flags ( ) const
inline

Definition at line 364 of file interface-descriptors.h.

◆ GetDoubleRegisterParameter()

DoubleRegister v8::internal::CallInterfaceDescriptor::GetDoubleRegisterParameter ( int index) const
inline

Definition at line 402 of file interface-descriptors.h.

Here is the caller graph for this function:

◆ GetDoubleRegisterReturn()

DoubleRegister v8::internal::CallInterfaceDescriptor::GetDoubleRegisterReturn ( int index) const
inline

Definition at line 412 of file interface-descriptors.h.

Here is the caller graph for this function:

◆ GetParameterCount()

int v8::internal::CallInterfaceDescriptor::GetParameterCount ( ) const
inline

Definition at line 387 of file interface-descriptors.h.

Here is the caller graph for this function:

◆ GetParameterType()

MachineType v8::internal::CallInterfaceDescriptor::GetParameterType ( int index) const
inline

Definition at line 417 of file interface-descriptors.h.

Here is the caller graph for this function:

◆ GetRegisterParameter()

Register v8::internal::CallInterfaceDescriptor::GetRegisterParameter ( int index) const
inline

Definition at line 397 of file interface-descriptors.h.

Here is the caller graph for this function:

◆ GetRegisterParameterCount()

int v8::internal::CallInterfaceDescriptor::GetRegisterParameterCount ( ) const
inline

Definition at line 389 of file interface-descriptors.h.

Here is the caller graph for this function:

◆ GetRegisterReturn()

Register v8::internal::CallInterfaceDescriptor::GetRegisterReturn ( int index) const
inline

Definition at line 407 of file interface-descriptors.h.

Here is the caller graph for this function:

◆ GetReturnCount()

int v8::internal::CallInterfaceDescriptor::GetReturnCount ( ) const
inline

Definition at line 380 of file interface-descriptors.h.

Here is the caller graph for this function:

◆ GetReturnType()

MachineType v8::internal::CallInterfaceDescriptor::GetReturnType ( int index) const
inline

Definition at line 382 of file interface-descriptors.h.

Here is the caller graph for this function:

◆ GetStackArgumentOrder()

StackArgumentOrder v8::internal::CallInterfaceDescriptor::GetStackArgumentOrder ( ) const
inline

Definition at line 426 of file interface-descriptors.h.

Here is the caller graph for this function:

◆ GetStackParameterCount()

int v8::internal::CallInterfaceDescriptor::GetStackParameterCount ( ) const
inline

Definition at line 393 of file interface-descriptors.h.

Here is the caller graph for this function:

◆ HasContextParameter()

bool v8::internal::CallInterfaceDescriptor::HasContextParameter ( ) const
inline

Definition at line 368 of file interface-descriptors.h.

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

◆ IsValidFloatParameterRegister()

bool v8::internal::CallInterfaceDescriptor::IsValidFloatParameterRegister ( Register reg)
protected

Definition at line 145 of file interface-descriptors.cc.

◆ operator==()

bool v8::internal::CallInterfaceDescriptor::operator== ( const CallInterfaceDescriptor & other) const
inline

Definition at line 436 of file interface-descriptors.h.

◆ tag()

CodeEntrypointTag v8::internal::CallInterfaceDescriptor::tag ( ) const
inline

Definition at line 366 of file interface-descriptors.h.

Here is the caller graph for this function:

Member Data Documentation

◆ data_

const CallInterfaceDescriptorData* v8::internal::CallInterfaceDescriptor::data_
private

Definition at line 469 of file interface-descriptors.h.


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