5#ifndef V8_HEAP_CPPGC_JS_UNIFIED_HEAP_MARKING_VISITOR_H_
6#define V8_HEAP_CPPGC_JS_UNIFIED_HEAP_MARKING_VISITOR_H_
17class ConcurrentMarkingState;
18class BasicMarkingState;
19class MutatorMarkingState;
35class UnifiedHeapMarker;
46 void VisitMultipleUncompressedMember(
const void*,
size_t,
48#if defined(CPPGC_POINTER_COMPRESSION)
49 void VisitMultipleCompressedMember(
const void*,
size_t,
56 const void* data)
final;
57 void RegisterWeakCallback(
WeakCallback,
const void*)
final;
58 void HandleMovableReference(
const void**)
final;
98#ifdef V8_COMPRESS_POINTERS_IN_MULTIPLE_CAGES
std::unique_ptr< MarkingWorklists::Local > local_marking_worklist_
UnifiedHeapMarkingState concurrent_unified_heap_marking_state_
~MutatorUnifiedHeapMarkingVisitor() override=default
~UnifiedHeapMarkingVisitorBase() override=default
UnifiedHeapMarkingState & unified_heap_marking_state_
cppgc::internal::BasicMarkingState & marking_state_
v8::SourceLocation SourceLocation
void(*)(const LivenessBroker &, const void *) WeakCallback
TraceDescriptor(*)(const void *address) TraceDescriptorCallback
void(*)(Visitor *visitor, const void *object) TraceCallback
#define V8_EXPORT_PRIVATE