Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Public Member Functions | List of all members
dart::ObjectIdRingClearPointerVisitor Class Reference
Inheritance diagram for dart::ObjectIdRingClearPointerVisitor:
dart::ObjectPointerVisitor

Public Member Functions

 ObjectIdRingClearPointerVisitor (IsolateGroup *isolate_group)
 
void VisitPointers (ObjectPtr *first, ObjectPtr *last) override
 
- 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)
 
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 732 of file marker.cc.

Constructor & Destructor Documentation

◆ ObjectIdRingClearPointerVisitor()

dart::ObjectIdRingClearPointerVisitor::ObjectIdRingClearPointerVisitor ( IsolateGroup isolate_group)
inlineexplicit

Definition at line 734 of file marker.cc.

IsolateGroup * isolate_group() const
Definition visitor.h:25
ObjectPointerVisitor(IsolateGroup *isolate_group)
Definition visitor.cc:11

Member Function Documentation

◆ VisitPointers()

void dart::ObjectIdRingClearPointerVisitor::VisitPointers ( ObjectPtr first,
ObjectPtr last 
)
inlineoverridevirtual

Implements dart::ObjectPointerVisitor.

Definition at line 737 of file marker.cc.

737 {
738 for (ObjectPtr* current = first; current <= last; current++) {
739 ObjectPtr obj = *current;
740 ASSERT(obj->IsHeapObject());
741 if (!obj->untag()->IsMarked()) {
742 // Object has become garbage. Replace it will null.
743 *current = Object::null();
744 }
745 }
746 }
static ObjectPtr null()
Definition object.h:433
#define ASSERT(E)

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