#include "src/heap/objects-visiting.h"
#include "src/heap/heap-inl.h"
#include "src/heap/mark-compact-inl.h"
#include "src/heap/objects-visiting-inl.h"
#include "src/objects/js-weak-refs.h"
namespace v8 {
namespace internal {
static bool MustRecordSlots(Heap* heap) { … }
template <class T>
struct WeakListVisitor;
template <class T>
Tagged<Object> VisitWeakList(Heap* heap, Tagged<Object> list,
WeakObjectRetainer* retainer) { … }
template <class T>
static void ClearWeakList(Heap* heap, Tagged<Object> list) { … }
template <>
struct WeakListVisitor<Context> { … };
template <>
struct WeakListVisitor<AllocationSite> { … };
template <>
struct WeakListVisitor<JSFinalizationRegistry> { … };
template Tagged<Object> VisitWeakList<Context>(Heap* heap, Tagged<Object> list,
WeakObjectRetainer* retainer);
template Tagged<Object> VisitWeakList<AllocationSite>(
Heap* heap, Tagged<Object> list, WeakObjectRetainer* retainer);
template Tagged<Object> VisitWeakList<JSFinalizationRegistry>(
Heap* heap, Tagged<Object> list, WeakObjectRetainer* retainer);
}
}