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

#include <traced-handles.h>

Collaboration diagram for v8::internal::TracedNode:

Public Types

using IndexType = uint8_t
 

Public Member Functions

 TracedNode (IndexType, IndexType)
 
IndexType index () const
 
bool is_weak () const
 
void set_weak (bool v)
 
bool is_droppable () const
 
void set_droppable (bool v)
 
bool is_in_use () const
 
void set_is_in_use (bool v)
 
bool is_in_young_list () const
 
void set_is_in_young_list (bool v)
 
IndexType next_free () const
 
void set_next_free (IndexType next_free_index)
 
void set_markbit ()
 
bool markbit () const
 
bool IsMetadataCleared () const
 
void clear_markbit ()
 
bool has_old_host () const
 
void set_has_old_host (bool v)
 
template<AccessMode access_mode = AccessMode::NON_ATOMIC>
void set_raw_object (Address value)
 
Address raw_object () const
 
Tagged< Objectobject () const
 
FullObjectSlot location ()
 
V8_INLINE FullObjectSlot Publish (Tagged< Object > object, bool needs_young_bit_update, bool needs_black_allocation, bool has_old_host, bool is_droppable)
 
void Release (Address zap_value)
 

Static Public Member Functions

static TracedNodeFromLocation (Address *location)
 
static const TracedNodeFromLocation (const Address *location)
 

Private Types

using IsInUse = base::BitField8<bool, 0, 1>
 
using IsInYoungList = IsInUse::Next<bool, 1>
 
using IsWeak = IsInYoungList::Next<bool, 1>
 
using IsDroppable = IsWeak::Next<bool, 1>
 
using HasOldHost = IsDroppable::Next<bool, 1>
 

Private Attributes

Address object_ = kNullAddress
 
IndexType next_free_index_
 
IndexType index_
 
uint8_t flags_ = 0
 
std::atomic< boolis_marked_ = false
 

Detailed Description

Definition at line 24 of file traced-handles.h.

Member Typedef Documentation

◆ HasOldHost

Definition at line 98 of file traced-handles.h.

◆ IndexType

Definition at line 29 of file traced-handles.h.

◆ IsDroppable

Definition at line 97 of file traced-handles.h.

◆ IsInUse

Definition at line 94 of file traced-handles.h.

◆ IsInYoungList

Definition at line 95 of file traced-handles.h.

◆ IsWeak

Definition at line 96 of file traced-handles.h.

Constructor & Destructor Documentation

◆ TracedNode()

v8::internal::TracedNode::TracedNode ( IndexType index,
IndexType next_free_index )

Definition at line 28 of file traced-handles.cc.

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

Member Function Documentation

◆ clear_markbit()

void v8::internal::TracedNode::clear_markbit ( )
inline

Definition at line 69 of file traced-handles.h.

Here is the caller graph for this function:

◆ FromLocation() [1/2]

static TracedNode * v8::internal::TracedNode::FromLocation ( Address * location)
inlinestatic

Definition at line 32 of file traced-handles.h.

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

◆ FromLocation() [2/2]

static const TracedNode * v8::internal::TracedNode::FromLocation ( const Address * location)
inlinestatic

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

Here is the call graph for this function:

◆ has_old_host()

bool v8::internal::TracedNode::has_old_host ( ) const
inline

Definition at line 71 of file traced-handles.h.

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

◆ index()

IndexType v8::internal::TracedNode::index ( ) const
inline

Definition at line 42 of file traced-handles.h.

Here is the caller graph for this function:

◆ is_droppable()

bool v8::internal::TracedNode::is_droppable ( ) const
inline

Definition at line 47 of file traced-handles.h.

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

◆ is_in_use()

bool v8::internal::TracedNode::is_in_use ( ) const
inline

Definition at line 50 of file traced-handles.h.

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

◆ is_in_young_list()

bool v8::internal::TracedNode::is_in_young_list ( ) const
inline

Definition at line 53 of file traced-handles.h.

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

◆ is_weak()

bool v8::internal::TracedNode::is_weak ( ) const
inline

Definition at line 44 of file traced-handles.h.

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

◆ IsMetadataCleared()

bool v8::internal::TracedNode::IsMetadataCleared ( ) const
inline

Definition at line 67 of file traced-handles.h.

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

◆ location()

FullObjectSlot v8::internal::TracedNode::location ( )
inline

Definition at line 85 of file traced-handles.h.

Here is the caller graph for this function:

◆ markbit()

bool v8::internal::TracedNode::markbit ( ) const
inline

Definition at line 65 of file traced-handles.h.

Here is the caller graph for this function:

◆ next_free()

IndexType v8::internal::TracedNode::next_free ( ) const
inline

Definition at line 58 of file traced-handles.h.

◆ object()

Tagged< Object > v8::internal::TracedNode::object ( ) const
inline

Definition at line 84 of file traced-handles.h.

Here is the caller graph for this function:

◆ Publish()

FullObjectSlot v8::internal::TracedNode::Publish ( Tagged< Object > object,
bool needs_young_bit_update,
bool needs_black_allocation,
bool has_old_host,
bool is_droppable )

Definition at line 91 of file traced-handles-inl.h.

Here is the call graph for this function:

◆ raw_object()

Address v8::internal::TracedNode::raw_object ( ) const
inline

Definition at line 83 of file traced-handles.h.

Here is the caller graph for this function:

◆ Release()

void v8::internal::TracedNode::Release ( Address zap_value)

Definition at line 40 of file traced-handles.cc.

Here is the call graph for this function:

◆ set_droppable()

void v8::internal::TracedNode::set_droppable ( bool v)
inline

Definition at line 48 of file traced-handles.h.

Here is the call graph for this function:

◆ set_has_old_host()

void v8::internal::TracedNode::set_has_old_host ( bool v)
inline

Definition at line 72 of file traced-handles.h.

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

◆ set_is_in_use()

void v8::internal::TracedNode::set_is_in_use ( bool v)
inline

Definition at line 51 of file traced-handles.h.

Here is the call graph for this function:

◆ set_is_in_young_list()

void v8::internal::TracedNode::set_is_in_young_list ( bool v)
inline

Definition at line 54 of file traced-handles.h.

Here is the call graph for this function:

◆ set_markbit()

void v8::internal::TracedNode::set_markbit ( )
inline

Definition at line 63 of file traced-handles.h.

Here is the caller graph for this function:

◆ set_next_free()

void v8::internal::TracedNode::set_next_free ( IndexType next_free_index)
inline

Definition at line 59 of file traced-handles.h.

◆ set_raw_object()

template<AccessMode access_mode = AccessMode::NON_ATOMIC>
void v8::internal::TracedNode::set_raw_object ( Address value)
inline

Definition at line 75 of file traced-handles.h.

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

◆ set_weak()

void v8::internal::TracedNode::set_weak ( bool v)
inline

Definition at line 45 of file traced-handles.h.

Here is the call graph for this function:

Member Data Documentation

◆ flags_

uint8_t v8::internal::TracedNode::flags_ = 0
private

Definition at line 104 of file traced-handles.h.

◆ index_

IndexType v8::internal::TracedNode::index_
private

Definition at line 103 of file traced-handles.h.

◆ is_marked_

std::atomic<bool> v8::internal::TracedNode::is_marked_ = false
private

Definition at line 107 of file traced-handles.h.

◆ next_free_index_

IndexType v8::internal::TracedNode::next_free_index_
private

Definition at line 102 of file traced-handles.h.

◆ object_

Address v8::internal::TracedNode::object_ = kNullAddress
private

Definition at line 100 of file traced-handles.h.


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