20class UnifiedHeapVerificationVisitor final :
public JSVisitor {
22 explicit UnifiedHeapVerificationVisitor(UnifiedHeapVerificationState& state)
27 state_.VerifyMarked(desc.base_object_payload);
35 state_.VerifyMarked(desc.base_object_payload);
47 state_.VerifyMarked(weak_desc.base_object_payload);
50 void Visit(
const TracedReferenceBase& ref)
final {
51 state_.VerifyMarkedTracedReference(ref);
55 UnifiedHeapVerificationState&
state_;
64 Address* traced_handle_location =
69 if (!traced_handle_location) {
76 "MarkingVerifier: Encountered unmarked TracedReference.\n"
80 "# \\-> TracedReference (%p)",
84 kUseClassNameIfSupported)
94 : MarkingVerifierBase(
95 heap_base, collection_type,
state_,
96 std::make_unique<UnifiedHeapVerificationVisitor>(
state_)) {}
const HeapObjectHeader * parent_
static bool IsValidInUseNode(const Address *location)
UnifiedHeapMarkingVerifier(cppgc::internal::HeapBase &, cppgc::internal::CollectionType)
void VerifyMarkedTracedReference(const TracedReferenceBase &ref) const
enum v8::internal::@1270::DeoptimizableCodeIterator::@67 state_
HeapObjectNameForUnnamedObject
void(*)(const LivenessBroker &, const void *) WeakCallback