Index: src/objects.cc |
diff --git a/src/objects.cc b/src/objects.cc |
index 433dda7d6f98daa1aac991c04413c4d3d4501bc8..38caee645b2e8d37390daa4cde9c08f3cefdb3e3 100644 |
--- a/src/objects.cc |
+++ b/src/objects.cc |
@@ -3569,15 +3569,6 @@ Maybe<bool> JSObject::SetPropertyWithInterceptor(LookupIterator* it, |
} |
-MaybeHandle<Object> Object::SetProperty(Handle<Object> object, |
- Handle<Name> name, Handle<Object> value, |
- LanguageMode language_mode, |
- StoreFromKeyed store_mode) { |
- LookupIterator it(object, name); |
- return SetProperty(&it, value, language_mode, store_mode); |
-} |
- |
- |
Maybe<bool> Object::SetPropertyInternal( |
LookupIterator* it, Handle<Object> value, LanguageMode language_mode, |
ShouldThrow should_throw, StoreFromKeyed store_mode, bool* found) { |
@@ -3685,6 +3676,15 @@ Maybe<bool> Object::SetPropertyInternal( |
} |
+MaybeHandle<Object> Object::SetProperty(Handle<Object> object, |
+ Handle<Name> name, Handle<Object> value, |
+ LanguageMode language_mode, |
+ StoreFromKeyed store_mode) { |
+ LookupIterator it(object, name); |
+ return SetProperty(&it, value, language_mode, store_mode); |
+} |
+ |
+ |
MaybeHandle<Object> Object::SetProperty(LookupIterator* it, |
Handle<Object> value, |
LanguageMode language_mode, |
@@ -3904,6 +3904,9 @@ Maybe<bool> Object::SetDataProperty(LookupIterator* it, Handle<Object> value, |
} |
} |
+ // it->isolate()->UpdateArrayIsConcatSpreadableProtectorOnAddProperty( |
+ // receiver, it->GetName()); |
Toon Verwaest
2015/11/02 12:32:46
stray change?
Camillo Bruni
2015/11/03 14:49:25
indeed.
|
+ |
// Possibly migrate to the most up-to-date map that will be able to store |
// |value| under it->name(). |
it->PrepareForDataProperty(to_assign); |
@@ -4036,6 +4039,8 @@ Maybe<bool> Object::AddDataProperty(LookupIterator* it, Handle<Object> value, |
JSObject::ValidateElements(receiver); |
return result; |
} else { |
+ it->isolate()->UpdateArrayIsConcatSpreadableProtectorOnAddProperty( |
Toon Verwaest
2015/11/02 12:32:45
I don't think all stores go through here. Generic
Camillo Bruni
2015/11/03 14:49:25
I added another test case, if I understood it corr
|
+ receiver, it->name()); |
// Migrate to the most up-to-date map that will be able to store |value| |
// under it->name() with |attributes|. |
it->PrepareTransitionToDataProperty(value, attributes, store_mode); |