1348 {
1349#if defined(DEBUG)
1350 if (obj->IsNewObject()) {
1351 ASSERT(visiting_old_object_ ==
nullptr);
1352 } else {
1353 ASSERT(visiting_old_object_ == obj);
1354 ASSERT(!obj->untag()->IsRemembered());
1355 }
1356#endif
1357
1358 intptr_t
cid = obj->GetClassId();
1360 WeakPropertyPtr weak_property = static_cast<WeakPropertyPtr>(obj);
1362 weak_property_list_.
Push(weak_property);
1364 }
1366 WeakReferencePtr weak_reference = static_cast<WeakReferencePtr>(obj);
1368#if !defined(DART_COMPRESSED_POINTERS)
1369 ScavengePointer(&weak_reference->untag()->type_arguments_);
1370#else
1371 ScavengeCompressedPointer(weak_reference->heap_base(),
1372 &weak_reference->untag()->type_arguments_);
1373#endif
1374 weak_reference_list_.
Push(weak_reference);
1376 }
1378 WeakArrayPtr weak_array = static_cast<WeakArrayPtr>(obj);
1379 weak_array_list_.
Push(weak_array);
1382 FinalizerEntryPtr finalizer_entry = static_cast<FinalizerEntryPtr>(obj);
1383#if !defined(DART_COMPRESSED_POINTERS)
1384 ScavengePointer(&finalizer_entry->untag()->token_);
1385 ScavengePointer(&finalizer_entry->untag()->next_);
1386#else
1387 ScavengeCompressedPointer(finalizer_entry->heap_base(),
1388 &finalizer_entry->untag()->token_);
1389 ScavengeCompressedPointer(finalizer_entry->heap_base(),
1390 &finalizer_entry->untag()->next_);
1391#endif
1392 finalizer_entry_list_.
Push(finalizer_entry);
1394 }
1395 return obj->untag()->VisitPointersNonvirtual(this);
1396}
static intptr_t InstanceSize()
static intptr_t InstanceSize()
static intptr_t InstanceSize()
static intptr_t InstanceSize()
static bool IsScavengeSurvivor(ObjectPtr obj)