diff options
Diffstat (limited to 'deps/v8/src/builtins/builtins-array.cc')
-rw-r--r-- | deps/v8/src/builtins/builtins-array.cc | 44 |
1 files changed, 25 insertions, 19 deletions
diff --git a/deps/v8/src/builtins/builtins-array.cc b/deps/v8/src/builtins/builtins-array.cc index 9774f24fe0..8df340ece7 100644 --- a/deps/v8/src/builtins/builtins-array.cc +++ b/deps/v8/src/builtins/builtins-array.cc @@ -176,7 +176,8 @@ V8_WARN_UNUSED_RESULT MaybeHandle<Object> SetLengthProperty( return Object::SetProperty( isolate, receiver, isolate->factory()->length_string(), - isolate->factory()->NewNumber(length), LanguageMode::kStrict); + isolate->factory()->NewNumber(length), StoreOrigin::kMaybeKeyed, + Just(ShouldThrow::kThrowOnError)); } V8_WARN_UNUSED_RESULT Object GenericArrayFill(Isolate* isolate, @@ -190,9 +191,9 @@ V8_WARN_UNUSED_RESULT Object GenericArrayFill(Isolate* isolate, isolate->factory()->NewNumber(start)); // b. Perform ? Set(O, Pk, value, true). - RETURN_FAILURE_ON_EXCEPTION( - isolate, Object::SetPropertyOrElement(isolate, receiver, index, value, - LanguageMode::kStrict)); + RETURN_FAILURE_ON_EXCEPTION(isolate, Object::SetPropertyOrElement( + isolate, receiver, index, value, + Just(ShouldThrow::kThrowOnError))); // c. Increase k by 1. ++start; @@ -332,15 +333,15 @@ V8_WARN_UNUSED_RESULT Object GenericArrayPush(Isolate* isolate, if (length <= static_cast<double>(JSArray::kMaxArrayIndex)) { RETURN_FAILURE_ON_EXCEPTION( isolate, Object::SetElement(isolate, receiver, length, element, - LanguageMode::kStrict)); + ShouldThrow::kThrowOnError)); } else { bool success; LookupIterator it = LookupIterator::PropertyOrElement( isolate, receiver, isolate->factory()->NewNumber(length), &success); // Must succeed since we always pass a valid key. DCHECK(success); - MAYBE_RETURN(Object::SetProperty(&it, element, LanguageMode::kStrict, - StoreOrigin::kMaybeKeyed), + MAYBE_RETURN(Object::SetProperty(&it, element, StoreOrigin::kMaybeKeyed, + Just(ShouldThrow::kThrowOnError)), ReadOnlyRoots(isolate).exception()); } @@ -353,7 +354,8 @@ V8_WARN_UNUSED_RESULT Object GenericArrayPush(Isolate* isolate, RETURN_FAILURE_ON_EXCEPTION( isolate, Object::SetProperty(isolate, receiver, isolate->factory()->length_string(), - final_length, LanguageMode::kStrict)); + final_length, StoreOrigin::kMaybeKeyed, + Just(ShouldThrow::kThrowOnError))); // 8. Return len. return *final_length; @@ -406,9 +408,11 @@ V8_WARN_UNUSED_RESULT Object GenericArrayPop(Isolate* isolate, if (length == 0) { // a. Perform ? Set(O, "length", 0, true). RETURN_FAILURE_ON_EXCEPTION( - isolate, Object::SetProperty( - isolate, receiver, isolate->factory()->length_string(), - Handle<Smi>(Smi::zero(), isolate), LanguageMode::kStrict)); + isolate, Object::SetProperty(isolate, receiver, + isolate->factory()->length_string(), + Handle<Smi>(Smi::zero(), isolate), + StoreOrigin::kMaybeKeyed, + Just(ShouldThrow::kThrowOnError))); // b. Return undefined. return ReadOnlyRoots(isolate).undefined_value(); @@ -435,7 +439,8 @@ V8_WARN_UNUSED_RESULT Object GenericArrayPop(Isolate* isolate, RETURN_FAILURE_ON_EXCEPTION( isolate, Object::SetProperty(isolate, receiver, isolate->factory()->length_string(), - new_length, LanguageMode::kStrict)); + new_length, StoreOrigin::kMaybeKeyed, + Just(ShouldThrow::kThrowOnError))); // f. Return element. return *element; @@ -525,8 +530,9 @@ V8_WARN_UNUSED_RESULT Object GenericArrayShift(Isolate* isolate, // ii. Perform ? Set(O, to, fromVal, true). RETURN_FAILURE_ON_EXCEPTION( - isolate, Object::SetPropertyOrElement(isolate, receiver, to, from_val, - LanguageMode::kStrict)); + isolate, + Object::SetPropertyOrElement(isolate, receiver, to, from_val, + Just(ShouldThrow::kThrowOnError))); } else { // e. Else fromPresent is false, // i. Perform ? DeletePropertyOrThrow(O, to). MAYBE_RETURN(JSReceiver::DeletePropertyOrElement(receiver, to, @@ -657,8 +663,8 @@ class ArrayConcatVisitor { if (!is_fixed_array()) { LookupIterator it(isolate_, storage_, index, LookupIterator::OWN); - MAYBE_RETURN(JSReceiver::CreateDataProperty(&it, elm, kThrowOnError), - false); + MAYBE_RETURN( + JSReceiver::CreateDataProperty(&it, elm, Just(kThrowOnError)), false); return true; } @@ -731,9 +737,9 @@ class ArrayConcatVisitor { isolate_->factory()->NewNumber(static_cast<double>(index_offset_)); RETURN_ON_EXCEPTION( isolate_, - Object::SetProperty(isolate_, result, - isolate_->factory()->length_string(), length, - LanguageMode::kStrict), + Object::SetProperty( + isolate_, result, isolate_->factory()->length_string(), length, + StoreOrigin::kMaybeKeyed, Just(ShouldThrow::kThrowOnError)), JSReceiver); return result; } |