v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
traced-handles-marking-visitor.h
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
#ifndef V8_HEAP_TRACED_HANDLES_MARKING_VISITOR_H_
6
#define V8_HEAP_TRACED_HANDLES_MARKING_VISITOR_H_
7
8
#include "
src/handles/traced-handles.h
"
9
#include "
src/heap/base/stack.h
"
10
#include "
src/heap/heap.h
"
11
12
namespace
v8
{
13
namespace
internal
{
14
15
// Marking visitor for conservatively marking handles creates through
16
// `TracedHandles`. The visitor assumes that pointers (on stack, or
17
// conservatively scanned on-heap) may point into traced handle nodes which
18
// requires them to be kept alive.
19
class
ConservativeTracedHandlesMarkingVisitor
final
20
:
public
::heap::base::StackVisitor
{
21
public
:
22
ConservativeTracedHandlesMarkingVisitor
(
Heap
&,
MarkingWorklists::Local
&,
23
cppgc::internal::CollectionType
);
24
~ConservativeTracedHandlesMarkingVisitor
()
override
=
default
;
25
26
void
VisitPointer
(
const
void
*)
override
;
27
28
private
:
29
Heap
&
heap_
;
30
MarkingState
&
marking_state_
;
31
MarkingWorklists::Local
&
local_marking_worklist_
;
32
const
TracedHandles::NodeBounds
traced_node_bounds_
;
33
const
TracedHandles::MarkMode
mark_mode_
;
34
};
35
36
}
// namespace internal
37
}
// namespace v8
38
39
#endif
// V8_HEAP_TRACED_HANDLES_MARKING_VISITOR_H_
heap::base::StackVisitor
Definition
stack.h:17
v8::internal::ConservativeTracedHandlesMarkingVisitor
Definition
traced-handles-marking-visitor.h:20
v8::internal::ConservativeTracedHandlesMarkingVisitor::mark_mode_
const TracedHandles::MarkMode mark_mode_
Definition
traced-handles-marking-visitor.h:33
v8::internal::ConservativeTracedHandlesMarkingVisitor::heap_
Heap & heap_
Definition
traced-handles-marking-visitor.h:29
v8::internal::ConservativeTracedHandlesMarkingVisitor::~ConservativeTracedHandlesMarkingVisitor
~ConservativeTracedHandlesMarkingVisitor() override=default
v8::internal::ConservativeTracedHandlesMarkingVisitor::ConservativeTracedHandlesMarkingVisitor
ConservativeTracedHandlesMarkingVisitor(Heap &, MarkingWorklists::Local &, cppgc::internal::CollectionType)
Definition
traced-handles-marking-visitor.cc:18
v8::internal::ConservativeTracedHandlesMarkingVisitor::VisitPointer
void VisitPointer(const void *) override
Definition
traced-handles-marking-visitor.cc:29
v8::internal::ConservativeTracedHandlesMarkingVisitor::traced_node_bounds_
const TracedHandles::NodeBounds traced_node_bounds_
Definition
traced-handles-marking-visitor.h:32
v8::internal::ConservativeTracedHandlesMarkingVisitor::local_marking_worklist_
MarkingWorklists::Local & local_marking_worklist_
Definition
traced-handles-marking-visitor.h:31
v8::internal::ConservativeTracedHandlesMarkingVisitor::marking_state_
MarkingState & marking_state_
Definition
traced-handles-marking-visitor.h:30
v8::internal::Heap
Definition
heap.h:195
v8::internal::MarkingState
Definition
marking-state.h:56
v8::internal::MarkingWorklists::Local
Definition
marking-worklist.h:132
v8::internal::TracedHandles::NodeBounds
std::vector< std::pair< const void *, const void * > > NodeBounds
Definition
traced-handles.h:300
v8::internal::TracedHandles::MarkMode
MarkMode
Definition
traced-handles.h:277
cppgc::internal::CollectionType
CollectionType
Definition
heap-config.h:15
v8::internal::internal
internal
Definition
wasm-objects-inl.h:458
v8
Definition
api-arguments-inl.h:19
heap.h
stack.h
traced-handles.h
src
heap
traced-handles-marking-visitor.h
Generated on Sun Apr 6 2025 21:08:54 for v8 by
1.12.0