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

#include <external-reference.h>

Collaboration diagram for v8::internal::ExternalReference:

Public Types

enum  Type {
  BUILTIN_CALL , BUILTIN_CALL_PAIR , BUILTIN_COMPARE_CALL , BUILTIN_FP_FP_CALL ,
  BUILTIN_FP_CALL , BUILTIN_FP_INT_CALL , BUILTIN_FP_POINTER_CALL , BUILTIN_INT_FP_CALL ,
  DIRECT_API_CALL , DIRECT_GETTER_CALL , FAST_C_CALL
}
 

Public Member Functions

 ExternalReference ()
 
bool IsIsolateFieldId () const
 
Address raw () const
 
V8_EXPORT_PRIVATE Address address () const
 
int32_t offset_from_root_register () const
 

Static Public Member Functions

static V8_EXPORT_PRIVATE ExternalReference address_of_pending_message (LocalIsolate *local_isolate)
 
static ExternalReference Create (const SCTableReference &table_ref)
 
static ExternalReference Create (StatsCounter *counter)
 
static V8_EXPORT_PRIVATE ExternalReference Create (ApiFunction *ptr, Type type)
 
static V8_EXPORT_PRIVATE ExternalReference Create (Isolate *isolate, ApiFunction *ptr, Type type, Address *c_functions, const CFunctionInfo *const *c_signatures, unsigned num_functions)
 
static ExternalReference Create (const Runtime::Function *f)
 
static ExternalReference Create (IsolateAddressId id, Isolate *isolate)
 
static ExternalReference Create (Runtime::FunctionId id)
 
static ExternalReference Create (IsolateFieldId id)
 
static V8_EXPORT_PRIVATE ExternalReference Create (Address address, Type type=ExternalReference::BUILTIN_CALL)
 
template<typename SubjectChar , typename PatternChar >
static ExternalReference search_string_raw ()
 
static V8_EXPORT_PRIVATE ExternalReference FromRawAddress (Address address)
 
static V8_EXPORT_PRIVATE ExternalReference isolate_address ()
 
static V8_EXPORT_PRIVATE ExternalReference address_of_code_pointer_table_base_address ()
 
static V8_EXPORT_PRIVATE ExternalReference jslimit_address ()
 
V8_EXPORT_PRIVATE static V8_NOINLINE ExternalReference runtime_function_table_address_for_unittests (Isolate *isolate)
 
static V8_EXPORT_PRIVATE ExternalReference address_of_load_from_stack_count (const char *function_name)
 
static V8_EXPORT_PRIVATE ExternalReference address_of_store_to_stack_count (const char *function_name)
 
static ExternalReference invoke_function_callback (CallApiCallbackMode mode)
 
static Address Redirect (Address external_function, Type type=ExternalReference::BUILTIN_CALL)
 
static Address UnwrapRedirection (Address redirection_trampoline)
 

Static Public Attributes

static constexpr int kExternalReferenceCountIsolateIndependent
 
static constexpr int kExternalReferenceCountIsolateDependent
 

Private Member Functions

 ExternalReference (Address address)
 
 ExternalReference (void *address)
 
 ExternalReference (IsolateFieldId id)
 

Private Attributes

Address raw_
 

Detailed Description

Definition at line 537 of file external-reference.h.

Member Enumeration Documentation

◆ Type

Enumerator
BUILTIN_CALL 
BUILTIN_CALL_PAIR 
BUILTIN_COMPARE_CALL 
BUILTIN_FP_FP_CALL 
BUILTIN_FP_CALL 
BUILTIN_FP_INT_CALL 
BUILTIN_FP_POINTER_CALL 
BUILTIN_INT_FP_CALL 
DIRECT_API_CALL 
DIRECT_GETTER_CALL 
FAST_C_CALL 

Definition at line 540 of file external-reference.h.

Constructor & Destructor Documentation

◆ ExternalReference() [1/4]

v8::internal::ExternalReference::ExternalReference ( )
inline

Definition at line 600 of file external-reference.h.

Here is the caller graph for this function:

◆ ExternalReference() [2/4]

v8::internal::ExternalReference::ExternalReference ( Address address)
inlineexplicitprivate

Definition at line 674 of file external-reference.h.

Here is the call graph for this function:

◆ ExternalReference() [3/4]

v8::internal::ExternalReference::ExternalReference ( void * address)
inlineexplicitprivate

Definition at line 678 of file external-reference.h.

Here is the call graph for this function:

◆ ExternalReference() [4/4]

v8::internal::ExternalReference::ExternalReference ( IsolateFieldId id)
inlineexplicitprivate

Definition at line 683 of file external-reference.h.

Member Function Documentation

◆ address()

Address v8::internal::ExternalReference::address ( ) const

Definition at line 220 of file external-reference.cc.

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

◆ address_of_code_pointer_table_base_address()

static V8_EXPORT_PRIVATE ExternalReference v8::internal::ExternalReference::address_of_code_pointer_table_base_address ( )
static

◆ address_of_load_from_stack_count()

ExternalReference v8::internal::ExternalReference::address_of_load_from_stack_count ( const char * function_name)
static

Definition at line 920 of file external-reference.cc.

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

◆ address_of_pending_message()

ExternalReference v8::internal::ExternalReference::address_of_pending_message ( LocalIsolate * local_isolate)
static

Definition at line 855 of file external-reference.cc.

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

◆ address_of_store_to_stack_count()

ExternalReference v8::internal::ExternalReference::address_of_store_to_stack_count ( const char * function_name)
static

Definition at line 926 of file external-reference.cc.

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

◆ Create() [1/9]

ExternalReference v8::internal::ExternalReference::Create ( Address address,
Type type = ExternalReference::BUILTIN_CALL )
static

Definition at line 278 of file external-reference.cc.

Here is the call graph for this function:

◆ Create() [2/9]

ExternalReference v8::internal::ExternalReference::Create ( ApiFunction * ptr,
Type type )
static

Definition at line 246 of file external-reference.cc.

Here is the call graph for this function:

◆ Create() [3/9]

ExternalReference v8::internal::ExternalReference::Create ( const Runtime::Function * f)
static

Definition at line 272 of file external-reference.cc.

Here is the call graph for this function:

◆ Create() [4/9]

ExternalReference v8::internal::ExternalReference::Create ( const SCTableReference & table_ref)
static

Definition at line 411 of file external-reference.cc.

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

◆ Create() [5/9]

ExternalReference v8::internal::ExternalReference::Create ( Isolate * isolate,
ApiFunction * ptr,
Type type,
Address * c_functions,
const CFunctionInfo *const * c_signatures,
unsigned num_functions )
static

Definition at line 251 of file external-reference.cc.

Here is the call graph for this function:

◆ Create() [6/9]

ExternalReference v8::internal::ExternalReference::Create ( IsolateAddressId id,
Isolate * isolate )
static

Definition at line 405 of file external-reference.cc.

Here is the call graph for this function:

◆ Create() [7/9]

ExternalReference v8::internal::ExternalReference::Create ( IsolateFieldId id)
static

Definition at line 267 of file external-reference.cc.

Here is the call graph for this function:

◆ Create() [8/9]

ExternalReference v8::internal::ExternalReference::Create ( Runtime::FunctionId id)
static

Definition at line 262 of file external-reference.cc.

Here is the call graph for this function:

◆ Create() [9/9]

ExternalReference v8::internal::ExternalReference::Create ( StatsCounter * counter)
static

Definition at line 399 of file external-reference.cc.

Here is the call graph for this function:

◆ FromRawAddress()

ExternalReference v8::internal::ExternalReference::FromRawAddress ( Address address)
static

Definition at line 1601 of file external-reference.cc.

Here is the call graph for this function:

◆ invoke_function_callback()

ExternalReference v8::internal::ExternalReference::invoke_function_callback ( CallApiCallbackMode mode)
static

Definition at line 1094 of file external-reference.cc.

Here is the call graph for this function:

◆ IsIsolateFieldId()

bool v8::internal::ExternalReference::IsIsolateFieldId ( ) const

Definition at line 216 of file external-reference.cc.

Here is the caller graph for this function:

◆ isolate_address()

ExternalReference v8::internal::ExternalReference::isolate_address ( )
static

Definition at line 282 of file external-reference.cc.

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

◆ jslimit_address()

ExternalReference v8::internal::ExternalReference::jslimit_address ( )
static

Definition at line 290 of file external-reference.cc.

Here is the call graph for this function:

◆ offset_from_root_register()

int32_t v8::internal::ExternalReference::offset_from_root_register ( ) const

Definition at line 229 of file external-reference.cc.

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

◆ raw()

Address v8::internal::ExternalReference::raw ( ) const
inline

Definition at line 653 of file external-reference.h.

Here is the caller graph for this function:

◆ Redirect()

Address v8::internal::ExternalReference::Redirect ( Address external_function,
Type type = ExternalReference::BUILTIN_CALL )
static

Definition at line 570 of file external-reference.cc.

Here is the caller graph for this function:

◆ runtime_function_table_address_for_unittests()

ExternalReference v8::internal::ExternalReference::runtime_function_table_address_for_unittests ( Isolate * isolate)
static

Definition at line 564 of file external-reference.cc.

◆ search_string_raw()

Definition at line 1299 of file external-reference.cc.

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

◆ UnwrapRedirection()

Address v8::internal::ExternalReference::UnwrapRedirection ( Address redirection_trampoline)
static

Definition at line 579 of file external-reference.cc.

Member Data Documentation

◆ kExternalReferenceCountIsolateDependent

int v8::internal::ExternalReference::kExternalReferenceCountIsolateDependent
staticconstexpr
Initial value:
=
#define COUNT_EXTERNAL_REFERENCE(name, desc)
#define EXTERNAL_REFERENCE_LIST_WITH_ISOLATE(V)

Definition at line 593 of file external-reference.h.

◆ kExternalReferenceCountIsolateIndependent

int v8::internal::ExternalReference::kExternalReferenceCountIsolateIndependent
staticconstexpr
Initial value:

Definition at line 591 of file external-reference.h.

◆ raw_

Address v8::internal::ExternalReference::raw_
private

Definition at line 686 of file external-reference.h.


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