Index: runtime/vm/become.cc |
diff --git a/runtime/vm/become.cc b/runtime/vm/become.cc |
index 0fddef218f80624f6e39e8f8d80266c4805453ef..7704a4abb61a4b039fb5b1cbc97acd06f4af3c95 100644 |
--- a/runtime/vm/become.cc |
+++ b/runtime/vm/become.cc |
@@ -262,12 +262,16 @@ void Become::ElementsForwardIdentity(const Array& before, const Array& after) { |
ForwardObjectTo(before_obj, after_obj); |
+#if defined(HASH_IN_OBJECT_HEADER) |
+ Object::SetCachedHash(after_obj, Object::GetCachedHash(before_obj)); |
+#else |
// Forward the identity hash too if it has one. |
intptr_t hash = heap->GetHash(before_obj); |
if (hash != 0) { |
ASSERT(heap->GetHash(after_obj) == 0); |
heap->SetHash(after_obj, hash); |
} |
+#endif |
} |
{ |