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

#include <api.h>

Collaboration diagram for v8::internal::HandleScopeImplementer:

Classes

class  EnteredContextRewindScope
 

Public Member Functions

 HandleScopeImplementer (Isolate *isolate)
 
 ~HandleScopeImplementer ()
 
 HandleScopeImplementer (const HandleScopeImplementer &)=delete
 
HandleScopeImplementeroperator= (const HandleScopeImplementer &)=delete
 
char * RestoreThread (char *from)
 
char * ArchiveThread (char *to)
 
void FreeThreadResources ()
 
V8_EXPORT_PRIVATE void Iterate (v8::internal::RootVisitor *v)
 
internal::AddressGetSpareOrNewBlock ()
 
void DeleteExtensions (internal::Address *prev_limit)
 
void EnterContext (Tagged< NativeContext > context)
 
void LeaveContext ()
 
bool LastEnteredContextWas (Tagged< NativeContext > context)
 
size_t EnteredContextCount () const
 
DirectHandle< NativeContextLastEnteredContext ()
 
void SaveContext (Tagged< Context > context)
 
Tagged< ContextRestoreContext ()
 
bool HasSavedContexts ()
 
DetachableVector< Address * > * blocks ()
 
Isolateisolate () const
 
void ReturnBlock (Address *block)
 

Static Public Member Functions

static int ArchiveSpacePerThread ()
 
static V8_EXPORT_PRIVATE char * Iterate (v8::internal::RootVisitor *v, char *data)
 

Static Public Attributes

static const size_t kEnteredContextsOffset
 

Private Member Functions

void ResetAfterArchive ()
 
void Free ()
 
void BeginPersistentScope ()
 
bool HasPersistentScope () const
 
std::unique_ptr< PersistentHandlesDetachPersistent (Address *first_block)
 
void IterateThis (RootVisitor *v)
 
char * RestoreThreadHelper (char *from)
 
char * ArchiveThreadHelper (char *to)
 

Private Attributes

Isolateisolate_
 
DetachableVector< Address * > blocks_
 
DetachableVector< Tagged< NativeContext > > entered_contexts_
 
DetachableVector< Tagged< Context > > saved_contexts_
 
Addressspare_
 
std::optional< Address * > last_handle_before_persistent_block_
 
HandleScopeData handle_scope_data_
 

Friends

class HandleScopeImplementerOffsets
 
class PersistentHandlesScope
 

Detailed Description

Definition at line 326 of file api.h.

Constructor & Destructor Documentation

◆ HandleScopeImplementer() [1/2]

v8::internal::HandleScopeImplementer::HandleScopeImplementer ( Isolate * isolate)
inlineexplicit

Definition at line 344 of file api.h.

Here is the caller graph for this function:

◆ ~HandleScopeImplementer()

v8::internal::HandleScopeImplementer::~HandleScopeImplementer ( )
inline

Definition at line 347 of file api.h.

Here is the call graph for this function:

◆ HandleScopeImplementer() [2/2]

v8::internal::HandleScopeImplementer::HandleScopeImplementer ( const HandleScopeImplementer & )
delete

Member Function Documentation

◆ ArchiveSpacePerThread()

int v8::internal::HandleScopeImplementer::ArchiveSpacePerThread ( )
static

Definition at line 11986 of file api.cc.

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

◆ ArchiveThread()

char * v8::internal::HandleScopeImplementer::ArchiveThread ( char * to)

Definition at line 11975 of file api.cc.

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

◆ ArchiveThreadHelper()

char * v8::internal::HandleScopeImplementer::ArchiveThreadHelper ( char * to)
private

◆ BeginPersistentScope()

void v8::internal::HandleScopeImplementer::BeginPersistentScope ( )
inlineprivate

Definition at line 414 of file api.h.

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

◆ blocks()

DetachableVector< Address * > * v8::internal::HandleScopeImplementer::blocks ( )
inline

Definition at line 379 of file api.h.

Here is the caller graph for this function:

◆ DeleteExtensions()

void v8::internal::HandleScopeImplementer::DeleteExtensions ( internal::Address * prev_limit)
inline

Definition at line 479 of file api.h.

Here is the call graph for this function:

◆ DetachPersistent()

std::unique_ptr< PersistentHandles > v8::internal::HandleScopeImplementer::DetachPersistent ( Address * first_block)
private

Definition at line 12063 of file api.cc.

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

◆ EnterContext()

void v8::internal::HandleScopeImplementer::EnterContext ( Tagged< NativeContext > context)
inline

Definition at line 345 of file api-inl.h.

Here is the caller graph for this function:

◆ EnteredContextCount()

size_t v8::internal::HandleScopeImplementer::EnteredContextCount ( ) const
inline

Definition at line 369 of file api.h.

◆ Free()

void v8::internal::HandleScopeImplementer::Free ( )
inlineprivate

Definition at line 399 of file api.h.

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

◆ FreeThreadResources()

void v8::internal::HandleScopeImplementer::FreeThreadResources ( )

Definition at line 11973 of file api.cc.

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

◆ GetSpareOrNewBlock()

internal::Address * v8::internal::HandleScopeImplementer::GetSpareOrNewBlock ( )
inline

Definition at line 471 of file api.h.

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

◆ HasPersistentScope()

bool v8::internal::HandleScopeImplementer::HasPersistentScope ( ) const
inlineprivate

Definition at line 418 of file api.h.

Here is the caller graph for this function:

◆ HasSavedContexts()

bool v8::internal::HandleScopeImplementer::HasSavedContexts ( )
inline

Definition at line 456 of file api.h.

◆ isolate()

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

Definition at line 380 of file api.h.

Here is the caller graph for this function:

◆ Iterate() [1/2]

void v8::internal::HandleScopeImplementer::Iterate ( v8::internal::RootVisitor * v)

Definition at line 12050 of file api.cc.

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

◆ Iterate() [2/2]

char * v8::internal::HandleScopeImplementer::Iterate ( v8::internal::RootVisitor * v,
char * data )
static

Definition at line 12056 of file api.cc.

Here is the call graph for this function:

◆ IterateThis()

void v8::internal::HandleScopeImplementer::IterateThis ( RootVisitor * v)
private

Definition at line 11996 of file api.cc.

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

◆ LastEnteredContext()

DirectHandle< NativeContext > v8::internal::HandleScopeImplementer::LastEnteredContext ( )
inline

Definition at line 349 of file api-inl.h.

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

◆ LastEnteredContextWas()

bool v8::internal::HandleScopeImplementer::LastEnteredContextWas ( Tagged< NativeContext > context)
inline

Definition at line 465 of file api.h.

◆ LeaveContext()

void v8::internal::HandleScopeImplementer::LeaveContext ( )
inline

Definition at line 460 of file api.h.

Here is the caller graph for this function:

◆ operator=()

HandleScopeImplementer & v8::internal::HandleScopeImplementer::operator= ( const HandleScopeImplementer & )
delete

◆ ResetAfterArchive()

void v8::internal::HandleScopeImplementer::ResetAfterArchive ( )
inlineprivate

Definition at line 391 of file api.h.

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

◆ RestoreContext()

Tagged< Context > v8::internal::HandleScopeImplementer::RestoreContext ( )
inline

Definition at line 450 of file api.h.

◆ RestoreThread()

char * v8::internal::HandleScopeImplementer::RestoreThread ( char * from)

Definition at line 11990 of file api.cc.

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

◆ RestoreThreadHelper()

char * v8::internal::HandleScopeImplementer::RestoreThreadHelper ( char * from)
private

◆ ReturnBlock()

void v8::internal::HandleScopeImplementer::ReturnBlock ( Address * block)
inline

Definition at line 382 of file api.h.

Here is the call graph for this function:

◆ SaveContext()

void v8::internal::HandleScopeImplementer::SaveContext ( Tagged< Context > context)
inline

Definition at line 446 of file api.h.

Friends And Related Symbol Documentation

◆ HandleScopeImplementerOffsets

friend class HandleScopeImplementerOffsets
friend

Definition at line 440 of file api.h.

◆ PersistentHandlesScope

friend class PersistentHandlesScope
friend

Definition at line 441 of file api.h.

Member Data Documentation

◆ blocks_

DetachableVector<Address*> v8::internal::HandleScopeImplementer::blocks_
private

Definition at line 424 of file api.h.

◆ entered_contexts_

DetachableVector<Tagged<NativeContext> > v8::internal::HandleScopeImplementer::entered_contexts_
private

Definition at line 427 of file api.h.

◆ handle_scope_data_

HandleScopeData v8::internal::HandleScopeImplementer::handle_scope_data_
private

Definition at line 434 of file api.h.

◆ isolate_

Isolate* v8::internal::HandleScopeImplementer::isolate_
private

Definition at line 423 of file api.h.

◆ kEnteredContextsOffset

const size_t v8::internal::HandleScopeImplementer::kEnteredContextsOffset
static
Initial value:
=
DetachableVector< Tagged< NativeContext > > entered_contexts_
Definition api.h:427
HandleScopeImplementer(Isolate *isolate)
Definition api.h:344

Definition at line 388 of file api.h.

◆ last_handle_before_persistent_block_

std::optional<Address*> v8::internal::HandleScopeImplementer::last_handle_before_persistent_block_
private

Definition at line 432 of file api.h.

◆ saved_contexts_

DetachableVector<Tagged<Context> > v8::internal::HandleScopeImplementer::saved_contexts_
private

Definition at line 430 of file api.h.

◆ spare_

Address* v8::internal::HandleScopeImplementer::spare_
private

Definition at line 431 of file api.h.


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