1407 {
1408#if defined(DEBUG)
1409 if (obj->IsNewObject()) {
1410 ASSERT(visiting_old_object_ ==
nullptr);
1411 } else {
1412 ASSERT(visiting_old_object_ == obj);
1413 ASSERT(!obj->untag()->IsRemembered());
1414 }
1415#endif
1416
1417 intptr_t
cid = obj->GetClassId();
1419 WeakPropertyPtr weak_property = static_cast<WeakPropertyPtr>(obj);
1421 weak_property_list_.
Push(weak_property);
1423 }
1425 WeakReferencePtr weak_reference = static_cast<WeakReferencePtr>(obj);
1427#if !defined(DART_COMPRESSED_POINTERS)
1428 ScavengePointer(&weak_reference->untag()->type_arguments_);
1429#else
1430 ScavengeCompressedPointer(weak_reference->heap_base(),
1431 &weak_reference->untag()->type_arguments_);
1432#endif
1433 weak_reference_list_.
Push(weak_reference);
1435 }
1437 WeakArrayPtr weak_array = static_cast<WeakArrayPtr>(obj);
1438 weak_array_list_.
Push(weak_array);
1441 FinalizerEntryPtr finalizer_entry = static_cast<FinalizerEntryPtr>(obj);
1442#if !defined(DART_COMPRESSED_POINTERS)
1443 ScavengePointer(&finalizer_entry->untag()->token_);
1444 ScavengePointer(&finalizer_entry->untag()->next_);
1445#else
1446 ScavengeCompressedPointer(finalizer_entry->heap_base(),
1447 &finalizer_entry->untag()->token_);
1448 ScavengeCompressedPointer(finalizer_entry->heap_base(),
1449 &finalizer_entry->untag()->next_);
1450#endif
1451 finalizer_entry_list_.
Push(finalizer_entry);
1453 }
1454 return obj->untag()->VisitPointersNonvirtual(this);
1455}
static intptr_t InstanceSize()
static intptr_t InstanceSize()
static intptr_t InstanceSize()
static intptr_t InstanceSize()
static bool IsScavengeSurvivor(ObjectPtr obj)