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 "src/objects.h" | 5 #include "src/objects.h" |
6 | 6 |
7 #include <cmath> | 7 #include <cmath> |
8 #include <iomanip> | 8 #include <iomanip> |
9 #include <sstream> | 9 #include <sstream> |
10 | 10 |
(...skipping 6493 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6504 OrdinaryDefineOwnProperty(isolate, a, isolate->factory()->length_string(), | 6504 OrdinaryDefineOwnProperty(isolate, a, isolate->factory()->length_string(), |
6505 &readonly, should_throw); | 6505 &readonly, should_throw); |
6506 } | 6506 } |
6507 uint32_t actual_new_len = 0; | 6507 uint32_t actual_new_len = 0; |
6508 CHECK(a->length()->ToArrayLength(&actual_new_len)); | 6508 CHECK(a->length()->ToArrayLength(&actual_new_len)); |
6509 // Steps 19d-v, 21. Return false if there were non-deletable elements. | 6509 // Steps 19d-v, 21. Return false if there were non-deletable elements. |
6510 success = actual_new_len == new_len; | 6510 success = actual_new_len == new_len; |
6511 if (!success && should_throw == THROW_ON_ERROR) { | 6511 if (!success && should_throw == THROW_ON_ERROR) { |
6512 isolate->Throw(*isolate->factory()->NewTypeError( | 6512 isolate->Throw(*isolate->factory()->NewTypeError( |
6513 MessageTemplate::kStrictDeleteProperty, | 6513 MessageTemplate::kStrictDeleteProperty, |
6514 isolate->factory()->NewNumberFromUint(actual_new_len - 1))); | 6514 isolate->factory()->NewNumberFromUint(actual_new_len - 1), a)); |
6515 } | 6515 } |
6516 return success; | 6516 return success; |
6517 } | 6517 } |
6518 | 6518 |
6519 | 6519 |
6520 // static | 6520 // static |
6521 bool JSReceiver::GetOwnPropertyDescriptor(Isolate* isolate, | 6521 bool JSReceiver::GetOwnPropertyDescriptor(Isolate* isolate, |
6522 Handle<JSObject> object, | 6522 Handle<JSObject> object, |
6523 Handle<Object> key, | 6523 Handle<Object> key, |
6524 PropertyDescriptor* desc) { | 6524 PropertyDescriptor* desc) { |
(...skipping 11137 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
17662 if (cell->value() != *new_value) { | 17662 if (cell->value() != *new_value) { |
17663 cell->set_value(*new_value); | 17663 cell->set_value(*new_value); |
17664 Isolate* isolate = cell->GetIsolate(); | 17664 Isolate* isolate = cell->GetIsolate(); |
17665 cell->dependent_code()->DeoptimizeDependentCodeGroup( | 17665 cell->dependent_code()->DeoptimizeDependentCodeGroup( |
17666 isolate, DependentCode::kPropertyCellChangedGroup); | 17666 isolate, DependentCode::kPropertyCellChangedGroup); |
17667 } | 17667 } |
17668 } | 17668 } |
17669 | 17669 |
17670 } // namespace internal | 17670 } // namespace internal |
17671 } // namespace v8 | 17671 } // namespace v8 |
OLD | NEW |