1420 {
1421
1422 ASSERT(!obj->untag()->IsMarked());
1423
1424 ASSERT(!obj->IsForwardingCorpse());
1425 if (!obj->IsFreeListElement()) {
1426 obj->untag()->SetMarkBitUnsynchronized();
1428#if defined(HASH_IN_OBJECT_HEADER)
1429
1430
1431
1432 if (Object::GetCachedHash(obj) == 0) {
1433
1434
1435 ASSERT(!obj->IsStringInstance());
1438 } else if (obj == Object::bool_true().ptr()) {
1440 } else if (obj == Object::bool_false().ptr()) {
1442 } else if (!obj->IsMint() && !obj->IsDouble()) {
1443 counter_ += 2011;
1444 counter_ &= 0x3fffffff;
1445 if (counter_ == 0) counter_++;
1446 Object::SetCachedHashIfNotSet(obj, counter_);
1447 }
1448 }
1449#endif
1450#if !defined(DART_PRECOMPILED_RUNTIME)
1451 if (obj->IsClass()) {
1452
1453
1455 }
1456#endif
1457 }
1458 }
static void FinalizeReadOnlyObject(ObjectPtr object)
static constexpr intptr_t kNullIdentityHash
static constexpr intptr_t kFalseIdentityHash
static constexpr intptr_t kTrueIdentityHash
raw_obj untag() -> num_entries()) VARIABLE_COMPRESSED_VISITOR(Array, Smi::Value(raw_obj->untag() ->length())) VARIABLE_COMPRESSED_VISITOR(TypedData, TypedData::ElementSizeInBytes(raw_obj->GetClassId()) *Smi::Value(raw_obj->untag() ->length())) VARIABLE_COMPRESSED_VISITOR(Record, RecordShape(raw_obj->untag() ->shape()).num_fields()) VARIABLE_NULL_VISITOR(CompressedStackMaps, CompressedStackMaps::PayloadSizeOf(raw_obj)) VARIABLE_NULL_VISITOR(OneByteString, Smi::Value(raw_obj->untag() ->length())) VARIABLE_NULL_VISITOR(TwoByteString, Smi::Value(raw_obj->untag() ->length())) intptr_t UntaggedField::VisitFieldPointers(FieldPtr raw_obj, ObjectPointerVisitor *visitor)