Flutter Engine
The Flutter Engine
Public Member Functions | List of all members
dart::ObjectPointerVisitor Class Referenceabstract

#include <visitor.h>

Inheritance diagram for dart::ObjectPointerVisitor:
dart::MarkingVisitorBase< true > dart::CheckStoreBufferEvacuateVisitor dart::CheckStoreBufferScavengeVisitor dart::CollectStoreBufferEvacuateVisitor dart::CollectStoreBufferScavengeVisitor dart::ForwardPointersVisitor dart::GCCompactor dart::IncrementalForwardingVisitor dart::MarkingVisitorBase< sync > dart::ObjectCounter dart::PrintObjectPointersVisitor dart::RestoreWriteBarrierInvariantVisitor dart::ScavengerVisitorBase< parallel > dart::StoreBufferForwardingVisitor dart::VerifyAfterIncrementalCompactionVisitor dart::VerifyAfterMarkingVisitor dart::VerifyPointersVisitor dart::WriteBarrierUpdateVisitor dart::snapshot_analyzer::FieldVisitor

Public Member Functions

 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 20 of file visitor.h.

Constructor & Destructor Documentation

◆ ObjectPointerVisitor()

dart::ObjectPointerVisitor::ObjectPointerVisitor ( IsolateGroup isolate_group)
explicit

Definition at line 11 of file visitor.cc.

12 : isolate_group_(isolate_group),
13 gc_root_type_("unknown"),
14 class_table_(isolate_group->heap_walk_class_table()) {}
ClassTable * heap_walk_class_table() const
Definition: isolate.h:503
IsolateGroup * isolate_group() const
Definition: visitor.h:25

◆ ~ObjectPointerVisitor()

virtual dart::ObjectPointerVisitor::~ObjectPointerVisitor ( )
inlinevirtual

Definition at line 23 of file visitor.h.

23{}

Member Function Documentation

◆ CanVisitSuspendStatePointers()

virtual bool dart::ObjectPointerVisitor::CanVisitSuspendStatePointers ( SuspendStatePtr  suspend_state)
inlinevirtual

Reimplemented in dart::IncrementalForwardingVisitor.

Definition at line 78 of file visitor.h.

78 {
79 return true;
80 }

◆ class_table()

const ClassTable * dart::ObjectPointerVisitor::class_table ( ) const
inline

Definition at line 71 of file visitor.h.

71{ return class_table_; }

◆ clear_gc_root_type()

void dart::ObjectPointerVisitor::clear_gc_root_type ( )
inline

Definition at line 62 of file visitor.h.

62{ gc_root_type_ = "unknown"; }

◆ gc_root_type()

const char * dart::ObjectPointerVisitor::gc_root_type ( ) const
inline

Definition at line 57 of file visitor.h.

57{ return gc_root_type_; }

◆ isolate_group()

IsolateGroup * dart::ObjectPointerVisitor::isolate_group ( ) const
inline

Definition at line 25 of file visitor.h.

25{ return isolate_group_; }

◆ set_gc_root_type()

void dart::ObjectPointerVisitor::set_gc_root_type ( const char *  gc_root_type)
inline

Definition at line 58 of file visitor.h.

58 {
59 gc_root_type_ = gc_root_type;
60 }
const char * gc_root_type() const
Definition: visitor.h:57

◆ trace_values_through_fields()

virtual bool dart::ObjectPointerVisitor::trace_values_through_fields ( ) const
inlinevirtual

Definition at line 69 of file visitor.h.

69{ return false; }

◆ visit_weak_persistent_handles()

virtual bool dart::ObjectPointerVisitor::visit_weak_persistent_handles ( ) const
inlinevirtual

Definition at line 64 of file visitor.h.

64{ return false; }

◆ VisitCompressedPointers()

void dart::ObjectPointerVisitor::VisitCompressedPointers ( uword  heap_base,
CompressedObjectPtr first,
CompressedObjectPtr last 
)
inline

Definition at line 43 of file visitor.h.

45 {
46 VisitPointers(first, last);
47 }
virtual void VisitPointers(ObjectPtr *first, ObjectPtr *last)=0

◆ VisitPointer()

void dart::ObjectPointerVisitor::VisitPointer ( ObjectPtr p)
inline

Definition at line 55 of file visitor.h.

◆ VisitPointers() [1/2]

virtual void dart::ObjectPointerVisitor::VisitPointers ( ObjectPtr first,
ObjectPtr last 
)
pure virtual

◆ VisitPointers() [2/2]

void dart::ObjectPointerVisitor::VisitPointers ( ObjectPtr p,
intptr_t  len 
)
inline

Definition at line 51 of file visitor.h.

51 {
52 VisitPointers(p, (p + len - 1));
53 }

◆ VisitTypedDataViewPointers()

virtual void dart::ObjectPointerVisitor::VisitTypedDataViewPointers ( TypedDataViewPtr  view,
CompressedObjectPtr first,
CompressedObjectPtr last 
)
inlinevirtual

Reimplemented in dart::IncrementalForwardingVisitor, and dart::ScavengerVisitorBase< parallel >.

Definition at line 30 of file visitor.h.

32 {
33 VisitCompressedPointers(view->heap_base(), first, last);
34 }
void VisitCompressedPointers(uword heap_base, CompressedObjectPtr *first, CompressedObjectPtr *last)
Definition: visitor.h:43

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