OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include <iomanip> | 5 #include <iomanip> |
6 #include <sstream> | 6 #include <sstream> |
7 | 7 |
8 #include "src/v8.h" | 8 #include "src/v8.h" |
9 | 9 |
10 #include "src/accessors.h" | 10 #include "src/accessors.h" |
(...skipping 4258 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4269 } | 4269 } |
4270 | 4270 |
4271 return AddDataProperty(&it, value, attributes, STRICT, | 4271 return AddDataProperty(&it, value, attributes, STRICT, |
4272 CERTAINLY_NOT_STORE_FROM_KEYED); | 4272 CERTAINLY_NOT_STORE_FROM_KEYED); |
4273 } | 4273 } |
4274 | 4274 |
4275 | 4275 |
4276 MaybeHandle<Object> JSObject::SetOwnElementIgnoreAttributes( | 4276 MaybeHandle<Object> JSObject::SetOwnElementIgnoreAttributes( |
4277 Handle<JSObject> object, uint32_t index, Handle<Object> value, | 4277 Handle<JSObject> object, uint32_t index, Handle<Object> value, |
4278 PropertyAttributes attributes, ExecutableAccessorInfoHandling handling) { | 4278 PropertyAttributes attributes, ExecutableAccessorInfoHandling handling) { |
4279 DCHECK(!object->HasExternalArrayElements()); | |
4280 Isolate* isolate = object->GetIsolate(); | 4279 Isolate* isolate = object->GetIsolate(); |
4281 LookupIterator it(isolate, object, index, | 4280 LookupIterator it(isolate, object, index, |
4282 LookupIterator::OWN_SKIP_INTERCEPTOR); | 4281 LookupIterator::OWN_SKIP_INTERCEPTOR); |
4283 if (it.state() == LookupIterator::ACCESS_CHECK) { | 4282 if (it.state() == LookupIterator::ACCESS_CHECK) { |
4284 if (!isolate->MayAccess(object)) { | 4283 if (!isolate->MayAccess(object)) { |
4285 return SetPropertyWithFailedAccessCheck(&it, value, STRICT); | 4284 return SetPropertyWithFailedAccessCheck(&it, value, STRICT); |
4286 } | 4285 } |
4287 it.Next(); | 4286 it.Next(); |
4288 } | 4287 } |
4289 | 4288 |
(...skipping 12369 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
16659 Handle<Object> new_value) { | 16658 Handle<Object> new_value) { |
16660 if (cell->value() != *new_value) { | 16659 if (cell->value() != *new_value) { |
16661 cell->set_value(*new_value); | 16660 cell->set_value(*new_value); |
16662 Isolate* isolate = cell->GetIsolate(); | 16661 Isolate* isolate = cell->GetIsolate(); |
16663 cell->dependent_code()->DeoptimizeDependentCodeGroup( | 16662 cell->dependent_code()->DeoptimizeDependentCodeGroup( |
16664 isolate, DependentCode::kPropertyCellChangedGroup); | 16663 isolate, DependentCode::kPropertyCellChangedGroup); |
16665 } | 16664 } |
16666 } | 16665 } |
16667 } // namespace internal | 16666 } // namespace internal |
16668 } // namespace v8 | 16667 } // namespace v8 |
OLD | NEW |