Index: src/objects.cc |
diff --git a/src/objects.cc b/src/objects.cc |
index f28430430ff4060552b80d8c59bcd4214f4fe038..e1cdc625fb1b78e7af5521858e4019ff3c5c1f86 100644 |
--- a/src/objects.cc |
+++ b/src/objects.cc |
@@ -5816,7 +5816,7 @@ void JSObject::SetObserved(Handle<JSObject> object) { |
if (transition_index != TransitionArray::kNotFound) { |
new_map = handle(old_map->GetTransition(transition_index), isolate); |
ASSERT(new_map->is_observed()); |
- } else if (old_map->CanHaveMoreTransitions()) { |
+ } else if (object->HasFastProperties() && old_map->CanHaveMoreTransitions()) { |
new_map = Map::CopyForObserved(old_map); |
} else { |
new_map = Map::Copy(old_map); |