Skip to content

Commit 630cf9b

Browse files
committed
adapt for wasmoo
1 parent ea9c35a commit 630cf9b

File tree

1 file changed

+16
-40
lines changed

1 file changed

+16
-40
lines changed

runtime/wasm/runtime.js

Lines changed: 16 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -228,72 +228,48 @@
228228
for (let i = 0; i < l; i++) string_set(s, p2 + i, a[p1 + i]);
229229
},
230230
wrap_callback: (f) =>
231-
function () {
232-
var n = arguments.length;
233-
if (n > 0) {
234-
var args = new Array(n);
235-
for (var i = 0; i < n; i++) args[i] = arguments[i];
236-
} else {
231+
function (...args) {
232+
if (args.length === 0) {
237233
args = [undefined];
238234
}
239235
return caml_callback(f, args.length, args, 1);
240236
},
241237
wrap_callback_args: (f) =>
242-
function () {
243-
var n = arguments.length;
244-
var args = new Array(n);
245-
for (var i = 0; i < n; i++) args[i] = arguments[i];
238+
function (...args) {
246239
return caml_callback(f, 1, [args], 0);
247240
},
248241
wrap_callback_strict: (arity, f) =>
249-
function () {
250-
var n = arguments.length;
251-
var args = new Array(arity);
252-
var len = Math.min(arguments.length, arity);
253-
for (var i = 0; i < len; i++) args[i] = arguments[i];
242+
function (...args) {
243+
args.length = arity;
254244
return caml_callback(f, arity, args, 0);
255245
},
256246
wrap_callback_unsafe: (f) =>
257-
function () {
258-
var n = arguments.length;
259-
var args = new Array(n);
260-
for (var i = 0; i < n; i++) args[i] = arguments[i];
247+
function (...args) {
261248
return caml_callback(f, args.length, args, 2);
262249
},
263250
wrap_meth_callback: (f) =>
264-
function () {
265-
var n = arguments.length;
266-
var args = new Array(n + 1);
267-
args[0] = this;
268-
for (var i = 0; i < n; i++) args[i + 1] = arguments[i];
251+
function (...args) {
252+
args.unshift(this);
269253
return caml_callback(f, args.length, args, 1);
270254
},
271255
wrap_meth_callback_args: (f) =>
272-
function () {
273-
var n = arguments.length;
274-
var args = new Array(n);
275-
for (var i = 0; i < n; i++) args[i] = arguments[i];
256+
function (...args) {
276257
return caml_callback(f, 2, [this, args], 0);
277258
},
278259
wrap_meth_callback_strict: (arity, f) =>
279-
function () {
280-
var args = new Array(arity + 1);
281-
var len = Math.min(arguments.length, arity);
282-
args[0] = this;
283-
for (var i = 0; i < len; i++) args[i + 1] = arguments[i];
260+
function (...args) {
261+
args.length = arity;
262+
args.unshift(this);
284263
return caml_callback(f, args.length, args, 0);
285264
},
286265
wrap_meth_callback_unsafe: (f) =>
287-
function () {
288-
var n = arguments.length;
289-
var args = new Array(n + 1);
290-
args[0] = this;
291-
for (var i = 0; i < n; i++) args[i + 1] = arguments[i];
266+
function (...args) {
267+
args.unshift(this);
292268
return caml_callback(f, args.length, args, 2);
293269
},
294270
wrap_fun_arguments: (f) =>
295-
function () {
296-
return f(arguments);
271+
function (...args) {
272+
return f(args);
297273
},
298274
format_float: (prec, conversion, pad, x) => {
299275
function toFixed(x, dp) {

0 commit comments

Comments
 (0)