1 // Copyright 2020 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_JS_UNIFIED_HEAP_MARKING_VERIFIER_H_ 6 #define V8_HEAP_CPPGC_JS_UNIFIED_HEAP_MARKING_VERIFIER_H_ 7 8 #include "src/heap/cppgc/marking-verifier.h" 9 10 namespace v8 { 11 namespace internal { 12 13 class V8_EXPORT_PRIVATE UnifiedHeapMarkingVerifier final 14 : public cppgc::internal::MarkingVerifierBase { 15 public: 16 explicit UnifiedHeapMarkingVerifier(cppgc::internal::HeapBase&); 17 ~UnifiedHeapMarkingVerifier() final = default; 18 19 void SetCurrentParent(const cppgc::internal::HeapObjectHeader*) final; 20 21 private: 22 // TODO(chromium:1056170): Use a verification state that can handle JS 23 // references. 24 cppgc::internal::VerificationState state_; 25 }; 26 27 } // namespace internal 28 } // namespace v8 29 30 #endif // V8_HEAP_CPPGC_JS_UNIFIED_HEAP_MARKING_VERIFIER_H_ 31