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

#include <basic-block-profiler.h>

Collaboration diagram for v8::internal::BasicBlockProfilerData:

Public Member Functions

 BasicBlockProfilerData (size_t n_blocks)
 
V8_EXPORT_PRIVATE BasicBlockProfilerData (DirectHandle< OnHeapBasicBlockProfilerData > js_heap_data, Isolate *isolate)
 
V8_EXPORT_PRIVATE BasicBlockProfilerData (Tagged< OnHeapBasicBlockProfilerData > js_heap_data)
 
 BasicBlockProfilerData (const BasicBlockProfilerData &)=delete
 
BasicBlockProfilerDataoperator= (const BasicBlockProfilerData &)=delete
 
size_t n_blocks () const
 
const uint32_t * counts () const
 
void SetCode (const std::ostringstream &os)
 
void SetFunctionName (std::unique_ptr< char[]> name)
 
void SetSchedule (const std::ostringstream &os)
 
void SetBlockId (size_t offset, int32_t id)
 
void SetHash (int hash)
 
void AddBranch (int32_t true_block_id, int32_t false_block_id)
 
DirectHandle< OnHeapBasicBlockProfilerData > CopyToJSHeap (Isolate *isolate)
 
void Log (Isolate *isolate, std::ostream &os)
 

Private Member Functions

V8_EXPORT_PRIVATE void ResetCounts ()
 
void CopyFromJSHeap (Tagged< OnHeapBasicBlockProfilerData > js_heap_data)
 

Private Attributes

std::vector< int32_t > block_ids_
 
std::vector< uint32_t > counts_
 
std::vector< std::pair< int32_t, int32_t > > branches_
 
std::string function_name_
 
std::string schedule_
 
std::string code_
 
int hash_ = 0
 

Friends

class BasicBlockProfiler
 
std::ostream & operator<< (std::ostream &os, const BasicBlockProfilerData &s)
 

Detailed Description

Definition at line 24 of file basic-block-profiler.h.

Constructor & Destructor Documentation

◆ BasicBlockProfilerData() [1/4]

v8::internal::BasicBlockProfilerData::BasicBlockProfilerData ( size_t n_blocks)
explicit

Definition at line 22 of file basic-block-profiler.cc.

◆ BasicBlockProfilerData() [2/4]

v8::internal::BasicBlockProfilerData::BasicBlockProfilerData ( DirectHandle< OnHeapBasicBlockProfilerData > js_heap_data,
Isolate * isolate )

Definition at line 74 of file basic-block-profiler.cc.

Here is the call graph for this function:

◆ BasicBlockProfilerData() [3/4]

v8::internal::BasicBlockProfilerData::BasicBlockProfilerData ( Tagged< OnHeapBasicBlockProfilerData > js_heap_data)

Definition at line 80 of file basic-block-profiler.cc.

Here is the call graph for this function:

◆ BasicBlockProfilerData() [4/4]

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

Member Function Documentation

◆ AddBranch()

void v8::internal::BasicBlockProfilerData::AddBranch ( int32_t true_block_id,
int32_t false_block_id )

Definition at line 50 of file basic-block-profiler.cc.

Here is the caller graph for this function:

◆ CopyFromJSHeap()

void v8::internal::BasicBlockProfilerData::CopyFromJSHeap ( Tagged< OnHeapBasicBlockProfilerData > js_heap_data)
private

Definition at line 85 of file basic-block-profiler.cc.

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

◆ CopyToJSHeap()

DirectHandle< OnHeapBasicBlockProfilerData > v8::internal::BasicBlockProfilerData::CopyToJSHeap ( Isolate * isolate)

Definition at line 108 of file basic-block-profiler.cc.

Here is the call graph for this function:

◆ counts()

const uint32_t * v8::internal::BasicBlockProfilerData::counts ( ) const
inline

Definition at line 40 of file basic-block-profiler.h.

Here is the caller graph for this function:

◆ Log()

void v8::internal::BasicBlockProfilerData::Log ( Isolate * isolate,
std::ostream & os )

Definition at line 221 of file basic-block-profiler.cc.

Here is the call graph for this function:

◆ n_blocks()

size_t v8::internal::BasicBlockProfilerData::n_blocks ( ) const
inline

Definition at line 36 of file basic-block-profiler.h.

Here is the caller graph for this function:

◆ operator=()

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

◆ ResetCounts()

void v8::internal::BasicBlockProfilerData::ResetCounts ( )
private

Definition at line 44 of file basic-block-profiler.cc.

Here is the call graph for this function:

◆ SetBlockId()

void v8::internal::BasicBlockProfilerData::SetBlockId ( size_t offset,
int32_t id )

Definition at line 37 of file basic-block-profiler.cc.

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

◆ SetCode()

void v8::internal::BasicBlockProfilerData::SetCode ( const std::ostringstream & os)

Definition at line 25 of file basic-block-profiler.cc.

◆ SetFunctionName()

void v8::internal::BasicBlockProfilerData::SetFunctionName ( std::unique_ptr< char[]> name)

Definition at line 29 of file basic-block-profiler.cc.

Here is the caller graph for this function:

◆ SetHash()

void v8::internal::BasicBlockProfilerData::SetHash ( int hash)

Definition at line 42 of file basic-block-profiler.cc.

Here is the caller graph for this function:

◆ SetSchedule()

void v8::internal::BasicBlockProfilerData::SetSchedule ( const std::ostringstream & os)

Definition at line 33 of file basic-block-profiler.cc.

Here is the caller graph for this function:

Friends And Related Symbol Documentation

◆ BasicBlockProfiler

friend class BasicBlockProfiler
friend

Definition at line 57 of file basic-block-profiler.h.

◆ operator<<

std::ostream & operator<< ( std::ostream & os,
const BasicBlockProfilerData & s )
friend

Definition at line 243 of file basic-block-profiler.cc.

Member Data Documentation

◆ block_ids_

std::vector<int32_t> v8::internal::BasicBlockProfilerData::block_ids_
private

Definition at line 66 of file basic-block-profiler.h.

◆ branches_

std::vector<std::pair<int32_t, int32_t> > v8::internal::BasicBlockProfilerData::branches_
private

Definition at line 68 of file basic-block-profiler.h.

◆ code_

std::string v8::internal::BasicBlockProfilerData::code_
private

Definition at line 71 of file basic-block-profiler.h.

◆ counts_

std::vector<uint32_t> v8::internal::BasicBlockProfilerData::counts_
private

Definition at line 67 of file basic-block-profiler.h.

◆ function_name_

std::string v8::internal::BasicBlockProfilerData::function_name_
private

Definition at line 69 of file basic-block-profiler.h.

◆ hash_

int v8::internal::BasicBlockProfilerData::hash_ = 0
private

Definition at line 72 of file basic-block-profiler.h.

◆ schedule_

std::string v8::internal::BasicBlockProfilerData::schedule_
private

Definition at line 70 of file basic-block-profiler.h.


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