#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: