diff options
author | Michaël Zasso <targos@protonmail.com> | 2020-10-15 20:17:08 +0200 |
---|---|---|
committer | Michaël Zasso <targos@protonmail.com> | 2020-10-18 20:16:47 +0200 |
commit | a1d639ba5de4ff34e34fb575fbb6cc1d41ec3cce (patch) | |
tree | abc7d41c12f1495b1208fa4449cb2508c92c5e85 /deps/v8/src/heap/cppgc/marking-verifier.h | |
parent | 089d654dd85f8e548597329f60a41d6029260caa (diff) | |
download | node-new-a1d639ba5de4ff34e34fb575fbb6cc1d41ec3cce.tar.gz |
deps: update V8 to 8.6.395
PR-URL: https://github.com/nodejs/node/pull/35415
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Diffstat (limited to 'deps/v8/src/heap/cppgc/marking-verifier.h')
-rw-r--r-- | deps/v8/src/heap/cppgc/marking-verifier.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/deps/v8/src/heap/cppgc/marking-verifier.h b/deps/v8/src/heap/cppgc/marking-verifier.h new file mode 100644 index 0000000000..440b198dd5 --- /dev/null +++ b/deps/v8/src/heap/cppgc/marking-verifier.h @@ -0,0 +1,42 @@ +// Copyright 2020 the V8 project authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef V8_HEAP_CPPGC_MARKING_VERIFIER_H_ +#define V8_HEAP_CPPGC_MARKING_VERIFIER_H_ + +#include "src/heap/base/stack.h" +#include "src/heap/cppgc/heap-visitor.h" +#include "src/heap/cppgc/heap.h" +#include "src/heap/cppgc/visitor.h" + +namespace cppgc { +namespace internal { + +class V8_EXPORT_PRIVATE MarkingVerifier final + : private HeapVisitor<MarkingVerifier>, + public cppgc::Visitor, + public ConservativeTracingVisitor, + public heap::base::StackVisitor { + friend class HeapVisitor<MarkingVerifier>; + + public: + explicit MarkingVerifier(HeapBase&, Heap::Config::StackState); + + void Visit(const void*, TraceDescriptor) final; + void VisitWeak(const void*, TraceDescriptor, WeakCallback, const void*) final; + + private: + void VerifyChild(const void*); + + void VisitConservatively(HeapObjectHeader&, + TraceConservativelyCallback) final; + void VisitPointer(const void*) final; + + bool VisitHeapObjectHeader(HeapObjectHeader*); +}; + +} // namespace internal +} // namespace cppgc + +#endif // V8_HEAP_CPPGC_MARKING_VERIFIER_H_ |