Index: src/objects.cc |
diff --git a/src/objects.cc b/src/objects.cc |
index d16bd828b43bf310e290840e3a5f9ee1175ef422..e66fb4e2a746ce362338ea929d64f68d4bc3a59d 100644 |
--- a/src/objects.cc |
+++ b/src/objects.cc |
@@ -6338,10 +6338,10 @@ bool Map::DictionaryElementsInPrototypeChainOnly() { |
} |
for (PrototypeIterator iter(this); !iter.IsAtEnd(); iter.Advance()) { |
- if (iter.GetCurrent()->IsJSProxy()) { |
- // Be conservative, don't walk into proxies. |
- return true; |
- } |
+ // Be conservative, don't walk into proxies. |
+ if (iter.GetCurrent()->IsJSProxy()) return true; |
+ // String wrappers have non-configurable, non-writable elements. |
+ if (iter.GetCurrent()->IsStringWrapper()) return true; |
if (IsDictionaryElementsKind( |
JSObject::cast(iter.GetCurrent())->map()->elements_kind())) { |