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

#include <trace-buffer.h>

Inheritance diagram for v8::platform::tracing::TraceBufferRingBuffer:
Collaboration diagram for v8::platform::tracing::TraceBufferRingBuffer:

Public Member Functions

 TraceBufferRingBuffer (size_t max_chunks, TraceWriter *trace_writer)
 
 ~TraceBufferRingBuffer () override=default
 
TraceObjectAddTraceEvent (uint64_t *handle) override
 
TraceObjectGetEventByHandle (uint64_t handle) override
 
bool Flush () override
 
- Public Member Functions inherited from v8::platform::tracing::TraceBuffer
 TraceBuffer ()=default
 
virtual ~TraceBuffer ()=default
 

Private Member Functions

uint64_t MakeHandle (size_t chunk_index, uint32_t chunk_seq, size_t event_index) const
 
void ExtractHandle (uint64_t handle, size_t *chunk_index, uint32_t *chunk_seq, size_t *event_index) const
 
size_t Capacity () const
 
size_t NextChunkIndex (size_t index) const
 

Private Attributes

base::Mutex mutex_
 
size_t max_chunks_
 
std::unique_ptr< TraceWritertrace_writer_
 
std::vector< std::unique_ptr< TraceBufferChunk > > chunks_
 
size_t chunk_index_
 
bool is_empty_ = true
 
uint32_t current_chunk_seq_ = 1
 

Additional Inherited Members

- Static Public Member Functions inherited from v8::platform::tracing::TraceBuffer
static TraceBufferCreateTraceBufferRingBuffer (size_t max_chunks, TraceWriter *trace_writer)
 
- Static Public Attributes inherited from v8::platform::tracing::TraceBuffer
static const size_t kRingBufferChunks = 1024
 

Detailed Description

Definition at line 18 of file trace-buffer.h.

Constructor & Destructor Documentation

◆ TraceBufferRingBuffer()

v8::platform::tracing::TraceBufferRingBuffer::TraceBufferRingBuffer ( size_t max_chunks,
TraceWriter * trace_writer )

Definition at line 11 of file trace-buffer.cc.

◆ ~TraceBufferRingBuffer()

v8::platform::tracing::TraceBufferRingBuffer::~TraceBufferRingBuffer ( )
overridedefault

Member Function Documentation

◆ AddTraceEvent()

TraceObject * v8::platform::tracing::TraceBufferRingBuffer::AddTraceEvent ( uint64_t * handle)
overridevirtual

Implements v8::platform::tracing::TraceBuffer.

Definition at line 18 of file trace-buffer.cc.

Here is the call graph for this function:

◆ Capacity()

size_t v8::platform::tracing::TraceBufferRingBuffer::Capacity ( ) const
inlineprivate

Definition at line 33 of file trace-buffer.h.

Here is the caller graph for this function:

◆ ExtractHandle()

void v8::platform::tracing::TraceBufferRingBuffer::ExtractHandle ( uint64_t handle,
size_t * chunk_index,
uint32_t * chunk_seq,
size_t * event_index ) const
private

Definition at line 74 of file trace-buffer.cc.

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

◆ Flush()

bool v8::platform::tracing::TraceBufferRingBuffer::Flush ( )
overridevirtual

Implements v8::platform::tracing::TraceBuffer.

Definition at line 48 of file trace-buffer.cc.

Here is the call graph for this function:

◆ GetEventByHandle()

TraceObject * v8::platform::tracing::TraceBufferRingBuffer::GetEventByHandle ( uint64_t handle)
overridevirtual

Implements v8::platform::tracing::TraceBuffer.

Definition at line 37 of file trace-buffer.cc.

Here is the call graph for this function:

◆ MakeHandle()

uint64_t v8::platform::tracing::TraceBufferRingBuffer::MakeHandle ( size_t chunk_index,
uint32_t chunk_seq,
size_t event_index ) const
private

Definition at line 67 of file trace-buffer.cc.

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

◆ NextChunkIndex()

size_t v8::platform::tracing::TraceBufferRingBuffer::NextChunkIndex ( size_t index) const
private

Definition at line 83 of file trace-buffer.cc.

Here is the caller graph for this function:

Member Data Documentation

◆ chunk_index_

size_t v8::platform::tracing::TraceBufferRingBuffer::chunk_index_
private

Definition at line 40 of file trace-buffer.h.

◆ chunks_

std::vector<std::unique_ptr<TraceBufferChunk> > v8::platform::tracing::TraceBufferRingBuffer::chunks_
private

Definition at line 39 of file trace-buffer.h.

◆ current_chunk_seq_

uint32_t v8::platform::tracing::TraceBufferRingBuffer::current_chunk_seq_ = 1
private

Definition at line 42 of file trace-buffer.h.

◆ is_empty_

bool v8::platform::tracing::TraceBufferRingBuffer::is_empty_ = true
private

Definition at line 41 of file trace-buffer.h.

◆ max_chunks_

size_t v8::platform::tracing::TraceBufferRingBuffer::max_chunks_
private

Definition at line 37 of file trace-buffer.h.

◆ mutex_

base::Mutex v8::platform::tracing::TraceBufferRingBuffer::mutex_
mutableprivate

Definition at line 36 of file trace-buffer.h.

◆ trace_writer_

std::unique_ptr<TraceWriter> v8::platform::tracing::TraceBufferRingBuffer::trace_writer_
private

Definition at line 38 of file trace-buffer.h.


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