From d797c751df60aa5731a0cfaed1cc00811a5e273b Mon Sep 17 00:00:00 2001 From: Sam Clegg Date: Fri, 16 Sep 2022 09:33:08 -0700 Subject: wasm2js: Don't assume that `env.abort` can always be impored. (#5049) This import was being injected and then used to implement trapping. Rather than injecting an import that doesn't exist in the original module we instead use the existing mechanism to implement this as an internal helper. --- test/wasm2js/deterministic.2asm.js.opt | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'test/wasm2js/deterministic.2asm.js.opt') diff --git a/test/wasm2js/deterministic.2asm.js.opt b/test/wasm2js/deterministic.2asm.js.opt index 6f6be3f85..4c9e0a139 100644 --- a/test/wasm2js/deterministic.2asm.js.opt +++ b/test/wasm2js/deterministic.2asm.js.opt @@ -1,4 +1,7 @@ + var bufferView; +function wasm2js_trap() { throw new Error('abort'); } + function asmFunc(importObject) { var env = importObject.env || importObject; var memory = env.memory; @@ -21,16 +24,16 @@ function asmFunc(importObject) { var Math_ceil = Math.ceil; var Math_trunc = Math.trunc; var Math_sqrt = Math.sqrt; - var abort = env.abort; var nan = NaN; var infinity = Infinity; function $0() { if (4294967252 / HEAPU32[0] | 0) { - abort() + wasm2js_trap() } return 1; } + bufferView = HEAPU8; function __wasm_memory_size() { return buffer.byteLength / 65536 | 0; } @@ -41,7 +44,7 @@ function asmFunc(importObject) { } var memasmFunc = new ArrayBuffer(65536); -var retasmFunc = asmFunc( { abort: function() { throw new Error('abort'); }, +var retasmFunc = asmFunc({ memory: { buffer : memasmFunc } - }); +}); export var foo = retasmFunc.foo; -- cgit v1.2.3