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

#include <free-list.h>

Collaboration diagram for cppgc::internal::FreeList:

Classes

struct  Block
 
class  Entry
 

Public Member Functions

 FreeList ()
 
 FreeList (const FreeList &)=delete
 
FreeListoperator= (const FreeList &)=delete
 
 FreeList (FreeList &&other) V8_NOEXCEPT
 
FreeListoperator= (FreeList &&other) V8_NOEXCEPT
 
Block Allocate (size_t)
 
void Add (Block)
 
std::pair< Address, AddressAddReturningUnusedBounds (Block)
 
void Append (FreeList &&)
 
void Clear ()
 
size_t Size () const
 
bool IsEmpty () const
 
void CollectStatistics (HeapStatistics::FreeListStatistics &)
 
bool ContainsForTesting (Block) const
 

Private Member Functions

bool IsConsistent (size_t) const
 

Private Attributes

std::array< Entry *, kPageSizeLog2free_list_heads_
 
std::array< Entry *, kPageSizeLog2free_list_tails_
 
size_t biggest_free_list_index_ = 0
 

Detailed Description

Definition at line 27 of file free-list.h.

Constructor & Destructor Documentation

◆ FreeList() [1/3]

cppgc::internal::FreeList::FreeList ( )

Definition at line 54 of file free-list.cc.

Here is the call graph for this function:

◆ FreeList() [2/3]

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

◆ FreeList() [3/3]

cppgc::internal::FreeList::FreeList ( FreeList && other)

Definition at line 56 of file free-list.cc.

Member Function Documentation

◆ Add()

void cppgc::internal::FreeList::Add ( FreeList::Block block)

Definition at line 70 of file free-list.cc.

Here is the call graph for this function:

◆ AddReturningUnusedBounds()

std::pair< Address, Address > cppgc::internal::FreeList::AddReturningUnusedBounds ( Block block)

Definition at line 72 of file free-list.cc.

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

◆ Allocate()

FreeList::Block cppgc::internal::FreeList::Allocate ( size_t allocation_size)

Definition at line 133 of file free-list.cc.

Here is the call graph for this function:

◆ Append()

void cppgc::internal::FreeList::Append ( FreeList && other)

Definition at line 104 of file free-list.cc.

Here is the call graph for this function:

◆ Clear()

void cppgc::internal::FreeList::Clear ( )

Definition at line 165 of file free-list.cc.

Here is the caller graph for this function:

◆ CollectStatistics()

void cppgc::internal::FreeList::CollectStatistics ( HeapStatistics::FreeListStatistics & free_list_stats)

Definition at line 208 of file free-list.cc.

Here is the call graph for this function:

◆ ContainsForTesting()

bool cppgc::internal::FreeList::ContainsForTesting ( Block block) const

Definition at line 187 of file free-list.cc.

Here is the call graph for this function:

◆ IsConsistent()

bool cppgc::internal::FreeList::IsConsistent ( size_t index) const
private

Definition at line 199 of file free-list.cc.

Here is the caller graph for this function:

◆ IsEmpty()

bool cppgc::internal::FreeList::IsEmpty ( ) const

Definition at line 182 of file free-list.cc.

◆ operator=() [1/2]

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

◆ operator=() [2/2]

FreeList & cppgc::internal::FreeList::operator= ( FreeList && other)

Definition at line 63 of file free-list.cc.

◆ Size()

size_t cppgc::internal::FreeList::Size ( ) const

Definition at line 171 of file free-list.cc.

Here is the caller graph for this function:

Member Data Documentation

◆ biggest_free_list_index_

size_t cppgc::internal::FreeList::biggest_free_list_index_ = 0
private

Definition at line 72 of file free-list.h.

◆ free_list_heads_

std::array<Entry*, kPageSizeLog2> cppgc::internal::FreeList::free_list_heads_
private

Definition at line 70 of file free-list.h.

◆ free_list_tails_

std::array<Entry*, kPageSizeLog2> cppgc::internal::FreeList::free_list_tails_
private

Definition at line 71 of file free-list.h.


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