v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
write-barrier.h
Go to the documentation of this file.
1
// Copyright 2021 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_CPPGC_WRITE_BARRIER_H_
6
#define V8_HEAP_CPPGC_WRITE_BARRIER_H_
7
8
#include "
include/cppgc/internal/write-barrier.h
"
9
#include "
src/base/lazy-instance.h
"
10
#include "
src/base/platform/mutex.h
"
11
12
namespace
cppgc
{
13
namespace
internal
{
14
15
class
WriteBarrier::FlagUpdater
final {
16
public
:
17
static
void
Enter
() {
write_barrier_enabled_
.
Enter
(); }
18
static
void
Exit
() {
write_barrier_enabled_
.
Exit
(); }
19
20
private
:
21
FlagUpdater
() =
delete
;
22
};
23
24
#if defined(CPPGC_YOUNG_GENERATION)
25
class
V8_EXPORT_PRIVATE
YoungGenerationEnabler final {
26
public
:
27
static
void
Enable();
28
static
void
Disable();
29
30
static
bool
IsEnabled();
31
32
private
:
33
template
<
typename
T>
34
friend
class
v8::base::LeakyObject
;
35
36
static
YoungGenerationEnabler& Instance();
37
38
YoungGenerationEnabler() =
default
;
39
40
size_t
is_enabled_;
41
v8::base::Mutex
mutex_
;
42
};
43
#endif
// defined(CPPGC_YOUNG_GENERATION)
44
45
}
// namespace internal
46
}
// namespace cppgc
47
48
#endif
// V8_HEAP_CPPGC_WRITE_BARRIER_H_
cppgc::internal::AtomicEntryFlag::Exit
void Exit()
Definition
atomic-entry-flag.h:32
cppgc::internal::AtomicEntryFlag::Enter
void Enter()
Definition
atomic-entry-flag.h:31
cppgc::internal::WriteBarrier::FlagUpdater
Definition
write-barrier.h:15
cppgc::internal::WriteBarrier::FlagUpdater::Exit
static void Exit()
Definition
write-barrier.h:18
cppgc::internal::WriteBarrier::FlagUpdater::FlagUpdater
FlagUpdater()=delete
cppgc::internal::WriteBarrier::FlagUpdater::Enter
static void Enter()
Definition
write-barrier.h:17
cppgc::internal::WriteBarrier::write_barrier_enabled_
static AtomicEntryFlag write_barrier_enabled_
Definition
write-barrier.h:153
v8::base::LeakyObject
Definition
isolate-group.h:35
v8::base::Mutex
Definition
mutex.h:36
mutex_
base::Mutex & mutex_
Definition
code-memory-access.cc:623
write-barrier.h
lazy-instance.h
mutex.h
cppgc
Definition
cross-heap-remembered-set.h:14
v8::internal::internal
internal
Definition
wasm-objects-inl.h:458
V8_EXPORT_PRIVATE
#define V8_EXPORT_PRIVATE
Definition
macros.h:460
src
heap
cppgc
write-barrier.h
Generated on Sun Apr 6 2025 21:08:54 for v8 by
1.12.0