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

Classes

struct  ConditionalMutexGuard
 
struct  ConditionalMutexGuard< AccessMode::kAtomic >
 
struct  ConditionalMutexGuard< AccessMode::kNonAtomic >
 

Public Member Functions

template<AccessMode = AccessMode::kNonAtomic>
void Push (HeapObjectHeader *)
 
template<AccessMode = AccessMode::kNonAtomic>
bool Contains (HeapObjectHeader *)
 
template<AccessMode = AccessMode::kNonAtomic>
std::unordered_set< HeapObjectHeader * > Extract ()
 
template<AccessMode = AccessMode::kNonAtomic>
void Clear ()
 
template<AccessMode = AccessMode::kNonAtomic>
bool IsEmpty ()
 
 ~ExternalMarkingWorklist ()
 

Private Member Functions

void * operator new (size_t)=delete
 
void * operator new[] (size_t)=delete
 
void operator delete (void *)=delete
 
void operator delete[] (void *)=delete
 

Private Attributes

v8::base::Mutex lock_
 
std::unordered_set< HeapObjectHeader * > objects_
 

Detailed Description

Definition at line 20 of file marking-worklists.h.

Constructor & Destructor Documentation

◆ ~ExternalMarkingWorklist()

cppgc::internal::MarkingWorklists::ExternalMarkingWorklist::~ExternalMarkingWorklist ( )

Definition at line 27 of file marking-worklists.cc.

Here is the call graph for this function:

Member Function Documentation

◆ Clear()

template<AccessMode = AccessMode::kNonAtomic>
void cppgc::internal::MarkingWorklists::ExternalMarkingWorklist::Clear ( )

Definition at line 194 of file marking-worklists.h.

Here is the caller graph for this function:

◆ Contains()

template<AccessMode = AccessMode::kNonAtomic>
bool cppgc::internal::MarkingWorklists::ExternalMarkingWorklist::Contains ( HeapObjectHeader * object)

Definition at line 177 of file marking-worklists.h.

Here is the caller graph for this function:

◆ Extract()

template<AccessMode = AccessMode::kNonAtomic>
std::unordered_set< HeapObjectHeader * > cppgc::internal::MarkingWorklists::ExternalMarkingWorklist::Extract ( )

Definition at line 185 of file marking-worklists.h.

Here is the caller graph for this function:

◆ IsEmpty()

template<AccessMode = AccessMode::kNonAtomic>
bool cppgc::internal::MarkingWorklists::ExternalMarkingWorklist::IsEmpty ( )

Definition at line 200 of file marking-worklists.h.

Here is the caller graph for this function:

◆ operator delete()

void cppgc::internal::MarkingWorklists::ExternalMarkingWorklist::operator delete ( void * )
privatedelete

◆ operator delete[]()

void cppgc::internal::MarkingWorklists::ExternalMarkingWorklist::operator delete[] ( void * )
privatedelete

◆ operator new()

void * cppgc::internal::MarkingWorklists::ExternalMarkingWorklist::operator new ( size_t )
privatedelete

◆ operator new[]()

void * cppgc::internal::MarkingWorklists::ExternalMarkingWorklist::operator new[] ( size_t )
privatedelete

◆ Push()

template<AccessMode = AccessMode::kNonAtomic>
void cppgc::internal::MarkingWorklists::ExternalMarkingWorklist::Push ( HeapObjectHeader * object)

Definition at line 170 of file marking-worklists.h.

Here is the caller graph for this function:

Member Data Documentation

◆ lock_

v8::base::Mutex cppgc::internal::MarkingWorklists::ExternalMarkingWorklist::lock_
private

Definition at line 44 of file marking-worklists.h.

◆ objects_

std::unordered_set<HeapObjectHeader*> cppgc::internal::MarkingWorklists::ExternalMarkingWorklist::objects_
private

Definition at line 45 of file marking-worklists.h.


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