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

Classes

struct  MergedNodeItem
 
class  VisitationDoneItem
 
class  VisitationItem
 
class  WorkstackItemBase
 

Public Member Functions

 CppGraphBuilderImpl (CppHeap &cpp_heap, v8::EmbedderGraph &graph)
 
void Run ()
 
void VisitForVisibility (State *parent, const HeapObjectHeader &)
 
void VisitForVisibility (State &parent, const TracedReferenceBase &)
 
void VisitEphemeronForVisibility (const HeapObjectHeader &key, const HeapObjectHeader &value)
 
void VisitEphemeronWithNonGarbageCollectedValueForVisibility (const HeapObjectHeader &key, const void *value, cppgc::TraceDescriptor value_desc)
 
void VisitWeakContainerForVisibility (const HeapObjectHeader &)
 
void VisitRootForGraphBuilding (RootState &, const HeapObjectHeader &, const cppgc::SourceLocation &)
 
void ProcessPendingObjects ()
 
void RecordEphemeronKey (const HeapObjectHeader &, const HeapObjectHeader &)
 
void AddConservativeEphemeronKeyEdgesIfNeeded (const HeapObjectHeader &)
 
EmbedderRootNodeAddRootNode (const char *name)
 
EmbedderNodeAddNode (const HeapObjectHeader &header)
 
void AddEdge (State &parent, const HeapObjectHeader &header, const std::string &edge_name)
 
void AddEdge (State &parent, const TracedReferenceBase &ref, const std::string &edge_name)
 
void AddRootEdge (RootState &root, State &child, std::string edge_name)
 

Private Attributes

CppHeapcpp_heap_
 
v8::EmbedderGraphgraph_
 
StateStorage states_
 
std::vector< std::unique_ptr< WorkstackItemBase > > workstack_
 

Detailed Description

Definition at line 440 of file cpp-snapshot.cc.

Constructor & Destructor Documentation

◆ CppGraphBuilderImpl()

v8::internal::CppGraphBuilderImpl::CppGraphBuilderImpl ( CppHeap & cpp_heap,
v8::EmbedderGraph & graph )
inline

Definition at line 442 of file cpp-snapshot.cc.

Member Function Documentation

◆ AddConservativeEphemeronKeyEdgesIfNeeded()

void v8::internal::CppGraphBuilderImpl::AddConservativeEphemeronKeyEdgesIfNeeded ( const HeapObjectHeader & header)

Definition at line 916 of file cpp-snapshot.cc.

◆ AddEdge() [1/2]

void v8::internal::CppGraphBuilderImpl::AddEdge ( State & parent,
const HeapObjectHeader & header,
const std::string & edge_name )
inline

Definition at line 479 of file cpp-snapshot.cc.

Here is the call graph for this function:

◆ AddEdge() [2/2]

void v8::internal::CppGraphBuilderImpl::AddEdge ( State & parent,
const TracedReferenceBase & ref,
const std::string & edge_name )
inline

Definition at line 502 of file cpp-snapshot.cc.

Here is the call graph for this function:

◆ AddNode()

EmbedderNode * v8::internal::CppGraphBuilderImpl::AddNode ( const HeapObjectHeader & header)
inline

Definition at line 467 of file cpp-snapshot.cc.

Here is the call graph for this function:

◆ AddRootEdge()

void v8::internal::CppGraphBuilderImpl::AddRootEdge ( RootState & root,
State & child,
std::string edge_name )
inline

Definition at line 555 of file cpp-snapshot.cc.

Here is the call graph for this function:

◆ AddRootNode()

EmbedderRootNode * v8::internal::CppGraphBuilderImpl::AddRootNode ( const char * name)
inline

Definition at line 462 of file cpp-snapshot.cc.

◆ ProcessPendingObjects()

void v8::internal::CppGraphBuilderImpl::ProcessPendingObjects ( )

Definition at line 804 of file cpp-snapshot.cc.

◆ RecordEphemeronKey()

void v8::internal::CppGraphBuilderImpl::RecordEphemeronKey ( const HeapObjectHeader & container,
const HeapObjectHeader & key )

Definition at line 909 of file cpp-snapshot.cc.

◆ Run()

void v8::internal::CppGraphBuilderImpl::Run ( )

Definition at line 994 of file cpp-snapshot.cc.

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

◆ VisitEphemeronForVisibility()

void v8::internal::CppGraphBuilderImpl::VisitEphemeronForVisibility ( const HeapObjectHeader & key,
const HeapObjectHeader & value )

Definition at line 895 of file cpp-snapshot.cc.

◆ VisitEphemeronWithNonGarbageCollectedValueForVisibility()

void v8::internal::CppGraphBuilderImpl::VisitEphemeronWithNonGarbageCollectedValueForVisibility ( const HeapObjectHeader & key,
const void * value,
cppgc::TraceDescriptor value_desc )

Definition at line 882 of file cpp-snapshot.cc.

◆ VisitForVisibility() [1/2]

void v8::internal::CppGraphBuilderImpl::VisitForVisibility ( State & parent,
const TracedReferenceBase & ref )

Definition at line 929 of file cpp-snapshot.cc.

Here is the call graph for this function:

◆ VisitForVisibility() [2/2]

void v8::internal::CppGraphBuilderImpl::VisitForVisibility ( State * parent,
const HeapObjectHeader & header )

Definition at line 850 of file cpp-snapshot.cc.

Here is the call graph for this function:

◆ VisitRootForGraphBuilding()

void v8::internal::CppGraphBuilderImpl::VisitRootForGraphBuilding ( RootState & root,
const HeapObjectHeader & header,
const cppgc::SourceLocation & loc )

Definition at line 938 of file cpp-snapshot.cc.

Here is the call graph for this function:

◆ VisitWeakContainerForVisibility()

void v8::internal::CppGraphBuilderImpl::VisitWeakContainerForVisibility ( const HeapObjectHeader & container_header)

Definition at line 902 of file cpp-snapshot.cc.

Member Data Documentation

◆ cpp_heap_

CppHeap& v8::internal::CppGraphBuilderImpl::cpp_heap_
private

Definition at line 583 of file cpp-snapshot.cc.

◆ graph_

v8::EmbedderGraph& v8::internal::CppGraphBuilderImpl::graph_
private

Definition at line 584 of file cpp-snapshot.cc.

◆ states_

StateStorage v8::internal::CppGraphBuilderImpl::states_
private

Definition at line 585 of file cpp-snapshot.cc.

◆ workstack_

std::vector<std::unique_ptr<WorkstackItemBase> > v8::internal::CppGraphBuilderImpl::workstack_
private

Definition at line 586 of file cpp-snapshot.cc.


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