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

#include <free-list.h>

Collaboration diagram for v8::internal::FreeListCategory:

Public Member Functions

void Initialize (FreeListCategoryType type)
 
void Unlink (FreeList *owner)
 
void Reset (FreeList *owner)
 
void RepairFreeList (Heap *heap)
 
void Relink (FreeList *owner)
 
void Free (const WritableFreeSpace &writable_free_space, FreeMode mode, FreeList *owner)
 
V8_EXPORT_PRIVATE Tagged< FreeSpacePickNodeFromList (size_t minimum_size, size_t *node_size)
 
Tagged< FreeSpaceSearchForNodeInList (size_t minimum_size, size_t *node_size)
 
bool is_linked (FreeList *owner) const
 
bool is_empty ()
 
uint32_t available () const
 
size_t SumFreeList ()
 
int FreeListLength ()
 
template<typename Callback >
void IterateNodesForTesting (Callback callback)
 

Private Member Functions

void UpdateCountersAfterAllocation (size_t allocation_size)
 
Tagged< FreeSpacetop ()
 
void set_top (Tagged< FreeSpace > top)
 
FreeListCategoryprev ()
 
void set_prev (FreeListCategory *prev)
 
FreeListCategorynext ()
 
void set_next (FreeListCategory *next)
 

Private Attributes

FreeListCategoryType type_ = kInvalidCategory
 
uint32_t available_ = 0
 
Tagged< FreeSpacetop_
 
FreeListCategoryprev_ = nullptr
 
FreeListCategorynext_ = nullptr
 

Static Private Attributes

static constexpr int kVeryLongFreeList = 500
 

Friends

class FreeList
 
class FreeListManyCached
 
class PagedSpace
 
class MapSpace
 

Detailed Description

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

Member Function Documentation

◆ available()

uint32_t v8::internal::FreeListCategory::available ( ) const
inline

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

Here is the caller graph for this function:

◆ Free()

void v8::internal::FreeListCategory::Free ( const WritableFreeSpace & writable_free_space,
FreeMode mode,
FreeList * owner )

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

Here is the call graph for this function:

◆ FreeListLength()

int v8::internal::FreeListCategory::FreeListLength ( )

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

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

◆ Initialize()

void v8::internal::FreeListCategory::Initialize ( FreeListCategoryType type)
inline

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

Here is the caller graph for this function:

◆ is_empty()

bool v8::internal::FreeListCategory::is_empty ( )
inline

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

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

◆ is_linked()

bool v8::internal::FreeListCategory::is_linked ( FreeList * owner) const
inline

Definition at line 17 of file free-list-inl.h.

Here is the caller graph for this function:

◆ IterateNodesForTesting()

template<typename Callback >
void v8::internal::FreeListCategory::IterateNodesForTesting ( Callback callback)
inline

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

Here is the call graph for this function:

◆ next()

FreeListCategory * v8::internal::FreeListCategory::next ( )
inlineprivate

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

Here is the caller graph for this function:

◆ PickNodeFromList()

Tagged< FreeSpace > v8::internal::FreeListCategory::PickNodeFromList ( size_t minimum_size,
size_t * node_size )

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

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

◆ prev()

FreeListCategory * v8::internal::FreeListCategory::prev ( )
inlineprivate

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

Here is the caller graph for this function:

◆ Relink()

void v8::internal::FreeListCategory::Relink ( FreeList * owner)

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

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

◆ RepairFreeList()

void v8::internal::FreeListCategory::RepairFreeList ( Heap * heap)

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

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

◆ Reset()

void v8::internal::FreeListCategory::Reset ( FreeList * owner)

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

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

◆ SearchForNodeInList()

Tagged< FreeSpace > v8::internal::FreeListCategory::SearchForNodeInList ( size_t minimum_size,
size_t * node_size )

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

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

◆ set_next()

void v8::internal::FreeListCategory::set_next ( FreeListCategory * next)
inlineprivate

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

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

◆ set_prev()

void v8::internal::FreeListCategory::set_prev ( FreeListCategory * prev)
inlineprivate

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

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

◆ set_top()

void v8::internal::FreeListCategory::set_top ( Tagged< FreeSpace > top)
inlineprivate

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

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

◆ SumFreeList()

size_t v8::internal::FreeListCategory::SumFreeList ( )

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

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

◆ top()

Tagged< FreeSpace > v8::internal::FreeListCategory::top ( )
inlineprivate

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

Here is the caller graph for this function:

◆ Unlink()

void v8::internal::FreeListCategory::Unlink ( FreeList * owner)

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

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

◆ UpdateCountersAfterAllocation()

void v8::internal::FreeListCategory::UpdateCountersAfterAllocation ( size_t allocation_size)
inlineprivate

Definition at line 22 of file free-list-inl.h.

Here is the caller graph for this function:

Friends And Related Symbol Documentation

◆ FreeList

friend class FreeList
friend

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

◆ FreeListManyCached

friend class FreeListManyCached
friend

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

◆ MapSpace

friend class MapSpace
friend

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

◆ PagedSpace

friend class PagedSpace
friend

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

Member Data Documentation

◆ available_

uint32_t v8::internal::FreeListCategory::available_ = 0
private

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

◆ kVeryLongFreeList

int v8::internal::FreeListCategory::kVeryLongFreeList = 500
staticconstexprprivate

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

◆ next_

FreeListCategory* v8::internal::FreeListCategory::next_ = nullptr
private

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

◆ prev_

FreeListCategory* v8::internal::FreeListCategory::prev_ = nullptr
private

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

◆ top_

Tagged<FreeSpace> v8::internal::FreeListCategory::top_
private

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

◆ type_

FreeListCategoryType v8::internal::FreeListCategory::type_ = kInvalidCategory
private

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


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