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 >::Segment Class Referencefinal

#include <worklist.h>

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

Public Member Functions

V8_INLINE void Push (EntryType entry)
 
V8_INLINE void Pop (EntryType *entry)
 
template<typename Callback >
void Update (Callback callback)
 
template<typename Callback >
void Iterate (Callback callback) const
 
Segmentnext () const
 
void set_next (Segment *segment)
 
- Public Member Functions inherited from heap::base::internal::SegmentBase
constexpr SegmentBase (uint16_t capacity)
 
size_t Size () const
 
size_t Capacity () const
 
bool IsEmpty () const
 
bool IsFull () const
 
void Clear ()
 

Static Public Member Functions

static SegmentCreate (uint16_t min_segment_size)
 
static void Delete (Segment *segment)
 
- Static Public Member Functions inherited from heap::base::internal::SegmentBase
static SegmentBaseGetSentinelSegmentAddress ()
 

Private Member Functions

constexpr Segment (size_t capacity)
 
EntryType & entry (size_t index)
 
const EntryType & entry (size_t index) const
 

Static Private Member Functions

static constexpr size_t MallocSizeForCapacity (size_t num_entries)
 
static constexpr size_t CapacityForMallocSize (size_t malloc_size)
 

Private Attributes

Segmentnext_ = nullptr
 

Additional Inherited Members

- Protected Attributes inherited from heap::base::internal::SegmentBase
const uint16_t capacity_
 
uint16_t index_ = 0
 

Detailed Description

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

Definition at line 215 of file worklist.h.

Constructor & Destructor Documentation

◆ Segment()

template<typename EntryType , uint16_t MinSegmentSize>
heap::base::Worklist< EntryType, MinSegmentSize >::Segment::Segment ( size_t capacity)
inlineexplicitconstexprprivate

Definition at line 256 of file worklist.h.

Member Function Documentation

◆ CapacityForMallocSize()

template<typename EntryType , uint16_t MinSegmentSize>
static constexpr size_t heap::base::Worklist< EntryType, MinSegmentSize >::Segment::CapacityForMallocSize ( size_t malloc_size)
inlinestaticconstexprprivate

Definition at line 252 of file worklist.h.

◆ Create()

template<typename EntryType , uint16_t MinSegmentSize>
static Segment * heap::base::Worklist< EntryType, MinSegmentSize >::Segment::Create ( uint16_t min_segment_size)
inlinestatic

Definition at line 218 of file worklist.h.

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

◆ Delete()

template<typename EntryType , uint16_t MinSegmentSize>
static void heap::base::Worklist< EntryType, MinSegmentSize >::Segment::Delete ( Segment * segment)
inlinestatic

Definition at line 235 of file worklist.h.

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

◆ entry() [1/2]

template<typename EntryType , uint16_t MinSegmentSize>
EntryType & heap::base::Worklist< EntryType, MinSegmentSize >::Segment::entry ( size_t index)
inlineprivate

Definition at line 259 of file worklist.h.

Here is the caller graph for this function:

◆ entry() [2/2]

template<typename EntryType , uint16_t MinSegmentSize>
const EntryType & heap::base::Worklist< EntryType, MinSegmentSize >::Segment::entry ( size_t index) const
inlineprivate

Definition at line 262 of file worklist.h.

◆ Iterate()

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

Definition at line 295 of file worklist.h.

◆ MallocSizeForCapacity()

template<typename EntryType , uint16_t MinSegmentSize>
static constexpr size_t heap::base::Worklist< EntryType, MinSegmentSize >::Segment::MallocSizeForCapacity ( size_t num_entries)
inlinestaticconstexprprivate

Definition at line 249 of file worklist.h.

◆ next()

template<typename EntryType , uint16_t MinSegmentSize>
Segment * heap::base::Worklist< EntryType, MinSegmentSize >::Segment::next ( ) const
inline

Definition at line 245 of file worklist.h.

Here is the caller graph for this function:

◆ Pop()

template<typename EntryType , uint16_t MinSegmentSize>
void heap::base::Worklist< EntryType, MinSegmentSize >::Segment::Pop ( EntryType * entry)

Definition at line 276 of file worklist.h.

Here is the call graph for this function:

◆ Push()

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

Definition at line 270 of file worklist.h.

Here is the call graph for this function:

◆ set_next()

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

Definition at line 246 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 >::Segment::Update ( Callback callback)

Definition at line 283 of file worklist.h.

Member Data Documentation

◆ next_

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

Definition at line 266 of file worklist.h.


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