v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
unified-heap-marking-state.cc
Go to the documentation of this file.
1
// Copyright 2022 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
#include "
src/heap/cppgc-js/unified-heap-marking-state.h
"
6
7
#include "
src/base/logging.h
"
8
#include "
src/heap/heap-inl.h
"
9
#include "
src/heap/mark-compact.h
"
10
11
namespace
v8
{
12
namespace
internal
{
13
14
UnifiedHeapMarkingState::UnifiedHeapMarkingState
(
15
Heap
*
heap
,
MarkingWorklists::Local
* local_marking_worklist,
16
cppgc::internal::CollectionType
collection_type)
17
:
heap_
(
heap
),
18
marking_state_
(
heap_
?
heap_
->marking_state() : nullptr),
19
local_marking_worklist_(local_marking_worklist),
20
mark_mode_(collection_type ==
cppgc
::
internal
::CollectionType::kMinor
21
?
TracedHandles
::MarkMode::kOnlyYoung
22
:
TracedHandles
::MarkMode::
kAll
) {
23
DCHECK_IMPLIES
(
heap_
,
marking_state_
);
24
}
25
26
void
UnifiedHeapMarkingState::Update
(
27
MarkingWorklists::Local
* local_marking_worklist) {
28
local_marking_worklist_
= local_marking_worklist;
29
DCHECK_NOT_NULL
(
heap_
);
30
}
31
32
}
// namespace internal
33
}
// namespace v8
v8::internal::Heap
Definition
heap.h:195
v8::internal::MarkingWorklists::Local
Definition
marking-worklist.h:132
v8::internal::TracedHandles
Definition
traced-handles.h:275
v8::internal::UnifiedHeapMarkingState::UnifiedHeapMarkingState
UnifiedHeapMarkingState(Heap *, MarkingWorklists::Local *, cppgc::internal::CollectionType)
Definition
unified-heap-marking-state.cc:14
v8::internal::UnifiedHeapMarkingState::heap_
Heap *const heap_
Definition
unified-heap-marking-state.h:34
v8::internal::UnifiedHeapMarkingState::local_marking_worklist_
MarkingWorklists::Local * local_marking_worklist_
Definition
unified-heap-marking-state.h:36
v8::internal::UnifiedHeapMarkingState::Update
void Update(MarkingWorklists::Local *)
Definition
unified-heap-marking-state.cc:26
v8::internal::UnifiedHeapMarkingState::marking_state_
MarkingState *const marking_state_
Definition
unified-heap-marking-state.h:35
heap-inl.h
marking_state_
NonAtomicMarkingState * marking_state_
Definition
mark-compact.cc:5527
mark-compact.h
cppgc::internal::CollectionType
CollectionType
Definition
heap-config.h:15
cppgc
Definition
cross-heap-remembered-set.h:14
heap
Definition
platform.h:72
v8::internal::internal
internal
Definition
wasm-objects-inl.h:458
v8::internal::ExternalStringTableCleaningMode::kAll
@ kAll
v8
Definition
api-arguments-inl.h:19
logging.h
DCHECK_NOT_NULL
#define DCHECK_NOT_NULL(val)
Definition
logging.h:492
DCHECK_IMPLIES
#define DCHECK_IMPLIES(v1, v2)
Definition
logging.h:493
heap_
Heap * heap_
Definition
traced-handles.cc:476
unified-heap-marking-state.h
src
heap
cppgc-js
unified-heap-marking-state.cc
Generated on Sun Apr 6 2025 21:08:54 for v8 by
1.12.0