summaryrefslogtreecommitdiff
path: root/chromium/v8/src/ic/ic.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/v8/src/ic/ic.cc')
-rw-r--r--chromium/v8/src/ic/ic.cc17
1 files changed, 4 insertions, 13 deletions
diff --git a/chromium/v8/src/ic/ic.cc b/chromium/v8/src/ic/ic.cc
index b0572bc23e4..1fdf72440a4 100644
--- a/chromium/v8/src/ic/ic.cc
+++ b/chromium/v8/src/ic/ic.cc
@@ -1849,19 +1849,10 @@ MaybeHandle<Object> StoreIC::Store(Handle<Object> object, Handle<Name> name,
IsAnyDefineOwn() ? LookupIterator::OWN : LookupIterator::DEFAULT);
if (name->IsPrivate()) {
- bool exists = it.IsFound();
- if (name->IsPrivateName() && exists == IsDefineKeyedOwnIC()) {
- Handle<String> name_string(
- String::cast(Symbol::cast(*name).description()), isolate());
- if (exists) {
- MessageTemplate message =
- name->IsPrivateBrand()
- ? MessageTemplate::kInvalidPrivateBrandReinitialization
- : MessageTemplate::kInvalidPrivateFieldReinitialization;
- return TypeError(message, object, name_string);
- } else {
- return TypeError(MessageTemplate::kInvalidPrivateMemberWrite, object,
- name_string);
+ if (name->IsPrivateName()) {
+ DCHECK(!IsDefineNamedOwnIC());
+ if (!JSReceiver::CheckPrivateNameStore(&it, IsDefineKeyedOwnIC())) {
+ return MaybeHandle<Object>();
}
}