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

#include <worklist.h>

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

Public Types

using ItemType = EntryType
 

Public Member Functions

 Local (Worklist< EntryType, MinSegmentSize > &worklist)
 
 ~Local ()
 
 Local (Local &&other) V8_NOEXCEPT
 
Localoperator= (Local &&) V8_NOEXCEPT=delete
 
 Local (const Local &)=delete
 
Localoperator= (const Local &other)=delete
 
V8_INLINE void Push (EntryType entry)
 
V8_INLINE bool Pop (EntryType *entry)
 
bool IsLocalAndGlobalEmpty () const
 
bool IsLocalEmpty () const
 
bool IsGlobalEmpty () const
 
size_t PushSegmentSize () const
 
void Publish ()
 
void Merge (Worklist< EntryType, MinSegmentSize >::Local &other)
 
void Clear ()
 

Private Member Functions

void PublishPushSegment ()
 
void PublishPopSegment ()
 
bool StealPopSegment ()
 
SegmentNewSegment () const
 
void DeleteSegment (internal::SegmentBase *segment) const
 
Segmentpush_segment ()
 
const Segmentpush_segment () const
 
Segmentpop_segment ()
 
const Segmentpop_segment () const
 

Private Attributes

Worklist< EntryType, MinSegmentSize > & worklist_
 
internal::SegmentBasepush_segment_ = nullptr
 
internal::SegmentBasepop_segment_ = nullptr
 

Detailed Description

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

Definition at line 304 of file worklist.h.

Member Typedef Documentation

◆ ItemType

template<typename EntryType , uint16_t MinSegmentSize>
using heap::base::Worklist< EntryType, MinSegmentSize >::Local::ItemType = EntryType

Definition at line 306 of file worklist.h.

Constructor & Destructor Documentation

◆ Local() [1/3]

template<typename EntryType , uint16_t MinSegmentSize>
heap::base::Worklist< EntryType, MinSegmentSize >::Local::Local ( Worklist< EntryType, MinSegmentSize > & worklist)
explicit

Definition at line 378 of file worklist.h.

◆ ~Local()

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

Definition at line 385 of file worklist.h.

◆ Local() [2/3]

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

Definition at line 313 of file worklist.h.

◆ Local() [3/3]

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

Member Function Documentation

◆ Clear()

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

Definition at line 472 of file worklist.h.

◆ DeleteSegment()

template<typename EntryType , uint16_t MinSegmentSize>
void heap::base::Worklist< EntryType, MinSegmentSize >::Local::DeleteSegment ( internal::SegmentBase * segment) const
inlineprivate

Definition at line 347 of file worklist.h.

Here is the call graph for this function:

◆ IsGlobalEmpty()

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

Definition at line 425 of file worklist.h.

Here is the caller graph for this function:

◆ IsLocalAndGlobalEmpty()

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

Definition at line 415 of file worklist.h.

◆ IsLocalEmpty()

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

Definition at line 420 of file worklist.h.

Here is the caller graph for this function:

◆ Merge()

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

Definition at line 442 of file worklist.h.

◆ NewSegment()

template<typename EntryType , uint16_t MinSegmentSize>
Segment * heap::base::Worklist< EntryType, MinSegmentSize >::Local::NewSegment ( ) const
inlineprivate

Definition at line 343 of file worklist.h.

Here is the call graph for this function:

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

◆ Pop()

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

Definition at line 402 of file worklist.h.

Here is the caller graph for this function:

◆ pop_segment() [1/2]

template<typename EntryType , uint16_t MinSegmentSize>
Segment * heap::base::Worklist< EntryType, MinSegmentSize >::Local::pop_segment ( )
inlineprivate

Definition at line 363 of file worklist.h.

Here is the call graph for this function:

◆ pop_segment() [2/2]

template<typename EntryType , uint16_t MinSegmentSize>
const Segment * heap::base::Worklist< EntryType, MinSegmentSize >::Local::pop_segment ( ) const
inlineprivate

Definition at line 367 of file worklist.h.

Here is the call graph for this function:

◆ Publish()

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

Definition at line 430 of file worklist.h.

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

◆ PublishPopSegment()

template<typename EntryType , uint16_t MinSegmentSize>
void heap::base::Worklist< EntryType, MinSegmentSize >::Local::PublishPopSegment ( )
private

Definition at line 454 of file worklist.h.

Here is the call graph for this function:

◆ PublishPushSegment()

template<typename EntryType , uint16_t MinSegmentSize>
void heap::base::Worklist< EntryType, MinSegmentSize >::Local::PublishPushSegment ( )
private

Definition at line 448 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 >::Local::Push ( EntryType entry)

Definition at line 393 of file worklist.h.

Here is the caller graph for this function:

◆ push_segment() [1/2]

template<typename EntryType , uint16_t MinSegmentSize>
Segment * heap::base::Worklist< EntryType, MinSegmentSize >::Local::push_segment ( )
inlineprivate

Definition at line 352 of file worklist.h.

Here is the call graph for this function:

◆ push_segment() [2/2]

template<typename EntryType , uint16_t MinSegmentSize>
const Segment * heap::base::Worklist< EntryType, MinSegmentSize >::Local::push_segment ( ) const
inlineprivate

Definition at line 357 of file worklist.h.

Here is the call graph for this function:

◆ PushSegmentSize()

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

Definition at line 330 of file worklist.h.

Here is the caller graph for this function:

◆ StealPopSegment()

template<typename EntryType , uint16_t MinSegmentSize>
bool heap::base::Worklist< EntryType, MinSegmentSize >::Local::StealPopSegment ( )
private

Definition at line 460 of file worklist.h.

Member Data Documentation

◆ pop_segment_

template<typename EntryType , uint16_t MinSegmentSize>
internal::SegmentBase* heap::base::Worklist< EntryType, MinSegmentSize >::Local::pop_segment_ = nullptr
private

Definition at line 374 of file worklist.h.

◆ push_segment_

template<typename EntryType , uint16_t MinSegmentSize>
internal::SegmentBase* heap::base::Worklist< EntryType, MinSegmentSize >::Local::push_segment_ = nullptr
private

Definition at line 373 of file worklist.h.

◆ worklist_

template<typename EntryType , uint16_t MinSegmentSize>
Worklist<EntryType, MinSegmentSize>& heap::base::Worklist< EntryType, MinSegmentSize >::Local::worklist_
private

Definition at line 372 of file worklist.h.


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