summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlon Zakai <azakai@google.com>2020-06-23 16:36:58 -0700
committerGitHub <noreply@github.com>2020-06-23 16:36:58 -0700
commit8540db83abf2044bbabb85e293e5b98a4bb4b9a8 (patch)
tree469c90072942f5826360c098259b43056c186f00
parentbaec7c0ff1ba483f38b4e8a13c5295ad6534e7d9 (diff)
downloadbinaryen-8540db83abf2044bbabb85e293e5b98a4bb4b9a8.tar.gz
binaryen-8540db83abf2044bbabb85e293e5b98a4bb4b9a8.tar.bz2
binaryen-8540db83abf2044bbabb85e293e5b98a4bb4b9a8.zip
wasm2js: Avoid 64-bit scratch memory helpers in wasm-intrinsics (#2926)
That code originally used memory location 1024 to save 64 bits of data (as that is what rust does apparently). We refactored it manually to instead use a scratch memory helper, which is safer. However, that 64-bit function ends up legalized, which actually changes the interface between the module and the outside, which is confusing and causes problems with optimizations that can remove the getTempRet0 imports, see emscripten-core/emscripten#11456 Instead, just use a global i64 to stash those bits. This requires adding support for copying globals from the intrinsics module, but otherwise seems simpler overall.
-rw-r--r--src/abi/js.h5
-rw-r--r--src/asmjs/shared-constants.cpp2
-rw-r--r--src/passes/RemoveNonJSOps.cpp5
-rw-r--r--src/passes/wasm-intrinsics.wat22
-rw-r--r--src/wasm2js.h16
-rw-r--r--test/passes/remove-non-js-ops.txt19
-rw-r--r--test/wasm2js/i64.2asm.js96
-rw-r--r--test/wasm2js/int_exprs.2asm.js939
-rw-r--r--test/wasm2js/left-to-right.2asm.js90
-rw-r--r--test/wasm2js/traps.2asm.js147
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;