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

#include <handles.h>

Collaboration diagram for v8::internal::HandleScope:

Public Member Functions

V8_INLINE HandleScope (Isolate *isolate)
 
 HandleScope (HandleScope &&other) V8_NOEXCEPT
 
 HandleScope (const HandleScope &)=delete
 
HandleScopeoperator= (const HandleScope &)=delete
 
void * operator new (size_t size, void *storage)
 
void * operator new (size_t size)=delete
 
void operator delete (void *size_t)=delete
 
V8_INLINE ~HandleScope ()
 
HandleScopeoperator= (HandleScope &&other) V8_NOEXCEPT
 
template<typename T , template< typename > typename HandleType>
requires (std::is_convertible_v<HandleType<T>, DirectHandle<T>>)
HandleType< TCloseAndEscape (HandleType< T > handle_value)
 
Isolateisolate ()
 

Static Public Member Functions

static V8_EXPORT_PRIVATE int NumberOfHandles (Isolate *isolate)
 
static V8_INLINE AddressCreateHandle (Isolate *isolate, Address value)
 
static V8_EXPORT_PRIVATE void DeleteExtensions (Isolate *isolate)
 
static Address current_next_address (Isolate *isolate)
 
static Address current_limit_address (Isolate *isolate)
 
static Address current_level_address (Isolate *isolate)
 

Static Public Attributes

static const int kCheckHandleThreshold = 30 * 1024
 

Static Private Member Functions

static V8_INLINE void CloseScope (Isolate *isolate, Address *prev_next, Address *prev_limit)
 
V8_EXPORT_PRIVATE static V8_NOINLINE AddressExtend (Isolate *isolate)
 

Private Attributes

Isolateisolate_
 
Addressprev_next_
 
Addressprev_limit_
 

Friends

class v8::HandleScope
 
class HandleScopeImplementer
 
class Isolate
 
class LocalHandles
 
class LocalHandleScope
 
class PersistentHandles
 

Detailed Description

Definition at line 262 of file handles.h.

Constructor & Destructor Documentation

◆ HandleScope() [1/3]

Definition at line 177 of file handles-inl.h.

◆ HandleScope() [2/3]

Definition at line 188 of file handles-inl.h.

◆ HandleScope() [3/3]

◆ ~HandleScope()

v8::internal::HandleScope::~HandleScope ( )

Definition at line 198 of file handles-inl.h.

Member Function Documentation

◆ CloseAndEscape()

template<typename T , template< typename > typename HandleType>
requires (std::is_convertible_v<HandleType<T>, DirectHandle<T>>)
HandleType< T > v8::internal::HandleScope::CloseAndEscape ( HandleType< T > handle_value)

Definition at line 257 of file handles-inl.h.

Here is the caller graph for this function:

◆ CloseScope()

void v8::internal::HandleScope::CloseScope ( Isolate * isolate,
Address * prev_next,
Address * prev_limit )
staticprivate

Definition at line 225 of file handles-inl.h.

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

◆ CreateHandle()

Address * v8::internal::HandleScope::CreateHandle ( Isolate * isolate,
Address value )
static

Definition at line 276 of file handles-inl.h.

Here is the caller graph for this function:

◆ current_level_address()

Address v8::internal::HandleScope::current_level_address ( Isolate * isolate)
static

Definition at line 235 of file handles.cc.

◆ current_limit_address()

Address v8::internal::HandleScope::current_limit_address ( Isolate * isolate)
static

Definition at line 243 of file handles.cc.

◆ current_next_address()

Address v8::internal::HandleScope::current_next_address ( Isolate * isolate)
static

Definition at line 239 of file handles.cc.

◆ DeleteExtensions()

void v8::internal::HandleScope::DeleteExtensions ( Isolate * isolate)
static

Definition at line 220 of file handles.cc.

◆ Extend()

Address * v8::internal::HandleScope::Extend ( Isolate * isolate)
staticprivate

Definition at line 182 of file handles.cc.

Here is the call graph for this function:

◆ isolate()

Isolate * v8::internal::HandleScope::isolate ( )
inline

Definition at line 309 of file handles.h.

◆ NumberOfHandles()

int v8::internal::HandleScope::NumberOfHandles ( Isolate * isolate)
static

Definition at line 173 of file handles.cc.

◆ operator delete()

void v8::internal::HandleScope::operator delete ( void * size_t)
delete

◆ operator new() [1/2]

void * v8::internal::HandleScope::operator new ( size_t size)
delete

◆ operator new() [2/2]

void * v8::internal::HandleScope::operator new ( size_t size,
void * storage )
inline

Definition at line 270 of file handles.h.

◆ operator=() [1/2]

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

◆ operator=() [2/2]

HandleScope & v8::internal::HandleScope::operator= ( HandleScope && other)
inline

Definition at line 206 of file handles-inl.h.

Friends And Related Symbol Documentation

◆ HandleScopeImplementer

friend class HandleScopeImplementer
friend

Definition at line 340 of file handles.h.

◆ Isolate

friend class Isolate
friend

Definition at line 341 of file handles.h.

◆ LocalHandles

friend class LocalHandles
friend

Definition at line 342 of file handles.h.

◆ LocalHandleScope

friend class LocalHandleScope
friend

Definition at line 343 of file handles.h.

◆ PersistentHandles

friend class PersistentHandles
friend

Definition at line 344 of file handles.h.

◆ v8::HandleScope

friend class v8::HandleScope
friend

Definition at line 339 of file handles.h.

Member Data Documentation

◆ isolate_

Isolate* v8::internal::HandleScope::isolate_
private

Definition at line 317 of file handles.h.

◆ kCheckHandleThreshold

const int v8::internal::HandleScope::kCheckHandleThreshold = 30 * 1024
static

Definition at line 314 of file handles.h.

◆ prev_limit_

Address* v8::internal::HandleScope::prev_limit_
private

Definition at line 319 of file handles.h.

◆ prev_next_

Address* v8::internal::HandleScope::prev_next_
private

Definition at line 318 of file handles.h.


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