From f0d6b089960e089bcc5c1794003585ebbd91d33a Mon Sep 17 00:00:00 2001 From: Sam Clegg Date: Wed, 11 Nov 2020 15:50:33 -0800 Subject: wasm2js: Declare data segments before calling asmFunc (#3337) This is because we maybe need to reference the segments during the start function. For example in the case of pthreads we conditionally load passive segments during start. Tested in emscripten with: tests/runner.py wasm2js1 --- test/wasm2js/left-to-right.2asm.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'test/wasm2js/left-to-right.2asm.js') diff --git a/test/wasm2js/left-to-right.2asm.js b/test/wasm2js/left-to-right.2asm.js index 7e066030d..8027956cb 100644 --- a/test/wasm2js/left-to-right.2asm.js +++ b/test/wasm2js/left-to-right.2asm.js @@ -1,4 +1,5 @@ + var bufferView; var scratchBuffer = new ArrayBuffer(16); var i32ScratchView = new Int32Array(scratchBuffer); @@ -35,7 +36,6 @@ function asmFunc(env) { var HEAPU32 = new Uint32Array(buffer); var HEAPF32 = new Float32Array(buffer); var HEAPF64 = new Float64Array(buffer); - bufferView = HEAPU8; var Math_imul = Math.imul; var Math_fround = Math.fround; var Math_abs = Math.abs; @@ -2040,6 +2040,7 @@ function asmFunc(env) { return 32 | 0; } + bufferView = HEAPU8; var FUNCTION_TABLE = [i32_t0, i32_t1, i64_t0, i64_t1, f32_t0, f32_t1, f64_t0, f64_t1]; function __wasm_memory_size() { return buffer.byteLength / 65536 | 0; @@ -2166,7 +2167,6 @@ function asmFunc(env) { }; } -var bufferView; var retasmFunc = asmFunc( { abort: function() { throw new Error('abort'); } }); export var i32_add = retasmFunc.i32_add; -- cgit v1.2.3