From ff28373fa25f41a5d76dc5f094cb88ad0d0e67a4 Mon Sep 17 00:00:00 2001 From: Wouter van Oortmerssen Date: Mon, 4 Oct 2021 16:10:29 -0700 Subject: [PATCH] [Memory64] syscall JS changes for 64-bit --- src/library_syscall.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/library_syscall.js b/src/library_syscall.js index edf8e9d69b7ef..5d94cd8ef55a6 100644 --- a/src/library_syscall.js +++ b/src/library_syscall.js @@ -1208,6 +1208,18 @@ function wrapSyscallFunction(x, library, isWasi) { var bodyEnd = t.lastIndexOf('}'); t = t.substring(0, bodyEnd) + post + t.substring(bodyEnd); } + + if (MEMORY64 && !isWasi) { + t = modifyFunction(t, function(name, args, body) { + var argnums = args.split(",").map((a) => 'Number(' + a + ')').join(); + return 'function ' + name + '(' + args + ') {\n' + + ' return BigInt((function ' + name + '_inner(' + args + ') {\n' + + body + + ' })(' + argnums + '));' + + '}'; + }); + } + library[x] = eval('(' + t + ')'); if (!library[x + '__deps']) library[x + '__deps'] = []; library[x + '__deps'].push('$SYSCALLS');