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

Public Types

enum  State { FREE = 0 , NORMAL , WEAK , NEAR_DEATH }
 

Public Member Functions

 Node ()
 
 Node (const Node &)=delete
 
Nodeoperator= (const Node &)=delete
 
const char * label () const
 
State state () const
 
void set_state (State state)
 
bool is_in_young_list () const
 
void set_in_young_list (bool v)
 
WeaknessType weakness_type () const
 
void set_weakness_type (WeaknessType weakness_type)
 
bool IsWeak () const
 
bool IsInUse () const
 
bool IsPhantomResetHandle () const
 
bool IsWeakOrStrongRetainer () const
 
bool IsStrongRetainer () const
 
bool IsWeakRetainer () const
 
bool has_callback () const
 
Nodenext_free ()
 
void MakeWeak (void *parameter, WeakCallbackInfo< void >::Callback phantom_callback, v8::WeakCallbackType type)
 
void MakeWeak (Address **location_addr)
 
void * ClearWeakness ()
 
void AnnotateStrongRetainer (const char *label)
 
void CollectPhantomCallbackData (std::vector< std::pair< Node *, PendingPhantomCallback > > *pending_phantom_callbacks)
 
void ResetPhantomHandle ()
 
void MarkAsFree ()
 
void MarkAsUsed ()
 
GlobalHandlesglobal_handles ()
 
- Public Member Functions inherited from v8::internal::NodeBase< GlobalHandles::Node >
GlobalHandles::Nodenext_free ()
 
void * parameter () const
 
 NodeBase ()
 
void Free (GlobalHandles::Node *free_list)
 
IndirectHandle< ObjectPublish (Tagged< Object > object)
 
void Release (GlobalHandles::Node *free_list)
 
Tagged< Objectobject () const
 
FullObjectSlot location ()
 
IndirectHandle< Objecthandle ()
 
Address raw_object () const
 
uint8_t index () const
 
void set_index (uint8_t value)
 
uint16_t wrapper_class_id () const
 
bool has_wrapper_class_id () const
 
void set_parameter (void *parameter)
 
void CheckNodeIsFreeNode () const
 

Private Types

using NodeState = base::BitField8<State, 0, 2>
 
using IsInYoungList = NodeState::Next<bool, 1>
 
using NodeWeaknessType = IsInYoungList::Next<WeaknessType, 2>
 

Private Member Functions

void ClearImplFields ()
 
void CheckNodeIsFreeNodeImpl () const
 

Private Attributes

WeakCallbackInfo< void >::Callback weak_callback_
 

Friends

class NodeBase< Node >
 

Additional Inherited Members

- Static Public Member Functions inherited from v8::internal::NodeBase< GlobalHandles::Node >
static const GlobalHandles::NodeFromLocation (const Address *location)
 
static GlobalHandles::NodeFromLocation (Address *location)
 
- Public Attributes inherited from v8::internal::NodeBase< GlobalHandles::Node >
GlobalHandles::Nodenext_free
 
void * parameter
 
- Protected Member Functions inherited from v8::internal::NodeBase< GlobalHandles::Node >
GlobalHandles::NodeAsChild ()
 
const GlobalHandles::NodeAsChild () const
 
void ClearFields ()
 
- Protected Attributes inherited from v8::internal::NodeBase< GlobalHandles::Node >
Address object_
 
uint16_t class_id_
 
uint8_t index_
 
uint8_t flags_
 
union { 
 
   Child *   next_free = nullptr 
 
   void *   parameter 
 
data_ 
 

Detailed Description

Definition at line 425 of file global-handles.cc.

Member Typedef Documentation

◆ IsInYoungList

◆ NodeState

Definition at line 586 of file global-handles.cc.

◆ NodeWeaknessType

Member Enumeration Documentation

◆ State

Enumerator
FREE 
NORMAL 
WEAK 
NEAR_DEATH 

Definition at line 429 of file global-handles.cc.

Constructor & Destructor Documentation

◆ Node() [1/2]

v8::internal::GlobalHandles::Node::Node ( )
inline

Definition at line 440 of file global-handles.cc.

Here is the call graph for this function:

◆ Node() [2/2]

v8::internal::GlobalHandles::Node::Node ( const Node & )
delete

Member Function Documentation

◆ AnnotateStrongRetainer()

void v8::internal::GlobalHandles::Node::AnnotateStrongRetainer ( const char * label)
inline

Definition at line 530 of file global-handles.cc.

Here is the call graph for this function:

◆ CheckNodeIsFreeNodeImpl()

void v8::internal::GlobalHandles::Node::CheckNodeIsFreeNodeImpl ( ) const
inlineprivate

Definition at line 579 of file global-handles.cc.

Here is the call graph for this function:

◆ ClearImplFields()

void v8::internal::GlobalHandles::Node::ClearImplFields ( )
inlineprivate

Definition at line 577 of file global-handles.cc.

◆ ClearWeakness()

void * v8::internal::GlobalHandles::Node::ClearWeakness ( )
inline

Definition at line 522 of file global-handles.cc.

Here is the call graph for this function:

◆ CollectPhantomCallbackData()

void v8::internal::GlobalHandles::Node::CollectPhantomCallbackData ( std::vector< std::pair< Node *, PendingPhantomCallback > > * pending_phantom_callbacks)
inline

Definition at line 535 of file global-handles.cc.

Here is the call graph for this function:

◆ global_handles()

GlobalHandles * v8::internal::GlobalHandles::Node::global_handles ( )
inline

Definition at line 571 of file global-handles.cc.

Here is the call graph for this function:

◆ has_callback()

bool v8::internal::GlobalHandles::Node::has_callback ( ) const
inline

Definition at line 486 of file global-handles.cc.

◆ is_in_young_list()

bool v8::internal::GlobalHandles::Node::is_in_young_list ( ) const
inline

Definition at line 460 of file global-handles.cc.

Here is the call graph for this function:

◆ IsInUse()

bool v8::internal::GlobalHandles::Node::IsInUse ( ) const
inline

Definition at line 472 of file global-handles.cc.

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

◆ IsPhantomResetHandle()

bool v8::internal::GlobalHandles::Node::IsPhantomResetHandle ( ) const
inline

Definition at line 474 of file global-handles.cc.

Here is the call graph for this function:

◆ IsStrongRetainer()

bool v8::internal::GlobalHandles::Node::IsStrongRetainer ( ) const
inline

Definition at line 482 of file global-handles.cc.

Here is the call graph for this function:

◆ IsWeak()

bool v8::internal::GlobalHandles::Node::IsWeak ( ) const
inline

Definition at line 470 of file global-handles.cc.

Here is the call graph for this function:

◆ IsWeakOrStrongRetainer()

bool v8::internal::GlobalHandles::Node::IsWeakOrStrongRetainer ( ) const
inline

Definition at line 478 of file global-handles.cc.

Here is the call graph for this function:

◆ IsWeakRetainer()

bool v8::internal::GlobalHandles::Node::IsWeakRetainer ( ) const
inline

Definition at line 484 of file global-handles.cc.

Here is the call graph for this function:

◆ label()

const char * v8::internal::GlobalHandles::Node::label ( ) const
inline

Definition at line 450 of file global-handles.cc.

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

◆ MakeWeak() [1/2]

void v8::internal::GlobalHandles::Node::MakeWeak ( Address ** location_addr)
inline

Definition at line 513 of file global-handles.cc.

Here is the call graph for this function:

◆ MakeWeak() [2/2]

void v8::internal::GlobalHandles::Node::MakeWeak ( void * parameter,
WeakCallbackInfo< void >::Callback phantom_callback,
v8::WeakCallbackType type )
inline

Definition at line 494 of file global-handles.cc.

Here is the call graph for this function:

◆ MarkAsFree()

void v8::internal::GlobalHandles::Node::MarkAsFree ( )
inline

Definition at line 568 of file global-handles.cc.

Here is the call graph for this function:

◆ MarkAsUsed()

void v8::internal::GlobalHandles::Node::MarkAsUsed ( )
inline

Definition at line 569 of file global-handles.cc.

Here is the call graph for this function:

◆ next_free()

Node * v8::internal::GlobalHandles::Node::next_free ( )
inline

Definition at line 489 of file global-handles.cc.

Here is the call graph for this function:

◆ operator=()

Node & v8::internal::GlobalHandles::Node::operator= ( const Node & )
delete

◆ ResetPhantomHandle()

void v8::internal::GlobalHandles::Node::ResetPhantomHandle ( )
inline

Definition at line 560 of file global-handles.cc.

Here is the call graph for this function:

◆ set_in_young_list()

void v8::internal::GlobalHandles::Node::set_in_young_list ( bool v)
inline

Definition at line 461 of file global-handles.cc.

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

◆ set_state()

void v8::internal::GlobalHandles::Node::set_state ( State state)
inline

Definition at line 458 of file global-handles.cc.

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

◆ set_weakness_type()

void v8::internal::GlobalHandles::Node::set_weakness_type ( WeaknessType weakness_type)
inline

Definition at line 466 of file global-handles.cc.

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

◆ state()

State v8::internal::GlobalHandles::Node::state ( ) const
inline

Definition at line 457 of file global-handles.cc.

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

◆ weakness_type()

WeaknessType v8::internal::GlobalHandles::Node::weakness_type ( ) const
inline

Definition at line 463 of file global-handles.cc.

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

Friends And Related Symbol Documentation

◆ NodeBase< Node >

friend class NodeBase< Node >
friend

Definition at line 594 of file global-handles.cc.

Member Data Documentation

◆ weak_callback_

WeakCallbackInfo<void>::Callback v8::internal::GlobalHandles::Node::weak_callback_
private

Definition at line 594 of file global-handles.cc.


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