#include <verifier.h>
Definition at line 23 of file verifier.h.
◆ VerifyObjectVisitor()
Definition at line 25 of file verifier.h.
28 : isolate_group_(isolate_group),
29 allocated_set_(allocated_set),
30 mark_expectation_(mark_expectation) {}
◆ VisitObject()
void dart::VerifyObjectVisitor::VisitObject |
( |
ObjectPtr |
obj | ) |
|
|
overridevirtual |
Implements dart::ObjectVisitor.
Definition at line 19 of file verifier.cc.
19 {
20 ASSERT(obj->IsHeapObject());
22 if (obj->IsFreeListElement() || obj->IsForwardingCorpse()) {
23 if (obj->IsOldObject() && obj->untag()->IsMarked()) {
24 FATAL(
"Marked free list element encountered %#" Px "\n",
addr);
25 }
26 } else {
27 switch (mark_expectation_) {
29 if (obj->IsOldObject() && obj->untag()->IsMarked()) {
30 FATAL(
"Marked object encountered %#" Px "\n",
addr);
31 }
32 break;
34 break;
36 if (obj->IsOldObject() && !obj->untag()->IsMarked()) {
37 FATAL(
"Unmarked object encountered %#" Px "\n",
addr);
38 }
39 break;
40 }
41 allocated_set_->
Add(obj);
42 }
43 obj->Validate(isolate_group_);
44}
void Add(ObjectPtr raw_obj)
static uword ToAddr(const UntaggedObject *raw_obj)
The documentation for this class was generated from the following files:
- third_party/dart-lang/sdk/runtime/vm/heap/verifier.h
- third_party/dart-lang/sdk/runtime/vm/heap/verifier.cc