summaryrefslogtreecommitdiff
path: root/deps/v8/src/builtins/array-filter.tq
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/builtins/array-filter.tq')
-rw-r--r--deps/v8/src/builtins/array-filter.tq31
1 files changed, 14 insertions, 17 deletions
diff --git a/deps/v8/src/builtins/array-filter.tq b/deps/v8/src/builtins/array-filter.tq
index 4bf175a787..9acd0d04ee 100644
--- a/deps/v8/src/builtins/array-filter.tq
+++ b/deps/v8/src/builtins/array-filter.tq
@@ -4,9 +4,10 @@
namespace array_filter {
transitioning javascript builtin
- ArrayFilterLoopEagerDeoptContinuation(implicit context: Context)(
- receiver: Object, callback: Object, thisArg: Object, array: Object,
- initialK: Object, length: Object, initialTo: Object): Object {
+ ArrayFilterLoopEagerDeoptContinuation(
+ js-implicit context: Context, receiver: Object)(
+ callback: Object, thisArg: Object, array: Object, initialK: Object,
+ length: Object, initialTo: Object): Object {
// All continuation points in the optimized filter implementation are
// after the ToObject(O) call that ensures we are dealing with a
// JSReceiver.
@@ -27,9 +28,10 @@ namespace array_filter {
}
transitioning javascript builtin
- ArrayFilterLoopLazyDeoptContinuation(implicit context: Context)(
- receiver: Object, callback: Object, thisArg: Object, array: Object,
- initialK: Object, length: Object, valueK: Object, initialTo: Object,
+ ArrayFilterLoopLazyDeoptContinuation(
+ js-implicit context: Context, receiver: Object)(
+ callback: Object, thisArg: Object, array: Object, initialK: Object,
+ length: Object, valueK: Object, initialTo: Object,
result: Object): Object {
// All continuation points in the optimized filter implementation are
// after the ToObject(O) call that ensures we are dealing with a
@@ -42,9 +44,9 @@ namespace array_filter {
const numberLength = Cast<Number>(length) otherwise unreachable;
// This custom lazy deopt point is right after the callback. filter() needs
- // to pick up at the next step, which is setting the callback result in
- // the output array. After incrementing k and to, we can glide into the loop
- // continuation builtin.
+ // to pick up at the next step, which is setting the callback
+ // result in the output array. After incrementing k and to, we can glide
+ // into the loop continuation builtin.
if (ToBoolean(result)) {
FastCreateDataProperty(outputArray, numberTo, valueK);
numberTo = numberTo + 1;
@@ -58,7 +60,7 @@ namespace array_filter {
}
transitioning builtin ArrayFilterLoopContinuation(implicit context: Context)(
- receiver: JSReceiver, callbackfn: Callable, thisArg: Object,
+ _receiver: JSReceiver, callbackfn: Callable, thisArg: Object,
array: JSReceiver, o: JSReceiver, initialK: Number, length: Number,
initialTo: Number): Object {
let to: Number = initialTo;
@@ -145,12 +147,10 @@ namespace array_filter {
// https://tc39.github.io/ecma262/#sec-array.prototype.filter
transitioning javascript builtin
- ArrayFilter(implicit context: Context)(receiver: Object, ...arguments):
+ ArrayFilter(js-implicit context: Context, receiver: Object)(...arguments):
Object {
try {
- if (IsNullOrUndefined(receiver)) {
- goto NullOrUndefinedError;
- }
+ RequireObjectCoercible(receiver, 'Array.prototype.filter');
// 1. Let O be ? ToObject(this value).
const o: JSReceiver = ToObject_Inline(context, receiver);
@@ -199,8 +199,5 @@ namespace array_filter {
label TypeError deferred {
ThrowTypeError(kCalledNonCallable, arguments[0]);
}
- label NullOrUndefinedError deferred {
- ThrowTypeError(kCalledOnNullOrUndefined, 'Array.prototype.filter');
- }
}
}