v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
heap::base::Worklist< EntryType, MinSegmentSize > Class Template Referencefinal

#include <worklist.h>

Collaboration diagram for heap::base::Worklist< EntryType, MinSegmentSize >:

Classes

class  Local
 
class  Segment
 

Public Member Functions

 Worklist ()=default
 
 ~Worklist ()
 
 Worklist (const Worklist &)=delete
 
Worklistoperator= (const Worklist &)=delete
 
bool IsEmpty () const
 
size_t Size () const
 
void Merge (Worklist< EntryType, MinSegmentSize > &other)
 
void Clear ()
 
template<typename Callback >
void Update (Callback callback)
 
template<typename Callback >
void Iterate (Callback callback) const
 

Static Public Attributes

static constexpr int kMinSegmentSize = MinSegmentSize
 

Private Member Functions

void Push (Segment *segment)
 
bool Pop (Segment **segment)
 

Private Attributes

v8::base::Mutex lock_
 
Segmenttop_ = nullptr
 
std::atomic< size_t > size_ {0}
 

Detailed Description

template<typename EntryType, uint16_t MinSegmentSize>
class heap::base::Worklist< EntryType, MinSegmentSize >

Definition at line 57 of file worklist.h.

Constructor & Destructor Documentation

◆ Worklist() [1/2]

template<typename EntryType , uint16_t MinSegmentSize>
heap::base::Worklist< EntryType, MinSegmentSize >::Worklist ( )
default

◆ ~Worklist()

template<typename EntryType , uint16_t MinSegmentSize>
heap::base::Worklist< EntryType, MinSegmentSize >::~Worklist ( )
inline

Definition at line 67 of file worklist.h.

Here is the call graph for this function:

◆ Worklist() [2/2]

template<typename EntryType , uint16_t MinSegmentSize>
heap::base::Worklist< EntryType, MinSegmentSize >::Worklist ( const Worklist< EntryType, MinSegmentSize > & )
delete

Member Function Documentation

◆ Clear()

template<typename EntryType , uint16_t MinSegmentSize>
void heap::base::Worklist< EntryType, MinSegmentSize >::Clear ( )

Definition at line 139 of file worklist.h.

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

◆ IsEmpty()

template<typename EntryType , uint16_t MinSegmentSize>
bool heap::base::Worklist< EntryType, MinSegmentSize >::IsEmpty ( ) const

Definition at line 126 of file worklist.h.

Here is the caller graph for this function:

◆ Iterate()

template<typename EntryType , uint16_t MinSegmentSize>
template<typename Callback >
void heap::base::Worklist< EntryType, MinSegmentSize >::Iterate ( Callback callback) const

Definition at line 181 of file worklist.h.

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

◆ Merge()

template<typename EntryType , uint16_t MinSegmentSize>
void heap::base::Worklist< EntryType, MinSegmentSize >::Merge ( Worklist< EntryType, MinSegmentSize > & other)

Definition at line 189 of file worklist.h.

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

◆ operator=()

template<typename EntryType , uint16_t MinSegmentSize>
Worklist & heap::base::Worklist< EntryType, MinSegmentSize >::operator= ( const Worklist< EntryType, MinSegmentSize > & )
delete

◆ Pop()

template<typename EntryType , uint16_t MinSegmentSize>
bool heap::base::Worklist< EntryType, MinSegmentSize >::Pop ( Segment ** segment)
private

Definition at line 115 of file worklist.h.

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

◆ Push()

template<typename EntryType , uint16_t MinSegmentSize>
void heap::base::Worklist< EntryType, MinSegmentSize >::Push ( Segment * segment)
private

Definition at line 106 of file worklist.h.

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

◆ Size()

template<typename EntryType , uint16_t MinSegmentSize>
size_t heap::base::Worklist< EntryType, MinSegmentSize >::Size ( ) const

Definition at line 131 of file worklist.h.

Here is the caller graph for this function:

◆ Update()

template<typename EntryType , uint16_t MinSegmentSize>
template<typename Callback >
void heap::base::Worklist< EntryType, MinSegmentSize >::Update ( Callback callback)

Definition at line 153 of file worklist.h.

Here is the call graph for this function:

Member Data Documentation

◆ kMinSegmentSize

template<typename EntryType , uint16_t MinSegmentSize>
int heap::base::Worklist< EntryType, MinSegmentSize >::kMinSegmentSize = MinSegmentSize
staticconstexpr

Definition at line 64 of file worklist.h.

◆ lock_

template<typename EntryType , uint16_t MinSegmentSize>
v8::base::Mutex heap::base::Worklist< EntryType, MinSegmentSize >::lock_
mutableprivate

Definition at line 100 of file worklist.h.

◆ size_

template<typename EntryType , uint16_t MinSegmentSize>
std::atomic<size_t> heap::base::Worklist< EntryType, MinSegmentSize >::size_ {0}
private

Definition at line 102 of file worklist.h.

◆ top_

template<typename EntryType , uint16_t MinSegmentSize>
Segment* heap::base::Worklist< EntryType, MinSegmentSize >::top_ = nullptr
private

Definition at line 101 of file worklist.h.


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