#ifndef V8_HEAP_MARKING_VISITOR_INL_H_
#define V8_HEAP_MARKING_VISITOR_INL_H_
#include "src/common/globals.h"
#include "src/heap/ephemeron-remembered-set.h"
#include "src/heap/marking-state-inl.h"
#include "src/heap/marking-visitor.h"
#include "src/heap/marking-worklist-inl.h"
#include "src/heap/marking.h"
#include "src/heap/objects-visiting-inl.h"
#include "src/heap/objects-visiting.h"
#include "src/heap/pretenuring-handler-inl.h"
#include "src/heap/progress-bar.h"
#include "src/heap/spaces.h"
#include "src/objects/compressed-slots.h"
#include "src/objects/descriptor-array.h"
#include "src/objects/js-objects.h"
#include "src/objects/objects.h"
#include "src/objects/property-details.h"
#include "src/objects/slots.h"
#include "src/objects/smi.h"
#include "src/objects/string.h"
#include "src/sandbox/external-pointer-inl.h"
#include "src/sandbox/js-dispatch-table-inl.h"
#include "src/objects/object-macros.h"
namespace v8 {
namespace internal {
template <typename ConcreteVisitor>
bool MarkingVisitorBase<ConcreteVisitor>::MarkObject(
Tagged<HeapObject> retainer, Tagged<HeapObject> object,
MarkingHelper::WorklistTarget target_worklist) { … }
template <typename ConcreteVisitor>
template <typename THeapObjectSlot>
void MarkingVisitorBase<ConcreteVisitor>::ProcessStrongHeapObject(
Tagged<HeapObject> host, THeapObjectSlot slot,
Tagged<HeapObject> heap_object) { … }
template <typename ConcreteVisitor>
V8_INLINE constexpr bool
MarkingVisitorBase<ConcreteVisitor>::IsTrivialWeakReferenceValue(
Tagged<HeapObject> host, Tagged<HeapObject> heap_object) { … }
template <typename ConcreteVisitor>
template <typename THeapObjectSlot>
void MarkingVisitorBase<ConcreteVisitor>::ProcessWeakHeapObject(
Tagged<HeapObject> host, THeapObjectSlot slot,
Tagged<HeapObject> heap_object) { … }
template <typename ConcreteVisitor>
template <typename TSlot>
void MarkingVisitorBase<ConcreteVisitor>::VisitPointersImpl(
Tagged<HeapObject> host, TSlot start, TSlot end) { … }
template <typename ConcreteVisitor>
template <typename TSlot>
void MarkingVisitorBase<ConcreteVisitor>::VisitStrongPointerImpl(
Tagged<HeapObject> host, TSlot slot) { … }
template <typename ConcreteVisitor>
void MarkingVisitorBase<ConcreteVisitor>::VisitEmbeddedPointer(
Tagged<InstructionStream> host, RelocInfo* rinfo) { … }
template <typename ConcreteVisitor>
void MarkingVisitorBase<ConcreteVisitor>::VisitCodeTarget(
Tagged<InstructionStream> host, RelocInfo* rinfo) { … }
template <typename ConcreteVisitor>
void MarkingVisitorBase<ConcreteVisitor>::VisitExternalPointer(
Tagged<HeapObject> host, ExternalPointerSlot slot) { … }
template <typename ConcreteVisitor>
void MarkingVisitorBase<ConcreteVisitor>::VisitCppHeapPointer(
Tagged<HeapObject> host, CppHeapPointerSlot slot) { … }
template <typename ConcreteVisitor>
void MarkingVisitorBase<ConcreteVisitor>::VisitIndirectPointer(
Tagged<HeapObject> host, IndirectPointerSlot slot,
IndirectPointerMode mode) { … }
template <typename ConcreteVisitor>
void MarkingVisitorBase<ConcreteVisitor>::VisitTrustedPointerTableEntry(
Tagged<HeapObject> host, IndirectPointerSlot slot) { … }
template <typename ConcreteVisitor>
void MarkingVisitorBase<ConcreteVisitor>::VisitJSDispatchTableEntry(
Tagged<HeapObject> host, JSDispatchHandle handle) { … }
template <typename ConcreteVisitor>
int MarkingVisitorBase<ConcreteVisitor>::VisitJSFunction(
Tagged<Map> map, Tagged<JSFunction> js_function) { … }
template <typename ConcreteVisitor>
int MarkingVisitorBase<ConcreteVisitor>::VisitSharedFunctionInfo(
Tagged<Map> map, Tagged<SharedFunctionInfo> shared_info) { … }
template <typename ConcreteVisitor>
bool MarkingVisitorBase<ConcreteVisitor>::HasBytecodeArrayForFlushing(
Tagged<SharedFunctionInfo> sfi) const { … }
template <typename ConcreteVisitor>
bool MarkingVisitorBase<ConcreteVisitor>::ShouldFlushCode(
Tagged<SharedFunctionInfo> sfi) const { … }
template <typename ConcreteVisitor>
bool MarkingVisitorBase<ConcreteVisitor>::IsOld(
Tagged<SharedFunctionInfo> sfi) const { … }
template <typename ConcreteVisitor>
void MarkingVisitorBase<ConcreteVisitor>::MakeOlder(
Tagged<SharedFunctionInfo> sfi) const { … }
template <typename ConcreteVisitor>
bool MarkingVisitorBase<ConcreteVisitor>::ShouldFlushBaselineCode(
Tagged<JSFunction> js_function) const { … }
template <typename ConcreteVisitor>
int MarkingVisitorBase<ConcreteVisitor>::VisitFixedArrayWithProgressBar(
Tagged<Map> map, Tagged<FixedArray> object, ProgressBar& progress_bar) { … }
template <typename ConcreteVisitor>
int MarkingVisitorBase<ConcreteVisitor>::VisitFixedArray(
Tagged<Map> map, Tagged<FixedArray> object) { … }
template <typename ConcreteVisitor>
int MarkingVisitorBase<ConcreteVisitor>::VisitJSArrayBuffer(
Tagged<Map> map, Tagged<JSArrayBuffer> object) { … }
template <typename ConcreteVisitor>
int MarkingVisitorBase<ConcreteVisitor>::VisitEphemeronHashTable(
Tagged<Map> map, Tagged<EphemeronHashTable> table) { … }
template <typename ConcreteVisitor>
int MarkingVisitorBase<ConcreteVisitor>::VisitJSWeakRef(
Tagged<Map> map, Tagged<JSWeakRef> weak_ref) { … }
template <typename ConcreteVisitor>
int MarkingVisitorBase<ConcreteVisitor>::VisitWeakCell(
Tagged<Map> map, Tagged<WeakCell> weak_cell) { … }
template <typename ConcreteVisitor>
int MarkingVisitorBase<ConcreteVisitor>::VisitDescriptorArrayStrongly(
Tagged<Map> map, Tagged<DescriptorArray> array) { … }
template <typename ConcreteVisitor>
int MarkingVisitorBase<ConcreteVisitor>::VisitDescriptorArray(
Tagged<Map> map, Tagged<DescriptorArray> array) { … }
template <typename ConcreteVisitor>
void MarkingVisitorBase<ConcreteVisitor>::VisitDescriptorsForMap(
Tagged<Map> map) { … }
template <typename ConcreteVisitor>
int MarkingVisitorBase<ConcreteVisitor>::VisitMap(Tagged<Map> meta_map,
Tagged<Map> map) { … }
template <typename ConcreteVisitor>
int MarkingVisitorBase<ConcreteVisitor>::VisitTransitionArray(
Tagged<Map> map, Tagged<TransitionArray> array) { … }
template <typename ConcreteVisitor>
void FullMarkingVisitorBase<ConcreteVisitor>::MarkPointerTableEntry(
Tagged<HeapObject> host, IndirectPointerSlot slot) { … }
}
}
#include "src/objects/object-macros-undef.h"
#endif