v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
finalization-registry-cleanup-task.h
Go to the documentation of this file.
1
// Copyright 2020 the V8 project authors. All rights reserved.
2
// Use of this source code is governed by a BSD-style license that can be
3
// found in the LICENSE file.
4
5
#ifndef V8_HEAP_FINALIZATION_REGISTRY_CLEANUP_TASK_H_
6
#define V8_HEAP_FINALIZATION_REGISTRY_CLEANUP_TASK_H_
7
8
#include "
src/objects/js-weak-refs.h
"
9
#include "
src/tasks/cancelable-task.h
"
10
11
namespace
v8
{
12
namespace
internal
{
13
14
// The GC schedules a cleanup task when the dirty FinalizationRegistry list is
15
// non-empty. The task processes a single FinalizationRegistry and posts another
16
// cleanup task if there are remaining dirty FinalizationRegistries on the list.
17
class
FinalizationRegistryCleanupTask
:
public
CancelableTask
{
18
public
:
19
explicit
FinalizationRegistryCleanupTask
(
Heap
*
heap
);
20
~FinalizationRegistryCleanupTask
()
override
=
default
;
21
FinalizationRegistryCleanupTask
(
const
FinalizationRegistryCleanupTask
&) =
22
delete
;
23
void
operator=
(
const
FinalizationRegistryCleanupTask
&) =
delete
;
24
25
private
:
26
void
RunInternal
()
override
;
27
void
SlowAssertNoActiveJavaScript
();
28
29
Heap
*
heap_
;
30
};
31
32
}
// namespace internal
33
}
// namespace v8
34
35
#endif
// V8_HEAP_FINALIZATION_REGISTRY_CLEANUP_TASK_H_
cancelable-task.h
v8::internal::CancelableTask
Definition
cancelable-task.h:145
v8::internal::FinalizationRegistryCleanupTask
Definition
finalization-registry-cleanup-task.h:17
v8::internal::FinalizationRegistryCleanupTask::operator=
void operator=(const FinalizationRegistryCleanupTask &)=delete
v8::internal::FinalizationRegistryCleanupTask::FinalizationRegistryCleanupTask
FinalizationRegistryCleanupTask(const FinalizationRegistryCleanupTask &)=delete
v8::internal::FinalizationRegistryCleanupTask::~FinalizationRegistryCleanupTask
~FinalizationRegistryCleanupTask() override=default
v8::internal::FinalizationRegistryCleanupTask::RunInternal
void RunInternal() override
Definition
finalization-registry-cleanup-task.cc:38
v8::internal::FinalizationRegistryCleanupTask::SlowAssertNoActiveJavaScript
void SlowAssertNoActiveJavaScript()
Definition
finalization-registry-cleanup-task.cc:21
v8::internal::FinalizationRegistryCleanupTask::heap_
Heap * heap_
Definition
finalization-registry-cleanup-task.h:29
v8::internal::FinalizationRegistryCleanupTask::FinalizationRegistryCleanupTask
FinalizationRegistryCleanupTask(Heap *heap)
Definition
finalization-registry-cleanup-task.cc:18
v8::internal::Heap
Definition
heap.h:195
js-weak-refs.h
heap
Definition
platform.h:72
v8::internal::internal
internal
Definition
wasm-objects-inl.h:458
v8
Definition
api-arguments-inl.h:19
src
heap
finalization-registry-cleanup-task.h
Generated on Sun Apr 6 2025 21:08:54 for v8 by
1.12.0