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

Public Types

using BlockType = NodeBlock<_NodeType>
 
using NodeType = _NodeType
 

Public Member Functions

 NodeBlock (GlobalHandles *global_handles, GlobalHandles::NodeSpace< NodeType > *space, NodeBlock *next) V8_NOEXCEPT
 
 NodeBlock (const NodeBlock &)=delete
 
NodeBlockoperator= (const NodeBlock &)=delete
 
NodeTypeat (size_t index)
 
const NodeTypeat (size_t index) const
 
GlobalHandles::NodeSpace< NodeType > * space () const
 
GlobalHandlesglobal_handles () const
 
V8_INLINE bool IncreaseUsage ()
 
V8_INLINE bool DecreaseUsage ()
 
V8_INLINE void ListAdd (NodeBlock **top)
 
V8_INLINE void ListRemove (NodeBlock **top)
 
NodeBlocknext () const
 
NodeBlocknext_used () const
 
const void * begin_address () const
 
const void * end_address () const
 

Static Public Member Functions

static V8_INLINE const NodeBlockFrom (const NodeType *node)
 
static V8_INLINE NodeBlockFrom (NodeType *node)
 

Private Attributes

NodeType nodes_ [kBlockSize]
 
NodeBlock *const next_
 
GlobalHandles *const global_handles_
 
GlobalHandles::NodeSpace< NodeType > *const space_
 
NodeBlocknext_used_ = nullptr
 
NodeBlockprev_used_ = nullptr
 
uint32_t used_nodes_ = 0
 

Detailed Description

template<class NodeType>
class v8::internal::GlobalHandles::NodeBlock< NodeType >

Definition at line 36 of file global-handles.h.

Member Typedef Documentation

◆ BlockType

template<class NodeType >
using v8::internal::GlobalHandles::NodeBlock< NodeType >::BlockType = NodeBlock<_NodeType>

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

◆ NodeType

template<class NodeType >
using v8::internal::GlobalHandles::NodeBlock< NodeType >::NodeType = _NodeType

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

Constructor & Destructor Documentation

◆ NodeBlock() [1/2]

template<class NodeType >
v8::internal::GlobalHandles::NodeBlock< NodeType >::NodeBlock ( GlobalHandles * global_handles,
GlobalHandles::NodeSpace< NodeType > * space,
NodeBlock< NodeType > * next )
inline

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

◆ NodeBlock() [2/2]

template<class NodeType >
v8::internal::GlobalHandles::NodeBlock< NodeType >::NodeBlock ( const NodeBlock< NodeType > & )
delete

Member Function Documentation

◆ at() [1/2]

template<class NodeType >
NodeType * v8::internal::GlobalHandles::NodeBlock< NodeType >::at ( size_t index)
inline

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

◆ at() [2/2]

template<class NodeType >
const NodeType * v8::internal::GlobalHandles::NodeBlock< NodeType >::at ( size_t index) const
inline

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

◆ begin_address()

template<class NodeType >
const void * v8::internal::GlobalHandles::NodeBlock< NodeType >::begin_address ( ) const
inline

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

◆ DecreaseUsage()

template<class NodeType >
bool v8::internal::GlobalHandles::NodeBlock< NodeType >::DecreaseUsage ( )

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

◆ end_address()

template<class NodeType >
const void * v8::internal::GlobalHandles::NodeBlock< NodeType >::end_address ( ) const
inline

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

◆ From() [1/2]

template<class NodeType >
const GlobalHandles::NodeBlock< NodeType > * v8::internal::GlobalHandles::NodeBlock< NodeType >::From ( const NodeType * node)
static

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

Here is the caller graph for this function:

◆ From() [2/2]

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

◆ global_handles()

template<class NodeType >
GlobalHandles * v8::internal::GlobalHandles::NodeBlock< NodeType >::global_handles ( ) const
inline

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

◆ IncreaseUsage()

template<class NodeType >
bool v8::internal::GlobalHandles::NodeBlock< NodeType >::IncreaseUsage ( )

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

◆ ListAdd()

template<class NodeType >
void v8::internal::GlobalHandles::NodeBlock< NodeType >::ListAdd ( NodeBlock< NodeType > ** top)

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

◆ ListRemove()

template<class NodeType >
void v8::internal::GlobalHandles::NodeBlock< NodeType >::ListRemove ( NodeBlock< NodeType > ** top)

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

◆ next()

template<class NodeType >
NodeBlock * v8::internal::GlobalHandles::NodeBlock< NodeType >::next ( ) const
inline

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

◆ next_used()

template<class NodeType >
NodeBlock * v8::internal::GlobalHandles::NodeBlock< NodeType >::next_used ( ) const
inline

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

◆ operator=()

template<class NodeType >
NodeBlock & v8::internal::GlobalHandles::NodeBlock< NodeType >::operator= ( const NodeBlock< NodeType > & )
delete

◆ space()

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

Member Data Documentation

◆ global_handles_

template<class NodeType >
GlobalHandles* const v8::internal::GlobalHandles::NodeBlock< NodeType >::global_handles_
private

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

◆ next_

template<class NodeType >
NodeBlock* const v8::internal::GlobalHandles::NodeBlock< NodeType >::next_
private

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

◆ next_used_

template<class NodeType >
NodeBlock* v8::internal::GlobalHandles::NodeBlock< NodeType >::next_used_ = nullptr
private

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

◆ nodes_

template<class NodeType >
NodeType v8::internal::GlobalHandles::NodeBlock< NodeType >::nodes_[kBlockSize]
private

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

◆ prev_used_

template<class NodeType >
NodeBlock* v8::internal::GlobalHandles::NodeBlock< NodeType >::prev_used_ = nullptr
private

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

◆ space_

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

◆ used_nodes_

template<class NodeType >
uint32_t v8::internal::GlobalHandles::NodeBlock< NodeType >::used_nodes_ = 0
private

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


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