Index: runtime/vm/snapshot.cc |
diff --git a/runtime/vm/snapshot.cc b/runtime/vm/snapshot.cc |
index 51e551140aa46197f33016560127835cff4457d3..2c4a77f964f3181216c206e0121a6c7878f75fb8 100644 |
--- a/runtime/vm/snapshot.cc |
+++ b/runtime/vm/snapshot.cc |
@@ -755,9 +755,6 @@ void ImageWriter::WriteROData(WriteStream* stream) { |
uword marked_tags = obj.raw()->ptr()->tags_; |
marked_tags = RawObject::VMHeapObjectTag::update(true, marked_tags); |
marked_tags = RawObject::MarkBit::update(true, marked_tags); |
-#if defined(HASH_IN_OBJECT_HEADER) |
- marked_tags |= static_cast<uword>(obj.raw()->ptr()->hash_) << 32; |
-#endif |
stream->WriteWord(marked_tags); |
start += sizeof(uword); |
for (uword* cursor = reinterpret_cast<uword*>(start); |
@@ -844,11 +841,6 @@ void AssemblyImageWriter::WriteText(WriteStream* clustered_stream, bool vm) { |
uword marked_tags = insns.raw_ptr()->tags_; |
marked_tags = RawObject::VMHeapObjectTag::update(true, marked_tags); |
marked_tags = RawObject::MarkBit::update(true, marked_tags); |
-#if defined(HASH_IN_OBJECT_HEADER) |
- // Can't use GetObjectTagsAndHash because the update methods discard the |
- // high bits. |
- marked_tags |= static_cast<uword>(insns.raw_ptr()->hash_) << 32; |
-#endif |
WriteWordLiteralText(marked_tags); |
beginning += sizeof(uword); |
@@ -1039,11 +1031,6 @@ void BlobImageWriter::WriteText(WriteStream* clustered_stream, bool vm) { |
uword marked_tags = insns.raw_ptr()->tags_; |
marked_tags = RawObject::VMHeapObjectTag::update(true, marked_tags); |
marked_tags = RawObject::MarkBit::update(true, marked_tags); |
-#if defined(HASH_IN_OBJECT_HEADER) |
- // Can't use GetObjectTagsAndHash because the update methods discard the |
- // high bits. |
- marked_tags |= static_cast<uword>(insns.raw_ptr()->hash_) << 32; |
-#endif |
instructions_blob_stream_.WriteWord(marked_tags); |
beginning += sizeof(uword); |
@@ -1348,20 +1335,11 @@ void SnapshotWriter::WriteObject(RawObject* rawobj) { |
} |
-uint32_t SnapshotWriter::GetObjectTags(RawObject* raw) { |
+uword SnapshotWriter::GetObjectTags(RawObject* raw) { |
return raw->ptr()->tags_; |
} |
-uword SnapshotWriter::GetObjectTagsAndHash(RawObject* raw) { |
- uword result = raw->ptr()->tags_; |
-#if defined(HASH_IN_OBJECT_HEADER) |
- result |= static_cast<uword>(raw->ptr()->hash_) << 32; |
-#endif |
- return result; |
-} |
- |
- |
#define VM_OBJECT_CLASS_LIST(V) \ |
V(OneByteString) \ |
V(TwoByteString) \ |
@@ -1585,7 +1563,7 @@ void SnapshotWriter::WriteObjectImpl(RawObject* raw, bool as_reference) { |
// When we know that we are dealing with leaf or shallow objects we write |
// these objects inline even when 'as_reference' is true. |
const bool write_as_reference = as_reference && !raw->IsCanonical(); |
- uintptr_t tags = GetObjectTagsAndHash(raw); |
+ intptr_t tags = raw->ptr()->tags_; |
// Add object to the forward ref list and mark it so that future references |
// to this object in the snapshot will use this object id. Mark the |
@@ -1662,7 +1640,7 @@ class WriteInlinedObjectVisitor : public ObjectVisitor { |
virtual void VisitObject(RawObject* obj) { |
intptr_t object_id = writer_->forward_list_->FindObject(obj); |
ASSERT(object_id != kInvalidIndex); |
- intptr_t tags = MessageWriter::GetObjectTagsAndHash(obj); |
+ intptr_t tags = writer_->GetObjectTags(obj); |
writer_->WriteMarkedObjectImpl(obj, tags, object_id, kAsInlinedObject); |
} |
@@ -1827,7 +1805,7 @@ RawFunction* SnapshotWriter::IsSerializableClosure(RawClosure* closure) { |
RawClass* SnapshotWriter::GetFunctionOwner(RawFunction* func) { |
RawObject* owner = func->ptr()->owner_; |
- uint32_t tags = GetObjectTags(owner); |
+ uword tags = GetObjectTags(owner); |
intptr_t class_id = RawObject::ClassIdTag::decode(tags); |
if (class_id == kClassCid) { |
return reinterpret_cast<RawClass*>(owner); |