22#ifdef ENABLE_SLOW_DCHECKS
27 DCHECK(!it.frame()->is_javascript());
31 NoActiveJavaScript no_active_js_visitor;
33 no_active_js_visitor.VisitThread(isolate, isolate->thread_local_top());
34 isolate->thread_manager()->IterateArchivedThreads(&no_active_js_visitor);
43 "V8.FinalizationRegistryCleanupTask");
51 &finalization_registry)) {
54 finalization_registry->set_scheduled_for_cleanup(
false);
59 finalization_registry->native_context(), isolate);
64 std::unique_ptr<MicrotasksScope> microtasks_scope;
66 finalization_registry->native_context()->microtask_queue();
88 finalization_registry);
89 if (finalization_registry->NeedsCleanup() &&
90 !finalization_registry->scheduled_for_cleanup()) {
void SetVerbose(bool value)
void RunInternal() override
void SlowAssertNoActiveJavaScript()
FinalizationRegistryCleanupTask(Heap *heap)
void EnqueueDirtyJSFinalizationRegistry(Tagged< JSFinalizationRegistry > finalization_registry, std::function< void(Tagged< HeapObject > object, ObjectSlot slot, Tagged< Object > target)> gc_notify_updated_slot)
void PostFinalizationRegistryCleanupTaskIfNeeded()
void set_is_finalization_registry_cleanup_task_posted(bool posted)
MaybeDirectHandle< JSFinalizationRegistry > DequeueDirtyJSFinalizationRegistry()
Isolate * isolate() const
MicrotaskQueue * microtask_queue
void InvokeFinalizationRegistryCleanupFromTask(DirectHandle< NativeContext > native_context, DirectHandle< JSFinalizationRegistry > finalization_registry)
SlotTraits::TObjectSlot ObjectSlot
!IsContextMap !IsContextMap native_context
#define DCHECK(condition)
#define TRACE_EVENT_CALL_STATS_SCOPED(isolate, category_group, name)