Skip to content

Commit a8b3671

Browse files
committed
no spread to build array
1 parent a9a2d8b commit a8b3671

File tree

3 files changed

+9
-8
lines changed

3 files changed

+9
-8
lines changed

runtime/js/jslib.js

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -416,7 +416,8 @@ function caml_js_wrap_callback_unsafe(f) {
416416
//Requires: caml_callback, caml_js_wrap_callback
417417
function caml_js_wrap_meth_callback(f) {
418418
return function (...args) {
419-
var res = caml_callback(f, [this, ...args]);
419+
args.unshift(this);
420+
var res = caml_callback(f, args);
420421
return res instanceof Function ? caml_js_wrap_callback(res) : res;
421422
};
422423
}
@@ -431,8 +432,8 @@ function caml_js_wrap_meth_callback_arguments(f) {
431432
//Requires: caml_callback
432433
function caml_js_wrap_meth_callback_strict(arity, f) {
433434
return function (...args) {
434-
args = [this, ...args];
435-
args.length = arity + 1;
435+
args.length = arity;
436+
args.unshift(this);
436437
return caml_callback(f, args);
437438
};
438439
}
@@ -441,7 +442,7 @@ function caml_js_wrap_meth_callback_strict(arity, f) {
441442
function caml_js_wrap_meth_callback_unsafe(f) {
442443
return function (...args) {
443444
var len = caml_js_function_arity(f);
444-
args = [this, ...args];
445+
args.unshift(this);
445446
args.length = len;
446447
return caml_callback(f, args);
447448
};

runtime/js/stdlib.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ function caml_call_gen(f, args) {
5353
default: {
5454
var g = function (...extra_args) {
5555
if (extra_args.length === 0) extra_args = [undefined];
56-
return caml_call_gen(f, [...args, ...extra_args]);
56+
return caml_call_gen(f, args.concat(extra_args));
5757
};
5858
}
5959
}
@@ -111,7 +111,7 @@ function caml_call_gen(f, args) {
111111
args.length = argsLen;
112112
var g = function (...extra_args) {
113113
if (extra_args.length === 0) extra_args = [undefined];
114-
return caml_call_gen(f, [...args, ...extra_args]);
114+
return caml_call_gen(f, args.concat(extra_args));
115115
};
116116
}
117117
}

runtime/js/stdlib_modern.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ function caml_call_gen(f, args) {
5151
default: {
5252
var g = function (...extra_args) {
5353
if (extra_args.length === 0) extra_args = [undefined];
54-
return caml_call_gen(f, [...args, ...extra_args]);
54+
return caml_call_gen(f, args.concat(extra_args));
5555
};
5656
}
5757
}
@@ -107,7 +107,7 @@ function caml_call_gen(f, args) {
107107
args.length = argsLen;
108108
var g = function (...extra_args) {
109109
if (extra_args.length === 0) extra_args = [undefined];
110-
return caml_call_gen(f, [...args, ...extra_args]);
110+
return caml_call_gen(f, args.concat(extra_args));
111111
};
112112
}
113113
}

0 commit comments

Comments
 (0)