| 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);
|
|
|