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

#include <gc-info-table.h>

Collaboration diagram for cppgc::internal::GCInfoTable:

Public Member Functions

 GCInfoTable (PageAllocator &page_allocator, FatalOutOfMemoryHandler &oom_handler)
 
 ~GCInfoTable ()
 
 GCInfoTable (const GCInfoTable &)=delete
 
GCInfoTableoperator= (const GCInfoTable &)=delete
 
GCInfoIndex RegisterNewGCInfo (std::atomic< uint16_t > &, const GCInfo &info)
 
const GCInfoGCInfoFromIndex (GCInfoIndex index) const
 
GCInfoIndex NumberOfGCInfos () const
 
GCInfoIndex LimitForTesting () const
 
GCInfoTableSlotForTesting (GCInfoIndex index)
 
PageAllocatorallocator () const
 

Static Public Attributes

static constexpr GCInfoIndex kMaxIndex = 1 << 14
 
static constexpr GCInfoIndex kMinIndex = 1
 
static constexpr GCInfoIndex kInitialWantedLimit = 512
 

Private Member Functions

void Resize ()
 
GCInfoIndex InitialTableLimit () const
 
size_t MaxTableSize () const
 
void CheckMemoryIsZeroed (uintptr_t *base, size_t len)
 

Private Attributes

PageAllocatorpage_allocator_
 
FatalOutOfMemoryHandleroom_handler_
 
GCInfotable_
 
uint8_t * read_only_table_end_
 
GCInfoIndex current_index_ = kMinIndex
 
GCInfoIndex limit_ = 0
 
v8::base::Mutex table_mutex_
 

Detailed Description

Definition at line 35 of file gc-info-table.h.

Constructor & Destructor Documentation

◆ GCInfoTable() [1/2]

cppgc::internal::GCInfoTable::GCInfoTable ( PageAllocator & page_allocator,
FatalOutOfMemoryHandler & oom_handler )

Definition at line 52 of file gc-info-table.cc.

Here is the call graph for this function:

◆ ~GCInfoTable()

cppgc::internal::GCInfoTable::~GCInfoTable ( )

Definition at line 66 of file gc-info-table.cc.

Here is the call graph for this function:

◆ GCInfoTable() [2/2]

cppgc::internal::GCInfoTable::GCInfoTable ( const GCInfoTable & )
delete

Member Function Documentation

◆ allocator()

PageAllocator & cppgc::internal::GCInfoTable::allocator ( ) const
inline

Definition at line 77 of file gc-info-table.h.

Here is the caller graph for this function:

◆ CheckMemoryIsZeroed()

void cppgc::internal::GCInfoTable::CheckMemoryIsZeroed ( uintptr_t * base,
size_t len )
private

Definition at line 119 of file gc-info-table.cc.

Here is the caller graph for this function:

◆ GCInfoFromIndex()

const GCInfo & cppgc::internal::GCInfoTable::GCInfoFromIndex ( GCInfoIndex index) const
inline

Definition at line 65 of file gc-info-table.h.

◆ InitialTableLimit()

GCInfoIndex cppgc::internal::GCInfoTable::InitialTableLimit ( ) const
private

Definition at line 75 of file gc-info-table.cc.

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

◆ LimitForTesting()

GCInfoIndex cppgc::internal::GCInfoTable::LimitForTesting ( ) const
inline

Definition at line 74 of file gc-info-table.h.

◆ MaxTableSize()

size_t cppgc::internal::GCInfoTable::MaxTableSize ( ) const
private

Definition at line 70 of file gc-info-table.cc.

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

◆ NumberOfGCInfos()

GCInfoIndex cppgc::internal::GCInfoTable::NumberOfGCInfos ( ) const
inline

Definition at line 72 of file gc-info-table.h.

◆ operator=()

GCInfoTable & cppgc::internal::GCInfoTable::operator= ( const GCInfoTable & )
delete

◆ RegisterNewGCInfo()

GCInfoIndex cppgc::internal::GCInfoTable::RegisterNewGCInfo ( std::atomic< uint16_t > & registered_index,
const GCInfo & info )

Definition at line 127 of file gc-info-table.cc.

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

◆ Resize()

void cppgc::internal::GCInfoTable::Resize ( )
private

Definition at line 86 of file gc-info-table.cc.

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

◆ TableSlotForTesting()

GCInfo & cppgc::internal::GCInfoTable::TableSlotForTesting ( GCInfoIndex index)
inline

Definition at line 75 of file gc-info-table.h.

Member Data Documentation

◆ current_index_

GCInfoIndex cppgc::internal::GCInfoTable::current_index_ = kMinIndex
private

Definition at line 94 of file gc-info-table.h.

◆ kInitialWantedLimit

GCInfoIndex cppgc::internal::GCInfoTable::kInitialWantedLimit = 512
staticconstexpr

Definition at line 53 of file gc-info-table.h.

◆ kMaxIndex

GCInfoIndex cppgc::internal::GCInfoTable::kMaxIndex = 1 << 14
staticconstexpr

Definition at line 45 of file gc-info-table.h.

◆ kMinIndex

GCInfoIndex cppgc::internal::GCInfoTable::kMinIndex = 1
staticconstexpr

Definition at line 49 of file gc-info-table.h.

◆ limit_

GCInfoIndex cppgc::internal::GCInfoTable::limit_ = 0
private

Definition at line 96 of file gc-info-table.h.

◆ oom_handler_

FatalOutOfMemoryHandler& cppgc::internal::GCInfoTable::oom_handler_
private

Definition at line 88 of file gc-info-table.h.

◆ page_allocator_

PageAllocator& cppgc::internal::GCInfoTable::page_allocator_
private

Definition at line 87 of file gc-info-table.h.

◆ read_only_table_end_

uint8_t* cppgc::internal::GCInfoTable::read_only_table_end_
private

Definition at line 92 of file gc-info-table.h.

◆ table_

GCInfo* cppgc::internal::GCInfoTable::table_
private

Definition at line 91 of file gc-info-table.h.

◆ table_mutex_

v8::base::Mutex cppgc::internal::GCInfoTable::table_mutex_
private

Definition at line 98 of file gc-info-table.h.


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