| Index: runtime/vm/freelist.cc
|
| diff --git a/runtime/vm/freelist.cc b/runtime/vm/freelist.cc
|
| index e4a880e8113cb0f354f7a6b0a1d75f9f4d24ea96..221a5ea4bf9bc475ab1a1d4c3446ac1cacd89b7f 100644
|
| --- a/runtime/vm/freelist.cc
|
| +++ b/runtime/vm/freelist.cc
|
| @@ -22,13 +22,18 @@ FreeListElement* FreeListElement::AsElement(uword addr, intptr_t size) {
|
|
|
| FreeListElement* result = reinterpret_cast<FreeListElement*>(addr);
|
|
|
| - uword tags = 0;
|
| + uint32_t tags = 0;
|
| tags = RawObject::SizeTag::update(size, tags);
|
| tags = RawObject::ClassIdTag::update(kFreeListElement, tags);
|
| // All words in a freelist element header should look like Smis.
|
| ASSERT(!reinterpret_cast<RawObject*>(tags)->IsHeapObject());
|
|
|
| result->tags_ = tags;
|
| +#if defined(HASH_IN_OBJECT_HEADER)
|
| + // Clearing this is mostly for neatness. The identityHashCode
|
| + // of free list entries is not used.
|
| + result->hash_ = 0;
|
| +#endif
|
| if (size > RawObject::SizeTag::kMaxSizeTag) {
|
| *result->SizeAddress() = size;
|
| }
|
|
|