Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
v8::EmbedderGraph::Node Class Referenceabstract

#include <v8-profiler.h>

Public Types

enum class  Detachedness : uint8_t { kUnknown = 0 , kAttached = 1 , kDetached = 2 }
 

Public Member Functions

 Node ()=default
 
virtual ~Node ()=default
 
virtual const char * Name ()=0
 
virtual size_t SizeInBytes ()=0
 
virtual NodeWrapperNode ()
 
virtual bool IsRootNode ()
 
virtual bool IsEmbedderNode ()
 
virtual const char * NamePrefix ()
 
virtual NativeObject GetNativeObject ()
 
virtual Detachedness GetDetachedness ()
 
virtual const void * GetAddress ()
 
 Node (const Node &)=delete
 
Nodeoperator= (const Node &)=delete
 

Member Enumeration Documentation

◆ Detachedness

enum class v8::EmbedderGraph::Node::Detachedness : uint8_t
strong

Detachedness specifies whether an object is attached or detached from the main application state. While unkown in general, there may be objects that specifically know their state. V8 passes this information along in the snapshot. Users of the snapshot may use it to annotate the object graph.

Enumerator
kUnknown 
kAttached 
kDetached 

Constructor & Destructor Documentation

◆ Node() [1/2]

v8::EmbedderGraph::Node::Node ( )
default

◆ ~Node()

virtual v8::EmbedderGraph::Node::~Node ( )
virtualdefault

◆ Node() [2/2]

v8::EmbedderGraph::Node::Node ( const Node )
delete

Member Function Documentation

◆ GetAddress()

virtual const void * v8::EmbedderGraph::Node::GetAddress ( )
inlinevirtual

Returns the address of the object in the embedder heap, or nullptr to not specify the address. If this address is provided, then V8 can generate consistent IDs for objects across subsequent heap snapshots, which allows devtools to determine which objects were retained from one snapshot to the next. This value is used only if GetNativeObject returns nullptr.

◆ GetDetachedness()

virtual Detachedness v8::EmbedderGraph::Node::GetDetachedness ( )
inlinevirtual

Detachedness state of a given object. While unkown in general, there may be objects that specifically know their state. V8 passes this information along in the snapshot. Users of the snapshot may use it to annotate the object graph.

◆ GetNativeObject()

virtual NativeObject v8::EmbedderGraph::Node::GetNativeObject ( )
inlinevirtual

Returns the NativeObject that can be used for querying the |HeapSnapshot|.

◆ IsEmbedderNode()

virtual bool v8::EmbedderGraph::Node::IsEmbedderNode ( )
inlinevirtual

Must return true for non-V8 nodes.

◆ IsRootNode()

virtual bool v8::EmbedderGraph::Node::IsRootNode ( )
inlinevirtual

◆ Name()

virtual const char * v8::EmbedderGraph::Node::Name ( )
pure virtual

◆ NamePrefix()

virtual const char * v8::EmbedderGraph::Node::NamePrefix ( )
inlinevirtual

Optional name prefix. It is used in Chrome for tagging detached nodes.

◆ operator=()

Node & v8::EmbedderGraph::Node::operator= ( const Node )
delete

◆ SizeInBytes()

virtual size_t v8::EmbedderGraph::Node::SizeInBytes ( )
pure virtual

◆ WrapperNode()

virtual Node * v8::EmbedderGraph::Node::WrapperNode ( )
inlinevirtual

The corresponding V8 wrapper node if not null. During heap snapshot generation the embedder node and the V8 wrapper node will be merged into one node to simplify retaining paths.


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