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

#include <templates.h>

Inheritance diagram for v8::internal::FunctionTemplateInfo:
Collaboration diagram for v8::internal::FunctionTemplateInfo:

Classes

class  BodyDescriptor
 

Public Member Functions

 DECL_RARE_ACCESSORS (prototype_template, PrototypeTemplate, UnionOf< Undefined, ObjectTemplateInfo >) DECL_RARE_ACCESSORS(prototype_provider_template
 
UnionOf< Undefined, FunctionTemplateInfoDECL_RARE_ACCESSORS (parent_template, ParentTemplate, UnionOf< Undefined, FunctionTemplateInfo >) DECL_RARE_ACCESSORS(named_property_handler
 
UnionOf< Undefined, FunctionTemplateInfo > UnionOf< Undefined, InterceptorInfoDECL_RARE_ACCESSORS (indexed_property_handler, IndexedPropertyHandler, UnionOf< Undefined, InterceptorInfo >) DECL_RARE_ACCESSORS(instance_template
 
UnionOf< Undefined, FunctionTemplateInfo > UnionOf< Undefined, InterceptorInfo > UnionOf< Undefined, ObjectTemplateInfoDECL_RARE_ACCESSORS (instance_call_handler, InstanceCallHandler, UnionOf< Undefined, FunctionTemplateInfo >) DECL_RARE_ACCESSORS(access_check_info
 
UnionOf< Undefined, FunctionTemplateInfo > UnionOf< Undefined, InterceptorInfo > UnionOf< Undefined, ObjectTemplateInfo > UnionOf< Undefined, AccessCheckInfoDECL_PRIMITIVE_GETTER (allowed_receiver_instance_type_range_start, InstanceType) inline InstanceType GetInstanceType() const
 
void SetInstanceType (int api_instance_type)
 
void SetAllowedReceiverInstanceTypeRange (int api_instance_type_start, int api_instance_type_end)
 
Tagged< FunctionTemplateInfoGetParent (Isolate *isolate)
 
bool IsTemplateFor (Tagged< JSObject > object) const
 
bool IsTemplateFor (Tagged< Map > map) const
 
bool IsLeafTemplateForApiObject (Tagged< Object > object) const
 
bool instantiated ()
 
bool BreakAtEntry (Isolate *isolate)
 
bool HasInstanceType ()
 
int GetCFunctionsCount () const
 
Address GetCFunction (Isolate *isolate, int index) const
 
const CFunctionInfoGetCSignature (Isolate *isolate, int index) const
 
void init_callback_redirection (i::IsolateForSandbox isolate)
 
void remove_callback_redirection (i::IsolateForSandbox isolate)
 
template<class IsolateT >
bool has_callback (IsolateT *isolate) const
 

Static Public Member Functions

static Handle< SharedFunctionInfoGetOrCreateSharedFunctionInfo (Isolate *isolate, DirectHandle< FunctionTemplateInfo > info, MaybeDirectHandle< Name > maybe_name)
 
static Handle< SharedFunctionInfoGetOrCreateSharedFunctionInfo (LocalIsolate *isolate, DirectHandle< FunctionTemplateInfo > info, DirectHandle< Name > maybe_name)
 
static void SealAndPrepareForPromotionToReadOnly (Isolate *isolate, DirectHandle< FunctionTemplateInfo > info)
 
static std::optional< Tagged< Name > > TryGetCachedPropertyName (Isolate *isolate, Tagged< Object > getter)
 

Public Attributes

 PrototypeProviderTemplate
 
UnionOf< Undefined, FunctionTemplateInfoNamedPropertyHandler
 
UnionOf< Undefined, FunctionTemplateInfo > UnionOf< Undefined, InterceptorInfoInstanceTemplate
 
UnionOf< Undefined, FunctionTemplateInfo > UnionOf< Undefined, InterceptorInfo > UnionOf< Undefined, ObjectTemplateInfoAccessCheckInfo
 

Static Public Attributes

static const int kFunctionOverloadEntrySize = 2
 

Private Member Functions

 DECL_EXTERNAL_POINTER_ACCESSORS_MAYBE_READ_ONLY_HOST (maybe_redirected_callback, Address) inline int32_t relaxed_flag() const
 
void set_relaxed_flag (int32_t flags)
 
 DECL_PRIMITIVE_SETTER (allowed_receiver_instance_type_range_start, InstanceType) static const expr int kNoJSApiObjectType=0
 

Static Private Member Functions

static Tagged< FunctionTemplateRareDataEnsureFunctionTemplateRareData (Isolate *isolate, DirectHandle< FunctionTemplateInfo > function_template_info)
 
static Tagged< FunctionTemplateRareDataAllocateFunctionTemplateRareData (Isolate *isolate, DirectHandle< FunctionTemplateInfo > function_template_info)
 

Detailed Description

Definition at line 117 of file templates.h.

Member Function Documentation

◆ AllocateFunctionTemplateRareData()

Tagged< FunctionTemplateRareData > v8::internal::FunctionTemplateInfo::AllocateFunctionTemplateRareData ( Isolate * isolate,
DirectHandle< FunctionTemplateInfo > function_template_info )
staticprivate

Definition at line 143 of file templates.cc.

◆ BreakAtEntry()

bool v8::internal::FunctionTemplateInfo::BreakAtEntry ( Isolate * isolate)
inline

Definition at line 233 of file templates-inl.h.

Here is the call graph for this function:

◆ DECL_EXTERNAL_POINTER_ACCESSORS_MAYBE_READ_ONLY_HOST()

v8::internal::FunctionTemplateInfo::DECL_EXTERNAL_POINTER_ACCESSORS_MAYBE_READ_ONLY_HOST ( maybe_redirected_callback ,
Address  ) const
private

◆ DECL_PRIMITIVE_GETTER()

UnionOf< Undefined, FunctionTemplateInfo > UnionOf< Undefined, InterceptorInfo > UnionOf< Undefined, ObjectTemplateInfo > UnionOf< Undefined, AccessCheckInfo > v8::internal::FunctionTemplateInfo::DECL_PRIMITIVE_GETTER ( allowed_receiver_instance_type_range_start ,
InstanceType  ) const

◆ DECL_PRIMITIVE_SETTER()

v8::internal::FunctionTemplateInfo::DECL_PRIMITIVE_SETTER ( allowed_receiver_instance_type_range_start ,
InstanceType  ) const
privatepure virtual

◆ DECL_RARE_ACCESSORS() [1/4]

UnionOf< Undefined, FunctionTemplateInfo > UnionOf< Undefined, InterceptorInfo > v8::internal::FunctionTemplateInfo::DECL_RARE_ACCESSORS ( indexed_property_handler ,
IndexedPropertyHandler ,
UnionOf< Undefined, InterceptorInfo >  )

◆ DECL_RARE_ACCESSORS() [2/4]

UnionOf< Undefined, FunctionTemplateInfo > UnionOf< Undefined, InterceptorInfo > UnionOf< Undefined, ObjectTemplateInfo > v8::internal::FunctionTemplateInfo::DECL_RARE_ACCESSORS ( instance_call_handler ,
InstanceCallHandler ,
UnionOf< Undefined, FunctionTemplateInfo >  )

◆ DECL_RARE_ACCESSORS() [3/4]

UnionOf< Undefined, FunctionTemplateInfo > v8::internal::FunctionTemplateInfo::DECL_RARE_ACCESSORS ( parent_template ,
ParentTemplate ,
UnionOf< Undefined, FunctionTemplateInfo >  )

◆ DECL_RARE_ACCESSORS() [4/4]

v8::internal::FunctionTemplateInfo::DECL_RARE_ACCESSORS ( prototype_template ,
PrototypeTemplate ,
UnionOf< Undefined, ObjectTemplateInfo >  )

◆ EnsureFunctionTemplateRareData()

static Tagged< FunctionTemplateRareData > v8::internal::FunctionTemplateInfo::EnsureFunctionTemplateRareData ( Isolate * isolate,
DirectHandle< FunctionTemplateInfo > function_template_info )
inlinestaticprivate

◆ GetCFunction()

Address v8::internal::FunctionTemplateInfo::GetCFunction ( Isolate * isolate,
int index ) const

Definition at line 175 of file templates.cc.

Here is the call graph for this function:

◆ GetCFunctionsCount()

int v8::internal::FunctionTemplateInfo::GetCFunctionsCount ( ) const

Definition at line 169 of file templates.cc.

Here is the call graph for this function:

◆ GetCSignature()

const CFunctionInfo * v8::internal::FunctionTemplateInfo::GetCSignature ( Isolate * isolate,
int index ) const

Definition at line 182 of file templates.cc.

Here is the call graph for this function:

◆ GetOrCreateSharedFunctionInfo() [1/2]

Handle< SharedFunctionInfo > v8::internal::FunctionTemplateInfo::GetOrCreateSharedFunctionInfo ( Isolate * isolate,
DirectHandle< FunctionTemplateInfo > info,
MaybeDirectHandle< Name > maybe_name )
static

Definition at line 32 of file templates.cc.

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

◆ GetOrCreateSharedFunctionInfo() [2/2]

static Handle< SharedFunctionInfo > v8::internal::FunctionTemplateInfo::GetOrCreateSharedFunctionInfo ( LocalIsolate * isolate,
DirectHandle< FunctionTemplateInfo > info,
DirectHandle< Name > maybe_name )
inlinestatic

Definition at line 220 of file templates.h.

◆ GetParent()

Tagged< FunctionTemplateInfo > v8::internal::FunctionTemplateInfo::GetParent ( Isolate * isolate)
inline

Definition at line 242 of file templates-inl.h.

Here is the call graph for this function:

◆ has_callback()

template<class IsolateT >
bool v8::internal::FunctionTemplateInfo::has_callback ( IsolateT * isolate) const
inline

◆ HasInstanceType()

bool v8::internal::FunctionTemplateInfo::HasInstanceType ( )

Definition at line 28 of file templates.cc.

◆ init_callback_redirection()

void v8::internal::FunctionTemplateInfo::init_callback_redirection ( i::IsolateForSandbox isolate)
inline

Definition at line 105 of file templates-inl.h.

Here is the call graph for this function:

◆ instantiated()

bool v8::internal::FunctionTemplateInfo::instantiated ( )
inline

Definition at line 229 of file templates-inl.h.

◆ IsLeafTemplateForApiObject()

bool v8::internal::FunctionTemplateInfo::IsLeafTemplateForApiObject ( Tagged< Object > object) const

Definition at line 105 of file templates.cc.

Here is the call graph for this function:

◆ IsTemplateFor() [1/2]

bool v8::internal::FunctionTemplateInfo::IsTemplateFor ( Tagged< JSObject > object) const
inline

Definition at line 289 of file templates-inl.h.

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

◆ IsTemplateFor() [2/2]

bool v8::internal::FunctionTemplateInfo::IsTemplateFor ( Tagged< Map > map) const

Definition at line 62 of file templates.cc.

Here is the call graph for this function:

◆ remove_callback_redirection()

void v8::internal::FunctionTemplateInfo::remove_callback_redirection ( i::IsolateForSandbox isolate)
inline

Definition at line 115 of file templates-inl.h.

◆ SealAndPrepareForPromotionToReadOnly()

void v8::internal::FunctionTemplateInfo::SealAndPrepareForPromotionToReadOnly ( Isolate * isolate,
DirectHandle< FunctionTemplateInfo > info )
static

Definition at line 127 of file templates.cc.

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

◆ set_relaxed_flag()

void v8::internal::FunctionTemplateInfo::set_relaxed_flag ( int32_t flags)
inlineprivate

◆ SetAllowedReceiverInstanceTypeRange()

void v8::internal::FunctionTemplateInfo::SetAllowedReceiverInstanceTypeRange ( int api_instance_type_start,
int api_instance_type_end )
inline

Definition at line 202 of file templates-inl.h.

◆ SetInstanceType()

void v8::internal::FunctionTemplateInfo::SetInstanceType ( int api_instance_type)
inline

◆ TryGetCachedPropertyName()

std::optional< Tagged< Name > > v8::internal::FunctionTemplateInfo::TryGetCachedPropertyName ( Isolate * isolate,
Tagged< Object > getter )
static

Definition at line 153 of file templates.cc.

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

Member Data Documentation

◆ AccessCheckInfo

UnionOf< Undefined, FunctionTemplateInfo > UnionOf< Undefined, InterceptorInfo > UnionOf< Undefined, ObjectTemplateInfo > v8::internal::FunctionTemplateInfo::AccessCheckInfo

Definition at line 165 of file templates.h.

◆ InstanceTemplate

UnionOf< Undefined, FunctionTemplateInfo > UnionOf< Undefined, InterceptorInfo > v8::internal::FunctionTemplateInfo::InstanceTemplate

Definition at line 156 of file templates.h.

◆ kFunctionOverloadEntrySize

const int v8::internal::FunctionTemplateInfo::kFunctionOverloadEntrySize = 2
static

Definition at line 255 of file templates.h.

◆ NamedPropertyHandler

UnionOf< Undefined, FunctionTemplateInfo > v8::internal::FunctionTemplateInfo::NamedPropertyHandler

Definition at line 146 of file templates.h.

◆ PrototypeProviderTemplate

v8::internal::FunctionTemplateInfo::PrototypeProviderTemplate

Definition at line 136 of file templates.h.


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