5#ifndef V8_HEAP_CPPGC_MARKING_VISITOR_H_
6#define V8_HEAP_CPPGC_MARKING_VISITOR_H_
17class HeapObjectHeader;
19class BasicMarkingState;
20class MutatorMarkingState;
21class ConcurrentMarkingState;
30 void VisitMultipleUncompressedMember(
const void*,
size_t,
32#if defined(CPPGC_POINTER_COMPRESSION)
33 void VisitMultipleCompressedMember(
const void*,
size_t,
38 void VisitWeakContainer(
const void*
object,
TraceDescriptor strong_desc,
40 const void* data)
final;
41 void RegisterWeakCallback(
WeakCallback,
const void*)
final;
42 void HandleMovableReference(
const void**)
final;
60 bool DeferTraceToMutatorThreadIfConcurrent(
const void*,
TraceCallback,
~ConcurrentMarkingVisitor() override=default
void VisitFullyConstructedConservatively(HeapObjectHeader &) final
MutatorMarkingState & marking_state_
void VisitInConstructionConservatively(HeapObjectHeader &, TraceConservativelyCallback) final
ConservativeMarkingVisitor(HeapBase &, MutatorMarkingState &, cppgc::Visitor &)
~ConservativeMarkingVisitor() override=default
void VisitPointer(const void *) final
void(ConservativeTracingVisitor *, const HeapObjectHeader &) TraceConservativelyCallback
~MarkingVisitorBase() override=default
BasicMarkingState & marking_state_
~MutatorMarkingVisitor() override=default
~RootMarkingVisitor() override=default
MutatorMarkingState & mutator_marking_state_
void(*)(const LivenessBroker &, const void *) WeakCallback
TraceDescriptor(*)(const void *address) TraceDescriptorCallback
void(*)(Visitor *visitor, const void *object) TraceCallback
#define V8_EXPORT_PRIVATE