Index: src/objects-inl.h |
diff --git a/src/objects-inl.h b/src/objects-inl.h |
index fea916b03292676f5f088249f161b424ceb22b95..0509a80b2329c74a406e82987304dbafeeee6f59 100644 |
--- a/src/objects-inl.h |
+++ b/src/objects-inl.h |
@@ -7067,7 +7067,13 @@ MaybeHandle<Object> Object::GetPropertyOrElement(Handle<JSReceiver> holder, |
void JSReceiver::initialize_properties() { |
DCHECK(!GetHeap()->InNewSpace(GetHeap()->empty_fixed_array())); |
- WRITE_FIELD(this, kPropertiesOffset, GetHeap()->empty_fixed_array()); |
+ DCHECK(!GetHeap()->InNewSpace(GetHeap()->empty_properties_dictionary())); |
+ if (map()->is_dictionary_map()) { |
+ WRITE_FIELD(this, kPropertiesOffset, |
+ GetHeap()->empty_properties_dictionary()); |
+ } else { |
+ WRITE_FIELD(this, kPropertiesOffset, GetHeap()->empty_fixed_array()); |
+ } |
} |