Flutter Engine
The Flutter Engine
Public Member Functions | List of all members
dart::VerifyAfterIncrementalCompactionVisitor Class Reference
Inheritance diagram for dart::VerifyAfterIncrementalCompactionVisitor:
dart::ObjectVisitor dart::ObjectPointerVisitor

Public Member Functions

 VerifyAfterIncrementalCompactionVisitor ()
 
void VisitObject (ObjectPtr obj) override
 
void VisitPointers (ObjectPtr *from, ObjectPtr *to) override
 
bool failed () const
 
- Public Member Functions inherited from dart::ObjectVisitor
 ObjectVisitor ()
 
virtual ~ObjectVisitor ()
 
virtual void VisitObject (ObjectPtr obj)=0
 
- Public Member Functions inherited from dart::ObjectPointerVisitor
 ObjectPointerVisitor (IsolateGroup *isolate_group)
 
virtual ~ObjectPointerVisitor ()
 
IsolateGroupisolate_group () const
 
virtual void VisitTypedDataViewPointers (TypedDataViewPtr view, CompressedObjectPtr *first, CompressedObjectPtr *last)
 
virtual void VisitPointers (ObjectPtr *first, ObjectPtr *last)=0
 
void VisitCompressedPointers (uword heap_base, CompressedObjectPtr *first, CompressedObjectPtr *last)
 
void VisitPointers (ObjectPtr *p, intptr_t len)
 
void VisitPointer (ObjectPtr *p)
 
const char * gc_root_type () const
 
void set_gc_root_type (const char *gc_root_type)
 
void clear_gc_root_type ()
 
virtual bool visit_weak_persistent_handles () const
 
virtual bool trace_values_through_fields () const
 
const ClassTableclass_table () const
 
virtual bool CanVisitSuspendStatePointers (SuspendStatePtr suspend_state)
 

Detailed Description

Definition at line 939 of file incremental_compactor.cc.

Constructor & Destructor Documentation

◆ VerifyAfterIncrementalCompactionVisitor()

dart::VerifyAfterIncrementalCompactionVisitor::VerifyAfterIncrementalCompactionVisitor ( )
inline

Definition at line 942 of file incremental_compactor.cc.

static IsolateGroup * Current()
Definition: isolate.h:539
ObjectPointerVisitor(IsolateGroup *isolate_group)
Definition: visitor.cc:11

Member Function Documentation

◆ failed()

bool dart::VerifyAfterIncrementalCompactionVisitor::failed ( ) const
inline

Definition at line 992 of file incremental_compactor.cc.

992{ return failed_; }

◆ VisitObject()

void dart::VerifyAfterIncrementalCompactionVisitor::VisitObject ( ObjectPtr  obj)
inlineoverridevirtual

Implements dart::ObjectVisitor.

Definition at line 945 of file incremental_compactor.cc.

945 {
946 // New-space has been swept, but old-space has not.
947 if (obj->IsNewObject()) {
948 if (obj->untag()->GetClassId() != kFreeListElement) {
949 current_ = obj;
950 obj->untag()->VisitPointers(this);
951 }
952 } else {
953 if (obj->untag()->IsMarked()) {
954 current_ = obj;
955 obj->untag()->VisitPointers(this);
956 }
957 }
958 }
UntaggedObject * untag() const
intptr_t VisitPointers(ObjectPointerVisitor *visitor)
Definition: raw_object.h:447
@ kFreeListElement
Definition: class_id.h:224

◆ VisitPointers()

void dart::VerifyAfterIncrementalCompactionVisitor::VisitPointers ( ObjectPtr from,
ObjectPtr to 
)
inlineoverridevirtual

Implements dart::ObjectPointerVisitor.

Definition at line 960 of file incremental_compactor.cc.

960 {
961 for (ObjectPtr* ptr = from; ptr <= to; ptr++) {
962 ObjectPtr obj = *ptr;
963 if (!obj->IsHeapObject()) continue;
964 if (obj->IsForwardingCorpse() || obj->IsFreeListElement() ||
965 (obj->IsOldObject() && !obj->untag()->IsMarked())) {
966 OS::PrintErr("object=0x%" Px ", slot=0x%" Px ", value=0x%" Px "\n",
967 static_cast<uword>(current_), reinterpret_cast<uword>(ptr),
968 static_cast<uword>(obj));
969 failed_ = true;
970 }
971 }
972 }
static void static void PrintErr(const char *format,...) PRINTF_ATTRIBUTE(1
uintptr_t uword
Definition: globals.h:501
#define Px
Definition: globals.h:410

The documentation for this class was generated from the following file: