From 8282bd93a2381dcc235ee89093832bb5e76e8102 Mon Sep 17 00:00:00 2001 From: Damien George Date: Tue, 30 May 2023 13:13:39 +1000 Subject: [PATCH] webassembly: Move MP_JS_EPOCH init to library postset. This eliminates the need for wrapper.js to run to set up the time. Signed-off-by: Damien George --- ports/webassembly/library.js | 7 ++++--- ports/webassembly/wrapper.js | 2 -- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/ports/webassembly/library.js b/ports/webassembly/library.js index 009b0a4dcc..f554f681c9 100644 --- a/ports/webassembly/library.js +++ b/ports/webassembly/library.js @@ -35,9 +35,10 @@ mergeInto(LibraryManager.library, { } }, - mp_js_ticks_ms: function() { - return Date.now() - MP_JS_EPOCH; - }, + // This string will be emitted directly into the output file by Emscripten. + mp_js_ticks_ms__postset: "var MP_JS_EPOCH = Date.now()", + + mp_js_ticks_ms: () => Date.now() - MP_JS_EPOCH, mp_js_hook: function() { if (ENVIRONMENT_IS_NODE) { diff --git a/ports/webassembly/wrapper.js b/ports/webassembly/wrapper.js index e63abfffe4..399801b7af 100644 --- a/ports/webassembly/wrapper.js +++ b/ports/webassembly/wrapper.js @@ -33,8 +33,6 @@ var mainProgram = function() mp_js_init_repl = Module.cwrap('mp_js_init_repl', 'null', ['null']); mp_js_process_char = Module.cwrap('mp_js_process_char', 'number', ['number'], {async: true}); - MP_JS_EPOCH = Date.now(); - if (typeof window === 'undefined' && require.main === module) { var fs = require('fs'); var heap_size = 128 * 1024;