v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
unmarker.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_UNMARKER_H_
6#define V8_HEAP_CPPGC_UNMARKER_H_
7
10
11namespace cppgc {
12namespace internal {
13
14class SequentialUnmarker final : private HeapVisitor<SequentialUnmarker> {
15 friend class HeapVisitor<SequentialUnmarker>;
16
17 public:
19
21 page.ResetMarkedBytes();
22 return false;
23 }
24
26 page.ResetMarkedBytes();
27 return false;
28 }
29
30 private:
32 if (header.IsMarked()) {
33 header.Unmark();
34 }
35 return true;
36 }
37};
38
39} // namespace internal
40} // namespace cppgc
41
42#endif // V8_HEAP_CPPGC_UNMARKER_H_
bool VisitNormalPage(NormalPage &page)
Definition unmarker.h:20
bool VisitHeapObjectHeader(HeapObjectHeader &header)
Definition unmarker.h:31
bool VisitLargePage(LargePage &page)
Definition unmarker.h:25