summaryrefslogtreecommitdiff
path: root/deps/v8/src/builtins/builtins-array.cc
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/builtins/builtins-array.cc')
-rw-r--r--deps/v8/src/builtins/builtins-array.cc44
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;
}