21 return heap->gc_state() == Heap::MARK_COMPACT &&
22 heap->mark_compact_collector()->is_compacting();
36 while (list != undefined) {
46 if (head == undefined) {
57 ObjectSlot slot = slot_holder->RawField(slot_offset);
63 DCHECK(!IsUndefined(retained,
heap->isolate()));
83 while (list != undefined) {
97 return context->next_context_link();
110 if (
heap->gc_state() == Heap::MARK_COMPACT) {
134 heap->mark_compact_collector()->RecordSlot(context, head_slot,
152 return obj->weak_next();
179 return obj->next_dirty();
187 return JSFinalizationRegistry::kNextDirtyOffset;
192 heap->set_dirty_js_finalization_registries_list_tail(obj);
static V8_INLINE constexpr int OffsetOfElementAt(int index)
static V8_INLINE void RecordSlot(Tagged< HeapObject > object, THeapObjectSlot slot, Tagged< HeapObject > target)
static constexpr int SizeFor(int capacity)
V8_INLINE constexpr bool is_null() const
virtual Tagged< Object > RetainAs(Tagged< Object > object)=0
template Tagged< Object > VisitWeakList< AllocationSiteWithWeakNext >(Heap *heap, Tagged< Object > list, WeakObjectRetainer *retainer)
static bool MustRecordSlots(Heap *heap)
Tagged< Object > VisitWeakList(Heap *heap, Tagged< Object > list, WeakObjectRetainer *retainer)
template Tagged< Object > VisitWeakList< JSFinalizationRegistry >(Heap *heap, Tagged< Object > list, WeakObjectRetainer *retainer)
typename detail::FlattenUnionHelper< Union<>, Ts... >::type UnionOf
static void ClearWeakList(Heap *heap, Tagged< Object > list)
template Tagged< Object > VisitWeakList< Context >(Heap *heap, Tagged< Object > list, WeakObjectRetainer *retainer)
Tagged< To > Cast(Tagged< From > value, const v8::SourceLocation &loc=INIT_SOURCE_LOCATION_IN_DEBUG)
#define DCHECK(condition)
static void VisitPhantomObject(Heap *, Tagged< AllocationSite >)
static void VisitLiveObject(Heap *, Tagged< AllocationSite >, WeakObjectRetainer *)
static Tagged< Object > WeakNext(Tagged< AllocationSiteWithWeakNext > obj)
static int WeakNextOffset()
static void SetWeakNext(Tagged< AllocationSiteWithWeakNext > obj, Tagged< HeapObject > next)
static Tagged< HeapObject > WeakNextHolder(Tagged< AllocationSiteWithWeakNext > obj)
static int WeakNextOffset()
static void VisitLiveObject(Heap *heap, Tagged< Context > context, WeakObjectRetainer *retainer)
static Tagged< HeapObject > WeakNextHolder(Tagged< Context > context)
static void DoWeakList(Heap *heap, Tagged< Context > context, WeakObjectRetainer *retainer, int index)
static void VisitPhantomObject(Heap *heap, Tagged< Context > context)
static Tagged< Object > WeakNext(Tagged< Context > context)
static void SetWeakNext(Tagged< Context > context, Tagged< HeapObject > next)
static int WeakNextOffset()
static void VisitPhantomObject(Heap *, Tagged< JSFinalizationRegistry >)
static Tagged< Object > WeakNext(Tagged< JSFinalizationRegistry > obj)
static void VisitLiveObject(Heap *heap, Tagged< JSFinalizationRegistry > obj, WeakObjectRetainer *)
static Tagged< HeapObject > WeakNextHolder(Tagged< JSFinalizationRegistry > obj)
static void SetWeakNext(Tagged< JSFinalizationRegistry > obj, Tagged< HeapObject > next)