diff options
-rw-r--r-- | src/abi/js.h | 5 | ||||
-rw-r--r-- | src/asmjs/shared-constants.cpp | 2 | ||||
-rw-r--r-- | src/passes/RemoveNonJSOps.cpp | 5 | ||||
-rw-r--r-- | src/passes/wasm-intrinsics.wat | 22 | ||||
-rw-r--r-- | src/wasm2js.h | 16 | ||||
-rw-r--r-- | test/passes/remove-non-js-ops.txt | 19 | ||||
-rw-r--r-- | test/wasm2js/i64.2asm.js | 96 | ||||
-rw-r--r-- | test/wasm2js/int_exprs.2asm.js | 939 | ||||
-rw-r--r-- | test/wasm2js/left-to-right.2asm.js | 90 | ||||
-rw-r--r-- | test/wasm2js/traps.2asm.js | 147 |
10 files changed, 317 insertions, 1024 deletions
diff --git a/src/abi/js.h b/src/abi/js.h index c8ac94407..118a2c981 100644 --- a/src/abi/js.h +++ b/src/abi/js.h @@ -38,8 +38,6 @@ namespace wasm2js { extern cashew::IString SCRATCH_LOAD_I32; extern cashew::IString SCRATCH_STORE_I32; -extern cashew::IString SCRATCH_LOAD_I64; -extern cashew::IString SCRATCH_STORE_I64; extern cashew::IString SCRATCH_LOAD_F32; extern cashew::IString SCRATCH_STORE_F32; extern cashew::IString SCRATCH_LOAD_F64; @@ -76,8 +74,6 @@ inline void ensureHelpers(Module* wasm, ensureImport(SCRATCH_LOAD_I32, {Type::i32}, Type::i32); ensureImport(SCRATCH_STORE_I32, {Type::i32, Type::i32}, Type::none); - ensureImport(SCRATCH_LOAD_I64, {}, Type::i64); - ensureImport(SCRATCH_STORE_I64, {Type::i64}, Type::none); ensureImport(SCRATCH_LOAD_F32, {}, Type::f32); ensureImport(SCRATCH_STORE_F32, {Type::f32}, Type::none); ensureImport(SCRATCH_LOAD_F64, {}, Type::f64); @@ -98,7 +94,6 @@ inline void ensureHelpers(Module* wasm, inline bool isHelper(cashew::IString name) { return name == SCRATCH_LOAD_I32 || name == SCRATCH_STORE_I32 || - name == SCRATCH_LOAD_I64 || name == SCRATCH_STORE_I64 || name == SCRATCH_LOAD_F32 || name == SCRATCH_STORE_F32 || name == SCRATCH_LOAD_F64 || name == SCRATCH_STORE_F64 || name == ATOMIC_WAIT_I32 || name == MEMORY_INIT || diff --git a/src/asmjs/shared-constants.cpp b/src/asmjs/shared-constants.cpp index 8a13cf55c..37594108a 100644 --- a/src/asmjs/shared-constants.cpp +++ b/src/asmjs/shared-constants.cpp @@ -113,8 +113,6 @@ namespace wasm2js { cashew::IString SCRATCH_LOAD_I32("wasm2js_scratch_load_i32"); cashew::IString SCRATCH_STORE_I32("wasm2js_scratch_store_i32"); -cashew::IString SCRATCH_LOAD_I64("wasm2js_scratch_load_i64"); -cashew::IString SCRATCH_STORE_I64("wasm2js_scratch_store_i64"); cashew::IString SCRATCH_LOAD_F32("wasm2js_scratch_load_f32"); cashew::IString SCRATCH_STORE_F32("wasm2js_scratch_store_f32"); cashew::IString SCRATCH_LOAD_F64("wasm2js_scratch_load_f64"); diff --git a/src/passes/RemoveNonJSOps.cpp b/src/passes/RemoveNonJSOps.cpp index 3c1947725..e25a834b0 100644 --- a/src/passes/RemoveNonJSOps.cpp +++ b/src/passes/RemoveNonJSOps.cpp @@ -107,6 +107,11 @@ struct RemoveNonJSOpsPass : public WalkerPass<PostWalker<RemoveNonJSOpsPass>> { neededFunctions.clear(); } + // Copy all the globals in the intrinsics module + for (auto& global : intrinsicsModule.globals) { + ModuleUtils::copyGlobal(global.get(), *module); + } + // Intrinsics may use memory, so ensure the module has one. MemoryUtils::ensureExists(module->memory); diff --git a/src/passes/wasm-intrinsics.wat b/src/passes/wasm-intrinsics.wat index f54547a0d..76e900734 100644 --- a/src/passes/wasm-intrinsics.wat +++ b/src/passes/wasm-intrinsics.wat @@ -6,9 +6,8 @@ ;; (aka inlining and whatnot) ;; ;; LOCAL MODS done by hand afterwards: -;; * Remove hardcoded address 1024 (apparently a free memory location rustc -;; thinks is ok to use?); add intrinsic functions, which load/store to -;; special scratch space, wasm2js_scratch_load_i32 etc. +;; * Remove hardcoded address 1024 which was used for temporary data; instead +;; add $wasm-intrinsics-temp-i64 global for that. ;; * Fix function type of __wasm_ctz_i64, which was wrong somehow, ;; i32, i32 => i32 instead of i64 => i64 ;; @@ -22,8 +21,6 @@ (type $4 (func (param i32 i32) (result i32))) (type $5 (func (param i64) (result i64))) (import "env" "memory" (memory $0 17)) - (import "env" "wasm2js_scratch_load_i64" (func $wasm2js_scratch_load_i64 (result i64))) - (import "env" "wasm2js_scratch_store_i64" (func $wasm2js_scratch_store_i64 (param i64))) (export "__wasm_i64_sdiv" (func $__wasm_i64_sdiv)) (export "__wasm_i64_udiv" (func $__wasm_i64_udiv)) (export "__wasm_i64_srem" (func $__wasm_i64_srem)) @@ -41,6 +38,7 @@ (export "__wasm_nearest_f64" (func $__wasm_nearest_f64)) (export "__wasm_popcnt_i32" (func $__wasm_popcnt_i32)) (export "__wasm_popcnt_i64" (func $__wasm_popcnt_i64)) + (global $__wasm-intrinsics-temp-i64 (mut i64) (i64.const 0)) ;; lowering of the i32.popcnt instruction, counts the number of bits set in the ;; input and returns the result @@ -137,7 +135,7 @@ (local.get $var$1) ) ) - (call $wasm2js_scratch_load_i64) + (global.get $__wasm-intrinsics-temp-i64) ) ;; lowering of the i64.mul instruction, return $var0 * $var$1 (func $__wasm_i64_mul (; 4 ;) (type $0) (param $var$0 i64) (param $var$1 i64) (result i64) @@ -578,7 +576,7 @@ (i64.const 4294967296) ) ) - (call $wasm2js_scratch_store_i64 + (global.set $__wasm-intrinsics-temp-i64 (i64.extend_i32_u (i32.sub (local.tee $var$2 @@ -639,7 +637,7 @@ (local.get $var$3) ) ) - (call $wasm2js_scratch_store_i64 + (global.set $__wasm-intrinsics-temp-i64 (i64.or (i64.shl (i64.extend_i32_u @@ -719,7 +717,7 @@ ) (br $label$3) ) - (call $wasm2js_scratch_store_i64 + (global.set $__wasm-intrinsics-temp-i64 (i64.shl (i64.extend_i32_u (i32.sub @@ -761,7 +759,7 @@ ) (br $label$2) ) - (call $wasm2js_scratch_store_i64 + (global.set $__wasm-intrinsics-temp-i64 (i64.extend_i32_u (i32.and (local.get $var$4) @@ -892,7 +890,7 @@ ) ) ) - (call $wasm2js_scratch_store_i64 + (global.set $__wasm-intrinsics-temp-i64 (local.get $var$5) ) (return @@ -905,7 +903,7 @@ ) ) ) - (call $wasm2js_scratch_store_i64 + (global.set $__wasm-intrinsics-temp-i64 (local.get $var$0) ) (local.set $var$0 diff --git a/src/wasm2js.h b/src/wasm2js.h index a6f27eff1..6b4ad697f 100644 --- a/src/wasm2js.h +++ b/src/wasm2js.h @@ -283,6 +283,8 @@ Ref Wasm2JSBuilder::processWasm(Module* wasm, Name funcName) { { PassRunner runner(wasm, options); runner.add(make_unique<AutoDrop>()); + // TODO: only legalize if necessary - emscripten would already do so, and + // likely other toolchains. but spec test suite needs that. runner.add("legalize-js-interface"); // First up remove as many non-JS operations we can, including things like // 64-bit integer multiplication/division, `f32.nearest` instructions, etc. @@ -2378,20 +2380,6 @@ void Wasm2JSGlue::emitSpecialSupport() { return i32ScratchView[index]; } )"; - } else if (import->base == ABI::wasm2js::SCRATCH_STORE_I64) { - out << R"( - function legalimport$wasm2js_scratch_store_i64(low, high) { - i32ScratchView[0] = low; - i32ScratchView[1] = high; - } - )"; - } else if (import->base == ABI::wasm2js::SCRATCH_LOAD_I64) { - out << R"( - function legalimport$wasm2js_scratch_load_i64() { - if (typeof setTempRet0 === 'function') setTempRet0(i32ScratchView[1]); - return i32ScratchView[0]; - } - )"; } else if (import->base == ABI::wasm2js::SCRATCH_STORE_F32) { out << R"( function wasm2js_scratch_store_f32(value) { diff --git a/test/passes/remove-non-js-ops.txt b/test/passes/remove-non-js-ops.txt index f906e8f81..8872a935f 100644 --- a/test/passes/remove-non-js-ops.txt +++ b/test/passes/remove-non-js-ops.txt @@ -8,21 +8,17 @@ (type $i32_=>_none (func (param i32))) (type $i32_i32_=>_none (func (param i32 i32))) (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $i64_=>_none (func (param i64))) (type $f32_=>_none (func (param f32))) (type $f64_=>_none (func (param f64))) (type $none_=>_i32 (func (result i32))) (type $i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32) (result i32))) (type $i32_i32_i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32 i32 i32) (result i32))) - (type $none_=>_i64 (func (result i64))) (type $none_=>_f32 (func (result f32))) (type $f32_f32_=>_f32 (func (param f32 f32) (result f32))) (type $none_=>_f64 (func (result f64))) (type $f64_f64_=>_f64 (func (param f64 f64) (result f64))) (import "env" "wasm2js_scratch_load_i32" (func $wasm2js_scratch_load_i32 (param i32) (result i32))) (import "env" "wasm2js_scratch_store_i32" (func $wasm2js_scratch_store_i32 (param i32 i32))) - (import "env" "wasm2js_scratch_load_i64" (func $wasm2js_scratch_load_i64 (result i64))) - (import "env" "wasm2js_scratch_store_i64" (func $wasm2js_scratch_store_i64 (param i64))) (import "env" "wasm2js_scratch_load_f32" (func $wasm2js_scratch_load_f32 (result f32))) (import "env" "wasm2js_scratch_store_f32" (func $wasm2js_scratch_store_f32 (param f32))) (import "env" "wasm2js_scratch_load_f64" (func $wasm2js_scratch_load_f64 (result f64))) @@ -35,6 +31,7 @@ (import "env" "wasm2js_atomic_rmw_i64" (func $wasm2js_atomic_rmw_i64 (param i32 i32 i32 i32 i32 i32) (result i32))) (import "env" "wasm2js_get_stashed_bits" (func $wasm2js_get_stashed_bits (result i32))) (memory $0 1) + (global $__wasm-intrinsics-temp-i64 (mut i64) (i64.const 0)) (func $copysign64 (param $0 f64) (param $1 f64) (result f64) (f64.reinterpret_i64 (i64.or @@ -426,7 +423,7 @@ (i64.const 4294967296) ) ) - (call $wasm2js_scratch_store_i64 + (global.set $__wasm-intrinsics-temp-i64 (i64.extend_i32_u (i32.sub (local.tee $var$2 @@ -487,7 +484,7 @@ (local.get $var$3) ) ) - (call $wasm2js_scratch_store_i64 + (global.set $__wasm-intrinsics-temp-i64 (i64.or (i64.shl (i64.extend_i32_u @@ -567,7 +564,7 @@ ) (br $label$3) ) - (call $wasm2js_scratch_store_i64 + (global.set $__wasm-intrinsics-temp-i64 (i64.shl (i64.extend_i32_u (i32.sub @@ -609,7 +606,7 @@ ) (br $label$2) ) - (call $wasm2js_scratch_store_i64 + (global.set $__wasm-intrinsics-temp-i64 (i64.extend_i32_u (i32.and (local.get $var$4) @@ -740,7 +737,7 @@ ) ) ) - (call $wasm2js_scratch_store_i64 + (global.set $__wasm-intrinsics-temp-i64 (local.get $var$5) ) (return @@ -753,7 +750,7 @@ ) ) ) - (call $wasm2js_scratch_store_i64 + (global.set $__wasm-intrinsics-temp-i64 (local.get $var$0) ) (local.set $var$0 @@ -813,7 +810,7 @@ (local.get $var$1) ) ) - (call $wasm2js_scratch_load_i64) + (global.get $__wasm-intrinsics-temp-i64) ) (func $__wasm_nearest_f32 (param $var$0 f32) (result f32) (local $var$1 f32) diff --git a/test/wasm2js/i64.2asm.js b/test/wasm2js/i64.2asm.js index 8ac6cff65..da5a4d5b8 100644 --- a/test/wasm2js/i64.2asm.js +++ b/test/wasm2js/i64.2asm.js @@ -1,22 +1,5 @@ import { setTempRet0 } from 'env'; -import { getTempRet0 } from 'env'; - - var scratchBuffer = new ArrayBuffer(8); - var i32ScratchView = new Int32Array(scratchBuffer); - var f32ScratchView = new Float32Array(scratchBuffer); - var f64ScratchView = new Float64Array(scratchBuffer); - - function legalimport$wasm2js_scratch_load_i64() { - if (typeof setTempRet0 === 'function') setTempRet0(i32ScratchView[1]); - return i32ScratchView[0]; - } - - function legalimport$wasm2js_scratch_store_i64(low, high) { - i32ScratchView[0] = low; - i32ScratchView[1] = high; - } - function asmFunc(global, env, buffer) { var HEAP8 = new global.Int8Array(buffer); var HEAP16 = new global.Int16Array(buffer); @@ -39,7 +22,8 @@ function asmFunc(global, env, buffer) { var nan = global.NaN; var infinity = global.Infinity; var setTempRet0 = env.setTempRet0; - var getTempRet0 = env.getTempRet0; + var __wasm_intrinsics_temp_i64 = 0; + var __wasm_intrinsics_temp_i64$hi = 0; var i64toi32_i32$HIGH_BITS = 0; function $0(x, x$hi, y, y$hi) { x = x | 0; @@ -2396,54 +2380,6 @@ function asmFunc(global, env, buffer) { return $28($9_1 | 0, i64toi32_i32$1 | 0, $15_1 | 0, i64toi32_i32$2 | 0) | 0 | 0; } - function legalfunc$wasm2js_scratch_load_i64() { - var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $8_1 = 0, $1_1 = 0, $1$hi = 0, $4$hi = 0; - i64toi32_i32$0 = 0; - $1_1 = legalimport$wasm2js_scratch_load_i64() | 0; - $1$hi = i64toi32_i32$0; - i64toi32_i32$0 = 0; - i64toi32_i32$2 = getTempRet0() | 0; - i64toi32_i32$1 = 0; - i64toi32_i32$3 = 32; - i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { - i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; - $8_1 = 0; - } else { - i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; - $8_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; - } - $4$hi = i64toi32_i32$1; - i64toi32_i32$1 = $1$hi; - i64toi32_i32$0 = $1_1; - i64toi32_i32$2 = $4$hi; - i64toi32_i32$3 = $8_1; - i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; - i64toi32_i32$0 = i64toi32_i32$0 | i64toi32_i32$3 | 0; - i64toi32_i32$HIGH_BITS = i64toi32_i32$2; - return i64toi32_i32$0 | 0; - } - - function legalfunc$wasm2js_scratch_store_i64($0_1, $0$hi) { - $0_1 = $0_1 | 0; - $0$hi = $0$hi | 0; - var i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $8_1 = 0, $2_1 = 0, i64toi32_i32$2 = 0; - i64toi32_i32$0 = $0$hi; - $2_1 = $0_1; - i64toi32_i32$2 = $0_1; - i64toi32_i32$1 = 0; - i64toi32_i32$3 = 32; - i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { - i64toi32_i32$1 = 0; - $8_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; - } else { - i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; - $8_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; - } - legalimport$wasm2js_scratch_store_i64($2_1 | 0, $8_1 | 0); - } - function _ZN17compiler_builtins3int3mul3Mul3mul17h070e9a1c69faec5bE(var$0, var$0$hi, var$1, var$1$hi) { var$0 = var$0 | 0; var$0$hi = var$0$hi | 0; @@ -2795,7 +2731,8 @@ function asmFunc(global, env, buffer) { var$3 = var$1; var$2 = (var$2 >>> 0) / (var$3 >>> 0) | 0; i64toi32_i32$1 = 0; - legalfunc$wasm2js_scratch_store_i64(var$0 - Math_imul(var$2, var$3) | 0 | 0, i64toi32_i32$1 | 0); + __wasm_intrinsics_temp_i64 = var$0 - Math_imul(var$2, var$3) | 0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; i64toi32_i32$2 = var$2; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; @@ -2850,7 +2787,8 @@ function asmFunc(global, env, buffer) { i64toi32_i32$1 = $65$hi; i64toi32_i32$0 = $65; i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0; - legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0 | 0 | 0, i64toi32_i32$1 | 0); + __wasm_intrinsics_temp_i64 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; i64toi32_i32$3 = var$2 >>> ((__wasm_ctz_i32(var$3 | 0) | 0) & 31 | 0) | 0; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; @@ -2882,7 +2820,8 @@ function asmFunc(global, env, buffer) { i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; $41 = i64toi32_i32$2 << i64toi32_i32$4 | 0; } - legalfunc$wasm2js_scratch_store_i64($41 | 0, i64toi32_i32$1 | 0); + __wasm_intrinsics_temp_i64 = $41; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; i64toi32_i32$2 = var$4; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; @@ -2896,7 +2835,8 @@ function asmFunc(global, env, buffer) { } i64toi32_i32$2 = var$0$hi; i64toi32_i32$2 = 0; - legalfunc$wasm2js_scratch_store_i64(var$4 & var$0 | 0 | 0, i64toi32_i32$2 | 0); + __wasm_intrinsics_temp_i64 = var$4 & var$0 | 0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$2; if ((var$3 | 0) == (1 | 0)) { break label$1 } @@ -3089,7 +3029,8 @@ function asmFunc(global, env, buffer) { } } i64toi32_i32$3 = var$5$hi; - legalfunc$wasm2js_scratch_store_i64(var$5 | 0, i64toi32_i32$3 | 0); + __wasm_intrinsics_temp_i64 = var$5; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$3; i64toi32_i32$3 = var$0$hi; i64toi32_i32$5 = var$0; i64toi32_i32$2 = 0; @@ -3114,7 +3055,8 @@ function asmFunc(global, env, buffer) { return i64toi32_i32$3 | 0; } i64toi32_i32$3 = var$0$hi; - legalfunc$wasm2js_scratch_store_i64(var$0 | 0, i64toi32_i32$3 | 0); + __wasm_intrinsics_temp_i64 = var$0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$3; i64toi32_i32$3 = 0; var$0 = 0; var$0$hi = i64toi32_i32$3; @@ -3249,10 +3191,10 @@ function asmFunc(global, env, buffer) { i64toi32_i32$1 = var$1$hi; i64toi32_i32$1 = _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E(var$0 | 0, i64toi32_i32$0 | 0, var$1 | 0, i64toi32_i32$1 | 0) | 0; i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; - i64toi32_i32$0 = legalfunc$wasm2js_scratch_load_i64() | 0; - i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; - i64toi32_i32$HIGH_BITS = i64toi32_i32$1; - return i64toi32_i32$0 | 0; + i64toi32_i32$0 = __wasm_intrinsics_temp_i64$hi; + i64toi32_i32$1 = __wasm_intrinsics_temp_i64; + i64toi32_i32$HIGH_BITS = i64toi32_i32$0; + return i64toi32_i32$1 | 0; } function __wasm_popcnt_i64(var$0, var$0$hi) { @@ -3561,7 +3503,7 @@ function asmFunc(global, env, buffer) { } var memasmFunc = new ArrayBuffer(65536); -var retasmFunc = asmFunc({Math,Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,NaN,Infinity}, {abort:function() { throw new Error('abort'); },setTempRet0,getTempRet0},memasmFunc); +var retasmFunc = asmFunc({Math,Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,NaN,Infinity}, {abort:function() { throw new Error('abort'); },setTempRet0},memasmFunc); export var add = retasmFunc.add; export var sub = retasmFunc.sub; export var mul = retasmFunc.mul; diff --git a/test/wasm2js/int_exprs.2asm.js b/test/wasm2js/int_exprs.2asm.js index af1673aa2..17267e41e 100644 --- a/test/wasm2js/int_exprs.2asm.js +++ b/test/wasm2js/int_exprs.2asm.js @@ -833,17 +833,6 @@ export var i64_no_fold_shr_s_shl = retasmFunc.i64_no_fold_shr_s_shl; export var i64_no_fold_shr_u_shl = retasmFunc.i64_no_fold_shr_u_shl; import { setTempRet0 } from 'env'; - - var scratchBuffer = new ArrayBuffer(8); - var i32ScratchView = new Int32Array(scratchBuffer); - var f32ScratchView = new Float32Array(scratchBuffer); - var f64ScratchView = new Float64Array(scratchBuffer); - - function legalimport$wasm2js_scratch_store_i64(low, high) { - i32ScratchView[0] = low; - i32ScratchView[1] = high; - } - function asmFunc(global, env, buffer) { var HEAP8 = new global.Int8Array(buffer); var HEAP16 = new global.Int16Array(buffer); @@ -866,6 +855,8 @@ function asmFunc(global, env, buffer) { var nan = global.NaN; var infinity = global.Infinity; var setTempRet0 = env.setTempRet0; + var __wasm_intrinsics_temp_i64 = 0; + var __wasm_intrinsics_temp_i64$hi = 0; var i64toi32_i32$HIGH_BITS = 0; function $0(x) { x = x | 0; @@ -999,26 +990,6 @@ function asmFunc(global, env, buffer) { return $2_1 | 0; } - function legalfunc$wasm2js_scratch_store_i64($0_1, $0$hi) { - $0_1 = $0_1 | 0; - $0$hi = $0$hi | 0; - var i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $8 = 0, $2_1 = 0, i64toi32_i32$2 = 0; - i64toi32_i32$0 = $0$hi; - $2_1 = $0_1; - i64toi32_i32$2 = $0_1; - i64toi32_i32$1 = 0; - i64toi32_i32$3 = 32; - i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { - i64toi32_i32$1 = 0; - $8 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; - } else { - i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; - $8 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; - } - legalimport$wasm2js_scratch_store_i64($2_1 | 0, $8 | 0); - } - function _ZN17compiler_builtins3int3mul3Mul3mul17h070e9a1c69faec5bE(var$0, var$0$hi, var$1, var$1$hi) { var$0 = var$0 | 0; var$0$hi = var$0$hi | 0; @@ -1276,7 +1247,8 @@ function asmFunc(global, env, buffer) { var$3 = var$1; var$2 = (var$2 >>> 0) / (var$3 >>> 0) | 0; i64toi32_i32$1 = 0; - legalfunc$wasm2js_scratch_store_i64(var$0 - Math_imul(var$2, var$3) | 0 | 0, i64toi32_i32$1 | 0); + __wasm_intrinsics_temp_i64 = var$0 - Math_imul(var$2, var$3) | 0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; i64toi32_i32$2 = var$2; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; @@ -1331,7 +1303,8 @@ function asmFunc(global, env, buffer) { i64toi32_i32$1 = $65$hi; i64toi32_i32$0 = $65; i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0; - legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0 | 0 | 0, i64toi32_i32$1 | 0); + __wasm_intrinsics_temp_i64 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; i64toi32_i32$3 = var$2 >>> ((__wasm_ctz_i32(var$3 | 0) | 0) & 31 | 0) | 0; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; @@ -1363,7 +1336,8 @@ function asmFunc(global, env, buffer) { i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; $41 = i64toi32_i32$2 << i64toi32_i32$4 | 0; } - legalfunc$wasm2js_scratch_store_i64($41 | 0, i64toi32_i32$1 | 0); + __wasm_intrinsics_temp_i64 = $41; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; i64toi32_i32$2 = var$4; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; @@ -1377,7 +1351,8 @@ function asmFunc(global, env, buffer) { } i64toi32_i32$2 = var$0$hi; i64toi32_i32$2 = 0; - legalfunc$wasm2js_scratch_store_i64(var$4 & var$0 | 0 | 0, i64toi32_i32$2 | 0); + __wasm_intrinsics_temp_i64 = var$4 & var$0 | 0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$2; if ((var$3 | 0) == (1 | 0)) { break label$1 } @@ -1570,7 +1545,8 @@ function asmFunc(global, env, buffer) { } } i64toi32_i32$3 = var$5$hi; - legalfunc$wasm2js_scratch_store_i64(var$5 | 0, i64toi32_i32$3 | 0); + __wasm_intrinsics_temp_i64 = var$5; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$3; i64toi32_i32$3 = var$0$hi; i64toi32_i32$5 = var$0; i64toi32_i32$2 = 0; @@ -1595,7 +1571,8 @@ function asmFunc(global, env, buffer) { return i64toi32_i32$3 | 0; } i64toi32_i32$3 = var$0$hi; - legalfunc$wasm2js_scratch_store_i64(var$0 | 0, i64toi32_i32$3 | 0); + __wasm_intrinsics_temp_i64 = var$0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$3; i64toi32_i32$3 = 0; var$0 = 0; var$0$hi = i64toi32_i32$3; @@ -1679,17 +1656,6 @@ export var i64_no_fold_div_s_mul = retasmFunc.i64_no_fold_div_s_mul; export var i64_no_fold_div_u_mul = retasmFunc.i64_no_fold_div_u_mul; import { setTempRet0 } from 'env'; - - var scratchBuffer = new ArrayBuffer(8); - var i32ScratchView = new Int32Array(scratchBuffer); - var f32ScratchView = new Float32Array(scratchBuffer); - var f64ScratchView = new Float64Array(scratchBuffer); - - function legalimport$wasm2js_scratch_store_i64(low, high) { - i32ScratchView[0] = low; - i32ScratchView[1] = high; - } - function asmFunc(global, env, buffer) { var HEAP8 = new global.Int8Array(buffer); var HEAP16 = new global.Int16Array(buffer); @@ -1712,6 +1678,8 @@ function asmFunc(global, env, buffer) { var nan = global.NaN; var infinity = global.Infinity; var setTempRet0 = env.setTempRet0; + var __wasm_intrinsics_temp_i64 = 0; + var __wasm_intrinsics_temp_i64$hi = 0; var i64toi32_i32$HIGH_BITS = 0; function $0(x) { x = x | 0; @@ -1837,26 +1805,6 @@ function asmFunc(global, env, buffer) { return $2_1 | 0; } - function legalfunc$wasm2js_scratch_store_i64($0_1, $0$hi) { - $0_1 = $0_1 | 0; - $0$hi = $0$hi | 0; - var i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $8 = 0, $2_1 = 0, i64toi32_i32$2 = 0; - i64toi32_i32$0 = $0$hi; - $2_1 = $0_1; - i64toi32_i32$2 = $0_1; - i64toi32_i32$1 = 0; - i64toi32_i32$3 = 32; - i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { - i64toi32_i32$1 = 0; - $8 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; - } else { - i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; - $8 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; - } - legalimport$wasm2js_scratch_store_i64($2_1 | 0, $8 | 0); - } - function _ZN17compiler_builtins3int4sdiv3Div3div17he78fc483e41d7ec7E(var$0, var$0$hi, var$1, var$1$hi) { var$0 = var$0 | 0; var$0$hi = var$0$hi | 0; @@ -2044,7 +1992,8 @@ function asmFunc(global, env, buffer) { var$3 = var$1; var$2 = (var$2 >>> 0) / (var$3 >>> 0) | 0; i64toi32_i32$1 = 0; - legalfunc$wasm2js_scratch_store_i64(var$0 - Math_imul(var$2, var$3) | 0 | 0, i64toi32_i32$1 | 0); + __wasm_intrinsics_temp_i64 = var$0 - Math_imul(var$2, var$3) | 0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; i64toi32_i32$2 = var$2; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; @@ -2099,7 +2048,8 @@ function asmFunc(global, env, buffer) { i64toi32_i32$1 = $65$hi; i64toi32_i32$0 = $65; i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0; - legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0 | 0 | 0, i64toi32_i32$1 | 0); + __wasm_intrinsics_temp_i64 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; i64toi32_i32$3 = var$2 >>> ((__wasm_ctz_i32(var$3 | 0) | 0) & 31 | 0) | 0; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; @@ -2131,7 +2081,8 @@ function asmFunc(global, env, buffer) { i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; $41 = i64toi32_i32$2 << i64toi32_i32$4 | 0; } - legalfunc$wasm2js_scratch_store_i64($41 | 0, i64toi32_i32$1 | 0); + __wasm_intrinsics_temp_i64 = $41; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; i64toi32_i32$2 = var$4; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; @@ -2145,7 +2096,8 @@ function asmFunc(global, env, buffer) { } i64toi32_i32$2 = var$0$hi; i64toi32_i32$2 = 0; - legalfunc$wasm2js_scratch_store_i64(var$4 & var$0 | 0 | 0, i64toi32_i32$2 | 0); + __wasm_intrinsics_temp_i64 = var$4 & var$0 | 0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$2; if ((var$3 | 0) == (1 | 0)) { break label$1 } @@ -2338,7 +2290,8 @@ function asmFunc(global, env, buffer) { } } i64toi32_i32$3 = var$5$hi; - legalfunc$wasm2js_scratch_store_i64(var$5 | 0, i64toi32_i32$3 | 0); + __wasm_intrinsics_temp_i64 = var$5; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$3; i64toi32_i32$3 = var$0$hi; i64toi32_i32$5 = var$0; i64toi32_i32$2 = 0; @@ -2363,7 +2316,8 @@ function asmFunc(global, env, buffer) { return i64toi32_i32$3 | 0; } i64toi32_i32$3 = var$0$hi; - legalfunc$wasm2js_scratch_store_i64(var$0 | 0, i64toi32_i32$3 | 0); + __wasm_intrinsics_temp_i64 = var$0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$3; i64toi32_i32$3 = 0; var$0 = 0; var$0$hi = i64toi32_i32$3; @@ -2430,24 +2384,7 @@ export var i32_no_fold_div_u_self = retasmFunc.i32_no_fold_div_u_self; export var i64_no_fold_div_s_self = retasmFunc.i64_no_fold_div_s_self; export var i64_no_fold_div_u_self = retasmFunc.i64_no_fold_div_u_self; import { setTempRet0 } from 'env'; -import { getTempRet0 } from 'env'; - - var scratchBuffer = new ArrayBuffer(8); - var i32ScratchView = new Int32Array(scratchBuffer); - var f32ScratchView = new Float32Array(scratchBuffer); - var f64ScratchView = new Float64Array(scratchBuffer); - - function legalimport$wasm2js_scratch_load_i64() { - if (typeof setTempRet0 === 'function') setTempRet0(i32ScratchView[1]); - return i32ScratchView[0]; - } - - function legalimport$wasm2js_scratch_store_i64(low, high) { - i32ScratchView[0] = low; - i32ScratchView[1] = high; - } - function asmFunc(global, env, buffer) { var HEAP8 = new global.Int8Array(buffer); var HEAP16 = new global.Int16Array(buffer); @@ -2470,7 +2407,8 @@ function asmFunc(global, env, buffer) { var nan = global.NaN; var infinity = global.Infinity; var setTempRet0 = env.setTempRet0; - var getTempRet0 = env.getTempRet0; + var __wasm_intrinsics_temp_i64 = 0; + var __wasm_intrinsics_temp_i64$hi = 0; var i64toi32_i32$HIGH_BITS = 0; function $0(x) { x = x | 0; @@ -2596,54 +2534,6 @@ function asmFunc(global, env, buffer) { return $2_1 | 0; } - function legalfunc$wasm2js_scratch_load_i64() { - var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $8 = 0, $1_1 = 0, $1$hi = 0, $4$hi = 0; - i64toi32_i32$0 = 0; - $1_1 = legalimport$wasm2js_scratch_load_i64() | 0; - $1$hi = i64toi32_i32$0; - i64toi32_i32$0 = 0; - i64toi32_i32$2 = getTempRet0() | 0; - i64toi32_i32$1 = 0; - i64toi32_i32$3 = 32; - i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { - i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; - $8 = 0; - } else { - i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; - $8 = i64toi32_i32$2 << i64toi32_i32$4 | 0; - } - $4$hi = i64toi32_i32$1; - i64toi32_i32$1 = $1$hi; - i64toi32_i32$0 = $1_1; - i64toi32_i32$2 = $4$hi; - i64toi32_i32$3 = $8; - i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; - i64toi32_i32$0 = i64toi32_i32$0 | i64toi32_i32$3 | 0; - i64toi32_i32$HIGH_BITS = i64toi32_i32$2; - return i64toi32_i32$0 | 0; - } - - function legalfunc$wasm2js_scratch_store_i64($0_1, $0$hi) { - $0_1 = $0_1 | 0; - $0$hi = $0$hi | 0; - var i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $8 = 0, $2_1 = 0, i64toi32_i32$2 = 0; - i64toi32_i32$0 = $0$hi; - $2_1 = $0_1; - i64toi32_i32$2 = $0_1; - i64toi32_i32$1 = 0; - i64toi32_i32$3 = 32; - i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { - i64toi32_i32$1 = 0; - $8 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; - } else { - i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; - $8 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; - } - legalimport$wasm2js_scratch_store_i64($2_1 | 0, $8 | 0); - } - function _ZN17compiler_builtins3int4sdiv3Mod4mod_17h2cbb7bbf36e41d68E(var$0, var$0$hi, var$1, var$1$hi) { var$0 = var$0 | 0; var$0$hi = var$0$hi | 0; @@ -2811,7 +2701,8 @@ function asmFunc(global, env, buffer) { var$3 = var$1; var$2 = (var$2 >>> 0) / (var$3 >>> 0) | 0; i64toi32_i32$1 = 0; - legalfunc$wasm2js_scratch_store_i64(var$0 - Math_imul(var$2, var$3) | 0 | 0, i64toi32_i32$1 | 0); + __wasm_intrinsics_temp_i64 = var$0 - Math_imul(var$2, var$3) | 0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; i64toi32_i32$2 = var$2; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; @@ -2866,7 +2757,8 @@ function asmFunc(global, env, buffer) { i64toi32_i32$1 = $65$hi; i64toi32_i32$0 = $65; i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0; - legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0 | 0 | 0, i64toi32_i32$1 | 0); + __wasm_intrinsics_temp_i64 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; i64toi32_i32$3 = var$2 >>> ((__wasm_ctz_i32(var$3 | 0) | 0) & 31 | 0) | 0; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; @@ -2898,7 +2790,8 @@ function asmFunc(global, env, buffer) { i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; $41 = i64toi32_i32$2 << i64toi32_i32$4 | 0; } - legalfunc$wasm2js_scratch_store_i64($41 | 0, i64toi32_i32$1 | 0); + __wasm_intrinsics_temp_i64 = $41; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; i64toi32_i32$2 = var$4; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; @@ -2912,7 +2805,8 @@ function asmFunc(global, env, buffer) { } i64toi32_i32$2 = var$0$hi; i64toi32_i32$2 = 0; - legalfunc$wasm2js_scratch_store_i64(var$4 & var$0 | 0 | 0, i64toi32_i32$2 | 0); + __wasm_intrinsics_temp_i64 = var$4 & var$0 | 0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$2; if ((var$3 | 0) == (1 | 0)) { break label$1 } @@ -3105,7 +2999,8 @@ function asmFunc(global, env, buffer) { } } i64toi32_i32$3 = var$5$hi; - legalfunc$wasm2js_scratch_store_i64(var$5 | 0, i64toi32_i32$3 | 0); + __wasm_intrinsics_temp_i64 = var$5; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$3; i64toi32_i32$3 = var$0$hi; i64toi32_i32$5 = var$0; i64toi32_i32$2 = 0; @@ -3130,7 +3025,8 @@ function asmFunc(global, env, buffer) { return i64toi32_i32$3 | 0; } i64toi32_i32$3 = var$0$hi; - legalfunc$wasm2js_scratch_store_i64(var$0 | 0, i64toi32_i32$3 | 0); + __wasm_intrinsics_temp_i64 = var$0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$3; i64toi32_i32$3 = 0; var$0 = 0; var$0$hi = i64toi32_i32$3; @@ -3169,10 +3065,10 @@ function asmFunc(global, env, buffer) { i64toi32_i32$1 = var$1$hi; i64toi32_i32$1 = _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E(var$0 | 0, i64toi32_i32$0 | 0, var$1 | 0, i64toi32_i32$1 | 0) | 0; i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; - i64toi32_i32$0 = legalfunc$wasm2js_scratch_load_i64() | 0; - i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; - i64toi32_i32$HIGH_BITS = i64toi32_i32$1; - return i64toi32_i32$0 | 0; + i64toi32_i32$0 = __wasm_intrinsics_temp_i64$hi; + i64toi32_i32$1 = __wasm_intrinsics_temp_i64; + i64toi32_i32$HIGH_BITS = i64toi32_i32$0; + return i64toi32_i32$1 | 0; } function __wasm_ctz_i32(var$0) { @@ -3193,24 +3089,13 @@ function asmFunc(global, env, buffer) { } var memasmFunc = new ArrayBuffer(65536); -var retasmFunc = asmFunc({Math,Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,NaN,Infinity}, {abort:function() { throw new Error('abort'); },setTempRet0,getTempRet0},memasmFunc); +var retasmFunc = asmFunc({Math,Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,NaN,Infinity}, {abort:function() { throw new Error('abort'); },setTempRet0},memasmFunc); export var i32_no_fold_rem_s_self = retasmFunc.i32_no_fold_rem_s_self; export var i32_no_fold_rem_u_self = retasmFunc.i32_no_fold_rem_u_self; export var i64_no_fold_rem_s_self = retasmFunc.i64_no_fold_rem_s_self; export var i64_no_fold_rem_u_self = retasmFunc.i64_no_fold_rem_u_self; import { setTempRet0 } from 'env'; - - var scratchBuffer = new ArrayBuffer(8); - var i32ScratchView = new Int32Array(scratchBuffer); - var f32ScratchView = new Float32Array(scratchBuffer); - var f64ScratchView = new Float64Array(scratchBuffer); - - function legalimport$wasm2js_scratch_store_i64(low, high) { - i32ScratchView[0] = low; - i32ScratchView[1] = high; - } - function asmFunc(global, env, buffer) { var HEAP8 = new global.Int8Array(buffer); var HEAP16 = new global.Int16Array(buffer); @@ -3233,6 +3118,8 @@ function asmFunc(global, env, buffer) { var nan = global.NaN; var infinity = global.Infinity; var setTempRet0 = env.setTempRet0; + var __wasm_intrinsics_temp_i64 = 0; + var __wasm_intrinsics_temp_i64$hi = 0; var i64toi32_i32$HIGH_BITS = 0; function $0(x) { x = x | 0; @@ -3366,26 +3253,6 @@ function asmFunc(global, env, buffer) { return $2_1 | 0; } - function legalfunc$wasm2js_scratch_store_i64($0_1, $0$hi) { - $0_1 = $0_1 | 0; - $0$hi = $0$hi | 0; - var i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $8 = 0, $2_1 = 0, i64toi32_i32$2 = 0; - i64toi32_i32$0 = $0$hi; - $2_1 = $0_1; - i64toi32_i32$2 = $0_1; - i64toi32_i32$1 = 0; - i64toi32_i32$3 = 32; - i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { - i64toi32_i32$1 = 0; - $8 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; - } else { - i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; - $8 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; - } - legalimport$wasm2js_scratch_store_i64($2_1 | 0, $8 | 0); - } - function _ZN17compiler_builtins3int3mul3Mul3mul17h070e9a1c69faec5bE(var$0, var$0$hi, var$1, var$1$hi) { var$0 = var$0 | 0; var$0$hi = var$0$hi | 0; @@ -3643,7 +3510,8 @@ function asmFunc(global, env, buffer) { var$3 = var$1; var$2 = (var$2 >>> 0) / (var$3 >>> 0) | 0; i64toi32_i32$1 = 0; - legalfunc$wasm2js_scratch_store_i64(var$0 - Math_imul(var$2, var$3) | 0 | 0, i64toi32_i32$1 | 0); + __wasm_intrinsics_temp_i64 = var$0 - Math_imul(var$2, var$3) | 0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; i64toi32_i32$2 = var$2; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; @@ -3698,7 +3566,8 @@ function asmFunc(global, env, buffer) { i64toi32_i32$1 = $65$hi; i64toi32_i32$0 = $65; i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0; - legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0 | 0 | 0, i64toi32_i32$1 | 0); + __wasm_intrinsics_temp_i64 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; i64toi32_i32$3 = var$2 >>> ((__wasm_ctz_i32(var$3 | 0) | 0) & 31 | 0) | 0; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; @@ -3730,7 +3599,8 @@ function asmFunc(global, env, buffer) { i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; $41 = i64toi32_i32$2 << i64toi32_i32$4 | 0; } - legalfunc$wasm2js_scratch_store_i64($41 | 0, i64toi32_i32$1 | 0); + __wasm_intrinsics_temp_i64 = $41; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; i64toi32_i32$2 = var$4; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; @@ -3744,7 +3614,8 @@ function asmFunc(global, env, buffer) { } i64toi32_i32$2 = var$0$hi; i64toi32_i32$2 = 0; - legalfunc$wasm2js_scratch_store_i64(var$4 & var$0 | 0 | 0, i64toi32_i32$2 | 0); + __wasm_intrinsics_temp_i64 = var$4 & var$0 | 0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$2; if ((var$3 | 0) == (1 | 0)) { break label$1 } @@ -3937,7 +3808,8 @@ function asmFunc(global, env, buffer) { } } i64toi32_i32$3 = var$5$hi; - legalfunc$wasm2js_scratch_store_i64(var$5 | 0, i64toi32_i32$3 | 0); + __wasm_intrinsics_temp_i64 = var$5; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$3; i64toi32_i32$3 = var$0$hi; i64toi32_i32$5 = var$0; i64toi32_i32$2 = 0; @@ -3962,7 +3834,8 @@ function asmFunc(global, env, buffer) { return i64toi32_i32$3 | 0; } i64toi32_i32$3 = var$0$hi; - legalfunc$wasm2js_scratch_store_i64(var$0 | 0, i64toi32_i32$3 | 0); + __wasm_intrinsics_temp_i64 = var$0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$3; i64toi32_i32$3 = 0; var$0 = 0; var$0$hi = i64toi32_i32$3; @@ -4046,17 +3919,6 @@ export var i64_no_fold_mul_div_s = retasmFunc.i64_no_fold_mul_div_s; export var i64_no_fold_mul_div_u = retasmFunc.i64_no_fold_mul_div_u; import { setTempRet0 } from 'env'; - - var scratchBuffer = new ArrayBuffer(8); - var i32ScratchView = new Int32Array(scratchBuffer); - var f32ScratchView = new Float32Array(scratchBuffer); - var f64ScratchView = new Float64Array(scratchBuffer); - - function legalimport$wasm2js_scratch_store_i64(low, high) { - i32ScratchView[0] = low; - i32ScratchView[1] = high; - } - function asmFunc(global, env, buffer) { var HEAP8 = new global.Int8Array(buffer); var HEAP16 = new global.Int16Array(buffer); @@ -4079,6 +3941,8 @@ function asmFunc(global, env, buffer) { var nan = global.NaN; var infinity = global.Infinity; var setTempRet0 = env.setTempRet0; + var __wasm_intrinsics_temp_i64 = 0; + var __wasm_intrinsics_temp_i64$hi = 0; var i64toi32_i32$HIGH_BITS = 0; function $0(x) { x = x | 0; @@ -4142,26 +4006,6 @@ function asmFunc(global, env, buffer) { return $2 | 0; } - function legalfunc$wasm2js_scratch_store_i64($0_1, $0$hi) { - $0_1 = $0_1 | 0; - $0$hi = $0$hi | 0; - var i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $8 = 0, $2 = 0, i64toi32_i32$2 = 0; - i64toi32_i32$0 = $0$hi; - $2 = $0_1; - i64toi32_i32$2 = $0_1; - i64toi32_i32$1 = 0; - i64toi32_i32$3 = 32; - i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { - i64toi32_i32$1 = 0; - $8 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; - } else { - i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; - $8 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; - } - legalimport$wasm2js_scratch_store_i64($2 | 0, $8 | 0); - } - function _ZN17compiler_builtins3int4sdiv3Div3div17he78fc483e41d7ec7E(var$0, var$0$hi, var$1, var$1$hi) { var$0 = var$0 | 0; var$0$hi = var$0$hi | 0; @@ -4365,7 +4209,8 @@ function asmFunc(global, env, buffer) { var$3 = var$1; var$2 = (var$2 >>> 0) / (var$3 >>> 0) | 0; i64toi32_i32$1 = 0; - legalfunc$wasm2js_scratch_store_i64(var$0 - Math_imul(var$2, var$3) | 0 | 0, i64toi32_i32$1 | 0); + __wasm_intrinsics_temp_i64 = var$0 - Math_imul(var$2, var$3) | 0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; i64toi32_i32$2 = var$2; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; @@ -4420,7 +4265,8 @@ function asmFunc(global, env, buffer) { i64toi32_i32$1 = $65$hi; i64toi32_i32$0 = $65; i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0; - legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0 | 0 | 0, i64toi32_i32$1 | 0); + __wasm_intrinsics_temp_i64 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; i64toi32_i32$3 = var$2 >>> ((__wasm_ctz_i32(var$3 | 0) | 0) & 31 | 0) | 0; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; @@ -4452,7 +4298,8 @@ function asmFunc(global, env, buffer) { i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; $41 = i64toi32_i32$2 << i64toi32_i32$4 | 0; } - legalfunc$wasm2js_scratch_store_i64($41 | 0, i64toi32_i32$1 | 0); + __wasm_intrinsics_temp_i64 = $41; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; i64toi32_i32$2 = var$4; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; @@ -4466,7 +4313,8 @@ function asmFunc(global, env, buffer) { } i64toi32_i32$2 = var$0$hi; i64toi32_i32$2 = 0; - legalfunc$wasm2js_scratch_store_i64(var$4 & var$0 | 0 | 0, i64toi32_i32$2 | 0); + __wasm_intrinsics_temp_i64 = var$4 & var$0 | 0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$2; if ((var$3 | 0) == (1 | 0)) { break label$1 } @@ -4659,7 +4507,8 @@ function asmFunc(global, env, buffer) { } } i64toi32_i32$3 = var$5$hi; - legalfunc$wasm2js_scratch_store_i64(var$5 | 0, i64toi32_i32$3 | 0); + __wasm_intrinsics_temp_i64 = var$5; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$3; i64toi32_i32$3 = var$0$hi; i64toi32_i32$5 = var$0; i64toi32_i32$2 = 0; @@ -4684,7 +4533,8 @@ function asmFunc(global, env, buffer) { return i64toi32_i32$3 | 0; } i64toi32_i32$3 = var$0$hi; - legalfunc$wasm2js_scratch_store_i64(var$0 | 0, i64toi32_i32$3 | 0); + __wasm_intrinsics_temp_i64 = var$0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$3; i64toi32_i32$3 = 0; var$0 = 0; var$0$hi = i64toi32_i32$3; @@ -4731,24 +4581,7 @@ var retasmFunc = asmFunc({Math,Int8Array,Uint8Array,Int16Array,Uint16Array,Int32 export var i32_no_fold_div_s_2 = retasmFunc.i32_no_fold_div_s_2; export var i64_no_fold_div_s_2 = retasmFunc.i64_no_fold_div_s_2; import { setTempRet0 } from 'env'; -import { getTempRet0 } from 'env'; - - var scratchBuffer = new ArrayBuffer(8); - var i32ScratchView = new Int32Array(scratchBuffer); - var f32ScratchView = new Float32Array(scratchBuffer); - var f64ScratchView = new Float64Array(scratchBuffer); - - function legalimport$wasm2js_scratch_load_i64() { - if (typeof setTempRet0 === 'function') setTempRet0(i32ScratchView[1]); - return i32ScratchView[0]; - } - - function legalimport$wasm2js_scratch_store_i64(low, high) { - i32ScratchView[0] = low; - i32ScratchView[1] = high; - } - function asmFunc(global, env, buffer) { var HEAP8 = new global.Int8Array(buffer); var HEAP16 = new global.Int16Array(buffer); @@ -4771,7 +4604,8 @@ function asmFunc(global, env, buffer) { var nan = global.NaN; var infinity = global.Infinity; var setTempRet0 = env.setTempRet0; - var getTempRet0 = env.getTempRet0; + var __wasm_intrinsics_temp_i64 = 0; + var __wasm_intrinsics_temp_i64$hi = 0; var i64toi32_i32$HIGH_BITS = 0; function $0(x) { x = x | 0; @@ -4835,54 +4669,6 @@ function asmFunc(global, env, buffer) { return $2 | 0; } - function legalfunc$wasm2js_scratch_load_i64() { - var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $8 = 0, $1_1 = 0, $1$hi = 0, $4$hi = 0; - i64toi32_i32$0 = 0; - $1_1 = legalimport$wasm2js_scratch_load_i64() | 0; - $1$hi = i64toi32_i32$0; - i64toi32_i32$0 = 0; - i64toi32_i32$2 = getTempRet0() | 0; - i64toi32_i32$1 = 0; - i64toi32_i32$3 = 32; - i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { - i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; - $8 = 0; - } else { - i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; - $8 = i64toi32_i32$2 << i64toi32_i32$4 | 0; - } - $4$hi = i64toi32_i32$1; - i64toi32_i32$1 = $1$hi; - i64toi32_i32$0 = $1_1; - i64toi32_i32$2 = $4$hi; - i64toi32_i32$3 = $8; - i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; - i64toi32_i32$0 = i64toi32_i32$0 | i64toi32_i32$3 | 0; - i64toi32_i32$HIGH_BITS = i64toi32_i32$2; - return i64toi32_i32$0 | 0; - } - - function legalfunc$wasm2js_scratch_store_i64($0_1, $0$hi) { - $0_1 = $0_1 | 0; - $0$hi = $0$hi | 0; - var i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $8 = 0, $2 = 0, i64toi32_i32$2 = 0; - i64toi32_i32$0 = $0$hi; - $2 = $0_1; - i64toi32_i32$2 = $0_1; - i64toi32_i32$1 = 0; - i64toi32_i32$3 = 32; - i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { - i64toi32_i32$1 = 0; - $8 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; - } else { - i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; - $8 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; - } - legalimport$wasm2js_scratch_store_i64($2 | 0, $8 | 0); - } - function _ZN17compiler_builtins3int4sdiv3Mod4mod_17h2cbb7bbf36e41d68E(var$0, var$0$hi, var$1, var$1$hi) { var$0 = var$0 | 0; var$0$hi = var$0$hi | 0; @@ -5066,7 +4852,8 @@ function asmFunc(global, env, buffer) { var$3 = var$1; var$2 = (var$2 >>> 0) / (var$3 >>> 0) | 0; i64toi32_i32$1 = 0; - legalfunc$wasm2js_scratch_store_i64(var$0 - Math_imul(var$2, var$3) | 0 | 0, i64toi32_i32$1 | 0); + __wasm_intrinsics_temp_i64 = var$0 - Math_imul(var$2, var$3) | 0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; i64toi32_i32$2 = var$2; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; @@ -5121,7 +4908,8 @@ function asmFunc(global, env, buffer) { i64toi32_i32$1 = $65$hi; i64toi32_i32$0 = $65; i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0; - legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0 | 0 | 0, i64toi32_i32$1 | 0); + __wasm_intrinsics_temp_i64 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; i64toi32_i32$3 = var$2 >>> ((__wasm_ctz_i32(var$3 | 0) | 0) & 31 | 0) | 0; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; @@ -5153,7 +4941,8 @@ function asmFunc(global, env, buffer) { i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; $41 = i64toi32_i32$2 << i64toi32_i32$4 | 0; } - legalfunc$wasm2js_scratch_store_i64($41 | 0, i64toi32_i32$1 | 0); + __wasm_intrinsics_temp_i64 = $41; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; i64toi32_i32$2 = var$4; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; @@ -5167,7 +4956,8 @@ function asmFunc(global, env, buffer) { } i64toi32_i32$2 = var$0$hi; i64toi32_i32$2 = 0; - legalfunc$wasm2js_scratch_store_i64(var$4 & var$0 | 0 | 0, i64toi32_i32$2 | 0); + __wasm_intrinsics_temp_i64 = var$4 & var$0 | 0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$2; if ((var$3 | 0) == (1 | 0)) { break label$1 } @@ -5360,7 +5150,8 @@ function asmFunc(global, env, buffer) { } } i64toi32_i32$3 = var$5$hi; - legalfunc$wasm2js_scratch_store_i64(var$5 | 0, i64toi32_i32$3 | 0); + __wasm_intrinsics_temp_i64 = var$5; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$3; i64toi32_i32$3 = var$0$hi; i64toi32_i32$5 = var$0; i64toi32_i32$2 = 0; @@ -5385,7 +5176,8 @@ function asmFunc(global, env, buffer) { return i64toi32_i32$3 | 0; } i64toi32_i32$3 = var$0$hi; - legalfunc$wasm2js_scratch_store_i64(var$0 | 0, i64toi32_i32$3 | 0); + __wasm_intrinsics_temp_i64 = var$0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$3; i64toi32_i32$3 = 0; var$0 = 0; var$0$hi = i64toi32_i32$3; @@ -5408,10 +5200,10 @@ function asmFunc(global, env, buffer) { i64toi32_i32$1 = var$1$hi; i64toi32_i32$1 = _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E(var$0 | 0, i64toi32_i32$0 | 0, var$1 | 0, i64toi32_i32$1 | 0) | 0; i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; - i64toi32_i32$0 = legalfunc$wasm2js_scratch_load_i64() | 0; - i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; - i64toi32_i32$HIGH_BITS = i64toi32_i32$1; - return i64toi32_i32$0 | 0; + i64toi32_i32$0 = __wasm_intrinsics_temp_i64$hi; + i64toi32_i32$1 = __wasm_intrinsics_temp_i64; + i64toi32_i32$HIGH_BITS = i64toi32_i32$0; + return i64toi32_i32$1 | 0; } function __wasm_ctz_i32(var$0) { @@ -5430,22 +5222,11 @@ function asmFunc(global, env, buffer) { } var memasmFunc = new ArrayBuffer(65536); -var retasmFunc = asmFunc({Math,Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,NaN,Infinity}, {abort:function() { throw new Error('abort'); },setTempRet0,getTempRet0},memasmFunc); +var retasmFunc = asmFunc({Math,Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,NaN,Infinity}, {abort:function() { throw new Error('abort'); },setTempRet0},memasmFunc); export var i32_no_fold_rem_s_2 = retasmFunc.i32_no_fold_rem_s_2; export var i64_no_fold_rem_s_2 = retasmFunc.i64_no_fold_rem_s_2; import { setTempRet0 } from 'env'; - - var scratchBuffer = new ArrayBuffer(8); - var i32ScratchView = new Int32Array(scratchBuffer); - var f32ScratchView = new Float32Array(scratchBuffer); - var f64ScratchView = new Float64Array(scratchBuffer); - - function legalimport$wasm2js_scratch_store_i64(low, high) { - i32ScratchView[0] = low; - i32ScratchView[1] = high; - } - function asmFunc(global, env, buffer) { var HEAP8 = new global.Int8Array(buffer); var HEAP16 = new global.Int16Array(buffer); @@ -5468,6 +5249,8 @@ function asmFunc(global, env, buffer) { var nan = global.NaN; var infinity = global.Infinity; var setTempRet0 = env.setTempRet0; + var __wasm_intrinsics_temp_i64 = 0; + var __wasm_intrinsics_temp_i64$hi = 0; var i64toi32_i32$HIGH_BITS = 0; function $0(x) { x = x | 0; @@ -5593,26 +5376,6 @@ function asmFunc(global, env, buffer) { return $2_1 | 0; } - function legalfunc$wasm2js_scratch_store_i64($0_1, $0$hi) { - $0_1 = $0_1 | 0; - $0$hi = $0$hi | 0; - var i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $8 = 0, $2_1 = 0, i64toi32_i32$2 = 0; - i64toi32_i32$0 = $0$hi; - $2_1 = $0_1; - i64toi32_i32$2 = $0_1; - i64toi32_i32$1 = 0; - i64toi32_i32$3 = 32; - i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { - i64toi32_i32$1 = 0; - $8 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; - } else { - i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; - $8 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; - } - legalimport$wasm2js_scratch_store_i64($2_1 | 0, $8 | 0); - } - function _ZN17compiler_builtins3int4sdiv3Div3div17he78fc483e41d7ec7E(var$0, var$0$hi, var$1, var$1$hi) { var$0 = var$0 | 0; var$0$hi = var$0$hi | 0; @@ -5800,7 +5563,8 @@ function asmFunc(global, env, buffer) { var$3 = var$1; var$2 = (var$2 >>> 0) / (var$3 >>> 0) | 0; i64toi32_i32$1 = 0; - legalfunc$wasm2js_scratch_store_i64(var$0 - Math_imul(var$2, var$3) | 0 | 0, i64toi32_i32$1 | 0); + __wasm_intrinsics_temp_i64 = var$0 - Math_imul(var$2, var$3) | 0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; i64toi32_i32$2 = var$2; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; @@ -5855,7 +5619,8 @@ function asmFunc(global, env, buffer) { i64toi32_i32$1 = $65$hi; i64toi32_i32$0 = $65; i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0; - legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0 | 0 | 0, i64toi32_i32$1 | 0); + __wasm_intrinsics_temp_i64 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; i64toi32_i32$3 = var$2 >>> ((__wasm_ctz_i32(var$3 | 0) | 0) & 31 | 0) | 0; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; @@ -5887,7 +5652,8 @@ function asmFunc(global, env, buffer) { i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; $41 = i64toi32_i32$2 << i64toi32_i32$4 | 0; } - legalfunc$wasm2js_scratch_store_i64($41 | 0, i64toi32_i32$1 | 0); + __wasm_intrinsics_temp_i64 = $41; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; i64toi32_i32$2 = var$4; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; @@ -5901,7 +5667,8 @@ function asmFunc(global, env, buffer) { } i64toi32_i32$2 = var$0$hi; i64toi32_i32$2 = 0; - legalfunc$wasm2js_scratch_store_i64(var$4 & var$0 | 0 | 0, i64toi32_i32$2 | 0); + __wasm_intrinsics_temp_i64 = var$4 & var$0 | 0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$2; if ((var$3 | 0) == (1 | 0)) { break label$1 } @@ -6094,7 +5861,8 @@ function asmFunc(global, env, buffer) { } } i64toi32_i32$3 = var$5$hi; - legalfunc$wasm2js_scratch_store_i64(var$5 | 0, i64toi32_i32$3 | 0); + __wasm_intrinsics_temp_i64 = var$5; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$3; i64toi32_i32$3 = var$0$hi; i64toi32_i32$5 = var$0; i64toi32_i32$2 = 0; @@ -6119,7 +5887,8 @@ function asmFunc(global, env, buffer) { return i64toi32_i32$3 | 0; } i64toi32_i32$3 = var$0$hi; - legalfunc$wasm2js_scratch_store_i64(var$0 | 0, i64toi32_i32$3 | 0); + __wasm_intrinsics_temp_i64 = var$0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$3; i64toi32_i32$3 = 0; var$0 = 0; var$0$hi = i64toi32_i32$3; @@ -6187,17 +5956,6 @@ export var i64_div_s_0 = retasmFunc.i64_div_s_0; export var i64_div_u_0 = retasmFunc.i64_div_u_0; import { setTempRet0 } from 'env'; - - var scratchBuffer = new ArrayBuffer(8); - var i32ScratchView = new Int32Array(scratchBuffer); - var f32ScratchView = new Float32Array(scratchBuffer); - var f64ScratchView = new Float64Array(scratchBuffer); - - function legalimport$wasm2js_scratch_store_i64(low, high) { - i32ScratchView[0] = low; - i32ScratchView[1] = high; - } - function asmFunc(global, env, buffer) { var HEAP8 = new global.Int8Array(buffer); var HEAP16 = new global.Int16Array(buffer); @@ -6220,6 +5978,8 @@ function asmFunc(global, env, buffer) { var nan = global.NaN; var infinity = global.Infinity; var setTempRet0 = env.setTempRet0; + var __wasm_intrinsics_temp_i64 = 0; + var __wasm_intrinsics_temp_i64$hi = 0; var i64toi32_i32$HIGH_BITS = 0; function $0(x) { x = x | 0; @@ -6345,26 +6105,6 @@ function asmFunc(global, env, buffer) { return $2_1 | 0; } - function legalfunc$wasm2js_scratch_store_i64($0_1, $0$hi) { - $0_1 = $0_1 | 0; - $0$hi = $0$hi | 0; - var i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $8 = 0, $2_1 = 0, i64toi32_i32$2 = 0; - i64toi32_i32$0 = $0$hi; - $2_1 = $0_1; - i64toi32_i32$2 = $0_1; - i64toi32_i32$1 = 0; - i64toi32_i32$3 = 32; - i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { - i64toi32_i32$1 = 0; - $8 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; - } else { - i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; - $8 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; - } - legalimport$wasm2js_scratch_store_i64($2_1 | 0, $8 | 0); - } - function _ZN17compiler_builtins3int4sdiv3Div3div17he78fc483e41d7ec7E(var$0, var$0$hi, var$1, var$1$hi) { var$0 = var$0 | 0; var$0$hi = var$0$hi | 0; @@ -6552,7 +6292,8 @@ function asmFunc(global, env, buffer) { var$3 = var$1; var$2 = (var$2 >>> 0) / (var$3 >>> 0) | 0; i64toi32_i32$1 = 0; - legalfunc$wasm2js_scratch_store_i64(var$0 - Math_imul(var$2, var$3) | 0 | 0, i64toi32_i32$1 | 0); + __wasm_intrinsics_temp_i64 = var$0 - Math_imul(var$2, var$3) | 0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; i64toi32_i32$2 = var$2; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; @@ -6607,7 +6348,8 @@ function asmFunc(global, env, buffer) { i64toi32_i32$1 = $65$hi; i64toi32_i32$0 = $65; i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0; - legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0 | 0 | 0, i64toi32_i32$1 | 0); + __wasm_intrinsics_temp_i64 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; i64toi32_i32$3 = var$2 >>> ((__wasm_ctz_i32(var$3 | 0) | 0) & 31 | 0) | 0; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; @@ -6639,7 +6381,8 @@ function asmFunc(global, env, buffer) { i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; $41 = i64toi32_i32$2 << i64toi32_i32$4 | 0; } - legalfunc$wasm2js_scratch_store_i64($41 | 0, i64toi32_i32$1 | 0); + __wasm_intrinsics_temp_i64 = $41; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; i64toi32_i32$2 = var$4; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; @@ -6653,7 +6396,8 @@ function asmFunc(global, env, buffer) { } i64toi32_i32$2 = var$0$hi; i64toi32_i32$2 = 0; - legalfunc$wasm2js_scratch_store_i64(var$4 & var$0 | 0 | 0, i64toi32_i32$2 | 0); + __wasm_intrinsics_temp_i64 = var$4 & var$0 | 0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$2; if ((var$3 | 0) == (1 | 0)) { break label$1 } @@ -6846,7 +6590,8 @@ function asmFunc(global, env, buffer) { } } i64toi32_i32$3 = var$5$hi; - legalfunc$wasm2js_scratch_store_i64(var$5 | 0, i64toi32_i32$3 | 0); + __wasm_intrinsics_temp_i64 = var$5; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$3; i64toi32_i32$3 = var$0$hi; i64toi32_i32$5 = var$0; i64toi32_i32$2 = 0; @@ -6871,7 +6616,8 @@ function asmFunc(global, env, buffer) { return i64toi32_i32$3 | 0; } i64toi32_i32$3 = var$0$hi; - legalfunc$wasm2js_scratch_store_i64(var$0 | 0, i64toi32_i32$3 | 0); + __wasm_intrinsics_temp_i64 = var$0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$3; i64toi32_i32$3 = 0; var$0 = 0; var$0$hi = i64toi32_i32$3; @@ -6939,17 +6685,6 @@ export var i64_div_s_3 = retasmFunc.i64_div_s_3; export var i64_div_u_3 = retasmFunc.i64_div_u_3; import { setTempRet0 } from 'env'; - - var scratchBuffer = new ArrayBuffer(8); - var i32ScratchView = new Int32Array(scratchBuffer); - var f32ScratchView = new Float32Array(scratchBuffer); - var f64ScratchView = new Float64Array(scratchBuffer); - - function legalimport$wasm2js_scratch_store_i64(low, high) { - i32ScratchView[0] = low; - i32ScratchView[1] = high; - } - function asmFunc(global, env, buffer) { var HEAP8 = new global.Int8Array(buffer); var HEAP16 = new global.Int16Array(buffer); @@ -6972,6 +6707,8 @@ function asmFunc(global, env, buffer) { var nan = global.NaN; var infinity = global.Infinity; var setTempRet0 = env.setTempRet0; + var __wasm_intrinsics_temp_i64 = 0; + var __wasm_intrinsics_temp_i64$hi = 0; var i64toi32_i32$HIGH_BITS = 0; function $0(x) { x = x | 0; @@ -7097,26 +6834,6 @@ function asmFunc(global, env, buffer) { return $2_1 | 0; } - function legalfunc$wasm2js_scratch_store_i64($0_1, $0$hi) { - $0_1 = $0_1 | 0; - $0$hi = $0$hi | 0; - var i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $8 = 0, $2_1 = 0, i64toi32_i32$2 = 0; - i64toi32_i32$0 = $0$hi; - $2_1 = $0_1; - i64toi32_i32$2 = $0_1; - i64toi32_i32$1 = 0; - i64toi32_i32$3 = 32; - i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { - i64toi32_i32$1 = 0; - $8 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; - } else { - i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; - $8 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; - } - legalimport$wasm2js_scratch_store_i64($2_1 | 0, $8 | 0); - } - function _ZN17compiler_builtins3int4sdiv3Div3div17he78fc483e41d7ec7E(var$0, var$0$hi, var$1, var$1$hi) { var$0 = var$0 | 0; var$0$hi = var$0$hi | 0; @@ -7304,7 +7021,8 @@ function asmFunc(global, env, buffer) { var$3 = var$1; var$2 = (var$2 >>> 0) / (var$3 >>> 0) | 0; i64toi32_i32$1 = 0; - legalfunc$wasm2js_scratch_store_i64(var$0 - Math_imul(var$2, var$3) | 0 | 0, i64toi32_i32$1 | 0); + __wasm_intrinsics_temp_i64 = var$0 - Math_imul(var$2, var$3) | 0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; i64toi32_i32$2 = var$2; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; @@ -7359,7 +7077,8 @@ function asmFunc(global, env, buffer) { i64toi32_i32$1 = $65$hi; i64toi32_i32$0 = $65; i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0; - legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0 | 0 | 0, i64toi32_i32$1 | 0); + __wasm_intrinsics_temp_i64 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; i64toi32_i32$3 = var$2 >>> ((__wasm_ctz_i32(var$3 | 0) | 0) & 31 | 0) | 0; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; @@ -7391,7 +7110,8 @@ function asmFunc(global, env, buffer) { i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; $41 = i64toi32_i32$2 << i64toi32_i32$4 | 0; } - legalfunc$wasm2js_scratch_store_i64($41 | 0, i64toi32_i32$1 | 0); + __wasm_intrinsics_temp_i64 = $41; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; i64toi32_i32$2 = var$4; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; @@ -7405,7 +7125,8 @@ function asmFunc(global, env, buffer) { } i64toi32_i32$2 = var$0$hi; i64toi32_i32$2 = 0; - legalfunc$wasm2js_scratch_store_i64(var$4 & var$0 | 0 | 0, i64toi32_i32$2 | 0); + __wasm_intrinsics_temp_i64 = var$4 & var$0 | 0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$2; if ((var$3 | 0) == (1 | 0)) { break label$1 } @@ -7598,7 +7319,8 @@ function asmFunc(global, env, buffer) { } } i64toi32_i32$3 = var$5$hi; - legalfunc$wasm2js_scratch_store_i64(var$5 | 0, i64toi32_i32$3 | 0); + __wasm_intrinsics_temp_i64 = var$5; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$3; i64toi32_i32$3 = var$0$hi; i64toi32_i32$5 = var$0; i64toi32_i32$2 = 0; @@ -7623,7 +7345,8 @@ function asmFunc(global, env, buffer) { return i64toi32_i32$3 | 0; } i64toi32_i32$3 = var$0$hi; - legalfunc$wasm2js_scratch_store_i64(var$0 | 0, i64toi32_i32$3 | 0); + __wasm_intrinsics_temp_i64 = var$0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$3; i64toi32_i32$3 = 0; var$0 = 0; var$0$hi = i64toi32_i32$3; @@ -7691,17 +7414,6 @@ export var i64_div_s_5 = retasmFunc.i64_div_s_5; export var i64_div_u_5 = retasmFunc.i64_div_u_5; import { setTempRet0 } from 'env'; - - var scratchBuffer = new ArrayBuffer(8); - var i32ScratchView = new Int32Array(scratchBuffer); - var f32ScratchView = new Float32Array(scratchBuffer); - var f64ScratchView = new Float64Array(scratchBuffer); - - function legalimport$wasm2js_scratch_store_i64(low, high) { - i32ScratchView[0] = low; - i32ScratchView[1] = high; - } - function asmFunc(global, env, buffer) { var HEAP8 = new global.Int8Array(buffer); var HEAP16 = new global.Int16Array(buffer); @@ -7724,6 +7436,8 @@ function asmFunc(global, env, buffer) { var nan = global.NaN; var infinity = global.Infinity; var setTempRet0 = env.setTempRet0; + var __wasm_intrinsics_temp_i64 = 0; + var __wasm_intrinsics_temp_i64$hi = 0; var i64toi32_i32$HIGH_BITS = 0; function $0(x) { x = x | 0; @@ -7849,26 +7563,6 @@ function asmFunc(global, env, buffer) { return $2_1 | 0; } - function legalfunc$wasm2js_scratch_store_i64($0_1, $0$hi) { - $0_1 = $0_1 | 0; - $0$hi = $0$hi | 0; - var i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $8 = 0, $2_1 = 0, i64toi32_i32$2 = 0; - i64toi32_i32$0 = $0$hi; - $2_1 = $0_1; - i64toi32_i32$2 = $0_1; - i64toi32_i32$1 = 0; - i64toi32_i32$3 = 32; - i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { - i64toi32_i32$1 = 0; - $8 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; - } else { - i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; - $8 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; - } - legalimport$wasm2js_scratch_store_i64($2_1 | 0, $8 | 0); - } - function _ZN17compiler_builtins3int4sdiv3Div3div17he78fc483e41d7ec7E(var$0, var$0$hi, var$1, var$1$hi) { var$0 = var$0 | 0; var$0$hi = var$0$hi | 0; @@ -8056,7 +7750,8 @@ function asmFunc(global, env, buffer) { var$3 = var$1; var$2 = (var$2 >>> 0) / (var$3 >>> 0) | 0; i64toi32_i32$1 = 0; - legalfunc$wasm2js_scratch_store_i64(var$0 - Math_imul(var$2, var$3) | 0 | 0, i64toi32_i32$1 | 0); + __wasm_intrinsics_temp_i64 = var$0 - Math_imul(var$2, var$3) | 0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; i64toi32_i32$2 = var$2; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; @@ -8111,7 +7806,8 @@ function asmFunc(global, env, buffer) { i64toi32_i32$1 = $65$hi; i64toi32_i32$0 = $65; i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0; - legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0 | 0 | 0, i64toi32_i32$1 | 0); + __wasm_intrinsics_temp_i64 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; i64toi32_i32$3 = var$2 >>> ((__wasm_ctz_i32(var$3 | 0) | 0) & 31 | 0) | 0; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; @@ -8143,7 +7839,8 @@ function asmFunc(global, env, buffer) { i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; $41 = i64toi32_i32$2 << i64toi32_i32$4 | 0; } - legalfunc$wasm2js_scratch_store_i64($41 | 0, i64toi32_i32$1 | 0); + __wasm_intrinsics_temp_i64 = $41; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; i64toi32_i32$2 = var$4; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; @@ -8157,7 +7854,8 @@ function asmFunc(global, env, buffer) { } i64toi32_i32$2 = var$0$hi; i64toi32_i32$2 = 0; - legalfunc$wasm2js_scratch_store_i64(var$4 & var$0 | 0 | 0, i64toi32_i32$2 | 0); + __wasm_intrinsics_temp_i64 = var$4 & var$0 | 0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$2; if ((var$3 | 0) == (1 | 0)) { break label$1 } @@ -8350,7 +8048,8 @@ function asmFunc(global, env, buffer) { } } i64toi32_i32$3 = var$5$hi; - legalfunc$wasm2js_scratch_store_i64(var$5 | 0, i64toi32_i32$3 | 0); + __wasm_intrinsics_temp_i64 = var$5; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$3; i64toi32_i32$3 = var$0$hi; i64toi32_i32$5 = var$0; i64toi32_i32$2 = 0; @@ -8375,7 +8074,8 @@ function asmFunc(global, env, buffer) { return i64toi32_i32$3 | 0; } i64toi32_i32$3 = var$0$hi; - legalfunc$wasm2js_scratch_store_i64(var$0 | 0, i64toi32_i32$3 | 0); + __wasm_intrinsics_temp_i64 = var$0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$3; i64toi32_i32$3 = 0; var$0 = 0; var$0$hi = i64toi32_i32$3; @@ -8442,24 +8142,7 @@ export var i32_div_u_7 = retasmFunc.i32_div_u_7; export var i64_div_s_7 = retasmFunc.i64_div_s_7; export var i64_div_u_7 = retasmFunc.i64_div_u_7; import { setTempRet0 } from 'env'; -import { getTempRet0 } from 'env'; - - var scratchBuffer = new ArrayBuffer(8); - var i32ScratchView = new Int32Array(scratchBuffer); - var f32ScratchView = new Float32Array(scratchBuffer); - var f64ScratchView = new Float64Array(scratchBuffer); - - function legalimport$wasm2js_scratch_load_i64() { - if (typeof setTempRet0 === 'function') setTempRet0(i32ScratchView[1]); - return i32ScratchView[0]; - } - - function legalimport$wasm2js_scratch_store_i64(low, high) { - i32ScratchView[0] = low; - i32ScratchView[1] = high; - } - function asmFunc(global, env, buffer) { var HEAP8 = new global.Int8Array(buffer); var HEAP16 = new global.Int16Array(buffer); @@ -8482,7 +8165,8 @@ function asmFunc(global, env, buffer) { var nan = global.NaN; var infinity = global.Infinity; var setTempRet0 = env.setTempRet0; - var getTempRet0 = env.getTempRet0; + var __wasm_intrinsics_temp_i64 = 0; + var __wasm_intrinsics_temp_i64$hi = 0; var i64toi32_i32$HIGH_BITS = 0; function $0(x) { x = x | 0; @@ -8608,54 +8292,6 @@ function asmFunc(global, env, buffer) { return $2_1 | 0; } - function legalfunc$wasm2js_scratch_load_i64() { - var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $8 = 0, $1_1 = 0, $1$hi = 0, $4$hi = 0; - i64toi32_i32$0 = 0; - $1_1 = legalimport$wasm2js_scratch_load_i64() | 0; - $1$hi = i64toi32_i32$0; - i64toi32_i32$0 = 0; - i64toi32_i32$2 = getTempRet0() | 0; - i64toi32_i32$1 = 0; - i64toi32_i32$3 = 32; - i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { - i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; - $8 = 0; - } else { - i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; - $8 = i64toi32_i32$2 << i64toi32_i32$4 | 0; - } - $4$hi = i64toi32_i32$1; - i64toi32_i32$1 = $1$hi; - i64toi32_i32$0 = $1_1; - i64toi32_i32$2 = $4$hi; - i64toi32_i32$3 = $8; - i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; - i64toi32_i32$0 = i64toi32_i32$0 | i64toi32_i32$3 | 0; - i64toi32_i32$HIGH_BITS = i64toi32_i32$2; - return i64toi32_i32$0 | 0; - } - - function legalfunc$wasm2js_scratch_store_i64($0_1, $0$hi) { - $0_1 = $0_1 | 0; - $0$hi = $0$hi | 0; - var i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $8 = 0, $2_1 = 0, i64toi32_i32$2 = 0; - i64toi32_i32$0 = $0$hi; - $2_1 = $0_1; - i64toi32_i32$2 = $0_1; - i64toi32_i32$1 = 0; - i64toi32_i32$3 = 32; - i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { - i64toi32_i32$1 = 0; - $8 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; - } else { - i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; - $8 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; - } - legalimport$wasm2js_scratch_store_i64($2_1 | 0, $8 | 0); - } - function _ZN17compiler_builtins3int4sdiv3Mod4mod_17h2cbb7bbf36e41d68E(var$0, var$0$hi, var$1, var$1$hi) { var$0 = var$0 | 0; var$0$hi = var$0$hi | 0; @@ -8823,7 +8459,8 @@ function asmFunc(global, env, buffer) { var$3 = var$1; var$2 = (var$2 >>> 0) / (var$3 >>> 0) | 0; i64toi32_i32$1 = 0; - legalfunc$wasm2js_scratch_store_i64(var$0 - Math_imul(var$2, var$3) | 0 | 0, i64toi32_i32$1 | 0); + __wasm_intrinsics_temp_i64 = var$0 - Math_imul(var$2, var$3) | 0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; i64toi32_i32$2 = var$2; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; @@ -8878,7 +8515,8 @@ function asmFunc(global, env, buffer) { i64toi32_i32$1 = $65$hi; i64toi32_i32$0 = $65; i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0; - legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0 | 0 | 0, i64toi32_i32$1 | 0); + __wasm_intrinsics_temp_i64 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; i64toi32_i32$3 = var$2 >>> ((__wasm_ctz_i32(var$3 | 0) | 0) & 31 | 0) | 0; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; @@ -8910,7 +8548,8 @@ function asmFunc(global, env, buffer) { i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; $41 = i64toi32_i32$2 << i64toi32_i32$4 | 0; } - legalfunc$wasm2js_scratch_store_i64($41 | 0, i64toi32_i32$1 | 0); + __wasm_intrinsics_temp_i64 = $41; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; i64toi32_i32$2 = var$4; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; @@ -8924,7 +8563,8 @@ function asmFunc(global, env, buffer) { } i64toi32_i32$2 = var$0$hi; i64toi32_i32$2 = 0; - legalfunc$wasm2js_scratch_store_i64(var$4 & var$0 | 0 | 0, i64toi32_i32$2 | 0); + __wasm_intrinsics_temp_i64 = var$4 & var$0 | 0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$2; if ((var$3 | 0) == (1 | 0)) { break label$1 } @@ -9117,7 +8757,8 @@ function asmFunc(global, env, buffer) { } } i64toi32_i32$3 = var$5$hi; - legalfunc$wasm2js_scratch_store_i64(var$5 | 0, i64toi32_i32$3 | 0); + __wasm_intrinsics_temp_i64 = var$5; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$3; i64toi32_i32$3 = var$0$hi; i64toi32_i32$5 = var$0; i64toi32_i32$2 = 0; @@ -9142,7 +8783,8 @@ function asmFunc(global, env, buffer) { return i64toi32_i32$3 | 0; } i64toi32_i32$3 = var$0$hi; - legalfunc$wasm2js_scratch_store_i64(var$0 | 0, i64toi32_i32$3 | 0); + __wasm_intrinsics_temp_i64 = var$0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$3; i64toi32_i32$3 = 0; var$0 = 0; var$0$hi = i64toi32_i32$3; @@ -9181,10 +8823,10 @@ function asmFunc(global, env, buffer) { i64toi32_i32$1 = var$1$hi; i64toi32_i32$1 = _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E(var$0 | 0, i64toi32_i32$0 | 0, var$1 | 0, i64toi32_i32$1 | 0) | 0; i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; - i64toi32_i32$0 = legalfunc$wasm2js_scratch_load_i64() | 0; - i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; - i64toi32_i32$HIGH_BITS = i64toi32_i32$1; - return i64toi32_i32$0 | 0; + i64toi32_i32$0 = __wasm_intrinsics_temp_i64$hi; + i64toi32_i32$1 = __wasm_intrinsics_temp_i64; + i64toi32_i32$HIGH_BITS = i64toi32_i32$0; + return i64toi32_i32$1 | 0; } function __wasm_ctz_i32(var$0) { @@ -9205,30 +8847,13 @@ function asmFunc(global, env, buffer) { } var memasmFunc = new ArrayBuffer(65536); -var retasmFunc = asmFunc({Math,Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,NaN,Infinity}, {abort:function() { throw new Error('abort'); },setTempRet0,getTempRet0},memasmFunc); +var retasmFunc = asmFunc({Math,Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,NaN,Infinity}, {abort:function() { throw new Error('abort'); },setTempRet0},memasmFunc); export var i32_rem_s_3 = retasmFunc.i32_rem_s_3; export var i32_rem_u_3 = retasmFunc.i32_rem_u_3; export var i64_rem_s_3 = retasmFunc.i64_rem_s_3; export var i64_rem_u_3 = retasmFunc.i64_rem_u_3; import { setTempRet0 } from 'env'; -import { getTempRet0 } from 'env'; - - var scratchBuffer = new ArrayBuffer(8); - var i32ScratchView = new Int32Array(scratchBuffer); - var f32ScratchView = new Float32Array(scratchBuffer); - var f64ScratchView = new Float64Array(scratchBuffer); - - function legalimport$wasm2js_scratch_load_i64() { - if (typeof setTempRet0 === 'function') setTempRet0(i32ScratchView[1]); - return i32ScratchView[0]; - } - - function legalimport$wasm2js_scratch_store_i64(low, high) { - i32ScratchView[0] = low; - i32ScratchView[1] = high; - } - function asmFunc(global, env, buffer) { var HEAP8 = new global.Int8Array(buffer); var HEAP16 = new global.Int16Array(buffer); @@ -9251,7 +8876,8 @@ function asmFunc(global, env, buffer) { var nan = global.NaN; var infinity = global.Infinity; var setTempRet0 = env.setTempRet0; - var getTempRet0 = env.getTempRet0; + var __wasm_intrinsics_temp_i64 = 0; + var __wasm_intrinsics_temp_i64$hi = 0; var i64toi32_i32$HIGH_BITS = 0; function $0(x) { x = x | 0; @@ -9377,54 +9003,6 @@ function asmFunc(global, env, buffer) { return $2_1 | 0; } - function legalfunc$wasm2js_scratch_load_i64() { - var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $8 = 0, $1_1 = 0, $1$hi = 0, $4$hi = 0; - i64toi32_i32$0 = 0; - $1_1 = legalimport$wasm2js_scratch_load_i64() | 0; - $1$hi = i64toi32_i32$0; - i64toi32_i32$0 = 0; - i64toi32_i32$2 = getTempRet0() | 0; - i64toi32_i32$1 = 0; - i64toi32_i32$3 = 32; - i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { - i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; - $8 = 0; - } else { - i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; - $8 = i64toi32_i32$2 << i64toi32_i32$4 | 0; - } - $4$hi = i64toi32_i32$1; - i64toi32_i32$1 = $1$hi; - i64toi32_i32$0 = $1_1; - i64toi32_i32$2 = $4$hi; - i64toi32_i32$3 = $8; - i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; - i64toi32_i32$0 = i64toi32_i32$0 | i64toi32_i32$3 | 0; - i64toi32_i32$HIGH_BITS = i64toi32_i32$2; - return i64toi32_i32$0 | 0; - } - - function legalfunc$wasm2js_scratch_store_i64($0_1, $0$hi) { - $0_1 = $0_1 | 0; - $0$hi = $0$hi | 0; - var i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $8 = 0, $2_1 = 0, i64toi32_i32$2 = 0; - i64toi32_i32$0 = $0$hi; - $2_1 = $0_1; - i64toi32_i32$2 = $0_1; - i64toi32_i32$1 = 0; - i64toi32_i32$3 = 32; - i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { - i64toi32_i32$1 = 0; - $8 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; - } else { - i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; - $8 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; - } - legalimport$wasm2js_scratch_store_i64($2_1 | 0, $8 | 0); - } - function _ZN17compiler_builtins3int4sdiv3Mod4mod_17h2cbb7bbf36e41d68E(var$0, var$0$hi, var$1, var$1$hi) { var$0 = var$0 | 0; var$0$hi = var$0$hi | 0; @@ -9592,7 +9170,8 @@ function asmFunc(global, env, buffer) { var$3 = var$1; var$2 = (var$2 >>> 0) / (var$3 >>> 0) | 0; i64toi32_i32$1 = 0; - legalfunc$wasm2js_scratch_store_i64(var$0 - Math_imul(var$2, var$3) | 0 | 0, i64toi32_i32$1 | 0); + __wasm_intrinsics_temp_i64 = var$0 - Math_imul(var$2, var$3) | 0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; i64toi32_i32$2 = var$2; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; @@ -9647,7 +9226,8 @@ function asmFunc(global, env, buffer) { i64toi32_i32$1 = $65$hi; i64toi32_i32$0 = $65; i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0; - legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0 | 0 | 0, i64toi32_i32$1 | 0); + __wasm_intrinsics_temp_i64 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; i64toi32_i32$3 = var$2 >>> ((__wasm_ctz_i32(var$3 | 0) | 0) & 31 | 0) | 0; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; @@ -9679,7 +9259,8 @@ function asmFunc(global, env, buffer) { i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; $41 = i64toi32_i32$2 << i64toi32_i32$4 | 0; } - legalfunc$wasm2js_scratch_store_i64($41 | 0, i64toi32_i32$1 | 0); + __wasm_intrinsics_temp_i64 = $41; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; i64toi32_i32$2 = var$4; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; @@ -9693,7 +9274,8 @@ function asmFunc(global, env, buffer) { } i64toi32_i32$2 = var$0$hi; i64toi32_i32$2 = 0; - legalfunc$wasm2js_scratch_store_i64(var$4 & var$0 | 0 | 0, i64toi32_i32$2 | 0); + __wasm_intrinsics_temp_i64 = var$4 & var$0 | 0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$2; if ((var$3 | 0) == (1 | 0)) { break label$1 } @@ -9886,7 +9468,8 @@ function asmFunc(global, env, buffer) { } } i64toi32_i32$3 = var$5$hi; - legalfunc$wasm2js_scratch_store_i64(var$5 | 0, i64toi32_i32$3 | 0); + __wasm_intrinsics_temp_i64 = var$5; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$3; i64toi32_i32$3 = var$0$hi; i64toi32_i32$5 = var$0; i64toi32_i32$2 = 0; @@ -9911,7 +9494,8 @@ function asmFunc(global, env, buffer) { return i64toi32_i32$3 | 0; } i64toi32_i32$3 = var$0$hi; - legalfunc$wasm2js_scratch_store_i64(var$0 | 0, i64toi32_i32$3 | 0); + __wasm_intrinsics_temp_i64 = var$0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$3; i64toi32_i32$3 = 0; var$0 = 0; var$0$hi = i64toi32_i32$3; @@ -9950,10 +9534,10 @@ function asmFunc(global, env, buffer) { i64toi32_i32$1 = var$1$hi; i64toi32_i32$1 = _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E(var$0 | 0, i64toi32_i32$0 | 0, var$1 | 0, i64toi32_i32$1 | 0) | 0; i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; - i64toi32_i32$0 = legalfunc$wasm2js_scratch_load_i64() | 0; - i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; - i64toi32_i32$HIGH_BITS = i64toi32_i32$1; - return i64toi32_i32$0 | 0; + i64toi32_i32$0 = __wasm_intrinsics_temp_i64$hi; + i64toi32_i32$1 = __wasm_intrinsics_temp_i64; + i64toi32_i32$HIGH_BITS = i64toi32_i32$0; + return i64toi32_i32$1 | 0; } function __wasm_ctz_i32(var$0) { @@ -9974,30 +9558,13 @@ function asmFunc(global, env, buffer) { } var memasmFunc = new ArrayBuffer(65536); -var retasmFunc = asmFunc({Math,Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,NaN,Infinity}, {abort:function() { throw new Error('abort'); },setTempRet0,getTempRet0},memasmFunc); +var retasmFunc = asmFunc({Math,Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,NaN,Infinity}, {abort:function() { throw new Error('abort'); },setTempRet0},memasmFunc); export var i32_rem_s_5 = retasmFunc.i32_rem_s_5; export var i32_rem_u_5 = retasmFunc.i32_rem_u_5; export var i64_rem_s_5 = retasmFunc.i64_rem_s_5; export var i64_rem_u_5 = retasmFunc.i64_rem_u_5; import { setTempRet0 } from 'env'; -import { getTempRet0 } from 'env'; - - var scratchBuffer = new ArrayBuffer(8); - var i32ScratchView = new Int32Array(scratchBuffer); - var f32ScratchView = new Float32Array(scratchBuffer); - var f64ScratchView = new Float64Array(scratchBuffer); - - function legalimport$wasm2js_scratch_load_i64() { - if (typeof setTempRet0 === 'function') setTempRet0(i32ScratchView[1]); - return i32ScratchView[0]; - } - - function legalimport$wasm2js_scratch_store_i64(low, high) { - i32ScratchView[0] = low; - i32ScratchView[1] = high; - } - function asmFunc(global, env, buffer) { var HEAP8 = new global.Int8Array(buffer); var HEAP16 = new global.Int16Array(buffer); @@ -10020,7 +9587,8 @@ function asmFunc(global, env, buffer) { var nan = global.NaN; var infinity = global.Infinity; var setTempRet0 = env.setTempRet0; - var getTempRet0 = env.getTempRet0; + var __wasm_intrinsics_temp_i64 = 0; + var __wasm_intrinsics_temp_i64$hi = 0; var i64toi32_i32$HIGH_BITS = 0; function $0(x) { x = x | 0; @@ -10146,54 +9714,6 @@ function asmFunc(global, env, buffer) { return $2_1 | 0; } - function legalfunc$wasm2js_scratch_load_i64() { - var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $8 = 0, $1_1 = 0, $1$hi = 0, $4$hi = 0; - i64toi32_i32$0 = 0; - $1_1 = legalimport$wasm2js_scratch_load_i64() | 0; - $1$hi = i64toi32_i32$0; - i64toi32_i32$0 = 0; - i64toi32_i32$2 = getTempRet0() | 0; - i64toi32_i32$1 = 0; - i64toi32_i32$3 = 32; - i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { - i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; - $8 = 0; - } else { - i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; - $8 = i64toi32_i32$2 << i64toi32_i32$4 | 0; - } - $4$hi = i64toi32_i32$1; - i64toi32_i32$1 = $1$hi; - i64toi32_i32$0 = $1_1; - i64toi32_i32$2 = $4$hi; - i64toi32_i32$3 = $8; - i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; - i64toi32_i32$0 = i64toi32_i32$0 | i64toi32_i32$3 | 0; - i64toi32_i32$HIGH_BITS = i64toi32_i32$2; - return i64toi32_i32$0 | 0; - } - - function legalfunc$wasm2js_scratch_store_i64($0_1, $0$hi) { - $0_1 = $0_1 | 0; - $0$hi = $0$hi | 0; - var i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $8 = 0, $2_1 = 0, i64toi32_i32$2 = 0; - i64toi32_i32$0 = $0$hi; - $2_1 = $0_1; - i64toi32_i32$2 = $0_1; - i64toi32_i32$1 = 0; - i64toi32_i32$3 = 32; - i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { - i64toi32_i32$1 = 0; - $8 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; - } else { - i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; - $8 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; - } - legalimport$wasm2js_scratch_store_i64($2_1 | 0, $8 | 0); - } - function _ZN17compiler_builtins3int4sdiv3Mod4mod_17h2cbb7bbf36e41d68E(var$0, var$0$hi, var$1, var$1$hi) { var$0 = var$0 | 0; var$0$hi = var$0$hi | 0; @@ -10361,7 +9881,8 @@ function asmFunc(global, env, buffer) { var$3 = var$1; var$2 = (var$2 >>> 0) / (var$3 >>> 0) | 0; i64toi32_i32$1 = 0; - legalfunc$wasm2js_scratch_store_i64(var$0 - Math_imul(var$2, var$3) | 0 | 0, i64toi32_i32$1 | 0); + __wasm_intrinsics_temp_i64 = var$0 - Math_imul(var$2, var$3) | 0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; i64toi32_i32$2 = var$2; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; @@ -10416,7 +9937,8 @@ function asmFunc(global, env, buffer) { i64toi32_i32$1 = $65$hi; i64toi32_i32$0 = $65; i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0; - legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0 | 0 | 0, i64toi32_i32$1 | 0); + __wasm_intrinsics_temp_i64 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; i64toi32_i32$3 = var$2 >>> ((__wasm_ctz_i32(var$3 | 0) | 0) & 31 | 0) | 0; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; @@ -10448,7 +9970,8 @@ function asmFunc(global, env, buffer) { i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; $41 = i64toi32_i32$2 << i64toi32_i32$4 | 0; } - legalfunc$wasm2js_scratch_store_i64($41 | 0, i64toi32_i32$1 | 0); + __wasm_intrinsics_temp_i64 = $41; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; i64toi32_i32$2 = var$4; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; @@ -10462,7 +9985,8 @@ function asmFunc(global, env, buffer) { } i64toi32_i32$2 = var$0$hi; i64toi32_i32$2 = 0; - legalfunc$wasm2js_scratch_store_i64(var$4 & var$0 | 0 | 0, i64toi32_i32$2 | 0); + __wasm_intrinsics_temp_i64 = var$4 & var$0 | 0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$2; if ((var$3 | 0) == (1 | 0)) { break label$1 } @@ -10655,7 +10179,8 @@ function asmFunc(global, env, buffer) { } } i64toi32_i32$3 = var$5$hi; - legalfunc$wasm2js_scratch_store_i64(var$5 | 0, i64toi32_i32$3 | 0); + __wasm_intrinsics_temp_i64 = var$5; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$3; i64toi32_i32$3 = var$0$hi; i64toi32_i32$5 = var$0; i64toi32_i32$2 = 0; @@ -10680,7 +10205,8 @@ function asmFunc(global, env, buffer) { return i64toi32_i32$3 | 0; } i64toi32_i32$3 = var$0$hi; - legalfunc$wasm2js_scratch_store_i64(var$0 | 0, i64toi32_i32$3 | 0); + __wasm_intrinsics_temp_i64 = var$0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$3; i64toi32_i32$3 = 0; var$0 = 0; var$0$hi = i64toi32_i32$3; @@ -10719,10 +10245,10 @@ function asmFunc(global, env, buffer) { i64toi32_i32$1 = var$1$hi; i64toi32_i32$1 = _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E(var$0 | 0, i64toi32_i32$0 | 0, var$1 | 0, i64toi32_i32$1 | 0) | 0; i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; - i64toi32_i32$0 = legalfunc$wasm2js_scratch_load_i64() | 0; - i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; - i64toi32_i32$HIGH_BITS = i64toi32_i32$1; - return i64toi32_i32$0 | 0; + i64toi32_i32$0 = __wasm_intrinsics_temp_i64$hi; + i64toi32_i32$1 = __wasm_intrinsics_temp_i64; + i64toi32_i32$HIGH_BITS = i64toi32_i32$0; + return i64toi32_i32$1 | 0; } function __wasm_ctz_i32(var$0) { @@ -10743,24 +10269,13 @@ function asmFunc(global, env, buffer) { } var memasmFunc = new ArrayBuffer(65536); -var retasmFunc = asmFunc({Math,Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,NaN,Infinity}, {abort:function() { throw new Error('abort'); },setTempRet0,getTempRet0},memasmFunc); +var retasmFunc = asmFunc({Math,Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,NaN,Infinity}, {abort:function() { throw new Error('abort'); },setTempRet0},memasmFunc); export var i32_rem_s_7 = retasmFunc.i32_rem_s_7; export var i32_rem_u_7 = retasmFunc.i32_rem_u_7; export var i64_rem_s_7 = retasmFunc.i64_rem_s_7; export var i64_rem_u_7 = retasmFunc.i64_rem_u_7; import { setTempRet0 } from 'env'; - - var scratchBuffer = new ArrayBuffer(8); - var i32ScratchView = new Int32Array(scratchBuffer); - var f32ScratchView = new Float32Array(scratchBuffer); - var f64ScratchView = new Float64Array(scratchBuffer); - - function legalimport$wasm2js_scratch_store_i64(low, high) { - i32ScratchView[0] = low; - i32ScratchView[1] = high; - } - function asmFunc(global, env, buffer) { var HEAP8 = new global.Int8Array(buffer); var HEAP16 = new global.Int16Array(buffer); @@ -10783,6 +10298,8 @@ function asmFunc(global, env, buffer) { var nan = global.NaN; var infinity = global.Infinity; var setTempRet0 = env.setTempRet0; + var __wasm_intrinsics_temp_i64 = 0; + var __wasm_intrinsics_temp_i64$hi = 0; var i64toi32_i32$HIGH_BITS = 0; function $0(x) { x = x | 0; @@ -10846,26 +10363,6 @@ function asmFunc(global, env, buffer) { return $2 | 0; } - function legalfunc$wasm2js_scratch_store_i64($0_1, $0$hi) { - $0_1 = $0_1 | 0; - $0$hi = $0$hi | 0; - var i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $8 = 0, $2 = 0, i64toi32_i32$2 = 0; - i64toi32_i32$0 = $0$hi; - $2 = $0_1; - i64toi32_i32$2 = $0_1; - i64toi32_i32$1 = 0; - i64toi32_i32$3 = 32; - i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { - i64toi32_i32$1 = 0; - $8 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; - } else { - i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; - $8 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; - } - legalimport$wasm2js_scratch_store_i64($2 | 0, $8 | 0); - } - function _ZN17compiler_builtins3int4sdiv3Div3div17he78fc483e41d7ec7E(var$0, var$0$hi, var$1, var$1$hi) { var$0 = var$0 | 0; var$0$hi = var$0$hi | 0; @@ -11069,7 +10566,8 @@ function asmFunc(global, env, buffer) { var$3 = var$1; var$2 = (var$2 >>> 0) / (var$3 >>> 0) | 0; i64toi32_i32$1 = 0; - legalfunc$wasm2js_scratch_store_i64(var$0 - Math_imul(var$2, var$3) | 0 | 0, i64toi32_i32$1 | 0); + __wasm_intrinsics_temp_i64 = var$0 - Math_imul(var$2, var$3) | 0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; i64toi32_i32$2 = var$2; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; @@ -11124,7 +10622,8 @@ function asmFunc(global, env, buffer) { i64toi32_i32$1 = $65$hi; i64toi32_i32$0 = $65; i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0; - legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0 | 0 | 0, i64toi32_i32$1 | 0); + __wasm_intrinsics_temp_i64 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; i64toi32_i32$3 = var$2 >>> ((__wasm_ctz_i32(var$3 | 0) | 0) & 31 | 0) | 0; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; @@ -11156,7 +10655,8 @@ function asmFunc(global, env, buffer) { i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; $41 = i64toi32_i32$2 << i64toi32_i32$4 | 0; } - legalfunc$wasm2js_scratch_store_i64($41 | 0, i64toi32_i32$1 | 0); + __wasm_intrinsics_temp_i64 = $41; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; i64toi32_i32$2 = var$4; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; @@ -11170,7 +10670,8 @@ function asmFunc(global, env, buffer) { } i64toi32_i32$2 = var$0$hi; i64toi32_i32$2 = 0; - legalfunc$wasm2js_scratch_store_i64(var$4 & var$0 | 0 | 0, i64toi32_i32$2 | 0); + __wasm_intrinsics_temp_i64 = var$4 & var$0 | 0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$2; if ((var$3 | 0) == (1 | 0)) { break label$1 } @@ -11363,7 +10864,8 @@ function asmFunc(global, env, buffer) { } } i64toi32_i32$3 = var$5$hi; - legalfunc$wasm2js_scratch_store_i64(var$5 | 0, i64toi32_i32$3 | 0); + __wasm_intrinsics_temp_i64 = var$5; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$3; i64toi32_i32$3 = var$0$hi; i64toi32_i32$5 = var$0; i64toi32_i32$2 = 0; @@ -11388,7 +10890,8 @@ function asmFunc(global, env, buffer) { return i64toi32_i32$3 | 0; } i64toi32_i32$3 = var$0$hi; - legalfunc$wasm2js_scratch_store_i64(var$0 | 0, i64toi32_i32$3 | 0); + __wasm_intrinsics_temp_i64 = var$0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$3; i64toi32_i32$3 = 0; var$0 = 0; var$0$hi = i64toi32_i32$3; diff --git a/test/wasm2js/left-to-right.2asm.js b/test/wasm2js/left-to-right.2asm.js index 4dc0b081c..5a2826c59 100644 --- a/test/wasm2js/left-to-right.2asm.js +++ b/test/wasm2js/left-to-right.2asm.js @@ -1,4 +1,3 @@ -import { getTempRet0 } from 'env'; var scratchBuffer = new ArrayBuffer(8); @@ -22,16 +21,6 @@ import { getTempRet0 } from 'env'; f64ScratchView[0] = value; } - function legalimport$wasm2js_scratch_load_i64() { - if (typeof setTempRet0 === 'function') setTempRet0(i32ScratchView[1]); - return i32ScratchView[0]; - } - - function legalimport$wasm2js_scratch_store_i64(low, high) { - i32ScratchView[0] = low; - i32ScratchView[1] = high; - } - function wasm2js_scratch_store_f32(value) { f32ScratchView[0] = value; } @@ -57,7 +46,8 @@ function asmFunc(global, env, buffer) { var abort = env.abort; var nan = global.NaN; var infinity = global.Infinity; - var getTempRet0 = env.getTempRet0; + var __wasm_intrinsics_temp_i64 = 0; + var __wasm_intrinsics_temp_i64$hi = 0; var i64toi32_i32$HIGH_BITS = 0; function i32_t0($0, $1) { $0 = $0 | 0; @@ -1270,54 +1260,6 @@ function asmFunc(global, env, buffer) { return $3 | 0; } - function legalfunc$wasm2js_scratch_load_i64() { - var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $8 = 0, $1 = 0, $1$hi = 0, $4$hi = 0; - i64toi32_i32$0 = 0; - $1 = legalimport$wasm2js_scratch_load_i64() | 0; - $1$hi = i64toi32_i32$0; - i64toi32_i32$0 = 0; - i64toi32_i32$2 = getTempRet0() | 0; - i64toi32_i32$1 = 0; - i64toi32_i32$3 = 32; - i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { - i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; - $8 = 0; - } else { - i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; - $8 = i64toi32_i32$2 << i64toi32_i32$4 | 0; - } - $4$hi = i64toi32_i32$1; - i64toi32_i32$1 = $1$hi; - i64toi32_i32$0 = $1; - i64toi32_i32$2 = $4$hi; - i64toi32_i32$3 = $8; - i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; - i64toi32_i32$0 = i64toi32_i32$0 | i64toi32_i32$3 | 0; - i64toi32_i32$HIGH_BITS = i64toi32_i32$2; - return i64toi32_i32$0 | 0; - } - - function legalfunc$wasm2js_scratch_store_i64($0, $0$hi) { - $0 = $0 | 0; - $0$hi = $0$hi | 0; - var i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $8 = 0, $2 = 0, i64toi32_i32$2 = 0; - i64toi32_i32$0 = $0$hi; - $2 = $0; - i64toi32_i32$2 = $0; - i64toi32_i32$1 = 0; - i64toi32_i32$3 = 32; - i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { - i64toi32_i32$1 = 0; - $8 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; - } else { - i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; - $8 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; - } - legalimport$wasm2js_scratch_store_i64($2 | 0, $8 | 0); - } - function _ZN17compiler_builtins3int3mul3Mul3mul17h070e9a1c69faec5bE(var$0, var$0$hi, var$1, var$1$hi) { var$0 = var$0 | 0; var$0$hi = var$0$hi | 0; @@ -1669,7 +1611,8 @@ function asmFunc(global, env, buffer) { var$3 = var$1; var$2 = (var$2 >>> 0) / (var$3 >>> 0) | 0; i64toi32_i32$1 = 0; - legalfunc$wasm2js_scratch_store_i64(var$0 - Math_imul(var$2, var$3) | 0 | 0, i64toi32_i32$1 | 0); + __wasm_intrinsics_temp_i64 = var$0 - Math_imul(var$2, var$3) | 0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; i64toi32_i32$2 = var$2; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; @@ -1724,7 +1667,8 @@ function asmFunc(global, env, buffer) { i64toi32_i32$1 = $65$hi; i64toi32_i32$0 = $65_1; i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0; - legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0 | 0 | 0, i64toi32_i32$1 | 0); + __wasm_intrinsics_temp_i64 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; i64toi32_i32$3 = var$2 >>> ((__wasm_ctz_i32(var$3 | 0) | 0) & 31 | 0) | 0; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; @@ -1756,7 +1700,8 @@ function asmFunc(global, env, buffer) { i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; $41_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; } - legalfunc$wasm2js_scratch_store_i64($41_1 | 0, i64toi32_i32$1 | 0); + __wasm_intrinsics_temp_i64 = $41_1; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; i64toi32_i32$2 = var$4; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; @@ -1770,7 +1715,8 @@ function asmFunc(global, env, buffer) { } i64toi32_i32$2 = var$0$hi; i64toi32_i32$2 = 0; - legalfunc$wasm2js_scratch_store_i64(var$4 & var$0 | 0 | 0, i64toi32_i32$2 | 0); + __wasm_intrinsics_temp_i64 = var$4 & var$0 | 0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$2; if ((var$3 | 0) == (1 | 0)) { break label$1 } @@ -1963,7 +1909,8 @@ function asmFunc(global, env, buffer) { } } i64toi32_i32$3 = var$5$hi; - legalfunc$wasm2js_scratch_store_i64(var$5 | 0, i64toi32_i32$3 | 0); + __wasm_intrinsics_temp_i64 = var$5; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$3; i64toi32_i32$3 = var$0$hi; i64toi32_i32$5 = var$0; i64toi32_i32$2 = 0; @@ -1988,7 +1935,8 @@ function asmFunc(global, env, buffer) { return i64toi32_i32$3 | 0; } i64toi32_i32$3 = var$0$hi; - legalfunc$wasm2js_scratch_store_i64(var$0 | 0, i64toi32_i32$3 | 0); + __wasm_intrinsics_temp_i64 = var$0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$3; i64toi32_i32$3 = 0; var$0 = 0; var$0$hi = i64toi32_i32$3; @@ -2075,10 +2023,10 @@ function asmFunc(global, env, buffer) { i64toi32_i32$1 = var$1$hi; i64toi32_i32$1 = _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E(var$0 | 0, i64toi32_i32$0 | 0, var$1 | 0, i64toi32_i32$1 | 0) | 0; i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; - i64toi32_i32$0 = legalfunc$wasm2js_scratch_load_i64() | 0; - i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; - i64toi32_i32$HIGH_BITS = i64toi32_i32$1; - return i64toi32_i32$0 | 0; + i64toi32_i32$0 = __wasm_intrinsics_temp_i64$hi; + i64toi32_i32$1 = __wasm_intrinsics_temp_i64; + i64toi32_i32$HIGH_BITS = i64toi32_i32$0; + return i64toi32_i32$1 | 0; } function __wasm_ctz_i32(var$0) { @@ -2217,7 +2165,7 @@ function asmFunc(global, env, buffer) { var memasmFunc = new ArrayBuffer(65536); var bufferView = new Uint8Array(memasmFunc); -var retasmFunc = asmFunc({Math,Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,NaN,Infinity}, {abort:function() { throw new Error('abort'); },getTempRet0},memasmFunc); +var retasmFunc = asmFunc({Math,Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,NaN,Infinity}, {abort:function() { throw new Error('abort'); }},memasmFunc); export var i32_add = retasmFunc.i32_add; export var i32_sub = retasmFunc.i32_sub; export var i32_mul = retasmFunc.i32_mul; diff --git a/test/wasm2js/traps.2asm.js b/test/wasm2js/traps.2asm.js index f9070fe34..4b5dbd084 100644 --- a/test/wasm2js/traps.2asm.js +++ b/test/wasm2js/traps.2asm.js @@ -1,15 +1,4 @@ - - var scratchBuffer = new ArrayBuffer(8); - var i32ScratchView = new Int32Array(scratchBuffer); - var f32ScratchView = new Float32Array(scratchBuffer); - var f64ScratchView = new Float64Array(scratchBuffer); - - function legalimport$wasm2js_scratch_store_i64(low, high) { - i32ScratchView[0] = low; - i32ScratchView[1] = high; - } - function asmFunc(global, env, buffer) { var HEAP8 = new global.Int8Array(buffer); var HEAP16 = new global.Int16Array(buffer); @@ -31,6 +20,8 @@ function asmFunc(global, env, buffer) { var abort = env.abort; var nan = global.NaN; var infinity = global.Infinity; + var __wasm_intrinsics_temp_i64 = 0; + var __wasm_intrinsics_temp_i64$hi = 0; var i64toi32_i32$HIGH_BITS = 0; function $0(x, y) { x = x | 0; @@ -174,26 +165,6 @@ function asmFunc(global, env, buffer) { $3($9 | 0, i64toi32_i32$1 | 0, $15 | 0, i64toi32_i32$2 | 0); } - function legalfunc$wasm2js_scratch_store_i64($0_1, $0$hi) { - $0_1 = $0_1 | 0; - $0$hi = $0$hi | 0; - var i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $8 = 0, $2_1 = 0, i64toi32_i32$2 = 0; - i64toi32_i32$0 = $0$hi; - $2_1 = $0_1; - i64toi32_i32$2 = $0_1; - i64toi32_i32$1 = 0; - i64toi32_i32$3 = 32; - i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { - i64toi32_i32$1 = 0; - $8 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; - } else { - i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; - $8 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; - } - legalimport$wasm2js_scratch_store_i64($2_1 | 0, $8 | 0); - } - function _ZN17compiler_builtins3int4sdiv3Div3div17he78fc483e41d7ec7E(var$0, var$0$hi, var$1, var$1$hi) { var$0 = var$0 | 0; var$0$hi = var$0$hi | 0; @@ -381,7 +352,8 @@ function asmFunc(global, env, buffer) { var$3 = var$1; var$2 = (var$2 >>> 0) / (var$3 >>> 0) | 0; i64toi32_i32$1 = 0; - legalfunc$wasm2js_scratch_store_i64(var$0 - Math_imul(var$2, var$3) | 0 | 0, i64toi32_i32$1 | 0); + __wasm_intrinsics_temp_i64 = var$0 - Math_imul(var$2, var$3) | 0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; i64toi32_i32$2 = var$2; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; @@ -436,7 +408,8 @@ function asmFunc(global, env, buffer) { i64toi32_i32$1 = $65$hi; i64toi32_i32$0 = $65; i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0; - legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0 | 0 | 0, i64toi32_i32$1 | 0); + __wasm_intrinsics_temp_i64 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; i64toi32_i32$3 = var$2 >>> ((__wasm_ctz_i32(var$3 | 0) | 0) & 31 | 0) | 0; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; @@ -468,7 +441,8 @@ function asmFunc(global, env, buffer) { i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; $41 = i64toi32_i32$2 << i64toi32_i32$4 | 0; } - legalfunc$wasm2js_scratch_store_i64($41 | 0, i64toi32_i32$1 | 0); + __wasm_intrinsics_temp_i64 = $41; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; i64toi32_i32$2 = var$4; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; @@ -482,7 +456,8 @@ function asmFunc(global, env, buffer) { } i64toi32_i32$2 = var$0$hi; i64toi32_i32$2 = 0; - legalfunc$wasm2js_scratch_store_i64(var$4 & var$0 | 0 | 0, i64toi32_i32$2 | 0); + __wasm_intrinsics_temp_i64 = var$4 & var$0 | 0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$2; if ((var$3 | 0) == (1 | 0)) { break label$1 } @@ -675,7 +650,8 @@ function asmFunc(global, env, buffer) { } } i64toi32_i32$3 = var$5$hi; - legalfunc$wasm2js_scratch_store_i64(var$5 | 0, i64toi32_i32$3 | 0); + __wasm_intrinsics_temp_i64 = var$5; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$3; i64toi32_i32$3 = var$0$hi; i64toi32_i32$5 = var$0; i64toi32_i32$2 = 0; @@ -700,7 +676,8 @@ function asmFunc(global, env, buffer) { return i64toi32_i32$3 | 0; } i64toi32_i32$3 = var$0$hi; - legalfunc$wasm2js_scratch_store_i64(var$0 | 0, i64toi32_i32$3 | 0); + __wasm_intrinsics_temp_i64 = var$0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$3; i64toi32_i32$3 = 0; var$0 = 0; var$0$hi = i64toi32_i32$3; @@ -766,24 +743,7 @@ export var no_dce_i32_div_s = retasmFunc.no_dce_i32_div_s; export var no_dce_i32_div_u = retasmFunc.no_dce_i32_div_u; export var no_dce_i64_div_s = retasmFunc.no_dce_i64_div_s; export var no_dce_i64_div_u = retasmFunc.no_dce_i64_div_u; -import { getTempRet0 } from 'env'; - - var scratchBuffer = new ArrayBuffer(8); - var i32ScratchView = new Int32Array(scratchBuffer); - var f32ScratchView = new Float32Array(scratchBuffer); - var f64ScratchView = new Float64Array(scratchBuffer); - - function legalimport$wasm2js_scratch_load_i64() { - if (typeof setTempRet0 === 'function') setTempRet0(i32ScratchView[1]); - return i32ScratchView[0]; - } - - function legalimport$wasm2js_scratch_store_i64(low, high) { - i32ScratchView[0] = low; - i32ScratchView[1] = high; - } - function asmFunc(global, env, buffer) { var HEAP8 = new global.Int8Array(buffer); var HEAP16 = new global.Int16Array(buffer); @@ -805,7 +765,8 @@ function asmFunc(global, env, buffer) { var abort = env.abort; var nan = global.NaN; var infinity = global.Infinity; - var getTempRet0 = env.getTempRet0; + var __wasm_intrinsics_temp_i64 = 0; + var __wasm_intrinsics_temp_i64$hi = 0; var i64toi32_i32$HIGH_BITS = 0; function $0(x, y) { x = x | 0; @@ -949,54 +910,6 @@ function asmFunc(global, env, buffer) { $3($9 | 0, i64toi32_i32$1 | 0, $15 | 0, i64toi32_i32$2 | 0); } - function legalfunc$wasm2js_scratch_load_i64() { - var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $8 = 0, $1_1 = 0, $1$hi = 0, $4$hi = 0; - i64toi32_i32$0 = 0; - $1_1 = legalimport$wasm2js_scratch_load_i64() | 0; - $1$hi = i64toi32_i32$0; - i64toi32_i32$0 = 0; - i64toi32_i32$2 = getTempRet0() | 0; - i64toi32_i32$1 = 0; - i64toi32_i32$3 = 32; - i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { - i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; - $8 = 0; - } else { - i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; - $8 = i64toi32_i32$2 << i64toi32_i32$4 | 0; - } - $4$hi = i64toi32_i32$1; - i64toi32_i32$1 = $1$hi; - i64toi32_i32$0 = $1_1; - i64toi32_i32$2 = $4$hi; - i64toi32_i32$3 = $8; - i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; - i64toi32_i32$0 = i64toi32_i32$0 | i64toi32_i32$3 | 0; - i64toi32_i32$HIGH_BITS = i64toi32_i32$2; - return i64toi32_i32$0 | 0; - } - - function legalfunc$wasm2js_scratch_store_i64($0_1, $0$hi) { - $0_1 = $0_1 | 0; - $0$hi = $0$hi | 0; - var i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $8 = 0, $2_1 = 0, i64toi32_i32$2 = 0; - i64toi32_i32$0 = $0$hi; - $2_1 = $0_1; - i64toi32_i32$2 = $0_1; - i64toi32_i32$1 = 0; - i64toi32_i32$3 = 32; - i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { - i64toi32_i32$1 = 0; - $8 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; - } else { - i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; - $8 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; - } - legalimport$wasm2js_scratch_store_i64($2_1 | 0, $8 | 0); - } - function _ZN17compiler_builtins3int4sdiv3Mod4mod_17h2cbb7bbf36e41d68E(var$0, var$0$hi, var$1, var$1$hi) { var$0 = var$0 | 0; var$0$hi = var$0$hi | 0; @@ -1164,7 +1077,8 @@ function asmFunc(global, env, buffer) { var$3 = var$1; var$2 = (var$2 >>> 0) / (var$3 >>> 0) | 0; i64toi32_i32$1 = 0; - legalfunc$wasm2js_scratch_store_i64(var$0 - Math_imul(var$2, var$3) | 0 | 0, i64toi32_i32$1 | 0); + __wasm_intrinsics_temp_i64 = var$0 - Math_imul(var$2, var$3) | 0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; i64toi32_i32$2 = var$2; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; @@ -1219,7 +1133,8 @@ function asmFunc(global, env, buffer) { i64toi32_i32$1 = $65$hi; i64toi32_i32$0 = $65; i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0; - legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0 | 0 | 0, i64toi32_i32$1 | 0); + __wasm_intrinsics_temp_i64 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; i64toi32_i32$3 = var$2 >>> ((__wasm_ctz_i32(var$3 | 0) | 0) & 31 | 0) | 0; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; @@ -1251,7 +1166,8 @@ function asmFunc(global, env, buffer) { i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; $41 = i64toi32_i32$2 << i64toi32_i32$4 | 0; } - legalfunc$wasm2js_scratch_store_i64($41 | 0, i64toi32_i32$1 | 0); + __wasm_intrinsics_temp_i64 = $41; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; i64toi32_i32$2 = var$4; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; @@ -1265,7 +1181,8 @@ function asmFunc(global, env, buffer) { } i64toi32_i32$2 = var$0$hi; i64toi32_i32$2 = 0; - legalfunc$wasm2js_scratch_store_i64(var$4 & var$0 | 0 | 0, i64toi32_i32$2 | 0); + __wasm_intrinsics_temp_i64 = var$4 & var$0 | 0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$2; if ((var$3 | 0) == (1 | 0)) { break label$1 } @@ -1458,7 +1375,8 @@ function asmFunc(global, env, buffer) { } } i64toi32_i32$3 = var$5$hi; - legalfunc$wasm2js_scratch_store_i64(var$5 | 0, i64toi32_i32$3 | 0); + __wasm_intrinsics_temp_i64 = var$5; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$3; i64toi32_i32$3 = var$0$hi; i64toi32_i32$5 = var$0; i64toi32_i32$2 = 0; @@ -1483,7 +1401,8 @@ function asmFunc(global, env, buffer) { return i64toi32_i32$3 | 0; } i64toi32_i32$3 = var$0$hi; - legalfunc$wasm2js_scratch_store_i64(var$0 | 0, i64toi32_i32$3 | 0); + __wasm_intrinsics_temp_i64 = var$0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$3; i64toi32_i32$3 = 0; var$0 = 0; var$0$hi = i64toi32_i32$3; @@ -1522,10 +1441,10 @@ function asmFunc(global, env, buffer) { i64toi32_i32$1 = var$1$hi; i64toi32_i32$1 = _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E(var$0 | 0, i64toi32_i32$0 | 0, var$1 | 0, i64toi32_i32$1 | 0) | 0; i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; - i64toi32_i32$0 = legalfunc$wasm2js_scratch_load_i64() | 0; - i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; - i64toi32_i32$HIGH_BITS = i64toi32_i32$1; - return i64toi32_i32$0 | 0; + i64toi32_i32$0 = __wasm_intrinsics_temp_i64$hi; + i64toi32_i32$1 = __wasm_intrinsics_temp_i64; + i64toi32_i32$HIGH_BITS = i64toi32_i32$0; + return i64toi32_i32$1 | 0; } function __wasm_ctz_i32(var$0) { @@ -1546,7 +1465,7 @@ function asmFunc(global, env, buffer) { } var memasmFunc = new ArrayBuffer(65536); -var retasmFunc = asmFunc({Math,Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,NaN,Infinity}, {abort:function() { throw new Error('abort'); },getTempRet0},memasmFunc); +var retasmFunc = asmFunc({Math,Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,NaN,Infinity}, {abort:function() { throw new Error('abort'); }},memasmFunc); export var no_dce_i32_rem_s = retasmFunc.no_dce_i32_rem_s; export var no_dce_i32_rem_u = retasmFunc.no_dce_i32_rem_u; export var no_dce_i64_rem_s = retasmFunc.no_dce_i64_rem_s; |