#include <marking-visitor.h>
|
| ConcurrentMarkingVisitor (HeapBase &, ConcurrentMarkingState &) |
|
| ~ConcurrentMarkingVisitor () override=default |
|
| MarkingVisitorBase (HeapBase &, BasicMarkingState &) |
|
| ~MarkingVisitorBase () override=default |
|
| VisitorBase () |
|
| ~VisitorBase () override=default |
|
| VisitorBase (const VisitorBase &)=delete |
|
VisitorBase & | operator= (const VisitorBase &)=delete |
|
| Visitor (Key) |
|
virtual | ~Visitor ()=default |
|
template<typename T > |
void | Trace (const Member< T > &member) |
|
template<typename T > |
void | Trace (const WeakMember< T > &weak_member) |
|
template<typename T > |
void | TraceMultiple (const subtle::UncompressedMember< T > *start, size_t len) |
|
template<typename T , std::enable_if_t<!std::is_same_v< Member< T >, subtle::UncompressedMember< T > > > * = nullptr> |
void | TraceMultiple (const Member< T > *start, size_t len) |
|
template<typename T > |
void | Trace (const T &object) |
|
template<typename T > |
void | TraceMultiple (const T *start, size_t len) |
|
template<typename T , void(T::*)(const LivenessBroker &) method> |
void | RegisterWeakCallbackMethod (const T *object) |
|
template<typename K , typename V > |
void | Trace (const EphemeronPair< K, V > &ephemeron_pair) |
|
template<typename KeyType , typename ValueType > |
void | TraceEphemeron (const WeakMember< KeyType > &weak_member_key, const Member< ValueType > *member_value) |
|
template<typename KeyType , typename ValueType > |
void | TraceEphemeron (const WeakMember< KeyType > &weak_member_key, const ValueType *value) |
|
template<typename T > |
void | TraceStrongly (const WeakMember< T > &weak_member) |
|
template<typename T > |
void | TraceStrongContainer (const T *object) |
|
template<typename T > |
void | TraceWeakContainer (const T *object, WeakCallback callback, const void *callback_data) |
|
template<typename T > |
void | RegisterMovableReference (const T **slot) |
|
|
bool | DeferTraceToMutatorThreadIfConcurrent (const void *, TraceCallback, size_t) final |
|
void | Visit (const void *, TraceDescriptor) final |
|
void | VisitMultipleUncompressedMember (const void *, size_t, TraceDescriptorCallback) final |
|
void | VisitWeak (const void *, TraceDescriptor, WeakCallback, const void *) final |
|
void | VisitEphemeron (const void *, const void *, TraceDescriptor) final |
|
void | VisitWeakContainer (const void *object, TraceDescriptor strong_desc, TraceDescriptor weak_desc, WeakCallback callback, const void *data) final |
|
void | RegisterWeakCallback (WeakCallback, const void *) final |
|
void | HandleMovableReference (const void **) final |
|
Definition at line 53 of file marking-visitor.h.
◆ ConcurrentMarkingVisitor()
◆ ~ConcurrentMarkingVisitor()
cppgc::internal::ConcurrentMarkingVisitor::~ConcurrentMarkingVisitor |
( |
| ) |
|
|
overridedefault |
◆ DeferTraceToMutatorThreadIfConcurrent()
bool cppgc::internal::ConcurrentMarkingVisitor::DeferTraceToMutatorThreadIfConcurrent |
( |
const void * | parameter, |
|
|
TraceCallback | callback, |
|
|
size_t | deferred_size ) |
|
finalprotectedvirtual |
Defers tracing an object from a concurrent thread to the mutator thread. Should be called by Trace methods of types that are not safe to trace concurrently.
- Parameters
-
parameter | tells the trace callback which object was deferred. |
callback | to be invoked for tracing on the mutator thread. |
deferred_size | size of deferred object. |
- Returns
- false if the object does not need to be deferred (i.e. currently traced on the mutator thread) and true otherwise (i.e. currently traced on a concurrent thread).
Reimplemented from cppgc::Visitor.
Definition at line 148 of file marking-visitor.cc.
The documentation for this class was generated from the following files: