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

#include <profile-generator.h>

Collaboration diagram for v8::internal::ProfileTree:

Public Types

using ProfilingMode = v8::CpuProfilingMode
 

Public Member Functions

 ProfileTree (Isolate *isolate, CodeEntryStorage *storage=nullptr)
 
 ~ProfileTree ()
 
 ProfileTree (const ProfileTree &)=delete
 
ProfileTreeoperator= (const ProfileTree &)=delete
 
ProfileNodeAddPathFromEnd (const std::vector< CodeEntry * > &path, int src_line=v8::CpuProfileNode::kNoLineNumberInfo, bool update_stats=true)
 
ProfileNodeAddPathFromEnd (const ProfileStackTrace &path, int src_line=v8::CpuProfileNode::kNoLineNumberInfo, bool update_stats=true, ProfilingMode mode=ProfilingMode::kLeafNodeLineNumbers)
 
ProfileNoderoot () const
 
unsigned next_node_id ()
 
void Print () const
 
Isolateisolate () const
 
void EnqueueNode (const ProfileNode *node)
 
size_t pending_nodes_count () const
 
std::vector< const ProfileNode * > TakePendingNodes ()
 
CodeEntryStoragecode_entries ()
 

Private Member Functions

template<typename Callback >
void TraverseDepthFirst (Callback *callback)
 

Private Attributes

std::vector< const ProfileNode * > pending_nodes_
 
unsigned next_node_id_
 
Isolateisolate_
 
CodeEntryStorage *const code_entries_
 
ProfileNoderoot_
 

Detailed Description

Definition at line 362 of file profile-generator.h.

Member Typedef Documentation

◆ ProfilingMode

Constructor & Destructor Documentation

◆ ProfileTree() [1/2]

v8::internal::ProfileTree::ProfileTree ( Isolate * isolate,
CodeEntryStorage * storage = nullptr )
explicit

Definition at line 463 of file profile-generator.cc.

◆ ~ProfileTree()

v8::internal::ProfileTree::~ProfileTree ( )

Definition at line 469 of file profile-generator.cc.

Here is the call graph for this function:

◆ ProfileTree() [2/2]

v8::internal::ProfileTree::ProfileTree ( const ProfileTree & )
delete

Member Function Documentation

◆ AddPathFromEnd() [1/2]

ProfileNode * v8::internal::ProfileTree::AddPathFromEnd ( const ProfileStackTrace & path,
int src_line = v8::CpuProfileNode::kNoLineNumberInfo,
bool update_stats = true,
ProfilingMode mode = ProfilingMode::kLeafNodeLineNumbers )

Definition at line 495 of file profile-generator.cc.

Here is the call graph for this function:

◆ AddPathFromEnd() [2/2]

ProfileNode * v8::internal::ProfileTree::AddPathFromEnd ( const std::vector< CodeEntry * > & path,
int src_line = v8::CpuProfileNode::kNoLineNumberInfo,
bool update_stats = true )

Definition at line 474 of file profile-generator.cc.

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

◆ code_entries()

CodeEntryStorage * v8::internal::ProfileTree::code_entries ( )
inline

Definition at line 393 of file profile-generator.h.

Here is the caller graph for this function:

◆ EnqueueNode()

void v8::internal::ProfileTree::EnqueueNode ( const ProfileNode * node)
inline

Definition at line 387 of file profile-generator.h.

Here is the caller graph for this function:

◆ isolate()

Isolate * v8::internal::ProfileTree::isolate ( ) const
inline

Definition at line 385 of file profile-generator.h.

Here is the caller graph for this function:

◆ next_node_id()

unsigned v8::internal::ProfileTree::next_node_id ( )
inline

Definition at line 381 of file profile-generator.h.

◆ operator=()

ProfileTree & v8::internal::ProfileTree::operator= ( const ProfileTree & )
delete

◆ pending_nodes_count()

size_t v8::internal::ProfileTree::pending_nodes_count ( ) const
inline

Definition at line 388 of file profile-generator.h.

Here is the caller graph for this function:

◆ Print()

void v8::internal::ProfileTree::Print ( ) const
inline

Definition at line 383 of file profile-generator.h.

Here is the caller graph for this function:

◆ root()

ProfileNode * v8::internal::ProfileTree::root ( ) const
inline

Definition at line 380 of file profile-generator.h.

◆ TakePendingNodes()

std::vector< const ProfileNode * > v8::internal::ProfileTree::TakePendingNodes ( )
inline

Definition at line 389 of file profile-generator.h.

Here is the caller graph for this function:

◆ TraverseDepthFirst()

template<typename Callback >
void v8::internal::ProfileTree::TraverseDepthFirst ( Callback * callback)
private

Definition at line 541 of file profile-generator.cc.

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

Member Data Documentation

◆ code_entries_

CodeEntryStorage* const v8::internal::ProfileTree::code_entries_
private

Definition at line 403 of file profile-generator.h.

◆ isolate_

Isolate* v8::internal::ProfileTree::isolate_
private

Definition at line 402 of file profile-generator.h.

◆ next_node_id_

unsigned v8::internal::ProfileTree::next_node_id_
private

Definition at line 401 of file profile-generator.h.

◆ pending_nodes_

std::vector<const ProfileNode*> v8::internal::ProfileTree::pending_nodes_
private

Definition at line 399 of file profile-generator.h.

◆ root_

ProfileNode* v8::internal::ProfileTree::root_
private

Definition at line 404 of file profile-generator.h.


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