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

Classes

class  ExtensionStates
 

Public Member Functions

 Genesis (Isolate *isolate, MaybeDirectHandle< JSGlobalProxy > maybe_global_proxy, v8::Local< v8::ObjectTemplate > global_proxy_template, size_t context_snapshot_index, DeserializeEmbedderFieldsCallback embedder_fields_deserializer, v8::MicrotaskQueue *microtask_queue)
 
 Genesis (Isolate *isolate, MaybeDirectHandle< JSGlobalProxy > maybe_global_proxy, v8::Local< v8::ObjectTemplate > global_proxy_template)
 
 ~Genesis ()=default
 
Isolateisolate () const
 
Factoryfactory () const
 
Builtinsbuiltins () const
 
Heapheap () const
 
DirectHandle< NativeContextresult ()
 
DirectHandle< JSGlobalProxyglobal_proxy ()
 

Private Types

enum  ArrayBufferKind { ARRAY_BUFFER , SHARED_ARRAY_BUFFER }
 
enum  ExtensionTraversalState { UNVISITED , VISITED , INSTALLED }
 

Private Member Functions

DirectHandle< NativeContextnative_context ()
 
void CreateRoots ()
 
DirectHandle< JSFunctionCreateEmptyFunction ()
 
DirectHandle< JSFunctionGetThrowTypeErrorIntrinsic ()
 
void CreateSloppyModeFunctionMaps (DirectHandle< JSFunction > empty)
 
void CreateStrictModeFunctionMaps (DirectHandle< JSFunction > empty)
 
void CreateObjectFunction (DirectHandle< JSFunction > empty)
 
void CreateIteratorMaps (DirectHandle< JSFunction > empty)
 
void CreateAsyncIteratorMaps (DirectHandle< JSFunction > empty)
 
void CreateAsyncFunctionMaps (DirectHandle< JSFunction > empty)
 
void CreateJSProxyMaps ()
 
void AddRestrictedFunctionProperties (DirectHandle< JSFunction > empty)
 
DirectHandle< JSGlobalObjectCreateNewGlobals (v8::Local< v8::ObjectTemplate > global_proxy_template, DirectHandle< JSGlobalProxy > global_proxy)
 
void HookUpGlobalObject (DirectHandle< JSGlobalObject > global_object)
 
void HookUpGlobalProxy (DirectHandle< JSGlobalProxy > global_proxy)
 
void InstallGlobalThisBinding ()
 
void InitializeGlobal (DirectHandle< JSGlobalObject > global_object, DirectHandle< JSFunction > empty_function)
 
void InitializeExperimentalGlobal ()
 
void InitializeIteratorFunctions ()
 
void InitializeCallSiteBuiltins ()
 
void InitializeConsole (DirectHandle< JSObject > extras_binding)
 
void InitializeGlobal_regexp_linear_flag ()
 
void InitializeGlobal_sharedarraybuffer ()
 
DirectHandle< JSFunctionCreateArrayBuffer (DirectHandle< String > name, ArrayBufferKind array_buffer_kind)
 
bool InstallABunchOfRandomThings ()
 
bool InstallExtrasBindings ()
 
DirectHandle< JSFunctionInstallTypedArray (const char *name, ElementsKind elements_kind, InstanceType constructor_type, int rab_gsab_initial_map_index)
 
void InitializeMapCaches ()
 
bool ConfigureApiObject (DirectHandle< JSObject > object, DirectHandle< ObjectTemplateInfo > object_template)
 
bool ConfigureGlobalObject (v8::Local< v8::ObjectTemplate > global_proxy_template)
 
void TransferObject (DirectHandle< JSObject > from, DirectHandle< JSObject > to)
 
void TransferNamedProperties (DirectHandle< JSObject > from, DirectHandle< JSObject > to)
 
void TransferIndexedProperties (DirectHandle< JSObject > from, DirectHandle< JSObject > to)
 
DirectHandle< MapCreateInitialMapForArraySubclass (int size, int inobject_properties)
 

Static Private Member Functions

static bool InstallExtensions (Isolate *isolate, DirectHandle< Context > native_context, v8::ExtensionConfiguration *extensions)
 
static bool InstallAutoExtensions (Isolate *isolate, ExtensionStates *extension_states)
 
static bool InstallRequestedExtensions (Isolate *isolate, v8::ExtensionConfiguration *extensions, ExtensionStates *extension_states)
 
static bool InstallExtension (Isolate *isolate, const char *name, ExtensionStates *extension_states)
 
static bool InstallExtension (Isolate *isolate, v8::RegisteredExtension *current, ExtensionStates *extension_states)
 
static bool InstallSpecialObjects (Isolate *isolate, DirectHandle< NativeContext > native_context)
 
static bool CompileExtension (Isolate *isolate, v8::Extension *extension)
 

Private Attributes

Isolateisolate_
 
DirectHandle< NativeContextresult_
 
DirectHandle< NativeContextnative_context_
 
DirectHandle< JSGlobalProxyglobal_proxy_
 
DirectHandle< JSFunctionrestricted_properties_thrower_
 
BootstrapperActive active_
 

Friends

class Bootstrapper
 

Detailed Description

Definition at line 181 of file bootstrapper.cc.

Member Enumeration Documentation

◆ ArrayBufferKind

Enumerator
ARRAY_BUFFER 
SHARED_ARRAY_BUFFER 

Definition at line 267 of file bootstrapper.cc.

◆ ExtensionTraversalState

Enumerator
UNVISITED 
VISITED 
INSTALLED 

Definition at line 280 of file bootstrapper.cc.

Constructor & Destructor Documentation

◆ Genesis() [1/2]

v8::internal::Genesis::Genesis ( Isolate * isolate,
MaybeDirectHandle< JSGlobalProxy > maybe_global_proxy,
v8::Local< v8::ObjectTemplate > global_proxy_template,
size_t context_snapshot_index,
DeserializeEmbedderFieldsCallback embedder_fields_deserializer,
v8::MicrotaskQueue * microtask_queue )

Definition at line 7024 of file bootstrapper.cc.

Here is the call graph for this function:

◆ Genesis() [2/2]

v8::internal::Genesis::Genesis ( Isolate * isolate,
MaybeDirectHandle< JSGlobalProxy > maybe_global_proxy,
v8::Local< v8::ObjectTemplate > global_proxy_template )

Definition at line 7171 of file bootstrapper.cc.

Here is the call graph for this function:

◆ ~Genesis()

v8::internal::Genesis::~Genesis ( )
default

Member Function Documentation

◆ AddRestrictedFunctionProperties()

void v8::internal::Genesis::AddRestrictedFunctionProperties ( DirectHandle< JSFunction > empty)
private

Definition at line 1312 of file bootstrapper.cc.

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

◆ builtins()

Builtins * v8::internal::Genesis::builtins ( ) const
inline

Definition at line 194 of file bootstrapper.cc.

Here is the call graph for this function:

◆ CompileExtension()

bool v8::internal::Genesis::CompileExtension ( Isolate * isolate,
v8::Extension * extension )
staticprivate

Definition at line 5253 of file bootstrapper.cc.

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

◆ ConfigureApiObject()

bool v8::internal::Genesis::ConfigureApiObject ( DirectHandle< JSObject > object,
DirectHandle< ObjectTemplateInfo > object_template )
private

Definition at line 6805 of file bootstrapper.cc.

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

◆ ConfigureGlobalObject()

bool v8::internal::Genesis::ConfigureGlobalObject ( v8::Local< v8::ObjectTemplate > global_proxy_template)
private

Definition at line 6765 of file bootstrapper.cc.

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

◆ CreateArrayBuffer()

DirectHandle< JSFunction > v8::internal::Genesis::CreateArrayBuffer ( DirectHandle< String > name,
ArrayBufferKind array_buffer_kind )
private

Definition at line 6066 of file bootstrapper.cc.

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

◆ CreateAsyncFunctionMaps()

void v8::internal::Genesis::CreateAsyncFunctionMaps ( DirectHandle< JSFunction > empty)
private

Definition at line 1201 of file bootstrapper.cc.

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

◆ CreateAsyncIteratorMaps()

void v8::internal::Genesis::CreateAsyncIteratorMaps ( DirectHandle< JSFunction > empty)
private

Definition at line 1091 of file bootstrapper.cc.

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

◆ CreateEmptyFunction()

DirectHandle< JSFunction > v8::internal::Genesis::CreateEmptyFunction ( )
private

Definition at line 771 of file bootstrapper.cc.

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

◆ CreateInitialMapForArraySubclass()

DirectHandle< Map > v8::internal::Genesis::CreateInitialMapForArraySubclass ( int size,
int inobject_properties )
private

Definition at line 6983 of file bootstrapper.cc.

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

◆ CreateIteratorMaps()

void v8::internal::Genesis::CreateIteratorMaps ( DirectHandle< JSFunction > empty)
private

Definition at line 1005 of file bootstrapper.cc.

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

◆ CreateJSProxyMaps()

void v8::internal::Genesis::CreateJSProxyMaps ( )
private

Definition at line 1221 of file bootstrapper.cc.

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

◆ CreateNewGlobals()

DirectHandle< JSGlobalObject > v8::internal::Genesis::CreateNewGlobals ( v8::Local< v8::ObjectTemplate > global_proxy_template,
DirectHandle< JSGlobalProxy > global_proxy )
private

Definition at line 1375 of file bootstrapper.cc.

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

◆ CreateObjectFunction()

void v8::internal::Genesis::CreateObjectFunction ( DirectHandle< JSFunction > empty)
private

Definition at line 907 of file bootstrapper.cc.

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

◆ CreateRoots()

void v8::internal::Genesis::CreateRoots ( )
private

Definition at line 1346 of file bootstrapper.cc.

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

◆ CreateSloppyModeFunctionMaps()

void v8::internal::Genesis::CreateSloppyModeFunctionMaps ( DirectHandle< JSFunction > empty)
private

Definition at line 801 of file bootstrapper.cc.

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

◆ CreateStrictModeFunctionMaps()

void v8::internal::Genesis::CreateStrictModeFunctionMaps ( DirectHandle< JSFunction > empty)
private

Definition at line 865 of file bootstrapper.cc.

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

◆ factory()

Factory * v8::internal::Genesis::factory ( ) const
inline

Definition at line 193 of file bootstrapper.cc.

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

◆ GetThrowTypeErrorIntrinsic()

DirectHandle< JSFunction > v8::internal::Genesis::GetThrowTypeErrorIntrinsic ( )
private

Definition at line 830 of file bootstrapper.cc.

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

◆ global_proxy()

DirectHandle< JSGlobalProxy > v8::internal::Genesis::global_proxy ( )
inline

Definition at line 199 of file bootstrapper.cc.

Here is the caller graph for this function:

◆ heap()

Heap * v8::internal::Genesis::heap ( ) const
inline

Definition at line 195 of file bootstrapper.cc.

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

◆ HookUpGlobalObject()

void v8::internal::Genesis::HookUpGlobalObject ( DirectHandle< JSGlobalObject > global_object)
private

Definition at line 1491 of file bootstrapper.cc.

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

◆ HookUpGlobalProxy()

void v8::internal::Genesis::HookUpGlobalProxy ( DirectHandle< JSGlobalProxy > global_proxy)
private

Definition at line 1478 of file bootstrapper.cc.

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

◆ InitializeCallSiteBuiltins()

void v8::internal::Genesis::InitializeCallSiteBuiltins ( )
private

Definition at line 5482 of file bootstrapper.cc.

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

◆ InitializeConsole()

void v8::internal::Genesis::InitializeConsole ( DirectHandle< JSObject > extras_binding)
private

Definition at line 5542 of file bootstrapper.cc.

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

◆ InitializeExperimentalGlobal()

void v8::internal::Genesis::InitializeExperimentalGlobal ( )
private

Definition at line 5221 of file bootstrapper.cc.

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

◆ InitializeGlobal()

void v8::internal::Genesis::InitializeGlobal ( DirectHandle< JSGlobalObject > global_object,
DirectHandle< JSFunction > empty_function )
private

Definition at line 2268 of file bootstrapper.cc.

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

◆ InitializeGlobal_regexp_linear_flag()

void v8::internal::Genesis::InitializeGlobal_regexp_linear_flag ( )
private

Definition at line 6022 of file bootstrapper.cc.

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

◆ InitializeGlobal_sharedarraybuffer()

void v8::internal::Genesis::InitializeGlobal_sharedarraybuffer ( )
private

Definition at line 5823 of file bootstrapper.cc.

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

◆ InitializeIteratorFunctions()

void v8::internal::Genesis::InitializeIteratorFunctions ( )
private

Definition at line 5303 of file bootstrapper.cc.

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

◆ InitializeMapCaches()

void v8::internal::Genesis::InitializeMapCaches ( )
private

Definition at line 6585 of file bootstrapper.cc.

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

◆ InstallABunchOfRandomThings()

bool v8::internal::Genesis::InstallABunchOfRandomThings ( )
private

Definition at line 6114 of file bootstrapper.cc.

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

◆ InstallAutoExtensions()

bool v8::internal::Genesis::InstallAutoExtensions ( Isolate * isolate,
ExtensionStates * extension_states )
staticprivate

Definition at line 6693 of file bootstrapper.cc.

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

◆ InstallExtension() [1/2]

bool v8::internal::Genesis::InstallExtension ( Isolate * isolate,
const char * name,
ExtensionStates * extension_states )
staticprivate

Definition at line 6716 of file bootstrapper.cc.

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

◆ InstallExtension() [2/2]

bool v8::internal::Genesis::InstallExtension ( Isolate * isolate,
v8::RegisteredExtension * current,
ExtensionStates * extension_states )
staticprivate

Definition at line 6728 of file bootstrapper.cc.

Here is the call graph for this function:

◆ InstallExtensions()

bool v8::internal::Genesis::InstallExtensions ( Isolate * isolate,
DirectHandle< Context > native_context,
v8::ExtensionConfiguration * extensions )
staticprivate

Definition at line 6664 of file bootstrapper.cc.

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

◆ InstallExtrasBindings()

bool v8::internal::Genesis::InstallExtrasBindings ( )
private

Definition at line 6553 of file bootstrapper.cc.

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

◆ InstallGlobalThisBinding()

void v8::internal::Genesis::InstallGlobalThisBinding ( )
private

Definition at line 1357 of file bootstrapper.cc.

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

◆ InstallRequestedExtensions()

bool v8::internal::Genesis::InstallRequestedExtensions ( Isolate * isolate,
v8::ExtensionConfiguration * extensions,
ExtensionStates * extension_states )
staticprivate

Definition at line 6705 of file bootstrapper.cc.

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

◆ InstallSpecialObjects()

bool v8::internal::Genesis::InstallSpecialObjects ( Isolate * isolate,
DirectHandle< NativeContext > native_context )
staticprivate

Definition at line 6616 of file bootstrapper.cc.

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

◆ InstallTypedArray()

DirectHandle< JSFunction > v8::internal::Genesis::InstallTypedArray ( const char * name,
ElementsKind elements_kind,
InstanceType constructor_type,
int rab_gsab_initial_map_index )
private

Definition at line 5161 of file bootstrapper.cc.

Here is the call graph for this function:

◆ isolate()

Isolate * v8::internal::Genesis::isolate ( ) const
inline

Definition at line 192 of file bootstrapper.cc.

Here is the caller graph for this function:

◆ native_context()

DirectHandle< NativeContext > v8::internal::Genesis::native_context ( )
inlineprivate

Definition at line 202 of file bootstrapper.cc.

Here is the caller graph for this function:

◆ result()

DirectHandle< NativeContext > v8::internal::Genesis::result ( )
inline

Definition at line 197 of file bootstrapper.cc.

Here is the caller graph for this function:

◆ TransferIndexedProperties()

void v8::internal::Genesis::TransferIndexedProperties ( DirectHandle< JSObject > from,
DirectHandle< JSObject > to )
private

Definition at line 6958 of file bootstrapper.cc.

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

◆ TransferNamedProperties()

void v8::internal::Genesis::TransferNamedProperties ( DirectHandle< JSObject > from,
DirectHandle< JSObject > to )
private

Definition at line 6840 of file bootstrapper.cc.

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

◆ TransferObject()

void v8::internal::Genesis::TransferObject ( DirectHandle< JSObject > from,
DirectHandle< JSObject > to )
private

Definition at line 6968 of file bootstrapper.cc.

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

Friends And Related Symbol Documentation

◆ Bootstrapper

friend class Bootstrapper
friend

Definition at line 340 of file bootstrapper.cc.

Member Data Documentation

◆ active_

BootstrapperActive v8::internal::Genesis::active_
private

Definition at line 339 of file bootstrapper.cc.

◆ global_proxy_

DirectHandle<JSGlobalProxy> v8::internal::Genesis::global_proxy_
private

Definition at line 334 of file bootstrapper.cc.

◆ isolate_

Isolate* v8::internal::Genesis::isolate_
private

Definition at line 331 of file bootstrapper.cc.

◆ native_context_

DirectHandle<NativeContext> v8::internal::Genesis::native_context_
private

Definition at line 333 of file bootstrapper.cc.

◆ restricted_properties_thrower_

DirectHandle<JSFunction> v8::internal::Genesis::restricted_properties_thrower_
private

Definition at line 337 of file bootstrapper.cc.

◆ result_

DirectHandle<NativeContext> v8::internal::Genesis::result_
private

Definition at line 332 of file bootstrapper.cc.


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