Definition at line 513 of file incremental_compactor.cc.
◆ StoreBufferForwardingVisitor()
Definition at line 515 of file incremental_compactor.cc.
IsolateGroup * isolate_group() const
ObjectPointerVisitor(IsolateGroup *isolate_group)
◆ VisitPointers()
void dart::StoreBufferForwardingVisitor::VisitPointers |
( |
ObjectPtr * |
first, |
|
|
ObjectPtr * |
last |
|
) |
| |
|
inlineoverridevirtual |
Implements dart::ObjectPointerVisitor.
Definition at line 519 of file incremental_compactor.cc.
519 {
520 for (ObjectPtr* ptr = first; ptr <= last; ptr++) {
521 ObjectPtr obj = *ptr;
522 ASSERT(!obj->IsImmediateOrNewObject());
523
524 if (obj->IsForwardingCorpse()) {
525 ASSERT(!obj->untag()->IsMarked());
526 ASSERT(!obj->untag()->IsEvacuationCandidate());
528 ForwardingCorpse* forwarder =
reinterpret_cast<ForwardingCorpse*
>(
addr);
529 obj = forwarder->target();
530 *ptr = obj;
531 } else {
532 ASSERT(obj->untag()->IsMarked());
533 ASSERT(!obj->untag()->IsEvacuationCandidate());
534 }
535
537 }
538 }
void VisitObject(ObjectPtr obj) override
static uword ToAddr(const UntaggedObject *raw_obj)
The documentation for this class was generated from the following file: