Flutter Engine
The Flutter Engine
Public Member Functions | List of all members
dart::ScavengerWeakVisitor Class Reference
Inheritance diagram for dart::ScavengerWeakVisitor:
dart::HandleVisitor

Public Member Functions

 ScavengerWeakVisitor (Thread *thread)
 
void VisitHandle (uword addr) override
 
- Public Member Functions inherited from dart::HandleVisitor
 HandleVisitor (Thread *thread)
 
virtual ~HandleVisitor ()
 
Threadthread () const
 
virtual void VisitHandle (uword addr)=0
 

Detailed Description

Definition at line 653 of file scavenger.cc.

Constructor & Destructor Documentation

◆ ScavengerWeakVisitor()

dart::ScavengerWeakVisitor::ScavengerWeakVisitor ( Thread thread)
inlineexplicit

Definition at line 655 of file scavenger.cc.

HandleVisitor(Thread *thread)
Thread * thread() const

Member Function Documentation

◆ VisitHandle()

void dart::ScavengerWeakVisitor::VisitHandle ( uword  addr)
inlineoverridevirtual

Implements dart::HandleVisitor.

Definition at line 657 of file scavenger.cc.

657 {
658 FinalizablePersistentHandle* handle =
659 reinterpret_cast<FinalizablePersistentHandle*>(addr);
660 ObjectPtr* p = handle->ptr_addr();
661 if (IsUnreachable(p)) {
662 handle->UpdateUnreachable(thread()->isolate_group());
663 } else {
664 handle->UpdateRelocated(thread()->isolate_group());
665 }
666 }
IsolateGroup * isolate_group() const
Definition: thread.h:541
static bool IsUnreachable(const ObjectPtr obj)
Definition: marker.cc:702

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