summaryrefslogtreecommitdiff
path: root/test/wasm2js
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2019-04-22 09:28:23 -0700
committerGitHub <noreply@github.com>2019-04-22 09:28:23 -0700
commitb99d668ead5c6a6a4891ec58b5a53e80ea9f5705 (patch)
treecd6ae2d7dfa5164a1b71f5445f5882a48c053a90 /test/wasm2js
parentdb14d0477f2715e3071687f42b77d8712477d83e (diff)
downloadbinaryen-b99d668ead5c6a6a4891ec58b5a53e80ea9f5705.tar.gz
binaryen-b99d668ead5c6a6a4891ec58b5a53e80ea9f5705.tar.bz2
binaryen-b99d668ead5c6a6a4891ec58b5a53e80ea9f5705.zip
wasm2js: use scratch memory properly (#2033)
This replaces all uses of __tempMemory__, the old scratch space location, with calls to function imports for scratch memory access. This lets us then implement those in a way that does not use the same heap as main memory. This avoids possible bugs with scratch memory overwriting something, or just in general that it has observable side effects, which can confuse fuzzing etc. The intrinsics are currently implemented in the glue. We could perhaps emit them inline instead (but that might limit asm.js optimizations, so I wanted to keep our options open for now - easy to change later). Also fixes some places where we used 0 as the scratch space address.
Diffstat (limited to 'test/wasm2js')
-rw-r--r--test/wasm2js/conversions-modified.2asm.js58
-rw-r--r--test/wasm2js/endianness.2asm.js58
-rw-r--r--test/wasm2js/f32.2asm.js24
-rw-r--r--test/wasm2js/f64.2asm.js52
-rw-r--r--test/wasm2js/float_literals-modified.2asm.js380
-rw-r--r--test/wasm2js/float_misc.2asm.js62
-rw-r--r--test/wasm2js/i64.2asm.js272
-rw-r--r--test/wasm2js/int_exprs.2asm.js2656
-rw-r--r--test/wasm2js/left-to-right.2asm.js324
-rw-r--r--test/wasm2js/reinterpret.2asm.js52
-rw-r--r--test/wasm2js/traps.2asm.js496
-rw-r--r--test/wasm2js/unaligned.2asm.js58
12 files changed, 2388 insertions, 2104 deletions
diff --git a/test/wasm2js/conversions-modified.2asm.js b/test/wasm2js/conversions-modified.2asm.js
index 5b5605d5a..3bd7cb097 100644
--- a/test/wasm2js/conversions-modified.2asm.js
+++ b/test/wasm2js/conversions-modified.2asm.js
@@ -1,6 +1,35 @@
-import { __tempMemory__ } from 'env';
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 wasm2js_scratch_load_i32(index) {
+ return i32ScratchView[index];
+ }
+
+ function wasm2js_scratch_store_i32(index, value) {
+ i32ScratchView[index] = value;
+ }
+
+ function wasm2js_scratch_load_f64() {
+ return f64ScratchView[0];
+ }
+
+ function wasm2js_scratch_store_f64(value) {
+ f64ScratchView[0] = value;
+ }
+
+ function wasm2js_scratch_load_f32() {
+ return f32ScratchView[0];
+ }
+
+ function wasm2js_scratch_store_f32(value) {
+ f32ScratchView[0] = value;
+ }
+
function asmFunc(global, env, buffer) {
"almost asm";
var HEAP8 = new global.Int8Array(buffer);
@@ -24,7 +53,6 @@ function asmFunc(global, env, buffer) {
var nan = global.NaN;
var infinity = global.Infinity;
var setTempRet0 = env.setTempRet0;
- var __tempMemory__ = env.__tempMemory__ | 0;
var i64toi32_i32$HIGH_BITS = 0;
function $0(x) {
x = x | 0;
@@ -221,36 +249,30 @@ function asmFunc(global, env, buffer) {
function $21(x) {
x = x | 0;
- return Math_fround((HEAP32[0] = x, HEAPF32[0]));
+ return Math_fround((wasm2js_scratch_store_i32(0, x), wasm2js_scratch_load_f32()));
}
function $22(x, x$hi) {
x = x | 0;
x$hi = x$hi | 0;
- var i64toi32_i32$0 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0;
+ var i64toi32_i32$0 = 0;
i64toi32_i32$0 = x$hi;
- wasm2js_i32$0 = __tempMemory__;
- wasm2js_i32$1 = x;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = __tempMemory__;
- wasm2js_i32$1 = i64toi32_i32$0;
- HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1;
- return +(+HEAPF64[__tempMemory__ >> 3]);
+ wasm2js_scratch_store_i32(0 | 0, x | 0);
+ wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$0 | 0);
+ return +(+wasm2js_scratch_load_f64());
}
function $23(x) {
x = Math_fround(x);
- return (HEAPF32[0] = x, HEAP32[0] | 0) | 0;
+ return (wasm2js_scratch_store_f32(x), wasm2js_scratch_load_i32(0)) | 0;
}
function $24(x) {
x = +x;
- var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0;
- wasm2js_i32$0 = __tempMemory__;
- wasm2js_f64$0 = x;
- HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0;
- i64toi32_i32$0 = HEAP32[(__tempMemory__ + 4 | 0) >> 2] | 0;
- i64toi32_i32$1 = HEAP32[__tempMemory__ >> 2] | 0;
+ var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
+ wasm2js_scratch_store_f64(+x);
+ i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
+ i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
return i64toi32_i32$1 | 0;
}
diff --git a/test/wasm2js/endianness.2asm.js b/test/wasm2js/endianness.2asm.js
index d25be1329..9696bc3dd 100644
--- a/test/wasm2js/endianness.2asm.js
+++ b/test/wasm2js/endianness.2asm.js
@@ -1,6 +1,35 @@
-import { __tempMemory__ } from 'env';
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 wasm2js_scratch_load_i32(index) {
+ return i32ScratchView[index];
+ }
+
+ function wasm2js_scratch_store_i32(index, value) {
+ i32ScratchView[index] = value;
+ }
+
+ function wasm2js_scratch_load_f64() {
+ return f64ScratchView[0];
+ }
+
+ function wasm2js_scratch_store_f64(value) {
+ f64ScratchView[0] = value;
+ }
+
+ function wasm2js_scratch_store_f32(value) {
+ f32ScratchView[0] = value;
+ }
+
+ function wasm2js_scratch_load_f32() {
+ return f32ScratchView[0];
+ }
+
function asmFunc(global, env, buffer) {
"almost asm";
var HEAP8 = new global.Int8Array(buffer);
@@ -24,7 +53,6 @@ function asmFunc(global, env, buffer) {
var nan = global.NaN;
var infinity = global.Infinity;
var setTempRet0 = env.setTempRet0;
- var __tempMemory__ = env.__tempMemory__ | 0;
var i64toi32_i32$HIGH_BITS = 0;
function i16_store_little(address, value) {
address = address | 0;
@@ -195,18 +223,16 @@ function asmFunc(global, env, buffer) {
function $14(value) {
value = Math_fround(value);
- i32_store_little(0 | 0, (HEAPF32[0] = value, HEAP32[0] | 0) | 0);
+ i32_store_little(0 | 0, (wasm2js_scratch_store_f32(value), wasm2js_scratch_load_i32(0)) | 0);
return Math_fround(Math_fround(HEAPF32[0 >> 2]));
}
function $15(value) {
value = +value;
- var i64toi32_i32$0 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0;
- wasm2js_i32$0 = __tempMemory__;
- wasm2js_f64$0 = value;
- HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0;
- i64toi32_i32$0 = HEAP32[(__tempMemory__ + 4 | 0) >> 2] | 0;
- i64_store_little(0 | 0, HEAP32[__tempMemory__ >> 2] | 0 | 0, i64toi32_i32$0 | 0);
+ var i64toi32_i32$0 = 0;
+ wasm2js_scratch_store_f64(+value);
+ i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
+ i64_store_little(0 | 0, wasm2js_scratch_load_i32(0 | 0) | 0 | 0, i64toi32_i32$0 | 0);
return +(+HEAPF64[0 >> 3]);
}
@@ -280,24 +306,20 @@ function asmFunc(global, env, buffer) {
wasm2js_i32$0 = 0;
wasm2js_f32$0 = value;
HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0;
- return Math_fround((HEAP32[0] = i32_load_little(0 | 0) | 0, HEAPF32[0]));
+ return Math_fround((wasm2js_scratch_store_i32(0, i32_load_little(0 | 0) | 0), wasm2js_scratch_load_f32()));
}
function $22(value) {
value = +value;
- var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0, wasm2js_i32$1 = 0;
+ var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0;
wasm2js_i32$0 = 0;
wasm2js_f64$0 = value;
HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0;
i64toi32_i32$0 = i64_load_little(0 | 0) | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
- wasm2js_i32$0 = __tempMemory__;
- wasm2js_i32$1 = i64toi32_i32$0;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = __tempMemory__;
- wasm2js_i32$1 = i64toi32_i32$1;
- HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1;
- return +(+HEAPF64[__tempMemory__ >> 3]);
+ wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$0 | 0);
+ wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$1 | 0);
+ return +(+wasm2js_scratch_load_f64());
}
function legalstub$9($0, $1) {
diff --git a/test/wasm2js/f32.2asm.js b/test/wasm2js/f32.2asm.js
index 96d10e660..cd53439c3 100644
--- a/test/wasm2js/f32.2asm.js
+++ b/test/wasm2js/f32.2asm.js
@@ -1,4 +1,26 @@
+
+ var scratchBuffer = new ArrayBuffer(8);
+ var i32ScratchView = new Int32Array(scratchBuffer);
+ var f32ScratchView = new Float32Array(scratchBuffer);
+ var f64ScratchView = new Float64Array(scratchBuffer);
+
+ function wasm2js_scratch_store_i32(index, value) {
+ i32ScratchView[index] = value;
+ }
+
+ function wasm2js_scratch_load_f32() {
+ return f32ScratchView[0];
+ }
+
+ function wasm2js_scratch_store_f32(value) {
+ f32ScratchView[0] = value;
+ }
+
+ function wasm2js_scratch_load_i32(index) {
+ return i32ScratchView[index];
+ }
+
function asmFunc(global, env, buffer) {
"almost asm";
var HEAP8 = new global.Int8Array(buffer);
@@ -95,7 +117,7 @@ function asmFunc(global, env, buffer) {
function $13(x, y) {
x = Math_fround(x);
y = Math_fround(y);
- return Math_fround((HEAP32[0] = (HEAPF32[0] = x, HEAP32[0] | 0) & 2147483647 | 0 | ((HEAPF32[0] = y, HEAP32[0] | 0) & 2147483648 | 0) | 0, HEAPF32[0]));
+ return Math_fround((wasm2js_scratch_store_i32(0, (wasm2js_scratch_store_f32(x), wasm2js_scratch_load_i32(0)) & 2147483647 | 0 | ((wasm2js_scratch_store_f32(y), wasm2js_scratch_load_i32(0)) & 2147483648 | 0) | 0), wasm2js_scratch_load_f32()));
}
function legalstub$0($0_1, $1_1) {
diff --git a/test/wasm2js/f64.2asm.js b/test/wasm2js/f64.2asm.js
index 6eeeafaf5..c390bee9f 100644
--- a/test/wasm2js/f64.2asm.js
+++ b/test/wasm2js/f64.2asm.js
@@ -1,5 +1,26 @@
-import { __tempMemory__ } from 'env';
+
+ var scratchBuffer = new ArrayBuffer(8);
+ var i32ScratchView = new Int32Array(scratchBuffer);
+ var f32ScratchView = new Float32Array(scratchBuffer);
+ var f64ScratchView = new Float64Array(scratchBuffer);
+
+ function wasm2js_scratch_load_i32(index) {
+ return i32ScratchView[index];
+ }
+
+ function wasm2js_scratch_store_i32(index, value) {
+ i32ScratchView[index] = value;
+ }
+
+ function wasm2js_scratch_load_f64() {
+ return f64ScratchView[0];
+ }
+
+ function wasm2js_scratch_store_f64(value) {
+ f64ScratchView[0] = value;
+ }
+
function asmFunc(global, env, buffer) {
"almost asm";
var HEAP8 = new global.Int8Array(buffer);
@@ -22,7 +43,6 @@ function asmFunc(global, env, buffer) {
var abort = env.abort;
var nan = global.NaN;
var infinity = global.Infinity;
- var __tempMemory__ = env.__tempMemory__ | 0;
function $0(x, y) {
x = +x;
y = +y;
@@ -97,22 +117,18 @@ function asmFunc(global, env, buffer) {
function $13(x, y) {
x = +x;
y = +y;
- var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $4_1 = 0, $4$hi = 0, $7_1 = 0, $7$hi = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0, wasm2js_i32$1 = 0;
- wasm2js_i32$0 = __tempMemory__;
- wasm2js_f64$0 = x;
- HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0;
- i64toi32_i32$0 = HEAP32[(__tempMemory__ + 4 | 0) >> 2] | 0;
- i64toi32_i32$2 = HEAP32[__tempMemory__ >> 2] | 0;
+ var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $4_1 = 0, $4$hi = 0, $7_1 = 0, $7$hi = 0;
+ wasm2js_scratch_store_f64(+x);
+ i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
+ i64toi32_i32$2 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$1 = 2147483647;
i64toi32_i32$3 = 4294967295;
i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0;
$4_1 = i64toi32_i32$2 & i64toi32_i32$3 | 0;
$4$hi = i64toi32_i32$1;
- wasm2js_i32$0 = __tempMemory__;
- wasm2js_f64$0 = y;
- HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0;
- i64toi32_i32$1 = HEAP32[(__tempMemory__ + 4 | 0) >> 2] | 0;
- i64toi32_i32$0 = HEAP32[__tempMemory__ >> 2] | 0;
+ wasm2js_scratch_store_f64(+y);
+ i64toi32_i32$1 = wasm2js_scratch_load_i32(1 | 0) | 0;
+ i64toi32_i32$0 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$2 = 2147483648;
i64toi32_i32$3 = 0;
i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$2 | 0;
@@ -123,13 +139,9 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $7$hi;
i64toi32_i32$3 = $7_1;
i64toi32_i32$0 = i64toi32_i32$2 | i64toi32_i32$0 | 0;
- wasm2js_i32$0 = __tempMemory__;
- wasm2js_i32$1 = i64toi32_i32$1 | i64toi32_i32$3 | 0;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = __tempMemory__;
- wasm2js_i32$1 = i64toi32_i32$0;
- HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1;
- return +(+HEAPF64[__tempMemory__ >> 3]);
+ wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$1 | i64toi32_i32$3 | 0 | 0);
+ wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$0 | 0);
+ return +(+wasm2js_scratch_load_f64());
}
function __wasm_nearest_f64(var$0) {
diff --git a/test/wasm2js/float_literals-modified.2asm.js b/test/wasm2js/float_literals-modified.2asm.js
index 9dc248093..9dd25e837 100644
--- a/test/wasm2js/float_literals-modified.2asm.js
+++ b/test/wasm2js/float_literals-modified.2asm.js
@@ -1,6 +1,23 @@
-import { __tempMemory__ } from 'env';
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 wasm2js_scratch_load_i32(index) {
+ return i32ScratchView[index];
+ }
+
+ function wasm2js_scratch_store_f64(value) {
+ f64ScratchView[0] = value;
+ }
+
+ function wasm2js_scratch_store_f32(value) {
+ f32ScratchView[0] = value;
+ }
+
function asmFunc(global, env, buffer) {
"almost asm";
var HEAP8 = new global.Int8Array(buffer);
@@ -24,454 +41,393 @@ function asmFunc(global, env, buffer) {
var nan = global.NaN;
var infinity = global.Infinity;
var setTempRet0 = env.setTempRet0;
- var __tempMemory__ = env.__tempMemory__ | 0;
var i64toi32_i32$HIGH_BITS = 0;
function $0() {
- return (HEAPF32[0] = Math_fround(nan), HEAP32[0] | 0) | 0;
+ return (wasm2js_scratch_store_f32(Math_fround(nan)), wasm2js_scratch_load_i32(0)) | 0;
}
function $1() {
- return (HEAPF32[0] = Math_fround(nan), HEAP32[0] | 0) | 0;
+ return (wasm2js_scratch_store_f32(Math_fround(nan)), wasm2js_scratch_load_i32(0)) | 0;
}
function $2() {
- return (HEAPF32[0] = Math_fround(-nan), HEAP32[0] | 0) | 0;
+ return (wasm2js_scratch_store_f32(Math_fround(-nan)), wasm2js_scratch_load_i32(0)) | 0;
}
function $3() {
- return (HEAPF32[0] = Math_fround(nan), HEAP32[0] | 0) | 0;
+ return (wasm2js_scratch_store_f32(Math_fround(nan)), wasm2js_scratch_load_i32(0)) | 0;
}
function $4() {
- return (HEAPF32[0] = Math_fround(nan), HEAP32[0] | 0) | 0;
+ return (wasm2js_scratch_store_f32(Math_fround(nan)), wasm2js_scratch_load_i32(0)) | 0;
}
function $5() {
- return (HEAPF32[0] = Math_fround(-nan), HEAP32[0] | 0) | 0;
+ return (wasm2js_scratch_store_f32(Math_fround(-nan)), wasm2js_scratch_load_i32(0)) | 0;
}
function $6() {
- return (HEAPF32[0] = Math_fround(nan), HEAP32[0] | 0) | 0;
+ return (wasm2js_scratch_store_f32(Math_fround(nan)), wasm2js_scratch_load_i32(0)) | 0;
}
function $7() {
- return (HEAPF32[0] = Math_fround(nan), HEAP32[0] | 0) | 0;
+ return (wasm2js_scratch_store_f32(Math_fround(nan)), wasm2js_scratch_load_i32(0)) | 0;
}
function $8() {
- return (HEAPF32[0] = Math_fround(-nan), HEAP32[0] | 0) | 0;
+ return (wasm2js_scratch_store_f32(Math_fround(-nan)), wasm2js_scratch_load_i32(0)) | 0;
}
function $9() {
- return (HEAPF32[0] = Math_fround(infinity), HEAP32[0] | 0) | 0;
+ return (wasm2js_scratch_store_f32(Math_fround(infinity)), wasm2js_scratch_load_i32(0)) | 0;
}
function $10() {
- return (HEAPF32[0] = Math_fround(infinity), HEAP32[0] | 0) | 0;
+ return (wasm2js_scratch_store_f32(Math_fround(infinity)), wasm2js_scratch_load_i32(0)) | 0;
}
function $11() {
- return (HEAPF32[0] = Math_fround(-infinity), HEAP32[0] | 0) | 0;
+ return (wasm2js_scratch_store_f32(Math_fround(-infinity)), wasm2js_scratch_load_i32(0)) | 0;
}
function $12() {
- return (HEAPF32[0] = Math_fround(0.0), HEAP32[0] | 0) | 0;
+ return (wasm2js_scratch_store_f32(Math_fround(0.0)), wasm2js_scratch_load_i32(0)) | 0;
}
function $13() {
- return (HEAPF32[0] = Math_fround(0.0), HEAP32[0] | 0) | 0;
+ return (wasm2js_scratch_store_f32(Math_fround(0.0)), wasm2js_scratch_load_i32(0)) | 0;
}
function $14() {
- return (HEAPF32[0] = Math_fround(-0.0), HEAP32[0] | 0) | 0;
+ return (wasm2js_scratch_store_f32(Math_fround(-0.0)), wasm2js_scratch_load_i32(0)) | 0;
}
function $15() {
- return (HEAPF32[0] = Math_fround(6.2831854820251465), HEAP32[0] | 0) | 0;
+ return (wasm2js_scratch_store_f32(Math_fround(6.2831854820251465)), wasm2js_scratch_load_i32(0)) | 0;
}
function $16() {
- return (HEAPF32[0] = Math_fround(1.401298464324817e-45), HEAP32[0] | 0) | 0;
+ return (wasm2js_scratch_store_f32(Math_fround(1.401298464324817e-45)), wasm2js_scratch_load_i32(0)) | 0;
}
function $17() {
- return (HEAPF32[0] = Math_fround(1.1754943508222875e-38), HEAP32[0] | 0) | 0;
+ return (wasm2js_scratch_store_f32(Math_fround(1.1754943508222875e-38)), wasm2js_scratch_load_i32(0)) | 0;
}
function $18() {
- return (HEAPF32[0] = Math_fround(3402823466385288598117041.0e14), HEAP32[0] | 0) | 0;
+ return (wasm2js_scratch_store_f32(Math_fround(3402823466385288598117041.0e14)), wasm2js_scratch_load_i32(0)) | 0;
}
function $19() {
- return (HEAPF32[0] = Math_fround(1.1754942106924411e-38), HEAP32[0] | 0) | 0;
+ return (wasm2js_scratch_store_f32(Math_fround(1.1754942106924411e-38)), wasm2js_scratch_load_i32(0)) | 0;
}
function $20() {
- return (HEAPF32[0] = Math_fround(1024.0), HEAP32[0] | 0) | 0;
+ return (wasm2js_scratch_store_f32(Math_fround(1024.0)), wasm2js_scratch_load_i32(0)) | 0;
}
function $21() {
- return (HEAPF32[0] = Math_fround(0.0), HEAP32[0] | 0) | 0;
+ return (wasm2js_scratch_store_f32(Math_fround(0.0)), wasm2js_scratch_load_i32(0)) | 0;
}
function $22() {
- return (HEAPF32[0] = Math_fround(0.0), HEAP32[0] | 0) | 0;
+ return (wasm2js_scratch_store_f32(Math_fround(0.0)), wasm2js_scratch_load_i32(0)) | 0;
}
function $23() {
- return (HEAPF32[0] = Math_fround(-0.0), HEAP32[0] | 0) | 0;
+ return (wasm2js_scratch_store_f32(Math_fround(-0.0)), wasm2js_scratch_load_i32(0)) | 0;
}
function $24() {
- return (HEAPF32[0] = Math_fround(6.2831854820251465), HEAP32[0] | 0) | 0;
+ return (wasm2js_scratch_store_f32(Math_fround(6.2831854820251465)), wasm2js_scratch_load_i32(0)) | 0;
}
function $25() {
- return (HEAPF32[0] = Math_fround(1.401298464324817e-45), HEAP32[0] | 0) | 0;
+ return (wasm2js_scratch_store_f32(Math_fround(1.401298464324817e-45)), wasm2js_scratch_load_i32(0)) | 0;
}
function $26() {
- return (HEAPF32[0] = Math_fround(1.1754943508222875e-38), HEAP32[0] | 0) | 0;
+ return (wasm2js_scratch_store_f32(Math_fround(1.1754943508222875e-38)), wasm2js_scratch_load_i32(0)) | 0;
}
function $27() {
- return (HEAPF32[0] = Math_fround(1.1754942106924411e-38), HEAP32[0] | 0) | 0;
+ return (wasm2js_scratch_store_f32(Math_fround(1.1754942106924411e-38)), wasm2js_scratch_load_i32(0)) | 0;
}
function $28() {
- return (HEAPF32[0] = Math_fround(3402823466385288598117041.0e14), HEAP32[0] | 0) | 0;
+ return (wasm2js_scratch_store_f32(Math_fround(3402823466385288598117041.0e14)), wasm2js_scratch_load_i32(0)) | 0;
}
function $29() {
- return (HEAPF32[0] = Math_fround(1.0e10), HEAP32[0] | 0) | 0;
+ return (wasm2js_scratch_store_f32(Math_fround(1.0e10)), wasm2js_scratch_load_i32(0)) | 0;
}
function $30() {
- var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0;
- wasm2js_i32$0 = __tempMemory__;
- wasm2js_f64$0 = nan;
- HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0;
- i64toi32_i32$0 = HEAP32[(__tempMemory__ + 4 | 0) >> 2] | 0;
- i64toi32_i32$1 = HEAP32[__tempMemory__ >> 2] | 0;
+ var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
+ wasm2js_scratch_store_f64(+(nan));
+ i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
+ i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
return i64toi32_i32$1 | 0;
}
function $31() {
- var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0;
- wasm2js_i32$0 = __tempMemory__;
- wasm2js_f64$0 = nan;
- HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0;
- i64toi32_i32$0 = HEAP32[(__tempMemory__ + 4 | 0) >> 2] | 0;
- i64toi32_i32$1 = HEAP32[__tempMemory__ >> 2] | 0;
+ var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
+ wasm2js_scratch_store_f64(+(nan));
+ i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
+ i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
return i64toi32_i32$1 | 0;
}
function $32() {
- var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0;
- wasm2js_i32$0 = __tempMemory__;
- wasm2js_f64$0 = -nan;
- HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0;
- i64toi32_i32$0 = HEAP32[(__tempMemory__ + 4 | 0) >> 2] | 0;
- i64toi32_i32$1 = HEAP32[__tempMemory__ >> 2] | 0;
+ var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
+ wasm2js_scratch_store_f64(+(-nan));
+ i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
+ i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
return i64toi32_i32$1 | 0;
}
function $33() {
- var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0;
- wasm2js_i32$0 = __tempMemory__;
- wasm2js_f64$0 = nan;
- HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0;
- i64toi32_i32$0 = HEAP32[(__tempMemory__ + 4 | 0) >> 2] | 0;
- i64toi32_i32$1 = HEAP32[__tempMemory__ >> 2] | 0;
+ var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
+ wasm2js_scratch_store_f64(+(nan));
+ i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
+ i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
return i64toi32_i32$1 | 0;
}
function $34() {
- var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0;
- wasm2js_i32$0 = __tempMemory__;
- wasm2js_f64$0 = nan;
- HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0;
- i64toi32_i32$0 = HEAP32[(__tempMemory__ + 4 | 0) >> 2] | 0;
- i64toi32_i32$1 = HEAP32[__tempMemory__ >> 2] | 0;
+ var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
+ wasm2js_scratch_store_f64(+(nan));
+ i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
+ i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
return i64toi32_i32$1 | 0;
}
function $35() {
- var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0;
- wasm2js_i32$0 = __tempMemory__;
- wasm2js_f64$0 = -nan;
- HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0;
- i64toi32_i32$0 = HEAP32[(__tempMemory__ + 4 | 0) >> 2] | 0;
- i64toi32_i32$1 = HEAP32[__tempMemory__ >> 2] | 0;
+ var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
+ wasm2js_scratch_store_f64(+(-nan));
+ i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
+ i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
return i64toi32_i32$1 | 0;
}
function $36() {
- var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0;
- wasm2js_i32$0 = __tempMemory__;
- wasm2js_f64$0 = nan;
- HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0;
- i64toi32_i32$0 = HEAP32[(__tempMemory__ + 4 | 0) >> 2] | 0;
- i64toi32_i32$1 = HEAP32[__tempMemory__ >> 2] | 0;
+ var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
+ wasm2js_scratch_store_f64(+(nan));
+ i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
+ i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
return i64toi32_i32$1 | 0;
}
function $37() {
- var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0;
- wasm2js_i32$0 = __tempMemory__;
- wasm2js_f64$0 = nan;
- HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0;
- i64toi32_i32$0 = HEAP32[(__tempMemory__ + 4 | 0) >> 2] | 0;
- i64toi32_i32$1 = HEAP32[__tempMemory__ >> 2] | 0;
+ var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
+ wasm2js_scratch_store_f64(+(nan));
+ i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
+ i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
return i64toi32_i32$1 | 0;
}
function $38() {
- var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0;
- wasm2js_i32$0 = __tempMemory__;
- wasm2js_f64$0 = -nan;
- HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0;
- i64toi32_i32$0 = HEAP32[(__tempMemory__ + 4 | 0) >> 2] | 0;
- i64toi32_i32$1 = HEAP32[__tempMemory__ >> 2] | 0;
+ var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
+ wasm2js_scratch_store_f64(+(-nan));
+ i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
+ i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
return i64toi32_i32$1 | 0;
}
function $39() {
- var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0;
- wasm2js_i32$0 = __tempMemory__;
- wasm2js_f64$0 = infinity;
- HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0;
- i64toi32_i32$0 = HEAP32[(__tempMemory__ + 4 | 0) >> 2] | 0;
- i64toi32_i32$1 = HEAP32[__tempMemory__ >> 2] | 0;
+ var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
+ wasm2js_scratch_store_f64(+(infinity));
+ i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
+ i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
return i64toi32_i32$1 | 0;
}
function $40() {
- var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0;
- wasm2js_i32$0 = __tempMemory__;
- wasm2js_f64$0 = infinity;
- HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0;
- i64toi32_i32$0 = HEAP32[(__tempMemory__ + 4 | 0) >> 2] | 0;
- i64toi32_i32$1 = HEAP32[__tempMemory__ >> 2] | 0;
+ var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
+ wasm2js_scratch_store_f64(+(infinity));
+ i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
+ i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
return i64toi32_i32$1 | 0;
}
function $41() {
- var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0;
- wasm2js_i32$0 = __tempMemory__;
- wasm2js_f64$0 = -infinity;
- HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0;
- i64toi32_i32$0 = HEAP32[(__tempMemory__ + 4 | 0) >> 2] | 0;
- i64toi32_i32$1 = HEAP32[__tempMemory__ >> 2] | 0;
+ var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
+ wasm2js_scratch_store_f64(+(-infinity));
+ i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
+ i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
return i64toi32_i32$1 | 0;
}
function $42() {
- var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0;
- wasm2js_i32$0 = __tempMemory__;
- wasm2js_f64$0 = 0.0;
- HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0;
- i64toi32_i32$0 = HEAP32[(__tempMemory__ + 4 | 0) >> 2] | 0;
- i64toi32_i32$1 = HEAP32[__tempMemory__ >> 2] | 0;
+ var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
+ wasm2js_scratch_store_f64(+(0.0));
+ i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
+ i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
return i64toi32_i32$1 | 0;
}
function $43() {
- var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0;
- wasm2js_i32$0 = __tempMemory__;
- wasm2js_f64$0 = 0.0;
- HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0;
- i64toi32_i32$0 = HEAP32[(__tempMemory__ + 4 | 0) >> 2] | 0;
- i64toi32_i32$1 = HEAP32[__tempMemory__ >> 2] | 0;
+ var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
+ wasm2js_scratch_store_f64(+(0.0));
+ i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
+ i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
return i64toi32_i32$1 | 0;
}
function $44() {
- var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0;
- wasm2js_i32$0 = __tempMemory__;
- wasm2js_f64$0 = -0.0;
- HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0;
- i64toi32_i32$0 = HEAP32[(__tempMemory__ + 4 | 0) >> 2] | 0;
- i64toi32_i32$1 = HEAP32[__tempMemory__ >> 2] | 0;
+ var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
+ wasm2js_scratch_store_f64(+(-0.0));
+ i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
+ i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
return i64toi32_i32$1 | 0;
}
function $45() {
- var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0;
- wasm2js_i32$0 = __tempMemory__;
- wasm2js_f64$0 = 6.283185307179586;
- HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0;
- i64toi32_i32$0 = HEAP32[(__tempMemory__ + 4 | 0) >> 2] | 0;
- i64toi32_i32$1 = HEAP32[__tempMemory__ >> 2] | 0;
+ var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
+ wasm2js_scratch_store_f64(+(6.283185307179586));
+ i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
+ i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
return i64toi32_i32$1 | 0;
}
function $46() {
- var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0;
- wasm2js_i32$0 = __tempMemory__;
- wasm2js_f64$0 = 5.0e-324;
- HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0;
- i64toi32_i32$0 = HEAP32[(__tempMemory__ + 4 | 0) >> 2] | 0;
- i64toi32_i32$1 = HEAP32[__tempMemory__ >> 2] | 0;
+ var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
+ wasm2js_scratch_store_f64(+(5.0e-324));
+ i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
+ i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
return i64toi32_i32$1 | 0;
}
function $47() {
- var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0;
- wasm2js_i32$0 = __tempMemory__;
- wasm2js_f64$0 = 2.2250738585072014e-308;
- HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0;
- i64toi32_i32$0 = HEAP32[(__tempMemory__ + 4 | 0) >> 2] | 0;
- i64toi32_i32$1 = HEAP32[__tempMemory__ >> 2] | 0;
+ var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
+ wasm2js_scratch_store_f64(+(2.2250738585072014e-308));
+ i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
+ i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
return i64toi32_i32$1 | 0;
}
function $48() {
- var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0;
- wasm2js_i32$0 = __tempMemory__;
- wasm2js_f64$0 = 2.225073858507201e-308;
- HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0;
- i64toi32_i32$0 = HEAP32[(__tempMemory__ + 4 | 0) >> 2] | 0;
- i64toi32_i32$1 = HEAP32[__tempMemory__ >> 2] | 0;
+ var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
+ wasm2js_scratch_store_f64(+(2.225073858507201e-308));
+ i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
+ i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
return i64toi32_i32$1 | 0;
}
function $49() {
- var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0;
- wasm2js_i32$0 = __tempMemory__;
- wasm2js_f64$0 = 1797693134862315708145274.0e284;
- HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0;
- i64toi32_i32$0 = HEAP32[(__tempMemory__ + 4 | 0) >> 2] | 0;
- i64toi32_i32$1 = HEAP32[__tempMemory__ >> 2] | 0;
+ var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
+ wasm2js_scratch_store_f64(+(1797693134862315708145274.0e284));
+ i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
+ i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
return i64toi32_i32$1 | 0;
}
function $50() {
- var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0;
- wasm2js_i32$0 = __tempMemory__;
- wasm2js_f64$0 = 1267650600228229401496703.0e6;
- HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0;
- i64toi32_i32$0 = HEAP32[(__tempMemory__ + 4 | 0) >> 2] | 0;
- i64toi32_i32$1 = HEAP32[__tempMemory__ >> 2] | 0;
+ var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
+ wasm2js_scratch_store_f64(+(1267650600228229401496703.0e6));
+ i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
+ i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
return i64toi32_i32$1 | 0;
}
function $51() {
- var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0;
- wasm2js_i32$0 = __tempMemory__;
- wasm2js_f64$0 = 0.0;
- HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0;
- i64toi32_i32$0 = HEAP32[(__tempMemory__ + 4 | 0) >> 2] | 0;
- i64toi32_i32$1 = HEAP32[__tempMemory__ >> 2] | 0;
+ var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
+ wasm2js_scratch_store_f64(+(0.0));
+ i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
+ i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
return i64toi32_i32$1 | 0;
}
function $52() {
- var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0;
- wasm2js_i32$0 = __tempMemory__;
- wasm2js_f64$0 = 0.0;
- HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0;
- i64toi32_i32$0 = HEAP32[(__tempMemory__ + 4 | 0) >> 2] | 0;
- i64toi32_i32$1 = HEAP32[__tempMemory__ >> 2] | 0;
+ var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
+ wasm2js_scratch_store_f64(+(0.0));
+ i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
+ i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
return i64toi32_i32$1 | 0;
}
function $53() {
- var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0;
- wasm2js_i32$0 = __tempMemory__;
- wasm2js_f64$0 = -0.0;
- HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0;
- i64toi32_i32$0 = HEAP32[(__tempMemory__ + 4 | 0) >> 2] | 0;
- i64toi32_i32$1 = HEAP32[__tempMemory__ >> 2] | 0;
+ var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
+ wasm2js_scratch_store_f64(+(-0.0));
+ i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
+ i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
return i64toi32_i32$1 | 0;
}
function $54() {
- var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0;
- wasm2js_i32$0 = __tempMemory__;
- wasm2js_f64$0 = 6.283185307179586;
- HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0;
- i64toi32_i32$0 = HEAP32[(__tempMemory__ + 4 | 0) >> 2] | 0;
- i64toi32_i32$1 = HEAP32[__tempMemory__ >> 2] | 0;
+ var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
+ wasm2js_scratch_store_f64(+(6.283185307179586));
+ i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
+ i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
return i64toi32_i32$1 | 0;
}
function $55() {
- var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0;
- wasm2js_i32$0 = __tempMemory__;
- wasm2js_f64$0 = 5.0e-324;
- HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0;
- i64toi32_i32$0 = HEAP32[(__tempMemory__ + 4 | 0) >> 2] | 0;
- i64toi32_i32$1 = HEAP32[__tempMemory__ >> 2] | 0;
+ var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
+ wasm2js_scratch_store_f64(+(5.0e-324));
+ i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
+ i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
return i64toi32_i32$1 | 0;
}
function $56() {
- var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0;
- wasm2js_i32$0 = __tempMemory__;
- wasm2js_f64$0 = 2.2250738585072014e-308;
- HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0;
- i64toi32_i32$0 = HEAP32[(__tempMemory__ + 4 | 0) >> 2] | 0;
- i64toi32_i32$1 = HEAP32[__tempMemory__ >> 2] | 0;
+ var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
+ wasm2js_scratch_store_f64(+(2.2250738585072014e-308));
+ i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
+ i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
return i64toi32_i32$1 | 0;
}
function $57() {
- var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0;
- wasm2js_i32$0 = __tempMemory__;
- wasm2js_f64$0 = 2.225073858507201e-308;
- HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0;
- i64toi32_i32$0 = HEAP32[(__tempMemory__ + 4 | 0) >> 2] | 0;
- i64toi32_i32$1 = HEAP32[__tempMemory__ >> 2] | 0;
+ var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
+ wasm2js_scratch_store_f64(+(2.225073858507201e-308));
+ i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
+ i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
return i64toi32_i32$1 | 0;
}
function $58() {
- var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0;
- wasm2js_i32$0 = __tempMemory__;
- wasm2js_f64$0 = 1797693134862315708145274.0e284;
- HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0;
- i64toi32_i32$0 = HEAP32[(__tempMemory__ + 4 | 0) >> 2] | 0;
- i64toi32_i32$1 = HEAP32[__tempMemory__ >> 2] | 0;
+ var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
+ wasm2js_scratch_store_f64(+(1797693134862315708145274.0e284));
+ i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
+ i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
return i64toi32_i32$1 | 0;
}
function $59() {
- var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0;
- wasm2js_i32$0 = __tempMemory__;
- wasm2js_f64$0 = 1.e+100;
- HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0;
- i64toi32_i32$0 = HEAP32[(__tempMemory__ + 4 | 0) >> 2] | 0;
- i64toi32_i32$1 = HEAP32[__tempMemory__ >> 2] | 0;
+ var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
+ wasm2js_scratch_store_f64(+(1.e+100));
+ i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
+ i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
return i64toi32_i32$1 | 0;
}
diff --git a/test/wasm2js/float_misc.2asm.js b/test/wasm2js/float_misc.2asm.js
index ad9c34c39..70336da90 100644
--- a/test/wasm2js/float_misc.2asm.js
+++ b/test/wasm2js/float_misc.2asm.js
@@ -1,5 +1,34 @@
-import { __tempMemory__ } from 'env';
+
+ var scratchBuffer = new ArrayBuffer(8);
+ var i32ScratchView = new Int32Array(scratchBuffer);
+ var f32ScratchView = new Float32Array(scratchBuffer);
+ var f64ScratchView = new Float64Array(scratchBuffer);
+
+ function wasm2js_scratch_load_i32(index) {
+ return i32ScratchView[index];
+ }
+
+ function wasm2js_scratch_store_i32(index, value) {
+ i32ScratchView[index] = value;
+ }
+
+ function wasm2js_scratch_load_f64() {
+ return f64ScratchView[0];
+ }
+
+ function wasm2js_scratch_store_f64(value) {
+ f64ScratchView[0] = value;
+ }
+
+ function wasm2js_scratch_load_f32() {
+ return f32ScratchView[0];
+ }
+
+ function wasm2js_scratch_store_f32(value) {
+ f32ScratchView[0] = value;
+ }
+
function asmFunc(global, env, buffer) {
"almost asm";
var HEAP8 = new global.Int8Array(buffer);
@@ -22,7 +51,6 @@ function asmFunc(global, env, buffer) {
var abort = env.abort;
var nan = global.NaN;
var infinity = global.Infinity;
- var __tempMemory__ = env.__tempMemory__ | 0;
function $0(x, y) {
x = Math_fround(x);
y = Math_fround(y);
@@ -65,7 +93,7 @@ function asmFunc(global, env, buffer) {
function $7(x, y) {
x = Math_fround(x);
y = Math_fround(y);
- return Math_fround((HEAP32[0] = (HEAPF32[0] = x, HEAP32[0] | 0) & 2147483647 | 0 | ((HEAPF32[0] = y, HEAP32[0] | 0) & 2147483648 | 0) | 0, HEAPF32[0]));
+ return Math_fround((wasm2js_scratch_store_i32(0, (wasm2js_scratch_store_f32(x), wasm2js_scratch_load_i32(0)) & 2147483647 | 0 | ((wasm2js_scratch_store_f32(y), wasm2js_scratch_load_i32(0)) & 2147483648 | 0) | 0), wasm2js_scratch_load_f32()));
}
function $8(x) {
@@ -142,22 +170,18 @@ function asmFunc(global, env, buffer) {
function $21(x, y) {
x = +x;
y = +y;
- var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $4_1 = 0, $4$hi = 0, $7_1 = 0, $7$hi = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0, wasm2js_i32$1 = 0;
- wasm2js_i32$0 = __tempMemory__;
- wasm2js_f64$0 = x;
- HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0;
- i64toi32_i32$0 = HEAP32[(__tempMemory__ + 4 | 0) >> 2] | 0;
- i64toi32_i32$2 = HEAP32[__tempMemory__ >> 2] | 0;
+ var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $4_1 = 0, $4$hi = 0, $7_1 = 0, $7$hi = 0;
+ wasm2js_scratch_store_f64(+x);
+ i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
+ i64toi32_i32$2 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$1 = 2147483647;
i64toi32_i32$3 = 4294967295;
i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0;
$4_1 = i64toi32_i32$2 & i64toi32_i32$3 | 0;
$4$hi = i64toi32_i32$1;
- wasm2js_i32$0 = __tempMemory__;
- wasm2js_f64$0 = y;
- HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0;
- i64toi32_i32$1 = HEAP32[(__tempMemory__ + 4 | 0) >> 2] | 0;
- i64toi32_i32$0 = HEAP32[__tempMemory__ >> 2] | 0;
+ wasm2js_scratch_store_f64(+y);
+ i64toi32_i32$1 = wasm2js_scratch_load_i32(1 | 0) | 0;
+ i64toi32_i32$0 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$2 = 2147483648;
i64toi32_i32$3 = 0;
i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$2 | 0;
@@ -168,13 +192,9 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $7$hi;
i64toi32_i32$3 = $7_1;
i64toi32_i32$0 = i64toi32_i32$2 | i64toi32_i32$0 | 0;
- wasm2js_i32$0 = __tempMemory__;
- wasm2js_i32$1 = i64toi32_i32$1 | i64toi32_i32$3 | 0;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = __tempMemory__;
- wasm2js_i32$1 = i64toi32_i32$0;
- HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1;
- return +(+HEAPF64[__tempMemory__ >> 3]);
+ wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$1 | i64toi32_i32$3 | 0 | 0);
+ wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$0 | 0);
+ return +(+wasm2js_scratch_load_f64());
}
function $22(x) {
diff --git a/test/wasm2js/i64.2asm.js b/test/wasm2js/i64.2asm.js
index bafb0da5b..73a67a79a 100644
--- a/test/wasm2js/i64.2asm.js
+++ b/test/wasm2js/i64.2asm.js
@@ -1,6 +1,22 @@
-import { __tempMemory__ } from 'env';
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) {
"almost asm";
var HEAP8 = new global.Int8Array(buffer);
@@ -24,7 +40,7 @@ function asmFunc(global, env, buffer) {
var nan = global.NaN;
var infinity = global.Infinity;
var setTempRet0 = env.setTempRet0;
- var __tempMemory__ = env.__tempMemory__ | 0;
+ var getTempRet0 = env.getTempRet0;
var i64toi32_i32$HIGH_BITS = 0;
function $0(x, x$hi, y, y$hi) {
x = x | 0;
@@ -2697,6 +2713,62 @@ 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;
@@ -3012,7 +3084,7 @@ function asmFunc(global, env, buffer) {
var$0$hi = var$0$hi | 0;
var$1 = var$1 | 0;
var$1$hi = var$1$hi | 0;
- var i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, var$2 = 0, var$3 = 0, var$4 = 0, var$5 = 0, var$5$hi = 0, var$6 = 0, var$6$hi = 0, i64toi32_i32$6 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, var$8$hi = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, var$7$hi = 0, $52 = 0, $60 = 0, $65$hi = 0, $67 = 0, $67$hi = 0, $68 = 0, $93 = 0, $124$hi = 0, $133$hi = 0, $138$hi = 0, var$8 = 0, $144 = 0, $144$hi = 0, $146$hi = 0, $148 = 0, $148$hi = 0, $155 = 0, $155$hi = 0, $158$hi = 0, var$7 = 0, $170$hi = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0;
+ var i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, var$2 = 0, var$3 = 0, var$4 = 0, var$5 = 0, var$5$hi = 0, var$6 = 0, var$6$hi = 0, i64toi32_i32$6 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, var$8$hi = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, var$7$hi = 0, $49 = 0, $63$hi = 0, $65 = 0, $65$hi = 0, $120$hi = 0, $129$hi = 0, $134$hi = 0, var$8 = 0, $140 = 0, $140$hi = 0, $142$hi = 0, $144 = 0, $144$hi = 0, $151 = 0, $151$hi = 0, $154$hi = 0, var$7 = 0, $165$hi = 0;
label$1 : {
label$2 : {
label$3 : {
@@ -3032,15 +3104,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $40 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $37 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
- $40 = (((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;
+ $37 = (((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;
}
}
- var$2 = $40;
+ var$2 = $37;
if (var$2) {
block : {
i64toi32_i32$1 = var$1$hi;
@@ -3056,15 +3128,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $41 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
- $41 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0;
+ $38 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0;
}
}
- var$4 = $41;
+ var$4 = $38;
if ((var$4 | 0) == (0 | 0)) {
break label$9
}
@@ -3088,13 +3160,7 @@ function asmFunc(global, env, buffer) {
var$3 = var$1;
var$2 = (var$2 >>> 0) / (var$3 >>> 0) | 0;
i64toi32_i32$1 = 0;
- i64toi32_i32$2 = __tempMemory__;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = var$0 - Math_imul(var$2, var$3) | 0;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = i64toi32_i32$1;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$0 - Math_imul(var$2, var$3) | 0 | 0, i64toi32_i32$1 | 0);
i64toi32_i32$1 = 0;
i64toi32_i32$2 = var$2;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
@@ -3108,15 +3174,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $42 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $39 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
- $42 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
+ $39 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
}
}
- var$3 = $42;
+ var$3 = $39;
i64toi32_i32$1 = var$0$hi;
if ((var$0 | 0) == (0 | 0)) {
break label$7
@@ -3128,7 +3194,6 @@ function asmFunc(global, env, buffer) {
if (var$4 & var$3 | 0) {
break label$6
}
- $60 = __tempMemory__;
i64toi32_i32$1 = 0;
i64toi32_i32$2 = var$4 & var$2 | 0;
i64toi32_i32$3 = 0;
@@ -3137,35 +3202,28 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
- $43 = 0;
+ $40 = 0;
}
} else {
{
i64toi32_i32$3 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
- $43 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ $40 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
- $65$hi = i64toi32_i32$3;
+ $63$hi = i64toi32_i32$3;
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$1 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 4294967295;
i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2 | 0;
- $67 = i64toi32_i32$1 & i64toi32_i32$0 | 0;
- $67$hi = i64toi32_i32$2;
- i64toi32_i32$2 = $65$hi;
- i64toi32_i32$3 = $43;
- i64toi32_i32$1 = $67$hi;
- i64toi32_i32$0 = $67;
+ $65 = i64toi32_i32$1 & i64toi32_i32$0 | 0;
+ $65$hi = i64toi32_i32$2;
+ i64toi32_i32$2 = $63$hi;
+ i64toi32_i32$3 = $40;
+ i64toi32_i32$1 = $65$hi;
+ i64toi32_i32$0 = $65;
i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0;
- $68 = i64toi32_i32$3 | i64toi32_i32$0 | 0;
- i64toi32_i32$3 = $60;
- wasm2js_i32$0 = i64toi32_i32$3;
- wasm2js_i32$1 = $68;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$3;
- wasm2js_i32$1 = i64toi32_i32$1;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0 | 0 | 0, i64toi32_i32$1 | 0);
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;
@@ -3184,7 +3242,6 @@ function asmFunc(global, env, buffer) {
var$2 = var$2 + 1 | 0;
break label$3;
}
- $93 = __tempMemory__;
var$4 = (var$2 >>> 0) / (var$3 >>> 0) | 0;
i64toi32_i32$3 = 0;
i64toi32_i32$2 = var$2 - Math_imul(var$4, var$3) | 0;
@@ -3194,21 +3251,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
- $44 = 0;
+ $41 = 0;
}
} else {
{
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;
- $44 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ $41 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
- i64toi32_i32$2 = $93;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = $44;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = i64toi32_i32$1;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64($41 | 0, i64toi32_i32$1 | 0);
i64toi32_i32$1 = 0;
i64toi32_i32$2 = var$4;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
@@ -3222,36 +3273,30 @@ function asmFunc(global, env, buffer) {
}
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$2 = 0;
- i64toi32_i32$1 = __tempMemory__;
- wasm2js_i32$0 = i64toi32_i32$1;
- wasm2js_i32$1 = var$4 & var$0 | 0;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$1;
- wasm2js_i32$1 = i64toi32_i32$2;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$4 & var$0 | 0 | 0, i64toi32_i32$2 | 0);
if ((var$3 | 0) == (1 | 0)) {
break label$1
}
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$2 = 0;
- $124$hi = i64toi32_i32$2;
+ $120$hi = i64toi32_i32$2;
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$1 = $124$hi;
+ i64toi32_i32$1 = $120$hi;
i64toi32_i32$0 = __wasm_ctz_i32(var$3 | 0) | 0;
i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $45 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $42 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
- $45 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
+ $42 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
}
}
- i64toi32_i32$3 = $45;
+ i64toi32_i32$3 = $42;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
return i64toi32_i32$3 | 0;
}
@@ -3260,45 +3305,45 @@ function asmFunc(global, env, buffer) {
}
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$3 = 0;
- $133$hi = i64toi32_i32$3;
+ $129$hi = i64toi32_i32$3;
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$2 = var$0;
- i64toi32_i32$1 = $133$hi;
+ i64toi32_i32$1 = $129$hi;
i64toi32_i32$0 = var$2 & 63 | 0;
i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $46 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
+ $43 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$1 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
- $46 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
+ $43 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
- var$5 = $46;
+ var$5 = $43;
var$5$hi = i64toi32_i32$1;
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$1 = 0;
- $138$hi = i64toi32_i32$1;
+ $134$hi = i64toi32_i32$1;
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$2 = $138$hi;
+ i64toi32_i32$2 = $134$hi;
i64toi32_i32$0 = var$3 & 63 | 0;
i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
- $47 = 0;
+ $44 = 0;
}
} else {
{
i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
- $47 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
+ $44 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
}
}
- var$0 = $47;
+ var$0 = $44;
var$0$hi = i64toi32_i32$2;
label$13 : {
if (var$2) {
@@ -3323,16 +3368,16 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
- $48 = 0;
+ $45 = 0;
}
} else {
{
i64toi32_i32$1 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0;
- $48 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
+ $45 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
}
}
- $144 = $48;
- $144$hi = i64toi32_i32$1;
+ $140 = $45;
+ $140$hi = i64toi32_i32$1;
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
@@ -3341,24 +3386,24 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $49 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
+ $46 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
}
} else {
{
i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
- $49 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0;
+ $46 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0;
}
}
- $146$hi = i64toi32_i32$2;
- i64toi32_i32$2 = $144$hi;
- i64toi32_i32$1 = $144;
- i64toi32_i32$5 = $146$hi;
- i64toi32_i32$0 = $49;
+ $142$hi = i64toi32_i32$2;
+ i64toi32_i32$2 = $140$hi;
+ i64toi32_i32$1 = $140;
+ i64toi32_i32$5 = $142$hi;
+ i64toi32_i32$0 = $46;
i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
var$5 = i64toi32_i32$1 | i64toi32_i32$0 | 0;
var$5$hi = i64toi32_i32$5;
- $148 = var$5;
- $148$hi = i64toi32_i32$5;
+ $144 = var$5;
+ $144$hi = i64toi32_i32$5;
i64toi32_i32$5 = var$8$hi;
i64toi32_i32$5 = var$5$hi;
i64toi32_i32$5 = var$8$hi;
@@ -3376,15 +3421,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0;
- $50 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
+ $47 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
}
} else {
{
i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
- $50 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0;
+ $47 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0;
}
}
- var$6 = $50;
+ var$6 = $47;
var$6$hi = i64toi32_i32$2;
i64toi32_i32$2 = var$1$hi;
i64toi32_i32$2 = var$6$hi;
@@ -3392,12 +3437,12 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = var$1$hi;
i64toi32_i32$0 = var$1;
i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0;
- $155 = i64toi32_i32$4 & i64toi32_i32$0 | 0;
- $155$hi = i64toi32_i32$5;
- i64toi32_i32$5 = $148$hi;
- i64toi32_i32$2 = $148;
- i64toi32_i32$4 = $155$hi;
- i64toi32_i32$0 = $155;
+ $151 = i64toi32_i32$4 & i64toi32_i32$0 | 0;
+ $151$hi = i64toi32_i32$5;
+ i64toi32_i32$5 = $144$hi;
+ i64toi32_i32$2 = $144;
+ i64toi32_i32$4 = $151$hi;
+ i64toi32_i32$0 = $151;
i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$0 | 0;
i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0;
i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$4 | 0;
@@ -3412,18 +3457,18 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
- $51 = 0;
+ $48 = 0;
}
} else {
{
i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
- $51 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
+ $48 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
}
}
- $158$hi = i64toi32_i32$2;
+ $154$hi = i64toi32_i32$2;
i64toi32_i32$2 = var$7$hi;
- i64toi32_i32$2 = $158$hi;
- i64toi32_i32$3 = $51;
+ i64toi32_i32$2 = $154$hi;
+ i64toi32_i32$3 = $48;
i64toi32_i32$5 = var$7$hi;
i64toi32_i32$0 = var$7;
i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
@@ -3449,13 +3494,7 @@ function asmFunc(global, env, buffer) {
}
}
i64toi32_i32$3 = var$5$hi;
- i64toi32_i32$2 = __tempMemory__;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = var$5;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = i64toi32_i32$3;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$5 | 0, i64toi32_i32$3 | 0);
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
@@ -3464,18 +3503,18 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
- $52 = 0;
+ $49 = 0;
}
} else {
{
i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
- $52 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
+ $49 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
}
}
- $170$hi = i64toi32_i32$2;
+ $165$hi = i64toi32_i32$2;
i64toi32_i32$2 = var$6$hi;
- i64toi32_i32$2 = $170$hi;
- i64toi32_i32$3 = $52;
+ i64toi32_i32$2 = $165$hi;
+ i64toi32_i32$3 = $49;
i64toi32_i32$5 = var$6$hi;
i64toi32_i32$0 = var$6;
i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
@@ -3484,13 +3523,7 @@ function asmFunc(global, env, buffer) {
return i64toi32_i32$3 | 0;
}
i64toi32_i32$3 = var$0$hi;
- i64toi32_i32$5 = __tempMemory__;
- wasm2js_i32$0 = i64toi32_i32$5;
- wasm2js_i32$1 = var$0;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$5;
- wasm2js_i32$1 = i64toi32_i32$3;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$0 | 0, i64toi32_i32$3 | 0);
i64toi32_i32$3 = 0;
var$0 = 0;
var$0$hi = i64toi32_i32$3;
@@ -3620,16 +3653,15 @@ function asmFunc(global, env, buffer) {
var$0$hi = var$0$hi | 0;
var$1 = var$1 | 0;
var$1$hi = var$1$hi | 0;
- var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, wasm2js_i32$0 = 0;
+ var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$0 = var$1$hi;
i64toi32_i32$0 = var$0$hi;
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$2 = __tempMemory__;
- i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0;
- i64toi32_i32$1 = (wasm2js_i32$0 = i64toi32_i32$2, HEAPU8[(wasm2js_i32$0 + 4 | 0) >> 0] | 0 | 0 | (HEAPU8[(wasm2js_i32$0 + 5 | 0) >> 0] | 0 | 0) << 8 | (HEAPU8[(wasm2js_i32$0 + 6 | 0) >> 0] | 0 | 0) << 16 | (HEAPU8[(wasm2js_i32$0 + 7 | 0) >> 0] | 0 | 0) << 24);
+ 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;
}
@@ -3973,7 +4005,7 @@ function asmFunc(global, env, buffer) {
}
const memasmFunc = new ArrayBuffer(65536);
-const retasmFunc = asmFunc({Math,Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,NaN,Infinity}, {abort:function() { throw new Error('abort'); },setTempRet0},memasmFunc);
+const retasmFunc = asmFunc({Math,Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,NaN,Infinity}, {abort:function() { throw new Error('abort'); },setTempRet0,getTempRet0},memasmFunc);
export const add = retasmFunc.add;
export const sub = retasmFunc.sub;
export const mul = retasmFunc.mul;
diff --git a/test/wasm2js/int_exprs.2asm.js b/test/wasm2js/int_exprs.2asm.js
index 5d62f4637..ee8b7da4d 100644
--- a/test/wasm2js/int_exprs.2asm.js
+++ b/test/wasm2js/int_exprs.2asm.js
@@ -936,9 +936,19 @@ export const i32_no_fold_shr_s_shl = retasmFunc.i32_no_fold_shr_s_shl;
export const i32_no_fold_shr_u_shl = retasmFunc.i32_no_fold_shr_u_shl;
export const i64_no_fold_shr_s_shl = retasmFunc.i64_no_fold_shr_s_shl;
export const i64_no_fold_shr_u_shl = retasmFunc.i64_no_fold_shr_u_shl;
-import { __tempMemory__ } from 'env';
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) {
"almost asm";
var HEAP8 = new global.Int8Array(buffer);
@@ -962,7 +972,6 @@ function asmFunc(global, env, buffer) {
var nan = global.NaN;
var infinity = global.Infinity;
var setTempRet0 = env.setTempRet0;
- var __tempMemory__ = env.__tempMemory__ | 0;
var i64toi32_i32$HIGH_BITS = 0;
function $0(x) {
x = x | 0;
@@ -1112,6 +1121,30 @@ 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;
@@ -1325,7 +1358,7 @@ function asmFunc(global, env, buffer) {
var$0$hi = var$0$hi | 0;
var$1 = var$1 | 0;
var$1$hi = var$1$hi | 0;
- var i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, var$2 = 0, var$3 = 0, var$4 = 0, var$5 = 0, var$5$hi = 0, var$6 = 0, var$6$hi = 0, i64toi32_i32$6 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, var$8$hi = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, var$7$hi = 0, $52 = 0, $60 = 0, $65$hi = 0, $67 = 0, $67$hi = 0, $68 = 0, $93 = 0, $124$hi = 0, $133$hi = 0, $138$hi = 0, var$8 = 0, $144 = 0, $144$hi = 0, $146$hi = 0, $148 = 0, $148$hi = 0, $155 = 0, $155$hi = 0, $158$hi = 0, var$7 = 0, $170$hi = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0;
+ var i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, var$2 = 0, var$3 = 0, var$4 = 0, var$5 = 0, var$5$hi = 0, var$6 = 0, var$6$hi = 0, i64toi32_i32$6 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, var$8$hi = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, var$7$hi = 0, $49 = 0, $63$hi = 0, $65 = 0, $65$hi = 0, $120$hi = 0, $129$hi = 0, $134$hi = 0, var$8 = 0, $140 = 0, $140$hi = 0, $142$hi = 0, $144 = 0, $144$hi = 0, $151 = 0, $151$hi = 0, $154$hi = 0, var$7 = 0, $165$hi = 0;
label$1 : {
label$2 : {
label$3 : {
@@ -1345,15 +1378,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $40 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $37 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
- $40 = (((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;
+ $37 = (((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;
}
}
- var$2 = $40;
+ var$2 = $37;
if (var$2) {
block : {
i64toi32_i32$1 = var$1$hi;
@@ -1369,15 +1402,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $41 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
- $41 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0;
+ $38 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0;
}
}
- var$4 = $41;
+ var$4 = $38;
if ((var$4 | 0) == (0 | 0)) {
break label$9
}
@@ -1401,13 +1434,7 @@ function asmFunc(global, env, buffer) {
var$3 = var$1;
var$2 = (var$2 >>> 0) / (var$3 >>> 0) | 0;
i64toi32_i32$1 = 0;
- i64toi32_i32$2 = __tempMemory__;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = var$0 - Math_imul(var$2, var$3) | 0;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = i64toi32_i32$1;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$0 - Math_imul(var$2, var$3) | 0 | 0, i64toi32_i32$1 | 0);
i64toi32_i32$1 = 0;
i64toi32_i32$2 = var$2;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
@@ -1421,15 +1448,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $42 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $39 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
- $42 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
+ $39 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
}
}
- var$3 = $42;
+ var$3 = $39;
i64toi32_i32$1 = var$0$hi;
if ((var$0 | 0) == (0 | 0)) {
break label$7
@@ -1441,7 +1468,6 @@ function asmFunc(global, env, buffer) {
if (var$4 & var$3 | 0) {
break label$6
}
- $60 = __tempMemory__;
i64toi32_i32$1 = 0;
i64toi32_i32$2 = var$4 & var$2 | 0;
i64toi32_i32$3 = 0;
@@ -1450,35 +1476,28 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
- $43 = 0;
+ $40 = 0;
}
} else {
{
i64toi32_i32$3 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
- $43 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ $40 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
- $65$hi = i64toi32_i32$3;
+ $63$hi = i64toi32_i32$3;
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$1 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 4294967295;
i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2 | 0;
- $67 = i64toi32_i32$1 & i64toi32_i32$0 | 0;
- $67$hi = i64toi32_i32$2;
- i64toi32_i32$2 = $65$hi;
- i64toi32_i32$3 = $43;
- i64toi32_i32$1 = $67$hi;
- i64toi32_i32$0 = $67;
+ $65 = i64toi32_i32$1 & i64toi32_i32$0 | 0;
+ $65$hi = i64toi32_i32$2;
+ i64toi32_i32$2 = $63$hi;
+ i64toi32_i32$3 = $40;
+ i64toi32_i32$1 = $65$hi;
+ i64toi32_i32$0 = $65;
i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0;
- $68 = i64toi32_i32$3 | i64toi32_i32$0 | 0;
- i64toi32_i32$3 = $60;
- wasm2js_i32$0 = i64toi32_i32$3;
- wasm2js_i32$1 = $68;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$3;
- wasm2js_i32$1 = i64toi32_i32$1;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0 | 0 | 0, i64toi32_i32$1 | 0);
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;
@@ -1497,7 +1516,6 @@ function asmFunc(global, env, buffer) {
var$2 = var$2 + 1 | 0;
break label$3;
}
- $93 = __tempMemory__;
var$4 = (var$2 >>> 0) / (var$3 >>> 0) | 0;
i64toi32_i32$3 = 0;
i64toi32_i32$2 = var$2 - Math_imul(var$4, var$3) | 0;
@@ -1507,21 +1525,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
- $44 = 0;
+ $41 = 0;
}
} else {
{
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;
- $44 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ $41 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
- i64toi32_i32$2 = $93;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = $44;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = i64toi32_i32$1;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64($41 | 0, i64toi32_i32$1 | 0);
i64toi32_i32$1 = 0;
i64toi32_i32$2 = var$4;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
@@ -1535,36 +1547,30 @@ function asmFunc(global, env, buffer) {
}
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$2 = 0;
- i64toi32_i32$1 = __tempMemory__;
- wasm2js_i32$0 = i64toi32_i32$1;
- wasm2js_i32$1 = var$4 & var$0 | 0;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$1;
- wasm2js_i32$1 = i64toi32_i32$2;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$4 & var$0 | 0 | 0, i64toi32_i32$2 | 0);
if ((var$3 | 0) == (1 | 0)) {
break label$1
}
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$2 = 0;
- $124$hi = i64toi32_i32$2;
+ $120$hi = i64toi32_i32$2;
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$1 = $124$hi;
+ i64toi32_i32$1 = $120$hi;
i64toi32_i32$0 = __wasm_ctz_i32(var$3 | 0) | 0;
i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $45 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $42 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
- $45 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
+ $42 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
}
}
- i64toi32_i32$3 = $45;
+ i64toi32_i32$3 = $42;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
return i64toi32_i32$3 | 0;
}
@@ -1573,45 +1579,45 @@ function asmFunc(global, env, buffer) {
}
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$3 = 0;
- $133$hi = i64toi32_i32$3;
+ $129$hi = i64toi32_i32$3;
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$2 = var$0;
- i64toi32_i32$1 = $133$hi;
+ i64toi32_i32$1 = $129$hi;
i64toi32_i32$0 = var$2 & 63 | 0;
i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $46 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
+ $43 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$1 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
- $46 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
+ $43 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
- var$5 = $46;
+ var$5 = $43;
var$5$hi = i64toi32_i32$1;
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$1 = 0;
- $138$hi = i64toi32_i32$1;
+ $134$hi = i64toi32_i32$1;
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$2 = $138$hi;
+ i64toi32_i32$2 = $134$hi;
i64toi32_i32$0 = var$3 & 63 | 0;
i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
- $47 = 0;
+ $44 = 0;
}
} else {
{
i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
- $47 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
+ $44 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
}
}
- var$0 = $47;
+ var$0 = $44;
var$0$hi = i64toi32_i32$2;
label$13 : {
if (var$2) {
@@ -1636,16 +1642,16 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
- $48 = 0;
+ $45 = 0;
}
} else {
{
i64toi32_i32$1 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0;
- $48 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
+ $45 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
}
}
- $144 = $48;
- $144$hi = i64toi32_i32$1;
+ $140 = $45;
+ $140$hi = i64toi32_i32$1;
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
@@ -1654,24 +1660,24 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $49 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
+ $46 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
}
} else {
{
i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
- $49 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0;
+ $46 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0;
}
}
- $146$hi = i64toi32_i32$2;
- i64toi32_i32$2 = $144$hi;
- i64toi32_i32$1 = $144;
- i64toi32_i32$5 = $146$hi;
- i64toi32_i32$0 = $49;
+ $142$hi = i64toi32_i32$2;
+ i64toi32_i32$2 = $140$hi;
+ i64toi32_i32$1 = $140;
+ i64toi32_i32$5 = $142$hi;
+ i64toi32_i32$0 = $46;
i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
var$5 = i64toi32_i32$1 | i64toi32_i32$0 | 0;
var$5$hi = i64toi32_i32$5;
- $148 = var$5;
- $148$hi = i64toi32_i32$5;
+ $144 = var$5;
+ $144$hi = i64toi32_i32$5;
i64toi32_i32$5 = var$8$hi;
i64toi32_i32$5 = var$5$hi;
i64toi32_i32$5 = var$8$hi;
@@ -1689,15 +1695,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0;
- $50 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
+ $47 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
}
} else {
{
i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
- $50 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0;
+ $47 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0;
}
}
- var$6 = $50;
+ var$6 = $47;
var$6$hi = i64toi32_i32$2;
i64toi32_i32$2 = var$1$hi;
i64toi32_i32$2 = var$6$hi;
@@ -1705,12 +1711,12 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = var$1$hi;
i64toi32_i32$0 = var$1;
i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0;
- $155 = i64toi32_i32$4 & i64toi32_i32$0 | 0;
- $155$hi = i64toi32_i32$5;
- i64toi32_i32$5 = $148$hi;
- i64toi32_i32$2 = $148;
- i64toi32_i32$4 = $155$hi;
- i64toi32_i32$0 = $155;
+ $151 = i64toi32_i32$4 & i64toi32_i32$0 | 0;
+ $151$hi = i64toi32_i32$5;
+ i64toi32_i32$5 = $144$hi;
+ i64toi32_i32$2 = $144;
+ i64toi32_i32$4 = $151$hi;
+ i64toi32_i32$0 = $151;
i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$0 | 0;
i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0;
i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$4 | 0;
@@ -1725,18 +1731,18 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
- $51 = 0;
+ $48 = 0;
}
} else {
{
i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
- $51 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
+ $48 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
}
}
- $158$hi = i64toi32_i32$2;
+ $154$hi = i64toi32_i32$2;
i64toi32_i32$2 = var$7$hi;
- i64toi32_i32$2 = $158$hi;
- i64toi32_i32$3 = $51;
+ i64toi32_i32$2 = $154$hi;
+ i64toi32_i32$3 = $48;
i64toi32_i32$5 = var$7$hi;
i64toi32_i32$0 = var$7;
i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
@@ -1762,13 +1768,7 @@ function asmFunc(global, env, buffer) {
}
}
i64toi32_i32$3 = var$5$hi;
- i64toi32_i32$2 = __tempMemory__;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = var$5;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = i64toi32_i32$3;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$5 | 0, i64toi32_i32$3 | 0);
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
@@ -1777,18 +1777,18 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
- $52 = 0;
+ $49 = 0;
}
} else {
{
i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
- $52 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
+ $49 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
}
}
- $170$hi = i64toi32_i32$2;
+ $165$hi = i64toi32_i32$2;
i64toi32_i32$2 = var$6$hi;
- i64toi32_i32$2 = $170$hi;
- i64toi32_i32$3 = $52;
+ i64toi32_i32$2 = $165$hi;
+ i64toi32_i32$3 = $49;
i64toi32_i32$5 = var$6$hi;
i64toi32_i32$0 = var$6;
i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
@@ -1797,13 +1797,7 @@ function asmFunc(global, env, buffer) {
return i64toi32_i32$3 | 0;
}
i64toi32_i32$3 = var$0$hi;
- i64toi32_i32$5 = __tempMemory__;
- wasm2js_i32$0 = i64toi32_i32$5;
- wasm2js_i32$1 = var$0;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$5;
- wasm2js_i32$1 = i64toi32_i32$3;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$0 | 0, i64toi32_i32$3 | 0);
i64toi32_i32$3 = 0;
var$0 = 0;
var$0$hi = i64toi32_i32$3;
@@ -1885,9 +1879,19 @@ export const i32_no_fold_div_s_mul = retasmFunc.i32_no_fold_div_s_mul;
export const i32_no_fold_div_u_mul = retasmFunc.i32_no_fold_div_u_mul;
export const i64_no_fold_div_s_mul = retasmFunc.i64_no_fold_div_s_mul;
export const i64_no_fold_div_u_mul = retasmFunc.i64_no_fold_div_u_mul;
-import { __tempMemory__ } from 'env';
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) {
"almost asm";
var HEAP8 = new global.Int8Array(buffer);
@@ -1911,7 +1915,6 @@ function asmFunc(global, env, buffer) {
var nan = global.NaN;
var infinity = global.Infinity;
var setTempRet0 = env.setTempRet0;
- var __tempMemory__ = env.__tempMemory__ | 0;
var i64toi32_i32$HIGH_BITS = 0;
function $0(x) {
x = x | 0;
@@ -2061,6 +2064,30 @@ 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;
@@ -2274,7 +2301,7 @@ function asmFunc(global, env, buffer) {
var$0$hi = var$0$hi | 0;
var$1 = var$1 | 0;
var$1$hi = var$1$hi | 0;
- var i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, var$2 = 0, var$3 = 0, var$4 = 0, var$5 = 0, var$5$hi = 0, var$6 = 0, var$6$hi = 0, i64toi32_i32$6 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, var$8$hi = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, var$7$hi = 0, $52 = 0, $60 = 0, $65$hi = 0, $67 = 0, $67$hi = 0, $68 = 0, $93 = 0, $124$hi = 0, $133$hi = 0, $138$hi = 0, var$8 = 0, $144 = 0, $144$hi = 0, $146$hi = 0, $148 = 0, $148$hi = 0, $155 = 0, $155$hi = 0, $158$hi = 0, var$7 = 0, $170$hi = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0;
+ var i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, var$2 = 0, var$3 = 0, var$4 = 0, var$5 = 0, var$5$hi = 0, var$6 = 0, var$6$hi = 0, i64toi32_i32$6 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, var$8$hi = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, var$7$hi = 0, $49 = 0, $63$hi = 0, $65 = 0, $65$hi = 0, $120$hi = 0, $129$hi = 0, $134$hi = 0, var$8 = 0, $140 = 0, $140$hi = 0, $142$hi = 0, $144 = 0, $144$hi = 0, $151 = 0, $151$hi = 0, $154$hi = 0, var$7 = 0, $165$hi = 0;
label$1 : {
label$2 : {
label$3 : {
@@ -2294,15 +2321,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $40 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $37 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
- $40 = (((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;
+ $37 = (((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;
}
}
- var$2 = $40;
+ var$2 = $37;
if (var$2) {
block : {
i64toi32_i32$1 = var$1$hi;
@@ -2318,15 +2345,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $41 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
- $41 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0;
+ $38 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0;
}
}
- var$4 = $41;
+ var$4 = $38;
if ((var$4 | 0) == (0 | 0)) {
break label$9
}
@@ -2350,13 +2377,7 @@ function asmFunc(global, env, buffer) {
var$3 = var$1;
var$2 = (var$2 >>> 0) / (var$3 >>> 0) | 0;
i64toi32_i32$1 = 0;
- i64toi32_i32$2 = __tempMemory__;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = var$0 - Math_imul(var$2, var$3) | 0;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = i64toi32_i32$1;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$0 - Math_imul(var$2, var$3) | 0 | 0, i64toi32_i32$1 | 0);
i64toi32_i32$1 = 0;
i64toi32_i32$2 = var$2;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
@@ -2370,15 +2391,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $42 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $39 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
- $42 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
+ $39 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
}
}
- var$3 = $42;
+ var$3 = $39;
i64toi32_i32$1 = var$0$hi;
if ((var$0 | 0) == (0 | 0)) {
break label$7
@@ -2390,7 +2411,6 @@ function asmFunc(global, env, buffer) {
if (var$4 & var$3 | 0) {
break label$6
}
- $60 = __tempMemory__;
i64toi32_i32$1 = 0;
i64toi32_i32$2 = var$4 & var$2 | 0;
i64toi32_i32$3 = 0;
@@ -2399,35 +2419,28 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
- $43 = 0;
+ $40 = 0;
}
} else {
{
i64toi32_i32$3 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
- $43 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ $40 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
- $65$hi = i64toi32_i32$3;
+ $63$hi = i64toi32_i32$3;
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$1 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 4294967295;
i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2 | 0;
- $67 = i64toi32_i32$1 & i64toi32_i32$0 | 0;
- $67$hi = i64toi32_i32$2;
- i64toi32_i32$2 = $65$hi;
- i64toi32_i32$3 = $43;
- i64toi32_i32$1 = $67$hi;
- i64toi32_i32$0 = $67;
+ $65 = i64toi32_i32$1 & i64toi32_i32$0 | 0;
+ $65$hi = i64toi32_i32$2;
+ i64toi32_i32$2 = $63$hi;
+ i64toi32_i32$3 = $40;
+ i64toi32_i32$1 = $65$hi;
+ i64toi32_i32$0 = $65;
i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0;
- $68 = i64toi32_i32$3 | i64toi32_i32$0 | 0;
- i64toi32_i32$3 = $60;
- wasm2js_i32$0 = i64toi32_i32$3;
- wasm2js_i32$1 = $68;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$3;
- wasm2js_i32$1 = i64toi32_i32$1;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0 | 0 | 0, i64toi32_i32$1 | 0);
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;
@@ -2446,7 +2459,6 @@ function asmFunc(global, env, buffer) {
var$2 = var$2 + 1 | 0;
break label$3;
}
- $93 = __tempMemory__;
var$4 = (var$2 >>> 0) / (var$3 >>> 0) | 0;
i64toi32_i32$3 = 0;
i64toi32_i32$2 = var$2 - Math_imul(var$4, var$3) | 0;
@@ -2456,21 +2468,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
- $44 = 0;
+ $41 = 0;
}
} else {
{
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;
- $44 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ $41 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
- i64toi32_i32$2 = $93;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = $44;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = i64toi32_i32$1;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64($41 | 0, i64toi32_i32$1 | 0);
i64toi32_i32$1 = 0;
i64toi32_i32$2 = var$4;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
@@ -2484,36 +2490,30 @@ function asmFunc(global, env, buffer) {
}
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$2 = 0;
- i64toi32_i32$1 = __tempMemory__;
- wasm2js_i32$0 = i64toi32_i32$1;
- wasm2js_i32$1 = var$4 & var$0 | 0;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$1;
- wasm2js_i32$1 = i64toi32_i32$2;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$4 & var$0 | 0 | 0, i64toi32_i32$2 | 0);
if ((var$3 | 0) == (1 | 0)) {
break label$1
}
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$2 = 0;
- $124$hi = i64toi32_i32$2;
+ $120$hi = i64toi32_i32$2;
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$1 = $124$hi;
+ i64toi32_i32$1 = $120$hi;
i64toi32_i32$0 = __wasm_ctz_i32(var$3 | 0) | 0;
i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $45 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $42 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
- $45 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
+ $42 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
}
}
- i64toi32_i32$3 = $45;
+ i64toi32_i32$3 = $42;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
return i64toi32_i32$3 | 0;
}
@@ -2522,45 +2522,45 @@ function asmFunc(global, env, buffer) {
}
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$3 = 0;
- $133$hi = i64toi32_i32$3;
+ $129$hi = i64toi32_i32$3;
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$2 = var$0;
- i64toi32_i32$1 = $133$hi;
+ i64toi32_i32$1 = $129$hi;
i64toi32_i32$0 = var$2 & 63 | 0;
i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $46 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
+ $43 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$1 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
- $46 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
+ $43 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
- var$5 = $46;
+ var$5 = $43;
var$5$hi = i64toi32_i32$1;
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$1 = 0;
- $138$hi = i64toi32_i32$1;
+ $134$hi = i64toi32_i32$1;
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$2 = $138$hi;
+ i64toi32_i32$2 = $134$hi;
i64toi32_i32$0 = var$3 & 63 | 0;
i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
- $47 = 0;
+ $44 = 0;
}
} else {
{
i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
- $47 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
+ $44 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
}
}
- var$0 = $47;
+ var$0 = $44;
var$0$hi = i64toi32_i32$2;
label$13 : {
if (var$2) {
@@ -2585,16 +2585,16 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
- $48 = 0;
+ $45 = 0;
}
} else {
{
i64toi32_i32$1 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0;
- $48 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
+ $45 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
}
}
- $144 = $48;
- $144$hi = i64toi32_i32$1;
+ $140 = $45;
+ $140$hi = i64toi32_i32$1;
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
@@ -2603,24 +2603,24 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $49 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
+ $46 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
}
} else {
{
i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
- $49 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0;
+ $46 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0;
}
}
- $146$hi = i64toi32_i32$2;
- i64toi32_i32$2 = $144$hi;
- i64toi32_i32$1 = $144;
- i64toi32_i32$5 = $146$hi;
- i64toi32_i32$0 = $49;
+ $142$hi = i64toi32_i32$2;
+ i64toi32_i32$2 = $140$hi;
+ i64toi32_i32$1 = $140;
+ i64toi32_i32$5 = $142$hi;
+ i64toi32_i32$0 = $46;
i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
var$5 = i64toi32_i32$1 | i64toi32_i32$0 | 0;
var$5$hi = i64toi32_i32$5;
- $148 = var$5;
- $148$hi = i64toi32_i32$5;
+ $144 = var$5;
+ $144$hi = i64toi32_i32$5;
i64toi32_i32$5 = var$8$hi;
i64toi32_i32$5 = var$5$hi;
i64toi32_i32$5 = var$8$hi;
@@ -2638,15 +2638,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0;
- $50 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
+ $47 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
}
} else {
{
i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
- $50 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0;
+ $47 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0;
}
}
- var$6 = $50;
+ var$6 = $47;
var$6$hi = i64toi32_i32$2;
i64toi32_i32$2 = var$1$hi;
i64toi32_i32$2 = var$6$hi;
@@ -2654,12 +2654,12 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = var$1$hi;
i64toi32_i32$0 = var$1;
i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0;
- $155 = i64toi32_i32$4 & i64toi32_i32$0 | 0;
- $155$hi = i64toi32_i32$5;
- i64toi32_i32$5 = $148$hi;
- i64toi32_i32$2 = $148;
- i64toi32_i32$4 = $155$hi;
- i64toi32_i32$0 = $155;
+ $151 = i64toi32_i32$4 & i64toi32_i32$0 | 0;
+ $151$hi = i64toi32_i32$5;
+ i64toi32_i32$5 = $144$hi;
+ i64toi32_i32$2 = $144;
+ i64toi32_i32$4 = $151$hi;
+ i64toi32_i32$0 = $151;
i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$0 | 0;
i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0;
i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$4 | 0;
@@ -2674,18 +2674,18 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
- $51 = 0;
+ $48 = 0;
}
} else {
{
i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
- $51 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
+ $48 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
}
}
- $158$hi = i64toi32_i32$2;
+ $154$hi = i64toi32_i32$2;
i64toi32_i32$2 = var$7$hi;
- i64toi32_i32$2 = $158$hi;
- i64toi32_i32$3 = $51;
+ i64toi32_i32$2 = $154$hi;
+ i64toi32_i32$3 = $48;
i64toi32_i32$5 = var$7$hi;
i64toi32_i32$0 = var$7;
i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
@@ -2711,13 +2711,7 @@ function asmFunc(global, env, buffer) {
}
}
i64toi32_i32$3 = var$5$hi;
- i64toi32_i32$2 = __tempMemory__;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = var$5;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = i64toi32_i32$3;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$5 | 0, i64toi32_i32$3 | 0);
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
@@ -2726,18 +2720,18 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
- $52 = 0;
+ $49 = 0;
}
} else {
{
i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
- $52 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
+ $49 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
}
}
- $170$hi = i64toi32_i32$2;
+ $165$hi = i64toi32_i32$2;
i64toi32_i32$2 = var$6$hi;
- i64toi32_i32$2 = $170$hi;
- i64toi32_i32$3 = $52;
+ i64toi32_i32$2 = $165$hi;
+ i64toi32_i32$3 = $49;
i64toi32_i32$5 = var$6$hi;
i64toi32_i32$0 = var$6;
i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
@@ -2746,13 +2740,7 @@ function asmFunc(global, env, buffer) {
return i64toi32_i32$3 | 0;
}
i64toi32_i32$3 = var$0$hi;
- i64toi32_i32$5 = __tempMemory__;
- wasm2js_i32$0 = i64toi32_i32$5;
- wasm2js_i32$1 = var$0;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$5;
- wasm2js_i32$1 = i64toi32_i32$3;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$0 | 0, i64toi32_i32$3 | 0);
i64toi32_i32$3 = 0;
var$0 = 0;
var$0$hi = i64toi32_i32$3;
@@ -2834,9 +2822,19 @@ export const i32_no_fold_mul_div_s = retasmFunc.i32_no_fold_mul_div_s;
export const i32_no_fold_mul_div_u = retasmFunc.i32_no_fold_mul_div_u;
export const i64_no_fold_mul_div_s = retasmFunc.i64_no_fold_mul_div_s;
export const i64_no_fold_mul_div_u = retasmFunc.i64_no_fold_mul_div_u;
-import { __tempMemory__ } from 'env';
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) {
"almost asm";
var HEAP8 = new global.Int8Array(buffer);
@@ -2860,7 +2858,6 @@ function asmFunc(global, env, buffer) {
var nan = global.NaN;
var infinity = global.Infinity;
var setTempRet0 = env.setTempRet0;
- var __tempMemory__ = env.__tempMemory__ | 0;
var i64toi32_i32$HIGH_BITS = 0;
function $0(x) {
x = x | 0;
@@ -2932,6 +2929,30 @@ 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;
@@ -3079,7 +3100,7 @@ function asmFunc(global, env, buffer) {
var$0$hi = var$0$hi | 0;
var$1 = var$1 | 0;
var$1$hi = var$1$hi | 0;
- var i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, var$2 = 0, var$3 = 0, var$4 = 0, var$5 = 0, var$5$hi = 0, var$6 = 0, var$6$hi = 0, i64toi32_i32$6 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, var$8$hi = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, var$7$hi = 0, $52 = 0, $60 = 0, $65$hi = 0, $67 = 0, $67$hi = 0, $68 = 0, $93 = 0, $124$hi = 0, $133$hi = 0, $138$hi = 0, var$8 = 0, $144 = 0, $144$hi = 0, $146$hi = 0, $148 = 0, $148$hi = 0, $155 = 0, $155$hi = 0, $158$hi = 0, var$7 = 0, $170$hi = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0;
+ var i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, var$2 = 0, var$3 = 0, var$4 = 0, var$5 = 0, var$5$hi = 0, var$6 = 0, var$6$hi = 0, i64toi32_i32$6 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, var$8$hi = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, var$7$hi = 0, $49 = 0, $63$hi = 0, $65 = 0, $65$hi = 0, $120$hi = 0, $129$hi = 0, $134$hi = 0, var$8 = 0, $140 = 0, $140$hi = 0, $142$hi = 0, $144 = 0, $144$hi = 0, $151 = 0, $151$hi = 0, $154$hi = 0, var$7 = 0, $165$hi = 0;
label$1 : {
label$2 : {
label$3 : {
@@ -3099,15 +3120,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $40 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $37 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
- $40 = (((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;
+ $37 = (((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;
}
}
- var$2 = $40;
+ var$2 = $37;
if (var$2) {
block : {
i64toi32_i32$1 = var$1$hi;
@@ -3123,15 +3144,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $41 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
- $41 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0;
+ $38 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0;
}
}
- var$4 = $41;
+ var$4 = $38;
if ((var$4 | 0) == (0 | 0)) {
break label$9
}
@@ -3155,13 +3176,7 @@ function asmFunc(global, env, buffer) {
var$3 = var$1;
var$2 = (var$2 >>> 0) / (var$3 >>> 0) | 0;
i64toi32_i32$1 = 0;
- i64toi32_i32$2 = __tempMemory__;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = var$0 - Math_imul(var$2, var$3) | 0;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = i64toi32_i32$1;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$0 - Math_imul(var$2, var$3) | 0 | 0, i64toi32_i32$1 | 0);
i64toi32_i32$1 = 0;
i64toi32_i32$2 = var$2;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
@@ -3175,15 +3190,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $42 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $39 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
- $42 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
+ $39 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
}
}
- var$3 = $42;
+ var$3 = $39;
i64toi32_i32$1 = var$0$hi;
if ((var$0 | 0) == (0 | 0)) {
break label$7
@@ -3195,7 +3210,6 @@ function asmFunc(global, env, buffer) {
if (var$4 & var$3 | 0) {
break label$6
}
- $60 = __tempMemory__;
i64toi32_i32$1 = 0;
i64toi32_i32$2 = var$4 & var$2 | 0;
i64toi32_i32$3 = 0;
@@ -3204,35 +3218,28 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
- $43 = 0;
+ $40 = 0;
}
} else {
{
i64toi32_i32$3 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
- $43 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ $40 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
- $65$hi = i64toi32_i32$3;
+ $63$hi = i64toi32_i32$3;
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$1 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 4294967295;
i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2 | 0;
- $67 = i64toi32_i32$1 & i64toi32_i32$0 | 0;
- $67$hi = i64toi32_i32$2;
- i64toi32_i32$2 = $65$hi;
- i64toi32_i32$3 = $43;
- i64toi32_i32$1 = $67$hi;
- i64toi32_i32$0 = $67;
+ $65 = i64toi32_i32$1 & i64toi32_i32$0 | 0;
+ $65$hi = i64toi32_i32$2;
+ i64toi32_i32$2 = $63$hi;
+ i64toi32_i32$3 = $40;
+ i64toi32_i32$1 = $65$hi;
+ i64toi32_i32$0 = $65;
i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0;
- $68 = i64toi32_i32$3 | i64toi32_i32$0 | 0;
- i64toi32_i32$3 = $60;
- wasm2js_i32$0 = i64toi32_i32$3;
- wasm2js_i32$1 = $68;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$3;
- wasm2js_i32$1 = i64toi32_i32$1;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0 | 0 | 0, i64toi32_i32$1 | 0);
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;
@@ -3251,7 +3258,6 @@ function asmFunc(global, env, buffer) {
var$2 = var$2 + 1 | 0;
break label$3;
}
- $93 = __tempMemory__;
var$4 = (var$2 >>> 0) / (var$3 >>> 0) | 0;
i64toi32_i32$3 = 0;
i64toi32_i32$2 = var$2 - Math_imul(var$4, var$3) | 0;
@@ -3261,21 +3267,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
- $44 = 0;
+ $41 = 0;
}
} else {
{
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;
- $44 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ $41 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
- i64toi32_i32$2 = $93;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = $44;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = i64toi32_i32$1;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64($41 | 0, i64toi32_i32$1 | 0);
i64toi32_i32$1 = 0;
i64toi32_i32$2 = var$4;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
@@ -3289,36 +3289,30 @@ function asmFunc(global, env, buffer) {
}
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$2 = 0;
- i64toi32_i32$1 = __tempMemory__;
- wasm2js_i32$0 = i64toi32_i32$1;
- wasm2js_i32$1 = var$4 & var$0 | 0;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$1;
- wasm2js_i32$1 = i64toi32_i32$2;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$4 & var$0 | 0 | 0, i64toi32_i32$2 | 0);
if ((var$3 | 0) == (1 | 0)) {
break label$1
}
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$2 = 0;
- $124$hi = i64toi32_i32$2;
+ $120$hi = i64toi32_i32$2;
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$1 = $124$hi;
+ i64toi32_i32$1 = $120$hi;
i64toi32_i32$0 = __wasm_ctz_i32(var$3 | 0) | 0;
i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $45 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $42 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
- $45 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
+ $42 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
}
}
- i64toi32_i32$3 = $45;
+ i64toi32_i32$3 = $42;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
return i64toi32_i32$3 | 0;
}
@@ -3327,45 +3321,45 @@ function asmFunc(global, env, buffer) {
}
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$3 = 0;
- $133$hi = i64toi32_i32$3;
+ $129$hi = i64toi32_i32$3;
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$2 = var$0;
- i64toi32_i32$1 = $133$hi;
+ i64toi32_i32$1 = $129$hi;
i64toi32_i32$0 = var$2 & 63 | 0;
i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $46 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
+ $43 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$1 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
- $46 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
+ $43 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
- var$5 = $46;
+ var$5 = $43;
var$5$hi = i64toi32_i32$1;
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$1 = 0;
- $138$hi = i64toi32_i32$1;
+ $134$hi = i64toi32_i32$1;
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$2 = $138$hi;
+ i64toi32_i32$2 = $134$hi;
i64toi32_i32$0 = var$3 & 63 | 0;
i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
- $47 = 0;
+ $44 = 0;
}
} else {
{
i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
- $47 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
+ $44 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
}
}
- var$0 = $47;
+ var$0 = $44;
var$0$hi = i64toi32_i32$2;
label$13 : {
if (var$2) {
@@ -3390,16 +3384,16 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
- $48 = 0;
+ $45 = 0;
}
} else {
{
i64toi32_i32$1 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0;
- $48 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
+ $45 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
}
}
- $144 = $48;
- $144$hi = i64toi32_i32$1;
+ $140 = $45;
+ $140$hi = i64toi32_i32$1;
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
@@ -3408,24 +3402,24 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $49 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
+ $46 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
}
} else {
{
i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
- $49 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0;
+ $46 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0;
}
}
- $146$hi = i64toi32_i32$2;
- i64toi32_i32$2 = $144$hi;
- i64toi32_i32$1 = $144;
- i64toi32_i32$5 = $146$hi;
- i64toi32_i32$0 = $49;
+ $142$hi = i64toi32_i32$2;
+ i64toi32_i32$2 = $140$hi;
+ i64toi32_i32$1 = $140;
+ i64toi32_i32$5 = $142$hi;
+ i64toi32_i32$0 = $46;
i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
var$5 = i64toi32_i32$1 | i64toi32_i32$0 | 0;
var$5$hi = i64toi32_i32$5;
- $148 = var$5;
- $148$hi = i64toi32_i32$5;
+ $144 = var$5;
+ $144$hi = i64toi32_i32$5;
i64toi32_i32$5 = var$8$hi;
i64toi32_i32$5 = var$5$hi;
i64toi32_i32$5 = var$8$hi;
@@ -3443,15 +3437,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0;
- $50 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
+ $47 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
}
} else {
{
i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
- $50 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0;
+ $47 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0;
}
}
- var$6 = $50;
+ var$6 = $47;
var$6$hi = i64toi32_i32$2;
i64toi32_i32$2 = var$1$hi;
i64toi32_i32$2 = var$6$hi;
@@ -3459,12 +3453,12 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = var$1$hi;
i64toi32_i32$0 = var$1;
i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0;
- $155 = i64toi32_i32$4 & i64toi32_i32$0 | 0;
- $155$hi = i64toi32_i32$5;
- i64toi32_i32$5 = $148$hi;
- i64toi32_i32$2 = $148;
- i64toi32_i32$4 = $155$hi;
- i64toi32_i32$0 = $155;
+ $151 = i64toi32_i32$4 & i64toi32_i32$0 | 0;
+ $151$hi = i64toi32_i32$5;
+ i64toi32_i32$5 = $144$hi;
+ i64toi32_i32$2 = $144;
+ i64toi32_i32$4 = $151$hi;
+ i64toi32_i32$0 = $151;
i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$0 | 0;
i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0;
i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$4 | 0;
@@ -3479,18 +3473,18 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
- $51 = 0;
+ $48 = 0;
}
} else {
{
i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
- $51 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
+ $48 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
}
}
- $158$hi = i64toi32_i32$2;
+ $154$hi = i64toi32_i32$2;
i64toi32_i32$2 = var$7$hi;
- i64toi32_i32$2 = $158$hi;
- i64toi32_i32$3 = $51;
+ i64toi32_i32$2 = $154$hi;
+ i64toi32_i32$3 = $48;
i64toi32_i32$5 = var$7$hi;
i64toi32_i32$0 = var$7;
i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
@@ -3516,13 +3510,7 @@ function asmFunc(global, env, buffer) {
}
}
i64toi32_i32$3 = var$5$hi;
- i64toi32_i32$2 = __tempMemory__;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = var$5;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = i64toi32_i32$3;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$5 | 0, i64toi32_i32$3 | 0);
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
@@ -3531,18 +3519,18 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
- $52 = 0;
+ $49 = 0;
}
} else {
{
i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
- $52 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
+ $49 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
}
}
- $170$hi = i64toi32_i32$2;
+ $165$hi = i64toi32_i32$2;
i64toi32_i32$2 = var$6$hi;
- i64toi32_i32$2 = $170$hi;
- i64toi32_i32$3 = $52;
+ i64toi32_i32$2 = $165$hi;
+ i64toi32_i32$3 = $49;
i64toi32_i32$5 = var$6$hi;
i64toi32_i32$0 = var$6;
i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
@@ -3551,13 +3539,7 @@ function asmFunc(global, env, buffer) {
return i64toi32_i32$3 | 0;
}
i64toi32_i32$3 = var$0$hi;
- i64toi32_i32$5 = __tempMemory__;
- wasm2js_i32$0 = i64toi32_i32$5;
- wasm2js_i32$1 = var$0;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$5;
- wasm2js_i32$1 = i64toi32_i32$3;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$0 | 0, i64toi32_i32$3 | 0);
i64toi32_i32$3 = 0;
var$0 = 0;
var$0$hi = i64toi32_i32$3;
@@ -3603,9 +3585,25 @@ const memasmFunc = new ArrayBuffer(65536);
const retasmFunc = asmFunc({Math,Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,NaN,Infinity}, {abort:function() { throw new Error('abort'); },setTempRet0},memasmFunc);
export const i32_no_fold_div_s_2 = retasmFunc.i32_no_fold_div_s_2;
export const i64_no_fold_div_s_2 = retasmFunc.i64_no_fold_div_s_2;
-import { __tempMemory__ } from 'env';
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) {
"almost asm";
var HEAP8 = new global.Int8Array(buffer);
@@ -3629,7 +3627,7 @@ function asmFunc(global, env, buffer) {
var nan = global.NaN;
var infinity = global.Infinity;
var setTempRet0 = env.setTempRet0;
- var __tempMemory__ = env.__tempMemory__ | 0;
+ var getTempRet0 = env.getTempRet0;
var i64toi32_i32$HIGH_BITS = 0;
function $0(x) {
x = x | 0;
@@ -3701,6 +3699,62 @@ 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;
@@ -3824,7 +3878,7 @@ function asmFunc(global, env, buffer) {
var$0$hi = var$0$hi | 0;
var$1 = var$1 | 0;
var$1$hi = var$1$hi | 0;
- var i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, var$2 = 0, var$3 = 0, var$4 = 0, var$5 = 0, var$5$hi = 0, var$6 = 0, var$6$hi = 0, i64toi32_i32$6 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, var$8$hi = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, var$7$hi = 0, $52 = 0, $60 = 0, $65$hi = 0, $67 = 0, $67$hi = 0, $68 = 0, $93 = 0, $124$hi = 0, $133$hi = 0, $138$hi = 0, var$8 = 0, $144 = 0, $144$hi = 0, $146$hi = 0, $148 = 0, $148$hi = 0, $155 = 0, $155$hi = 0, $158$hi = 0, var$7 = 0, $170$hi = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0;
+ var i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, var$2 = 0, var$3 = 0, var$4 = 0, var$5 = 0, var$5$hi = 0, var$6 = 0, var$6$hi = 0, i64toi32_i32$6 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, var$8$hi = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, var$7$hi = 0, $49 = 0, $63$hi = 0, $65 = 0, $65$hi = 0, $120$hi = 0, $129$hi = 0, $134$hi = 0, var$8 = 0, $140 = 0, $140$hi = 0, $142$hi = 0, $144 = 0, $144$hi = 0, $151 = 0, $151$hi = 0, $154$hi = 0, var$7 = 0, $165$hi = 0;
label$1 : {
label$2 : {
label$3 : {
@@ -3844,15 +3898,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $40 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $37 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
- $40 = (((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;
+ $37 = (((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;
}
}
- var$2 = $40;
+ var$2 = $37;
if (var$2) {
block : {
i64toi32_i32$1 = var$1$hi;
@@ -3868,15 +3922,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $41 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
- $41 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0;
+ $38 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0;
}
}
- var$4 = $41;
+ var$4 = $38;
if ((var$4 | 0) == (0 | 0)) {
break label$9
}
@@ -3900,13 +3954,7 @@ function asmFunc(global, env, buffer) {
var$3 = var$1;
var$2 = (var$2 >>> 0) / (var$3 >>> 0) | 0;
i64toi32_i32$1 = 0;
- i64toi32_i32$2 = __tempMemory__;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = var$0 - Math_imul(var$2, var$3) | 0;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = i64toi32_i32$1;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$0 - Math_imul(var$2, var$3) | 0 | 0, i64toi32_i32$1 | 0);
i64toi32_i32$1 = 0;
i64toi32_i32$2 = var$2;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
@@ -3920,15 +3968,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $42 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $39 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
- $42 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
+ $39 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
}
}
- var$3 = $42;
+ var$3 = $39;
i64toi32_i32$1 = var$0$hi;
if ((var$0 | 0) == (0 | 0)) {
break label$7
@@ -3940,7 +3988,6 @@ function asmFunc(global, env, buffer) {
if (var$4 & var$3 | 0) {
break label$6
}
- $60 = __tempMemory__;
i64toi32_i32$1 = 0;
i64toi32_i32$2 = var$4 & var$2 | 0;
i64toi32_i32$3 = 0;
@@ -3949,35 +3996,28 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
- $43 = 0;
+ $40 = 0;
}
} else {
{
i64toi32_i32$3 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
- $43 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ $40 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
- $65$hi = i64toi32_i32$3;
+ $63$hi = i64toi32_i32$3;
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$1 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 4294967295;
i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2 | 0;
- $67 = i64toi32_i32$1 & i64toi32_i32$0 | 0;
- $67$hi = i64toi32_i32$2;
- i64toi32_i32$2 = $65$hi;
- i64toi32_i32$3 = $43;
- i64toi32_i32$1 = $67$hi;
- i64toi32_i32$0 = $67;
+ $65 = i64toi32_i32$1 & i64toi32_i32$0 | 0;
+ $65$hi = i64toi32_i32$2;
+ i64toi32_i32$2 = $63$hi;
+ i64toi32_i32$3 = $40;
+ i64toi32_i32$1 = $65$hi;
+ i64toi32_i32$0 = $65;
i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0;
- $68 = i64toi32_i32$3 | i64toi32_i32$0 | 0;
- i64toi32_i32$3 = $60;
- wasm2js_i32$0 = i64toi32_i32$3;
- wasm2js_i32$1 = $68;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$3;
- wasm2js_i32$1 = i64toi32_i32$1;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0 | 0 | 0, i64toi32_i32$1 | 0);
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;
@@ -3996,7 +4036,6 @@ function asmFunc(global, env, buffer) {
var$2 = var$2 + 1 | 0;
break label$3;
}
- $93 = __tempMemory__;
var$4 = (var$2 >>> 0) / (var$3 >>> 0) | 0;
i64toi32_i32$3 = 0;
i64toi32_i32$2 = var$2 - Math_imul(var$4, var$3) | 0;
@@ -4006,21 +4045,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
- $44 = 0;
+ $41 = 0;
}
} else {
{
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;
- $44 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ $41 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
- i64toi32_i32$2 = $93;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = $44;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = i64toi32_i32$1;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64($41 | 0, i64toi32_i32$1 | 0);
i64toi32_i32$1 = 0;
i64toi32_i32$2 = var$4;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
@@ -4034,36 +4067,30 @@ function asmFunc(global, env, buffer) {
}
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$2 = 0;
- i64toi32_i32$1 = __tempMemory__;
- wasm2js_i32$0 = i64toi32_i32$1;
- wasm2js_i32$1 = var$4 & var$0 | 0;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$1;
- wasm2js_i32$1 = i64toi32_i32$2;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$4 & var$0 | 0 | 0, i64toi32_i32$2 | 0);
if ((var$3 | 0) == (1 | 0)) {
break label$1
}
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$2 = 0;
- $124$hi = i64toi32_i32$2;
+ $120$hi = i64toi32_i32$2;
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$1 = $124$hi;
+ i64toi32_i32$1 = $120$hi;
i64toi32_i32$0 = __wasm_ctz_i32(var$3 | 0) | 0;
i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $45 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $42 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
- $45 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
+ $42 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
}
}
- i64toi32_i32$3 = $45;
+ i64toi32_i32$3 = $42;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
return i64toi32_i32$3 | 0;
}
@@ -4072,45 +4099,45 @@ function asmFunc(global, env, buffer) {
}
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$3 = 0;
- $133$hi = i64toi32_i32$3;
+ $129$hi = i64toi32_i32$3;
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$2 = var$0;
- i64toi32_i32$1 = $133$hi;
+ i64toi32_i32$1 = $129$hi;
i64toi32_i32$0 = var$2 & 63 | 0;
i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $46 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
+ $43 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$1 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
- $46 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
+ $43 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
- var$5 = $46;
+ var$5 = $43;
var$5$hi = i64toi32_i32$1;
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$1 = 0;
- $138$hi = i64toi32_i32$1;
+ $134$hi = i64toi32_i32$1;
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$2 = $138$hi;
+ i64toi32_i32$2 = $134$hi;
i64toi32_i32$0 = var$3 & 63 | 0;
i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
- $47 = 0;
+ $44 = 0;
}
} else {
{
i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
- $47 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
+ $44 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
}
}
- var$0 = $47;
+ var$0 = $44;
var$0$hi = i64toi32_i32$2;
label$13 : {
if (var$2) {
@@ -4135,16 +4162,16 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
- $48 = 0;
+ $45 = 0;
}
} else {
{
i64toi32_i32$1 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0;
- $48 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
+ $45 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
}
}
- $144 = $48;
- $144$hi = i64toi32_i32$1;
+ $140 = $45;
+ $140$hi = i64toi32_i32$1;
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
@@ -4153,24 +4180,24 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $49 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
+ $46 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
}
} else {
{
i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
- $49 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0;
+ $46 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0;
}
}
- $146$hi = i64toi32_i32$2;
- i64toi32_i32$2 = $144$hi;
- i64toi32_i32$1 = $144;
- i64toi32_i32$5 = $146$hi;
- i64toi32_i32$0 = $49;
+ $142$hi = i64toi32_i32$2;
+ i64toi32_i32$2 = $140$hi;
+ i64toi32_i32$1 = $140;
+ i64toi32_i32$5 = $142$hi;
+ i64toi32_i32$0 = $46;
i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
var$5 = i64toi32_i32$1 | i64toi32_i32$0 | 0;
var$5$hi = i64toi32_i32$5;
- $148 = var$5;
- $148$hi = i64toi32_i32$5;
+ $144 = var$5;
+ $144$hi = i64toi32_i32$5;
i64toi32_i32$5 = var$8$hi;
i64toi32_i32$5 = var$5$hi;
i64toi32_i32$5 = var$8$hi;
@@ -4188,15 +4215,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0;
- $50 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
+ $47 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
}
} else {
{
i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
- $50 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0;
+ $47 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0;
}
}
- var$6 = $50;
+ var$6 = $47;
var$6$hi = i64toi32_i32$2;
i64toi32_i32$2 = var$1$hi;
i64toi32_i32$2 = var$6$hi;
@@ -4204,12 +4231,12 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = var$1$hi;
i64toi32_i32$0 = var$1;
i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0;
- $155 = i64toi32_i32$4 & i64toi32_i32$0 | 0;
- $155$hi = i64toi32_i32$5;
- i64toi32_i32$5 = $148$hi;
- i64toi32_i32$2 = $148;
- i64toi32_i32$4 = $155$hi;
- i64toi32_i32$0 = $155;
+ $151 = i64toi32_i32$4 & i64toi32_i32$0 | 0;
+ $151$hi = i64toi32_i32$5;
+ i64toi32_i32$5 = $144$hi;
+ i64toi32_i32$2 = $144;
+ i64toi32_i32$4 = $151$hi;
+ i64toi32_i32$0 = $151;
i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$0 | 0;
i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0;
i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$4 | 0;
@@ -4224,18 +4251,18 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
- $51 = 0;
+ $48 = 0;
}
} else {
{
i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
- $51 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
+ $48 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
}
}
- $158$hi = i64toi32_i32$2;
+ $154$hi = i64toi32_i32$2;
i64toi32_i32$2 = var$7$hi;
- i64toi32_i32$2 = $158$hi;
- i64toi32_i32$3 = $51;
+ i64toi32_i32$2 = $154$hi;
+ i64toi32_i32$3 = $48;
i64toi32_i32$5 = var$7$hi;
i64toi32_i32$0 = var$7;
i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
@@ -4261,13 +4288,7 @@ function asmFunc(global, env, buffer) {
}
}
i64toi32_i32$3 = var$5$hi;
- i64toi32_i32$2 = __tempMemory__;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = var$5;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = i64toi32_i32$3;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$5 | 0, i64toi32_i32$3 | 0);
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
@@ -4276,18 +4297,18 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
- $52 = 0;
+ $49 = 0;
}
} else {
{
i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
- $52 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
+ $49 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
}
}
- $170$hi = i64toi32_i32$2;
+ $165$hi = i64toi32_i32$2;
i64toi32_i32$2 = var$6$hi;
- i64toi32_i32$2 = $170$hi;
- i64toi32_i32$3 = $52;
+ i64toi32_i32$2 = $165$hi;
+ i64toi32_i32$3 = $49;
i64toi32_i32$5 = var$6$hi;
i64toi32_i32$0 = var$6;
i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
@@ -4296,13 +4317,7 @@ function asmFunc(global, env, buffer) {
return i64toi32_i32$3 | 0;
}
i64toi32_i32$3 = var$0$hi;
- i64toi32_i32$5 = __tempMemory__;
- wasm2js_i32$0 = i64toi32_i32$5;
- wasm2js_i32$1 = var$0;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$5;
- wasm2js_i32$1 = i64toi32_i32$3;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$0 | 0, i64toi32_i32$3 | 0);
i64toi32_i32$3 = 0;
var$0 = 0;
var$0$hi = i64toi32_i32$3;
@@ -4318,16 +4333,15 @@ function asmFunc(global, env, buffer) {
var$0$hi = var$0$hi | 0;
var$1 = var$1 | 0;
var$1$hi = var$1$hi | 0;
- var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, wasm2js_i32$0 = 0;
+ var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$0 = var$1$hi;
i64toi32_i32$0 = var$0$hi;
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$2 = __tempMemory__;
- i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0;
- i64toi32_i32$1 = (wasm2js_i32$0 = i64toi32_i32$2, HEAPU8[(wasm2js_i32$0 + 4 | 0) >> 0] | 0 | 0 | (HEAPU8[(wasm2js_i32$0 + 5 | 0) >> 0] | 0 | 0) << 8 | (HEAPU8[(wasm2js_i32$0 + 6 | 0) >> 0] | 0 | 0) << 16 | (HEAPU8[(wasm2js_i32$0 + 7 | 0) >> 0] | 0 | 0) << 24);
+ 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;
}
@@ -4348,12 +4362,22 @@ function asmFunc(global, env, buffer) {
}
const memasmFunc = new ArrayBuffer(65536);
-const retasmFunc = asmFunc({Math,Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,NaN,Infinity}, {abort:function() { throw new Error('abort'); },setTempRet0},memasmFunc);
+const retasmFunc = asmFunc({Math,Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,NaN,Infinity}, {abort:function() { throw new Error('abort'); },setTempRet0,getTempRet0},memasmFunc);
export const i32_no_fold_rem_s_2 = retasmFunc.i32_no_fold_rem_s_2;
export const i64_no_fold_rem_s_2 = retasmFunc.i64_no_fold_rem_s_2;
-import { __tempMemory__ } from 'env';
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) {
"almost asm";
var HEAP8 = new global.Int8Array(buffer);
@@ -4377,7 +4401,6 @@ function asmFunc(global, env, buffer) {
var nan = global.NaN;
var infinity = global.Infinity;
var setTempRet0 = env.setTempRet0;
- var __tempMemory__ = env.__tempMemory__ | 0;
var i64toi32_i32$HIGH_BITS = 0;
function $0(x) {
x = x | 0;
@@ -4519,6 +4542,30 @@ 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;
@@ -4650,7 +4697,7 @@ function asmFunc(global, env, buffer) {
var$0$hi = var$0$hi | 0;
var$1 = var$1 | 0;
var$1$hi = var$1$hi | 0;
- var i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, var$2 = 0, var$3 = 0, var$4 = 0, var$5 = 0, var$5$hi = 0, var$6 = 0, var$6$hi = 0, i64toi32_i32$6 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, var$8$hi = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, var$7$hi = 0, $52 = 0, $60 = 0, $65$hi = 0, $67 = 0, $67$hi = 0, $68 = 0, $93 = 0, $124$hi = 0, $133$hi = 0, $138$hi = 0, var$8 = 0, $144 = 0, $144$hi = 0, $146$hi = 0, $148 = 0, $148$hi = 0, $155 = 0, $155$hi = 0, $158$hi = 0, var$7 = 0, $170$hi = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0;
+ var i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, var$2 = 0, var$3 = 0, var$4 = 0, var$5 = 0, var$5$hi = 0, var$6 = 0, var$6$hi = 0, i64toi32_i32$6 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, var$8$hi = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, var$7$hi = 0, $49 = 0, $63$hi = 0, $65 = 0, $65$hi = 0, $120$hi = 0, $129$hi = 0, $134$hi = 0, var$8 = 0, $140 = 0, $140$hi = 0, $142$hi = 0, $144 = 0, $144$hi = 0, $151 = 0, $151$hi = 0, $154$hi = 0, var$7 = 0, $165$hi = 0;
label$1 : {
label$2 : {
label$3 : {
@@ -4670,15 +4717,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $40 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $37 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
- $40 = (((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;
+ $37 = (((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;
}
}
- var$2 = $40;
+ var$2 = $37;
if (var$2) {
block : {
i64toi32_i32$1 = var$1$hi;
@@ -4694,15 +4741,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $41 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
- $41 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0;
+ $38 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0;
}
}
- var$4 = $41;
+ var$4 = $38;
if ((var$4 | 0) == (0 | 0)) {
break label$9
}
@@ -4726,13 +4773,7 @@ function asmFunc(global, env, buffer) {
var$3 = var$1;
var$2 = (var$2 >>> 0) / (var$3 >>> 0) | 0;
i64toi32_i32$1 = 0;
- i64toi32_i32$2 = __tempMemory__;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = var$0 - Math_imul(var$2, var$3) | 0;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = i64toi32_i32$1;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$0 - Math_imul(var$2, var$3) | 0 | 0, i64toi32_i32$1 | 0);
i64toi32_i32$1 = 0;
i64toi32_i32$2 = var$2;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
@@ -4746,15 +4787,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $42 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $39 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
- $42 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
+ $39 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
}
}
- var$3 = $42;
+ var$3 = $39;
i64toi32_i32$1 = var$0$hi;
if ((var$0 | 0) == (0 | 0)) {
break label$7
@@ -4766,7 +4807,6 @@ function asmFunc(global, env, buffer) {
if (var$4 & var$3 | 0) {
break label$6
}
- $60 = __tempMemory__;
i64toi32_i32$1 = 0;
i64toi32_i32$2 = var$4 & var$2 | 0;
i64toi32_i32$3 = 0;
@@ -4775,35 +4815,28 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
- $43 = 0;
+ $40 = 0;
}
} else {
{
i64toi32_i32$3 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
- $43 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ $40 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
- $65$hi = i64toi32_i32$3;
+ $63$hi = i64toi32_i32$3;
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$1 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 4294967295;
i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2 | 0;
- $67 = i64toi32_i32$1 & i64toi32_i32$0 | 0;
- $67$hi = i64toi32_i32$2;
- i64toi32_i32$2 = $65$hi;
- i64toi32_i32$3 = $43;
- i64toi32_i32$1 = $67$hi;
- i64toi32_i32$0 = $67;
+ $65 = i64toi32_i32$1 & i64toi32_i32$0 | 0;
+ $65$hi = i64toi32_i32$2;
+ i64toi32_i32$2 = $63$hi;
+ i64toi32_i32$3 = $40;
+ i64toi32_i32$1 = $65$hi;
+ i64toi32_i32$0 = $65;
i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0;
- $68 = i64toi32_i32$3 | i64toi32_i32$0 | 0;
- i64toi32_i32$3 = $60;
- wasm2js_i32$0 = i64toi32_i32$3;
- wasm2js_i32$1 = $68;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$3;
- wasm2js_i32$1 = i64toi32_i32$1;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0 | 0 | 0, i64toi32_i32$1 | 0);
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;
@@ -4822,7 +4855,6 @@ function asmFunc(global, env, buffer) {
var$2 = var$2 + 1 | 0;
break label$3;
}
- $93 = __tempMemory__;
var$4 = (var$2 >>> 0) / (var$3 >>> 0) | 0;
i64toi32_i32$3 = 0;
i64toi32_i32$2 = var$2 - Math_imul(var$4, var$3) | 0;
@@ -4832,21 +4864,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
- $44 = 0;
+ $41 = 0;
}
} else {
{
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;
- $44 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ $41 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
- i64toi32_i32$2 = $93;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = $44;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = i64toi32_i32$1;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64($41 | 0, i64toi32_i32$1 | 0);
i64toi32_i32$1 = 0;
i64toi32_i32$2 = var$4;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
@@ -4860,36 +4886,30 @@ function asmFunc(global, env, buffer) {
}
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$2 = 0;
- i64toi32_i32$1 = __tempMemory__;
- wasm2js_i32$0 = i64toi32_i32$1;
- wasm2js_i32$1 = var$4 & var$0 | 0;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$1;
- wasm2js_i32$1 = i64toi32_i32$2;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$4 & var$0 | 0 | 0, i64toi32_i32$2 | 0);
if ((var$3 | 0) == (1 | 0)) {
break label$1
}
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$2 = 0;
- $124$hi = i64toi32_i32$2;
+ $120$hi = i64toi32_i32$2;
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$1 = $124$hi;
+ i64toi32_i32$1 = $120$hi;
i64toi32_i32$0 = __wasm_ctz_i32(var$3 | 0) | 0;
i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $45 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $42 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
- $45 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
+ $42 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
}
}
- i64toi32_i32$3 = $45;
+ i64toi32_i32$3 = $42;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
return i64toi32_i32$3 | 0;
}
@@ -4898,45 +4918,45 @@ function asmFunc(global, env, buffer) {
}
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$3 = 0;
- $133$hi = i64toi32_i32$3;
+ $129$hi = i64toi32_i32$3;
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$2 = var$0;
- i64toi32_i32$1 = $133$hi;
+ i64toi32_i32$1 = $129$hi;
i64toi32_i32$0 = var$2 & 63 | 0;
i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $46 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
+ $43 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$1 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
- $46 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
+ $43 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
- var$5 = $46;
+ var$5 = $43;
var$5$hi = i64toi32_i32$1;
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$1 = 0;
- $138$hi = i64toi32_i32$1;
+ $134$hi = i64toi32_i32$1;
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$2 = $138$hi;
+ i64toi32_i32$2 = $134$hi;
i64toi32_i32$0 = var$3 & 63 | 0;
i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
- $47 = 0;
+ $44 = 0;
}
} else {
{
i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
- $47 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
+ $44 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
}
}
- var$0 = $47;
+ var$0 = $44;
var$0$hi = i64toi32_i32$2;
label$13 : {
if (var$2) {
@@ -4961,16 +4981,16 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
- $48 = 0;
+ $45 = 0;
}
} else {
{
i64toi32_i32$1 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0;
- $48 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
+ $45 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
}
}
- $144 = $48;
- $144$hi = i64toi32_i32$1;
+ $140 = $45;
+ $140$hi = i64toi32_i32$1;
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
@@ -4979,24 +4999,24 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $49 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
+ $46 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
}
} else {
{
i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
- $49 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0;
+ $46 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0;
}
}
- $146$hi = i64toi32_i32$2;
- i64toi32_i32$2 = $144$hi;
- i64toi32_i32$1 = $144;
- i64toi32_i32$5 = $146$hi;
- i64toi32_i32$0 = $49;
+ $142$hi = i64toi32_i32$2;
+ i64toi32_i32$2 = $140$hi;
+ i64toi32_i32$1 = $140;
+ i64toi32_i32$5 = $142$hi;
+ i64toi32_i32$0 = $46;
i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
var$5 = i64toi32_i32$1 | i64toi32_i32$0 | 0;
var$5$hi = i64toi32_i32$5;
- $148 = var$5;
- $148$hi = i64toi32_i32$5;
+ $144 = var$5;
+ $144$hi = i64toi32_i32$5;
i64toi32_i32$5 = var$8$hi;
i64toi32_i32$5 = var$5$hi;
i64toi32_i32$5 = var$8$hi;
@@ -5014,15 +5034,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0;
- $50 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
+ $47 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
}
} else {
{
i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
- $50 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0;
+ $47 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0;
}
}
- var$6 = $50;
+ var$6 = $47;
var$6$hi = i64toi32_i32$2;
i64toi32_i32$2 = var$1$hi;
i64toi32_i32$2 = var$6$hi;
@@ -5030,12 +5050,12 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = var$1$hi;
i64toi32_i32$0 = var$1;
i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0;
- $155 = i64toi32_i32$4 & i64toi32_i32$0 | 0;
- $155$hi = i64toi32_i32$5;
- i64toi32_i32$5 = $148$hi;
- i64toi32_i32$2 = $148;
- i64toi32_i32$4 = $155$hi;
- i64toi32_i32$0 = $155;
+ $151 = i64toi32_i32$4 & i64toi32_i32$0 | 0;
+ $151$hi = i64toi32_i32$5;
+ i64toi32_i32$5 = $144$hi;
+ i64toi32_i32$2 = $144;
+ i64toi32_i32$4 = $151$hi;
+ i64toi32_i32$0 = $151;
i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$0 | 0;
i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0;
i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$4 | 0;
@@ -5050,18 +5070,18 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
- $51 = 0;
+ $48 = 0;
}
} else {
{
i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
- $51 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
+ $48 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
}
}
- $158$hi = i64toi32_i32$2;
+ $154$hi = i64toi32_i32$2;
i64toi32_i32$2 = var$7$hi;
- i64toi32_i32$2 = $158$hi;
- i64toi32_i32$3 = $51;
+ i64toi32_i32$2 = $154$hi;
+ i64toi32_i32$3 = $48;
i64toi32_i32$5 = var$7$hi;
i64toi32_i32$0 = var$7;
i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
@@ -5087,13 +5107,7 @@ function asmFunc(global, env, buffer) {
}
}
i64toi32_i32$3 = var$5$hi;
- i64toi32_i32$2 = __tempMemory__;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = var$5;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = i64toi32_i32$3;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$5 | 0, i64toi32_i32$3 | 0);
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
@@ -5102,18 +5116,18 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
- $52 = 0;
+ $49 = 0;
}
} else {
{
i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
- $52 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
+ $49 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
}
}
- $170$hi = i64toi32_i32$2;
+ $165$hi = i64toi32_i32$2;
i64toi32_i32$2 = var$6$hi;
- i64toi32_i32$2 = $170$hi;
- i64toi32_i32$3 = $52;
+ i64toi32_i32$2 = $165$hi;
+ i64toi32_i32$3 = $49;
i64toi32_i32$5 = var$6$hi;
i64toi32_i32$0 = var$6;
i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
@@ -5122,13 +5136,7 @@ function asmFunc(global, env, buffer) {
return i64toi32_i32$3 | 0;
}
i64toi32_i32$3 = var$0$hi;
- i64toi32_i32$5 = __tempMemory__;
- wasm2js_i32$0 = i64toi32_i32$5;
- wasm2js_i32$1 = var$0;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$5;
- wasm2js_i32$1 = i64toi32_i32$3;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$0 | 0, i64toi32_i32$3 | 0);
i64toi32_i32$3 = 0;
var$0 = 0;
var$0$hi = i64toi32_i32$3;
@@ -5194,9 +5202,19 @@ export const i32_div_s_3 = retasmFunc.i32_div_s_3;
export const i32_div_u_3 = retasmFunc.i32_div_u_3;
export const i64_div_s_3 = retasmFunc.i64_div_s_3;
export const i64_div_u_3 = retasmFunc.i64_div_u_3;
-import { __tempMemory__ } from 'env';
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) {
"almost asm";
var HEAP8 = new global.Int8Array(buffer);
@@ -5220,7 +5238,6 @@ function asmFunc(global, env, buffer) {
var nan = global.NaN;
var infinity = global.Infinity;
var setTempRet0 = env.setTempRet0;
- var __tempMemory__ = env.__tempMemory__ | 0;
var i64toi32_i32$HIGH_BITS = 0;
function $0(x) {
x = x | 0;
@@ -5362,6 +5379,30 @@ 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;
@@ -5493,7 +5534,7 @@ function asmFunc(global, env, buffer) {
var$0$hi = var$0$hi | 0;
var$1 = var$1 | 0;
var$1$hi = var$1$hi | 0;
- var i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, var$2 = 0, var$3 = 0, var$4 = 0, var$5 = 0, var$5$hi = 0, var$6 = 0, var$6$hi = 0, i64toi32_i32$6 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, var$8$hi = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, var$7$hi = 0, $52 = 0, $60 = 0, $65$hi = 0, $67 = 0, $67$hi = 0, $68 = 0, $93 = 0, $124$hi = 0, $133$hi = 0, $138$hi = 0, var$8 = 0, $144 = 0, $144$hi = 0, $146$hi = 0, $148 = 0, $148$hi = 0, $155 = 0, $155$hi = 0, $158$hi = 0, var$7 = 0, $170$hi = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0;
+ var i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, var$2 = 0, var$3 = 0, var$4 = 0, var$5 = 0, var$5$hi = 0, var$6 = 0, var$6$hi = 0, i64toi32_i32$6 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, var$8$hi = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, var$7$hi = 0, $49 = 0, $63$hi = 0, $65 = 0, $65$hi = 0, $120$hi = 0, $129$hi = 0, $134$hi = 0, var$8 = 0, $140 = 0, $140$hi = 0, $142$hi = 0, $144 = 0, $144$hi = 0, $151 = 0, $151$hi = 0, $154$hi = 0, var$7 = 0, $165$hi = 0;
label$1 : {
label$2 : {
label$3 : {
@@ -5513,15 +5554,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $40 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $37 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
- $40 = (((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;
+ $37 = (((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;
}
}
- var$2 = $40;
+ var$2 = $37;
if (var$2) {
block : {
i64toi32_i32$1 = var$1$hi;
@@ -5537,15 +5578,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $41 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
- $41 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0;
+ $38 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0;
}
}
- var$4 = $41;
+ var$4 = $38;
if ((var$4 | 0) == (0 | 0)) {
break label$9
}
@@ -5569,13 +5610,7 @@ function asmFunc(global, env, buffer) {
var$3 = var$1;
var$2 = (var$2 >>> 0) / (var$3 >>> 0) | 0;
i64toi32_i32$1 = 0;
- i64toi32_i32$2 = __tempMemory__;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = var$0 - Math_imul(var$2, var$3) | 0;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = i64toi32_i32$1;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$0 - Math_imul(var$2, var$3) | 0 | 0, i64toi32_i32$1 | 0);
i64toi32_i32$1 = 0;
i64toi32_i32$2 = var$2;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
@@ -5589,15 +5624,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $42 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $39 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
- $42 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
+ $39 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
}
}
- var$3 = $42;
+ var$3 = $39;
i64toi32_i32$1 = var$0$hi;
if ((var$0 | 0) == (0 | 0)) {
break label$7
@@ -5609,7 +5644,6 @@ function asmFunc(global, env, buffer) {
if (var$4 & var$3 | 0) {
break label$6
}
- $60 = __tempMemory__;
i64toi32_i32$1 = 0;
i64toi32_i32$2 = var$4 & var$2 | 0;
i64toi32_i32$3 = 0;
@@ -5618,35 +5652,28 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
- $43 = 0;
+ $40 = 0;
}
} else {
{
i64toi32_i32$3 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
- $43 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ $40 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
- $65$hi = i64toi32_i32$3;
+ $63$hi = i64toi32_i32$3;
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$1 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 4294967295;
i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2 | 0;
- $67 = i64toi32_i32$1 & i64toi32_i32$0 | 0;
- $67$hi = i64toi32_i32$2;
- i64toi32_i32$2 = $65$hi;
- i64toi32_i32$3 = $43;
- i64toi32_i32$1 = $67$hi;
- i64toi32_i32$0 = $67;
+ $65 = i64toi32_i32$1 & i64toi32_i32$0 | 0;
+ $65$hi = i64toi32_i32$2;
+ i64toi32_i32$2 = $63$hi;
+ i64toi32_i32$3 = $40;
+ i64toi32_i32$1 = $65$hi;
+ i64toi32_i32$0 = $65;
i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0;
- $68 = i64toi32_i32$3 | i64toi32_i32$0 | 0;
- i64toi32_i32$3 = $60;
- wasm2js_i32$0 = i64toi32_i32$3;
- wasm2js_i32$1 = $68;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$3;
- wasm2js_i32$1 = i64toi32_i32$1;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0 | 0 | 0, i64toi32_i32$1 | 0);
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;
@@ -5665,7 +5692,6 @@ function asmFunc(global, env, buffer) {
var$2 = var$2 + 1 | 0;
break label$3;
}
- $93 = __tempMemory__;
var$4 = (var$2 >>> 0) / (var$3 >>> 0) | 0;
i64toi32_i32$3 = 0;
i64toi32_i32$2 = var$2 - Math_imul(var$4, var$3) | 0;
@@ -5675,21 +5701,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
- $44 = 0;
+ $41 = 0;
}
} else {
{
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;
- $44 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ $41 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
- i64toi32_i32$2 = $93;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = $44;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = i64toi32_i32$1;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64($41 | 0, i64toi32_i32$1 | 0);
i64toi32_i32$1 = 0;
i64toi32_i32$2 = var$4;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
@@ -5703,36 +5723,30 @@ function asmFunc(global, env, buffer) {
}
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$2 = 0;
- i64toi32_i32$1 = __tempMemory__;
- wasm2js_i32$0 = i64toi32_i32$1;
- wasm2js_i32$1 = var$4 & var$0 | 0;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$1;
- wasm2js_i32$1 = i64toi32_i32$2;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$4 & var$0 | 0 | 0, i64toi32_i32$2 | 0);
if ((var$3 | 0) == (1 | 0)) {
break label$1
}
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$2 = 0;
- $124$hi = i64toi32_i32$2;
+ $120$hi = i64toi32_i32$2;
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$1 = $124$hi;
+ i64toi32_i32$1 = $120$hi;
i64toi32_i32$0 = __wasm_ctz_i32(var$3 | 0) | 0;
i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $45 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $42 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
- $45 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
+ $42 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
}
}
- i64toi32_i32$3 = $45;
+ i64toi32_i32$3 = $42;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
return i64toi32_i32$3 | 0;
}
@@ -5741,45 +5755,45 @@ function asmFunc(global, env, buffer) {
}
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$3 = 0;
- $133$hi = i64toi32_i32$3;
+ $129$hi = i64toi32_i32$3;
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$2 = var$0;
- i64toi32_i32$1 = $133$hi;
+ i64toi32_i32$1 = $129$hi;
i64toi32_i32$0 = var$2 & 63 | 0;
i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $46 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
+ $43 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$1 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
- $46 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
+ $43 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
- var$5 = $46;
+ var$5 = $43;
var$5$hi = i64toi32_i32$1;
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$1 = 0;
- $138$hi = i64toi32_i32$1;
+ $134$hi = i64toi32_i32$1;
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$2 = $138$hi;
+ i64toi32_i32$2 = $134$hi;
i64toi32_i32$0 = var$3 & 63 | 0;
i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
- $47 = 0;
+ $44 = 0;
}
} else {
{
i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
- $47 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
+ $44 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
}
}
- var$0 = $47;
+ var$0 = $44;
var$0$hi = i64toi32_i32$2;
label$13 : {
if (var$2) {
@@ -5804,16 +5818,16 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
- $48 = 0;
+ $45 = 0;
}
} else {
{
i64toi32_i32$1 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0;
- $48 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
+ $45 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
}
}
- $144 = $48;
- $144$hi = i64toi32_i32$1;
+ $140 = $45;
+ $140$hi = i64toi32_i32$1;
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
@@ -5822,24 +5836,24 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $49 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
+ $46 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
}
} else {
{
i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
- $49 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0;
+ $46 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0;
}
}
- $146$hi = i64toi32_i32$2;
- i64toi32_i32$2 = $144$hi;
- i64toi32_i32$1 = $144;
- i64toi32_i32$5 = $146$hi;
- i64toi32_i32$0 = $49;
+ $142$hi = i64toi32_i32$2;
+ i64toi32_i32$2 = $140$hi;
+ i64toi32_i32$1 = $140;
+ i64toi32_i32$5 = $142$hi;
+ i64toi32_i32$0 = $46;
i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
var$5 = i64toi32_i32$1 | i64toi32_i32$0 | 0;
var$5$hi = i64toi32_i32$5;
- $148 = var$5;
- $148$hi = i64toi32_i32$5;
+ $144 = var$5;
+ $144$hi = i64toi32_i32$5;
i64toi32_i32$5 = var$8$hi;
i64toi32_i32$5 = var$5$hi;
i64toi32_i32$5 = var$8$hi;
@@ -5857,15 +5871,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0;
- $50 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
+ $47 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
}
} else {
{
i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
- $50 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0;
+ $47 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0;
}
}
- var$6 = $50;
+ var$6 = $47;
var$6$hi = i64toi32_i32$2;
i64toi32_i32$2 = var$1$hi;
i64toi32_i32$2 = var$6$hi;
@@ -5873,12 +5887,12 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = var$1$hi;
i64toi32_i32$0 = var$1;
i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0;
- $155 = i64toi32_i32$4 & i64toi32_i32$0 | 0;
- $155$hi = i64toi32_i32$5;
- i64toi32_i32$5 = $148$hi;
- i64toi32_i32$2 = $148;
- i64toi32_i32$4 = $155$hi;
- i64toi32_i32$0 = $155;
+ $151 = i64toi32_i32$4 & i64toi32_i32$0 | 0;
+ $151$hi = i64toi32_i32$5;
+ i64toi32_i32$5 = $144$hi;
+ i64toi32_i32$2 = $144;
+ i64toi32_i32$4 = $151$hi;
+ i64toi32_i32$0 = $151;
i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$0 | 0;
i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0;
i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$4 | 0;
@@ -5893,18 +5907,18 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
- $51 = 0;
+ $48 = 0;
}
} else {
{
i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
- $51 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
+ $48 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
}
}
- $158$hi = i64toi32_i32$2;
+ $154$hi = i64toi32_i32$2;
i64toi32_i32$2 = var$7$hi;
- i64toi32_i32$2 = $158$hi;
- i64toi32_i32$3 = $51;
+ i64toi32_i32$2 = $154$hi;
+ i64toi32_i32$3 = $48;
i64toi32_i32$5 = var$7$hi;
i64toi32_i32$0 = var$7;
i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
@@ -5930,13 +5944,7 @@ function asmFunc(global, env, buffer) {
}
}
i64toi32_i32$3 = var$5$hi;
- i64toi32_i32$2 = __tempMemory__;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = var$5;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = i64toi32_i32$3;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$5 | 0, i64toi32_i32$3 | 0);
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
@@ -5945,18 +5953,18 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
- $52 = 0;
+ $49 = 0;
}
} else {
{
i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
- $52 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
+ $49 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
}
}
- $170$hi = i64toi32_i32$2;
+ $165$hi = i64toi32_i32$2;
i64toi32_i32$2 = var$6$hi;
- i64toi32_i32$2 = $170$hi;
- i64toi32_i32$3 = $52;
+ i64toi32_i32$2 = $165$hi;
+ i64toi32_i32$3 = $49;
i64toi32_i32$5 = var$6$hi;
i64toi32_i32$0 = var$6;
i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
@@ -5965,13 +5973,7 @@ function asmFunc(global, env, buffer) {
return i64toi32_i32$3 | 0;
}
i64toi32_i32$3 = var$0$hi;
- i64toi32_i32$5 = __tempMemory__;
- wasm2js_i32$0 = i64toi32_i32$5;
- wasm2js_i32$1 = var$0;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$5;
- wasm2js_i32$1 = i64toi32_i32$3;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$0 | 0, i64toi32_i32$3 | 0);
i64toi32_i32$3 = 0;
var$0 = 0;
var$0$hi = i64toi32_i32$3;
@@ -6037,9 +6039,19 @@ export const i32_div_s_3 = retasmFunc.i32_div_s_3;
export const i32_div_u_3 = retasmFunc.i32_div_u_3;
export const i64_div_s_3 = retasmFunc.i64_div_s_3;
export const i64_div_u_3 = retasmFunc.i64_div_u_3;
-import { __tempMemory__ } from 'env';
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) {
"almost asm";
var HEAP8 = new global.Int8Array(buffer);
@@ -6063,7 +6075,6 @@ function asmFunc(global, env, buffer) {
var nan = global.NaN;
var infinity = global.Infinity;
var setTempRet0 = env.setTempRet0;
- var __tempMemory__ = env.__tempMemory__ | 0;
var i64toi32_i32$HIGH_BITS = 0;
function $0(x) {
x = x | 0;
@@ -6205,6 +6216,30 @@ 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;
@@ -6336,7 +6371,7 @@ function asmFunc(global, env, buffer) {
var$0$hi = var$0$hi | 0;
var$1 = var$1 | 0;
var$1$hi = var$1$hi | 0;
- var i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, var$2 = 0, var$3 = 0, var$4 = 0, var$5 = 0, var$5$hi = 0, var$6 = 0, var$6$hi = 0, i64toi32_i32$6 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, var$8$hi = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, var$7$hi = 0, $52 = 0, $60 = 0, $65$hi = 0, $67 = 0, $67$hi = 0, $68 = 0, $93 = 0, $124$hi = 0, $133$hi = 0, $138$hi = 0, var$8 = 0, $144 = 0, $144$hi = 0, $146$hi = 0, $148 = 0, $148$hi = 0, $155 = 0, $155$hi = 0, $158$hi = 0, var$7 = 0, $170$hi = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0;
+ var i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, var$2 = 0, var$3 = 0, var$4 = 0, var$5 = 0, var$5$hi = 0, var$6 = 0, var$6$hi = 0, i64toi32_i32$6 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, var$8$hi = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, var$7$hi = 0, $49 = 0, $63$hi = 0, $65 = 0, $65$hi = 0, $120$hi = 0, $129$hi = 0, $134$hi = 0, var$8 = 0, $140 = 0, $140$hi = 0, $142$hi = 0, $144 = 0, $144$hi = 0, $151 = 0, $151$hi = 0, $154$hi = 0, var$7 = 0, $165$hi = 0;
label$1 : {
label$2 : {
label$3 : {
@@ -6356,15 +6391,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $40 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $37 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
- $40 = (((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;
+ $37 = (((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;
}
}
- var$2 = $40;
+ var$2 = $37;
if (var$2) {
block : {
i64toi32_i32$1 = var$1$hi;
@@ -6380,15 +6415,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $41 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
- $41 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0;
+ $38 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0;
}
}
- var$4 = $41;
+ var$4 = $38;
if ((var$4 | 0) == (0 | 0)) {
break label$9
}
@@ -6412,13 +6447,7 @@ function asmFunc(global, env, buffer) {
var$3 = var$1;
var$2 = (var$2 >>> 0) / (var$3 >>> 0) | 0;
i64toi32_i32$1 = 0;
- i64toi32_i32$2 = __tempMemory__;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = var$0 - Math_imul(var$2, var$3) | 0;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = i64toi32_i32$1;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$0 - Math_imul(var$2, var$3) | 0 | 0, i64toi32_i32$1 | 0);
i64toi32_i32$1 = 0;
i64toi32_i32$2 = var$2;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
@@ -6432,15 +6461,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $42 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $39 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
- $42 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
+ $39 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
}
}
- var$3 = $42;
+ var$3 = $39;
i64toi32_i32$1 = var$0$hi;
if ((var$0 | 0) == (0 | 0)) {
break label$7
@@ -6452,7 +6481,6 @@ function asmFunc(global, env, buffer) {
if (var$4 & var$3 | 0) {
break label$6
}
- $60 = __tempMemory__;
i64toi32_i32$1 = 0;
i64toi32_i32$2 = var$4 & var$2 | 0;
i64toi32_i32$3 = 0;
@@ -6461,35 +6489,28 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
- $43 = 0;
+ $40 = 0;
}
} else {
{
i64toi32_i32$3 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
- $43 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ $40 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
- $65$hi = i64toi32_i32$3;
+ $63$hi = i64toi32_i32$3;
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$1 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 4294967295;
i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2 | 0;
- $67 = i64toi32_i32$1 & i64toi32_i32$0 | 0;
- $67$hi = i64toi32_i32$2;
- i64toi32_i32$2 = $65$hi;
- i64toi32_i32$3 = $43;
- i64toi32_i32$1 = $67$hi;
- i64toi32_i32$0 = $67;
+ $65 = i64toi32_i32$1 & i64toi32_i32$0 | 0;
+ $65$hi = i64toi32_i32$2;
+ i64toi32_i32$2 = $63$hi;
+ i64toi32_i32$3 = $40;
+ i64toi32_i32$1 = $65$hi;
+ i64toi32_i32$0 = $65;
i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0;
- $68 = i64toi32_i32$3 | i64toi32_i32$0 | 0;
- i64toi32_i32$3 = $60;
- wasm2js_i32$0 = i64toi32_i32$3;
- wasm2js_i32$1 = $68;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$3;
- wasm2js_i32$1 = i64toi32_i32$1;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0 | 0 | 0, i64toi32_i32$1 | 0);
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;
@@ -6508,7 +6529,6 @@ function asmFunc(global, env, buffer) {
var$2 = var$2 + 1 | 0;
break label$3;
}
- $93 = __tempMemory__;
var$4 = (var$2 >>> 0) / (var$3 >>> 0) | 0;
i64toi32_i32$3 = 0;
i64toi32_i32$2 = var$2 - Math_imul(var$4, var$3) | 0;
@@ -6518,21 +6538,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
- $44 = 0;
+ $41 = 0;
}
} else {
{
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;
- $44 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ $41 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
- i64toi32_i32$2 = $93;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = $44;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = i64toi32_i32$1;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64($41 | 0, i64toi32_i32$1 | 0);
i64toi32_i32$1 = 0;
i64toi32_i32$2 = var$4;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
@@ -6546,36 +6560,30 @@ function asmFunc(global, env, buffer) {
}
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$2 = 0;
- i64toi32_i32$1 = __tempMemory__;
- wasm2js_i32$0 = i64toi32_i32$1;
- wasm2js_i32$1 = var$4 & var$0 | 0;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$1;
- wasm2js_i32$1 = i64toi32_i32$2;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$4 & var$0 | 0 | 0, i64toi32_i32$2 | 0);
if ((var$3 | 0) == (1 | 0)) {
break label$1
}
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$2 = 0;
- $124$hi = i64toi32_i32$2;
+ $120$hi = i64toi32_i32$2;
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$1 = $124$hi;
+ i64toi32_i32$1 = $120$hi;
i64toi32_i32$0 = __wasm_ctz_i32(var$3 | 0) | 0;
i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $45 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $42 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
- $45 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
+ $42 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
}
}
- i64toi32_i32$3 = $45;
+ i64toi32_i32$3 = $42;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
return i64toi32_i32$3 | 0;
}
@@ -6584,45 +6592,45 @@ function asmFunc(global, env, buffer) {
}
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$3 = 0;
- $133$hi = i64toi32_i32$3;
+ $129$hi = i64toi32_i32$3;
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$2 = var$0;
- i64toi32_i32$1 = $133$hi;
+ i64toi32_i32$1 = $129$hi;
i64toi32_i32$0 = var$2 & 63 | 0;
i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $46 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
+ $43 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$1 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
- $46 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
+ $43 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
- var$5 = $46;
+ var$5 = $43;
var$5$hi = i64toi32_i32$1;
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$1 = 0;
- $138$hi = i64toi32_i32$1;
+ $134$hi = i64toi32_i32$1;
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$2 = $138$hi;
+ i64toi32_i32$2 = $134$hi;
i64toi32_i32$0 = var$3 & 63 | 0;
i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
- $47 = 0;
+ $44 = 0;
}
} else {
{
i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
- $47 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
+ $44 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
}
}
- var$0 = $47;
+ var$0 = $44;
var$0$hi = i64toi32_i32$2;
label$13 : {
if (var$2) {
@@ -6647,16 +6655,16 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
- $48 = 0;
+ $45 = 0;
}
} else {
{
i64toi32_i32$1 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0;
- $48 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
+ $45 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
}
}
- $144 = $48;
- $144$hi = i64toi32_i32$1;
+ $140 = $45;
+ $140$hi = i64toi32_i32$1;
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
@@ -6665,24 +6673,24 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $49 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
+ $46 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
}
} else {
{
i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
- $49 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0;
+ $46 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0;
}
}
- $146$hi = i64toi32_i32$2;
- i64toi32_i32$2 = $144$hi;
- i64toi32_i32$1 = $144;
- i64toi32_i32$5 = $146$hi;
- i64toi32_i32$0 = $49;
+ $142$hi = i64toi32_i32$2;
+ i64toi32_i32$2 = $140$hi;
+ i64toi32_i32$1 = $140;
+ i64toi32_i32$5 = $142$hi;
+ i64toi32_i32$0 = $46;
i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
var$5 = i64toi32_i32$1 | i64toi32_i32$0 | 0;
var$5$hi = i64toi32_i32$5;
- $148 = var$5;
- $148$hi = i64toi32_i32$5;
+ $144 = var$5;
+ $144$hi = i64toi32_i32$5;
i64toi32_i32$5 = var$8$hi;
i64toi32_i32$5 = var$5$hi;
i64toi32_i32$5 = var$8$hi;
@@ -6700,15 +6708,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0;
- $50 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
+ $47 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
}
} else {
{
i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
- $50 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0;
+ $47 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0;
}
}
- var$6 = $50;
+ var$6 = $47;
var$6$hi = i64toi32_i32$2;
i64toi32_i32$2 = var$1$hi;
i64toi32_i32$2 = var$6$hi;
@@ -6716,12 +6724,12 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = var$1$hi;
i64toi32_i32$0 = var$1;
i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0;
- $155 = i64toi32_i32$4 & i64toi32_i32$0 | 0;
- $155$hi = i64toi32_i32$5;
- i64toi32_i32$5 = $148$hi;
- i64toi32_i32$2 = $148;
- i64toi32_i32$4 = $155$hi;
- i64toi32_i32$0 = $155;
+ $151 = i64toi32_i32$4 & i64toi32_i32$0 | 0;
+ $151$hi = i64toi32_i32$5;
+ i64toi32_i32$5 = $144$hi;
+ i64toi32_i32$2 = $144;
+ i64toi32_i32$4 = $151$hi;
+ i64toi32_i32$0 = $151;
i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$0 | 0;
i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0;
i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$4 | 0;
@@ -6736,18 +6744,18 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
- $51 = 0;
+ $48 = 0;
}
} else {
{
i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
- $51 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
+ $48 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
}
}
- $158$hi = i64toi32_i32$2;
+ $154$hi = i64toi32_i32$2;
i64toi32_i32$2 = var$7$hi;
- i64toi32_i32$2 = $158$hi;
- i64toi32_i32$3 = $51;
+ i64toi32_i32$2 = $154$hi;
+ i64toi32_i32$3 = $48;
i64toi32_i32$5 = var$7$hi;
i64toi32_i32$0 = var$7;
i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
@@ -6773,13 +6781,7 @@ function asmFunc(global, env, buffer) {
}
}
i64toi32_i32$3 = var$5$hi;
- i64toi32_i32$2 = __tempMemory__;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = var$5;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = i64toi32_i32$3;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$5 | 0, i64toi32_i32$3 | 0);
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
@@ -6788,18 +6790,18 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
- $52 = 0;
+ $49 = 0;
}
} else {
{
i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
- $52 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
+ $49 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
}
}
- $170$hi = i64toi32_i32$2;
+ $165$hi = i64toi32_i32$2;
i64toi32_i32$2 = var$6$hi;
- i64toi32_i32$2 = $170$hi;
- i64toi32_i32$3 = $52;
+ i64toi32_i32$2 = $165$hi;
+ i64toi32_i32$3 = $49;
i64toi32_i32$5 = var$6$hi;
i64toi32_i32$0 = var$6;
i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
@@ -6808,13 +6810,7 @@ function asmFunc(global, env, buffer) {
return i64toi32_i32$3 | 0;
}
i64toi32_i32$3 = var$0$hi;
- i64toi32_i32$5 = __tempMemory__;
- wasm2js_i32$0 = i64toi32_i32$5;
- wasm2js_i32$1 = var$0;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$5;
- wasm2js_i32$1 = i64toi32_i32$3;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$0 | 0, i64toi32_i32$3 | 0);
i64toi32_i32$3 = 0;
var$0 = 0;
var$0$hi = i64toi32_i32$3;
@@ -6880,9 +6876,19 @@ export const i32_div_s_5 = retasmFunc.i32_div_s_5;
export const i32_div_u_5 = retasmFunc.i32_div_u_5;
export const i64_div_s_5 = retasmFunc.i64_div_s_5;
export const i64_div_u_5 = retasmFunc.i64_div_u_5;
-import { __tempMemory__ } from 'env';
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) {
"almost asm";
var HEAP8 = new global.Int8Array(buffer);
@@ -6906,7 +6912,6 @@ function asmFunc(global, env, buffer) {
var nan = global.NaN;
var infinity = global.Infinity;
var setTempRet0 = env.setTempRet0;
- var __tempMemory__ = env.__tempMemory__ | 0;
var i64toi32_i32$HIGH_BITS = 0;
function $0(x) {
x = x | 0;
@@ -7048,6 +7053,30 @@ 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;
@@ -7179,7 +7208,7 @@ function asmFunc(global, env, buffer) {
var$0$hi = var$0$hi | 0;
var$1 = var$1 | 0;
var$1$hi = var$1$hi | 0;
- var i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, var$2 = 0, var$3 = 0, var$4 = 0, var$5 = 0, var$5$hi = 0, var$6 = 0, var$6$hi = 0, i64toi32_i32$6 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, var$8$hi = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, var$7$hi = 0, $52 = 0, $60 = 0, $65$hi = 0, $67 = 0, $67$hi = 0, $68 = 0, $93 = 0, $124$hi = 0, $133$hi = 0, $138$hi = 0, var$8 = 0, $144 = 0, $144$hi = 0, $146$hi = 0, $148 = 0, $148$hi = 0, $155 = 0, $155$hi = 0, $158$hi = 0, var$7 = 0, $170$hi = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0;
+ var i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, var$2 = 0, var$3 = 0, var$4 = 0, var$5 = 0, var$5$hi = 0, var$6 = 0, var$6$hi = 0, i64toi32_i32$6 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, var$8$hi = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, var$7$hi = 0, $49 = 0, $63$hi = 0, $65 = 0, $65$hi = 0, $120$hi = 0, $129$hi = 0, $134$hi = 0, var$8 = 0, $140 = 0, $140$hi = 0, $142$hi = 0, $144 = 0, $144$hi = 0, $151 = 0, $151$hi = 0, $154$hi = 0, var$7 = 0, $165$hi = 0;
label$1 : {
label$2 : {
label$3 : {
@@ -7199,15 +7228,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $40 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $37 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
- $40 = (((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;
+ $37 = (((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;
}
}
- var$2 = $40;
+ var$2 = $37;
if (var$2) {
block : {
i64toi32_i32$1 = var$1$hi;
@@ -7223,15 +7252,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $41 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
- $41 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0;
+ $38 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0;
}
}
- var$4 = $41;
+ var$4 = $38;
if ((var$4 | 0) == (0 | 0)) {
break label$9
}
@@ -7255,13 +7284,7 @@ function asmFunc(global, env, buffer) {
var$3 = var$1;
var$2 = (var$2 >>> 0) / (var$3 >>> 0) | 0;
i64toi32_i32$1 = 0;
- i64toi32_i32$2 = __tempMemory__;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = var$0 - Math_imul(var$2, var$3) | 0;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = i64toi32_i32$1;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$0 - Math_imul(var$2, var$3) | 0 | 0, i64toi32_i32$1 | 0);
i64toi32_i32$1 = 0;
i64toi32_i32$2 = var$2;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
@@ -7275,15 +7298,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $42 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $39 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
- $42 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
+ $39 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
}
}
- var$3 = $42;
+ var$3 = $39;
i64toi32_i32$1 = var$0$hi;
if ((var$0 | 0) == (0 | 0)) {
break label$7
@@ -7295,7 +7318,6 @@ function asmFunc(global, env, buffer) {
if (var$4 & var$3 | 0) {
break label$6
}
- $60 = __tempMemory__;
i64toi32_i32$1 = 0;
i64toi32_i32$2 = var$4 & var$2 | 0;
i64toi32_i32$3 = 0;
@@ -7304,35 +7326,28 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
- $43 = 0;
+ $40 = 0;
}
} else {
{
i64toi32_i32$3 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
- $43 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ $40 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
- $65$hi = i64toi32_i32$3;
+ $63$hi = i64toi32_i32$3;
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$1 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 4294967295;
i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2 | 0;
- $67 = i64toi32_i32$1 & i64toi32_i32$0 | 0;
- $67$hi = i64toi32_i32$2;
- i64toi32_i32$2 = $65$hi;
- i64toi32_i32$3 = $43;
- i64toi32_i32$1 = $67$hi;
- i64toi32_i32$0 = $67;
+ $65 = i64toi32_i32$1 & i64toi32_i32$0 | 0;
+ $65$hi = i64toi32_i32$2;
+ i64toi32_i32$2 = $63$hi;
+ i64toi32_i32$3 = $40;
+ i64toi32_i32$1 = $65$hi;
+ i64toi32_i32$0 = $65;
i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0;
- $68 = i64toi32_i32$3 | i64toi32_i32$0 | 0;
- i64toi32_i32$3 = $60;
- wasm2js_i32$0 = i64toi32_i32$3;
- wasm2js_i32$1 = $68;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$3;
- wasm2js_i32$1 = i64toi32_i32$1;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0 | 0 | 0, i64toi32_i32$1 | 0);
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;
@@ -7351,7 +7366,6 @@ function asmFunc(global, env, buffer) {
var$2 = var$2 + 1 | 0;
break label$3;
}
- $93 = __tempMemory__;
var$4 = (var$2 >>> 0) / (var$3 >>> 0) | 0;
i64toi32_i32$3 = 0;
i64toi32_i32$2 = var$2 - Math_imul(var$4, var$3) | 0;
@@ -7361,21 +7375,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
- $44 = 0;
+ $41 = 0;
}
} else {
{
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;
- $44 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ $41 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
- i64toi32_i32$2 = $93;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = $44;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = i64toi32_i32$1;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64($41 | 0, i64toi32_i32$1 | 0);
i64toi32_i32$1 = 0;
i64toi32_i32$2 = var$4;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
@@ -7389,36 +7397,30 @@ function asmFunc(global, env, buffer) {
}
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$2 = 0;
- i64toi32_i32$1 = __tempMemory__;
- wasm2js_i32$0 = i64toi32_i32$1;
- wasm2js_i32$1 = var$4 & var$0 | 0;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$1;
- wasm2js_i32$1 = i64toi32_i32$2;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$4 & var$0 | 0 | 0, i64toi32_i32$2 | 0);
if ((var$3 | 0) == (1 | 0)) {
break label$1
}
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$2 = 0;
- $124$hi = i64toi32_i32$2;
+ $120$hi = i64toi32_i32$2;
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$1 = $124$hi;
+ i64toi32_i32$1 = $120$hi;
i64toi32_i32$0 = __wasm_ctz_i32(var$3 | 0) | 0;
i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $45 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $42 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
- $45 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
+ $42 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
}
}
- i64toi32_i32$3 = $45;
+ i64toi32_i32$3 = $42;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
return i64toi32_i32$3 | 0;
}
@@ -7427,45 +7429,45 @@ function asmFunc(global, env, buffer) {
}
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$3 = 0;
- $133$hi = i64toi32_i32$3;
+ $129$hi = i64toi32_i32$3;
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$2 = var$0;
- i64toi32_i32$1 = $133$hi;
+ i64toi32_i32$1 = $129$hi;
i64toi32_i32$0 = var$2 & 63 | 0;
i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $46 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
+ $43 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$1 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
- $46 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
+ $43 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
- var$5 = $46;
+ var$5 = $43;
var$5$hi = i64toi32_i32$1;
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$1 = 0;
- $138$hi = i64toi32_i32$1;
+ $134$hi = i64toi32_i32$1;
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$2 = $138$hi;
+ i64toi32_i32$2 = $134$hi;
i64toi32_i32$0 = var$3 & 63 | 0;
i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
- $47 = 0;
+ $44 = 0;
}
} else {
{
i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
- $47 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
+ $44 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
}
}
- var$0 = $47;
+ var$0 = $44;
var$0$hi = i64toi32_i32$2;
label$13 : {
if (var$2) {
@@ -7490,16 +7492,16 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
- $48 = 0;
+ $45 = 0;
}
} else {
{
i64toi32_i32$1 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0;
- $48 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
+ $45 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
}
}
- $144 = $48;
- $144$hi = i64toi32_i32$1;
+ $140 = $45;
+ $140$hi = i64toi32_i32$1;
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
@@ -7508,24 +7510,24 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $49 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
+ $46 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
}
} else {
{
i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
- $49 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0;
+ $46 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0;
}
}
- $146$hi = i64toi32_i32$2;
- i64toi32_i32$2 = $144$hi;
- i64toi32_i32$1 = $144;
- i64toi32_i32$5 = $146$hi;
- i64toi32_i32$0 = $49;
+ $142$hi = i64toi32_i32$2;
+ i64toi32_i32$2 = $140$hi;
+ i64toi32_i32$1 = $140;
+ i64toi32_i32$5 = $142$hi;
+ i64toi32_i32$0 = $46;
i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
var$5 = i64toi32_i32$1 | i64toi32_i32$0 | 0;
var$5$hi = i64toi32_i32$5;
- $148 = var$5;
- $148$hi = i64toi32_i32$5;
+ $144 = var$5;
+ $144$hi = i64toi32_i32$5;
i64toi32_i32$5 = var$8$hi;
i64toi32_i32$5 = var$5$hi;
i64toi32_i32$5 = var$8$hi;
@@ -7543,15 +7545,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0;
- $50 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
+ $47 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
}
} else {
{
i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
- $50 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0;
+ $47 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0;
}
}
- var$6 = $50;
+ var$6 = $47;
var$6$hi = i64toi32_i32$2;
i64toi32_i32$2 = var$1$hi;
i64toi32_i32$2 = var$6$hi;
@@ -7559,12 +7561,12 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = var$1$hi;
i64toi32_i32$0 = var$1;
i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0;
- $155 = i64toi32_i32$4 & i64toi32_i32$0 | 0;
- $155$hi = i64toi32_i32$5;
- i64toi32_i32$5 = $148$hi;
- i64toi32_i32$2 = $148;
- i64toi32_i32$4 = $155$hi;
- i64toi32_i32$0 = $155;
+ $151 = i64toi32_i32$4 & i64toi32_i32$0 | 0;
+ $151$hi = i64toi32_i32$5;
+ i64toi32_i32$5 = $144$hi;
+ i64toi32_i32$2 = $144;
+ i64toi32_i32$4 = $151$hi;
+ i64toi32_i32$0 = $151;
i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$0 | 0;
i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0;
i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$4 | 0;
@@ -7579,18 +7581,18 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
- $51 = 0;
+ $48 = 0;
}
} else {
{
i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
- $51 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
+ $48 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
}
}
- $158$hi = i64toi32_i32$2;
+ $154$hi = i64toi32_i32$2;
i64toi32_i32$2 = var$7$hi;
- i64toi32_i32$2 = $158$hi;
- i64toi32_i32$3 = $51;
+ i64toi32_i32$2 = $154$hi;
+ i64toi32_i32$3 = $48;
i64toi32_i32$5 = var$7$hi;
i64toi32_i32$0 = var$7;
i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
@@ -7616,13 +7618,7 @@ function asmFunc(global, env, buffer) {
}
}
i64toi32_i32$3 = var$5$hi;
- i64toi32_i32$2 = __tempMemory__;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = var$5;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = i64toi32_i32$3;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$5 | 0, i64toi32_i32$3 | 0);
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
@@ -7631,18 +7627,18 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
- $52 = 0;
+ $49 = 0;
}
} else {
{
i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
- $52 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
+ $49 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
}
}
- $170$hi = i64toi32_i32$2;
+ $165$hi = i64toi32_i32$2;
i64toi32_i32$2 = var$6$hi;
- i64toi32_i32$2 = $170$hi;
- i64toi32_i32$3 = $52;
+ i64toi32_i32$2 = $165$hi;
+ i64toi32_i32$3 = $49;
i64toi32_i32$5 = var$6$hi;
i64toi32_i32$0 = var$6;
i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
@@ -7651,13 +7647,7 @@ function asmFunc(global, env, buffer) {
return i64toi32_i32$3 | 0;
}
i64toi32_i32$3 = var$0$hi;
- i64toi32_i32$5 = __tempMemory__;
- wasm2js_i32$0 = i64toi32_i32$5;
- wasm2js_i32$1 = var$0;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$5;
- wasm2js_i32$1 = i64toi32_i32$3;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$0 | 0, i64toi32_i32$3 | 0);
i64toi32_i32$3 = 0;
var$0 = 0;
var$0$hi = i64toi32_i32$3;
@@ -7723,9 +7713,25 @@ export const i32_div_s_7 = retasmFunc.i32_div_s_7;
export const i32_div_u_7 = retasmFunc.i32_div_u_7;
export const i64_div_s_7 = retasmFunc.i64_div_s_7;
export const i64_div_u_7 = retasmFunc.i64_div_u_7;
-import { __tempMemory__ } from 'env';
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) {
"almost asm";
var HEAP8 = new global.Int8Array(buffer);
@@ -7749,7 +7755,7 @@ function asmFunc(global, env, buffer) {
var nan = global.NaN;
var infinity = global.Infinity;
var setTempRet0 = env.setTempRet0;
- var __tempMemory__ = env.__tempMemory__ | 0;
+ var getTempRet0 = env.getTempRet0;
var i64toi32_i32$HIGH_BITS = 0;
function $0(x) {
x = x | 0;
@@ -7891,6 +7897,62 @@ 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;
@@ -7998,7 +8060,7 @@ function asmFunc(global, env, buffer) {
var$0$hi = var$0$hi | 0;
var$1 = var$1 | 0;
var$1$hi = var$1$hi | 0;
- var i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, var$2 = 0, var$3 = 0, var$4 = 0, var$5 = 0, var$5$hi = 0, var$6 = 0, var$6$hi = 0, i64toi32_i32$6 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, var$8$hi = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, var$7$hi = 0, $52 = 0, $60 = 0, $65$hi = 0, $67 = 0, $67$hi = 0, $68 = 0, $93 = 0, $124$hi = 0, $133$hi = 0, $138$hi = 0, var$8 = 0, $144 = 0, $144$hi = 0, $146$hi = 0, $148 = 0, $148$hi = 0, $155 = 0, $155$hi = 0, $158$hi = 0, var$7 = 0, $170$hi = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0;
+ var i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, var$2 = 0, var$3 = 0, var$4 = 0, var$5 = 0, var$5$hi = 0, var$6 = 0, var$6$hi = 0, i64toi32_i32$6 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, var$8$hi = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, var$7$hi = 0, $49 = 0, $63$hi = 0, $65 = 0, $65$hi = 0, $120$hi = 0, $129$hi = 0, $134$hi = 0, var$8 = 0, $140 = 0, $140$hi = 0, $142$hi = 0, $144 = 0, $144$hi = 0, $151 = 0, $151$hi = 0, $154$hi = 0, var$7 = 0, $165$hi = 0;
label$1 : {
label$2 : {
label$3 : {
@@ -8018,15 +8080,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $40 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $37 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
- $40 = (((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;
+ $37 = (((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;
}
}
- var$2 = $40;
+ var$2 = $37;
if (var$2) {
block : {
i64toi32_i32$1 = var$1$hi;
@@ -8042,15 +8104,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $41 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
- $41 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0;
+ $38 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0;
}
}
- var$4 = $41;
+ var$4 = $38;
if ((var$4 | 0) == (0 | 0)) {
break label$9
}
@@ -8074,13 +8136,7 @@ function asmFunc(global, env, buffer) {
var$3 = var$1;
var$2 = (var$2 >>> 0) / (var$3 >>> 0) | 0;
i64toi32_i32$1 = 0;
- i64toi32_i32$2 = __tempMemory__;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = var$0 - Math_imul(var$2, var$3) | 0;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = i64toi32_i32$1;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$0 - Math_imul(var$2, var$3) | 0 | 0, i64toi32_i32$1 | 0);
i64toi32_i32$1 = 0;
i64toi32_i32$2 = var$2;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
@@ -8094,15 +8150,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $42 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $39 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
- $42 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
+ $39 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
}
}
- var$3 = $42;
+ var$3 = $39;
i64toi32_i32$1 = var$0$hi;
if ((var$0 | 0) == (0 | 0)) {
break label$7
@@ -8114,7 +8170,6 @@ function asmFunc(global, env, buffer) {
if (var$4 & var$3 | 0) {
break label$6
}
- $60 = __tempMemory__;
i64toi32_i32$1 = 0;
i64toi32_i32$2 = var$4 & var$2 | 0;
i64toi32_i32$3 = 0;
@@ -8123,35 +8178,28 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
- $43 = 0;
+ $40 = 0;
}
} else {
{
i64toi32_i32$3 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
- $43 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ $40 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
- $65$hi = i64toi32_i32$3;
+ $63$hi = i64toi32_i32$3;
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$1 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 4294967295;
i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2 | 0;
- $67 = i64toi32_i32$1 & i64toi32_i32$0 | 0;
- $67$hi = i64toi32_i32$2;
- i64toi32_i32$2 = $65$hi;
- i64toi32_i32$3 = $43;
- i64toi32_i32$1 = $67$hi;
- i64toi32_i32$0 = $67;
+ $65 = i64toi32_i32$1 & i64toi32_i32$0 | 0;
+ $65$hi = i64toi32_i32$2;
+ i64toi32_i32$2 = $63$hi;
+ i64toi32_i32$3 = $40;
+ i64toi32_i32$1 = $65$hi;
+ i64toi32_i32$0 = $65;
i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0;
- $68 = i64toi32_i32$3 | i64toi32_i32$0 | 0;
- i64toi32_i32$3 = $60;
- wasm2js_i32$0 = i64toi32_i32$3;
- wasm2js_i32$1 = $68;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$3;
- wasm2js_i32$1 = i64toi32_i32$1;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0 | 0 | 0, i64toi32_i32$1 | 0);
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;
@@ -8170,7 +8218,6 @@ function asmFunc(global, env, buffer) {
var$2 = var$2 + 1 | 0;
break label$3;
}
- $93 = __tempMemory__;
var$4 = (var$2 >>> 0) / (var$3 >>> 0) | 0;
i64toi32_i32$3 = 0;
i64toi32_i32$2 = var$2 - Math_imul(var$4, var$3) | 0;
@@ -8180,21 +8227,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
- $44 = 0;
+ $41 = 0;
}
} else {
{
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;
- $44 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ $41 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
- i64toi32_i32$2 = $93;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = $44;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = i64toi32_i32$1;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64($41 | 0, i64toi32_i32$1 | 0);
i64toi32_i32$1 = 0;
i64toi32_i32$2 = var$4;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
@@ -8208,36 +8249,30 @@ function asmFunc(global, env, buffer) {
}
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$2 = 0;
- i64toi32_i32$1 = __tempMemory__;
- wasm2js_i32$0 = i64toi32_i32$1;
- wasm2js_i32$1 = var$4 & var$0 | 0;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$1;
- wasm2js_i32$1 = i64toi32_i32$2;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$4 & var$0 | 0 | 0, i64toi32_i32$2 | 0);
if ((var$3 | 0) == (1 | 0)) {
break label$1
}
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$2 = 0;
- $124$hi = i64toi32_i32$2;
+ $120$hi = i64toi32_i32$2;
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$1 = $124$hi;
+ i64toi32_i32$1 = $120$hi;
i64toi32_i32$0 = __wasm_ctz_i32(var$3 | 0) | 0;
i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $45 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $42 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
- $45 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
+ $42 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
}
}
- i64toi32_i32$3 = $45;
+ i64toi32_i32$3 = $42;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
return i64toi32_i32$3 | 0;
}
@@ -8246,45 +8281,45 @@ function asmFunc(global, env, buffer) {
}
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$3 = 0;
- $133$hi = i64toi32_i32$3;
+ $129$hi = i64toi32_i32$3;
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$2 = var$0;
- i64toi32_i32$1 = $133$hi;
+ i64toi32_i32$1 = $129$hi;
i64toi32_i32$0 = var$2 & 63 | 0;
i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $46 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
+ $43 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$1 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
- $46 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
+ $43 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
- var$5 = $46;
+ var$5 = $43;
var$5$hi = i64toi32_i32$1;
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$1 = 0;
- $138$hi = i64toi32_i32$1;
+ $134$hi = i64toi32_i32$1;
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$2 = $138$hi;
+ i64toi32_i32$2 = $134$hi;
i64toi32_i32$0 = var$3 & 63 | 0;
i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
- $47 = 0;
+ $44 = 0;
}
} else {
{
i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
- $47 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
+ $44 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
}
}
- var$0 = $47;
+ var$0 = $44;
var$0$hi = i64toi32_i32$2;
label$13 : {
if (var$2) {
@@ -8309,16 +8344,16 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
- $48 = 0;
+ $45 = 0;
}
} else {
{
i64toi32_i32$1 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0;
- $48 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
+ $45 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
}
}
- $144 = $48;
- $144$hi = i64toi32_i32$1;
+ $140 = $45;
+ $140$hi = i64toi32_i32$1;
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
@@ -8327,24 +8362,24 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $49 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
+ $46 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
}
} else {
{
i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
- $49 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0;
+ $46 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0;
}
}
- $146$hi = i64toi32_i32$2;
- i64toi32_i32$2 = $144$hi;
- i64toi32_i32$1 = $144;
- i64toi32_i32$5 = $146$hi;
- i64toi32_i32$0 = $49;
+ $142$hi = i64toi32_i32$2;
+ i64toi32_i32$2 = $140$hi;
+ i64toi32_i32$1 = $140;
+ i64toi32_i32$5 = $142$hi;
+ i64toi32_i32$0 = $46;
i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
var$5 = i64toi32_i32$1 | i64toi32_i32$0 | 0;
var$5$hi = i64toi32_i32$5;
- $148 = var$5;
- $148$hi = i64toi32_i32$5;
+ $144 = var$5;
+ $144$hi = i64toi32_i32$5;
i64toi32_i32$5 = var$8$hi;
i64toi32_i32$5 = var$5$hi;
i64toi32_i32$5 = var$8$hi;
@@ -8362,15 +8397,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0;
- $50 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
+ $47 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
}
} else {
{
i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
- $50 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0;
+ $47 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0;
}
}
- var$6 = $50;
+ var$6 = $47;
var$6$hi = i64toi32_i32$2;
i64toi32_i32$2 = var$1$hi;
i64toi32_i32$2 = var$6$hi;
@@ -8378,12 +8413,12 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = var$1$hi;
i64toi32_i32$0 = var$1;
i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0;
- $155 = i64toi32_i32$4 & i64toi32_i32$0 | 0;
- $155$hi = i64toi32_i32$5;
- i64toi32_i32$5 = $148$hi;
- i64toi32_i32$2 = $148;
- i64toi32_i32$4 = $155$hi;
- i64toi32_i32$0 = $155;
+ $151 = i64toi32_i32$4 & i64toi32_i32$0 | 0;
+ $151$hi = i64toi32_i32$5;
+ i64toi32_i32$5 = $144$hi;
+ i64toi32_i32$2 = $144;
+ i64toi32_i32$4 = $151$hi;
+ i64toi32_i32$0 = $151;
i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$0 | 0;
i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0;
i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$4 | 0;
@@ -8398,18 +8433,18 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
- $51 = 0;
+ $48 = 0;
}
} else {
{
i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
- $51 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
+ $48 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
}
}
- $158$hi = i64toi32_i32$2;
+ $154$hi = i64toi32_i32$2;
i64toi32_i32$2 = var$7$hi;
- i64toi32_i32$2 = $158$hi;
- i64toi32_i32$3 = $51;
+ i64toi32_i32$2 = $154$hi;
+ i64toi32_i32$3 = $48;
i64toi32_i32$5 = var$7$hi;
i64toi32_i32$0 = var$7;
i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
@@ -8435,13 +8470,7 @@ function asmFunc(global, env, buffer) {
}
}
i64toi32_i32$3 = var$5$hi;
- i64toi32_i32$2 = __tempMemory__;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = var$5;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = i64toi32_i32$3;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$5 | 0, i64toi32_i32$3 | 0);
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
@@ -8450,18 +8479,18 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
- $52 = 0;
+ $49 = 0;
}
} else {
{
i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
- $52 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
+ $49 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
}
}
- $170$hi = i64toi32_i32$2;
+ $165$hi = i64toi32_i32$2;
i64toi32_i32$2 = var$6$hi;
- i64toi32_i32$2 = $170$hi;
- i64toi32_i32$3 = $52;
+ i64toi32_i32$2 = $165$hi;
+ i64toi32_i32$3 = $49;
i64toi32_i32$5 = var$6$hi;
i64toi32_i32$0 = var$6;
i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
@@ -8470,13 +8499,7 @@ function asmFunc(global, env, buffer) {
return i64toi32_i32$3 | 0;
}
i64toi32_i32$3 = var$0$hi;
- i64toi32_i32$5 = __tempMemory__;
- wasm2js_i32$0 = i64toi32_i32$5;
- wasm2js_i32$1 = var$0;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$5;
- wasm2js_i32$1 = i64toi32_i32$3;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$0 | 0, i64toi32_i32$3 | 0);
i64toi32_i32$3 = 0;
var$0 = 0;
var$0$hi = i64toi32_i32$3;
@@ -8508,16 +8531,15 @@ function asmFunc(global, env, buffer) {
var$0$hi = var$0$hi | 0;
var$1 = var$1 | 0;
var$1$hi = var$1$hi | 0;
- var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, wasm2js_i32$0 = 0;
+ var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$0 = var$1$hi;
i64toi32_i32$0 = var$0$hi;
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$2 = __tempMemory__;
- i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0;
- i64toi32_i32$1 = (wasm2js_i32$0 = i64toi32_i32$2, HEAPU8[(wasm2js_i32$0 + 4 | 0) >> 0] | 0 | 0 | (HEAPU8[(wasm2js_i32$0 + 5 | 0) >> 0] | 0 | 0) << 8 | (HEAPU8[(wasm2js_i32$0 + 6 | 0) >> 0] | 0 | 0) << 16 | (HEAPU8[(wasm2js_i32$0 + 7 | 0) >> 0] | 0 | 0) << 24);
+ 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;
}
@@ -8540,14 +8562,30 @@ function asmFunc(global, env, buffer) {
}
const memasmFunc = new ArrayBuffer(65536);
-const retasmFunc = asmFunc({Math,Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,NaN,Infinity}, {abort:function() { throw new Error('abort'); },setTempRet0},memasmFunc);
+const retasmFunc = asmFunc({Math,Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,NaN,Infinity}, {abort:function() { throw new Error('abort'); },setTempRet0,getTempRet0},memasmFunc);
export const i32_rem_s_3 = retasmFunc.i32_rem_s_3;
export const i32_rem_u_3 = retasmFunc.i32_rem_u_3;
export const i64_rem_s_3 = retasmFunc.i64_rem_s_3;
export const i64_rem_u_3 = retasmFunc.i64_rem_u_3;
-import { __tempMemory__ } from 'env';
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) {
"almost asm";
var HEAP8 = new global.Int8Array(buffer);
@@ -8571,7 +8609,7 @@ function asmFunc(global, env, buffer) {
var nan = global.NaN;
var infinity = global.Infinity;
var setTempRet0 = env.setTempRet0;
- var __tempMemory__ = env.__tempMemory__ | 0;
+ var getTempRet0 = env.getTempRet0;
var i64toi32_i32$HIGH_BITS = 0;
function $0(x) {
x = x | 0;
@@ -8713,6 +8751,62 @@ 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;
@@ -8820,7 +8914,7 @@ function asmFunc(global, env, buffer) {
var$0$hi = var$0$hi | 0;
var$1 = var$1 | 0;
var$1$hi = var$1$hi | 0;
- var i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, var$2 = 0, var$3 = 0, var$4 = 0, var$5 = 0, var$5$hi = 0, var$6 = 0, var$6$hi = 0, i64toi32_i32$6 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, var$8$hi = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, var$7$hi = 0, $52 = 0, $60 = 0, $65$hi = 0, $67 = 0, $67$hi = 0, $68 = 0, $93 = 0, $124$hi = 0, $133$hi = 0, $138$hi = 0, var$8 = 0, $144 = 0, $144$hi = 0, $146$hi = 0, $148 = 0, $148$hi = 0, $155 = 0, $155$hi = 0, $158$hi = 0, var$7 = 0, $170$hi = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0;
+ var i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, var$2 = 0, var$3 = 0, var$4 = 0, var$5 = 0, var$5$hi = 0, var$6 = 0, var$6$hi = 0, i64toi32_i32$6 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, var$8$hi = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, var$7$hi = 0, $49 = 0, $63$hi = 0, $65 = 0, $65$hi = 0, $120$hi = 0, $129$hi = 0, $134$hi = 0, var$8 = 0, $140 = 0, $140$hi = 0, $142$hi = 0, $144 = 0, $144$hi = 0, $151 = 0, $151$hi = 0, $154$hi = 0, var$7 = 0, $165$hi = 0;
label$1 : {
label$2 : {
label$3 : {
@@ -8840,15 +8934,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $40 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $37 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
- $40 = (((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;
+ $37 = (((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;
}
}
- var$2 = $40;
+ var$2 = $37;
if (var$2) {
block : {
i64toi32_i32$1 = var$1$hi;
@@ -8864,15 +8958,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $41 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
- $41 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0;
+ $38 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0;
}
}
- var$4 = $41;
+ var$4 = $38;
if ((var$4 | 0) == (0 | 0)) {
break label$9
}
@@ -8896,13 +8990,7 @@ function asmFunc(global, env, buffer) {
var$3 = var$1;
var$2 = (var$2 >>> 0) / (var$3 >>> 0) | 0;
i64toi32_i32$1 = 0;
- i64toi32_i32$2 = __tempMemory__;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = var$0 - Math_imul(var$2, var$3) | 0;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = i64toi32_i32$1;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$0 - Math_imul(var$2, var$3) | 0 | 0, i64toi32_i32$1 | 0);
i64toi32_i32$1 = 0;
i64toi32_i32$2 = var$2;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
@@ -8916,15 +9004,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $42 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $39 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
- $42 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
+ $39 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
}
}
- var$3 = $42;
+ var$3 = $39;
i64toi32_i32$1 = var$0$hi;
if ((var$0 | 0) == (0 | 0)) {
break label$7
@@ -8936,7 +9024,6 @@ function asmFunc(global, env, buffer) {
if (var$4 & var$3 | 0) {
break label$6
}
- $60 = __tempMemory__;
i64toi32_i32$1 = 0;
i64toi32_i32$2 = var$4 & var$2 | 0;
i64toi32_i32$3 = 0;
@@ -8945,35 +9032,28 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
- $43 = 0;
+ $40 = 0;
}
} else {
{
i64toi32_i32$3 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
- $43 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ $40 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
- $65$hi = i64toi32_i32$3;
+ $63$hi = i64toi32_i32$3;
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$1 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 4294967295;
i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2 | 0;
- $67 = i64toi32_i32$1 & i64toi32_i32$0 | 0;
- $67$hi = i64toi32_i32$2;
- i64toi32_i32$2 = $65$hi;
- i64toi32_i32$3 = $43;
- i64toi32_i32$1 = $67$hi;
- i64toi32_i32$0 = $67;
+ $65 = i64toi32_i32$1 & i64toi32_i32$0 | 0;
+ $65$hi = i64toi32_i32$2;
+ i64toi32_i32$2 = $63$hi;
+ i64toi32_i32$3 = $40;
+ i64toi32_i32$1 = $65$hi;
+ i64toi32_i32$0 = $65;
i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0;
- $68 = i64toi32_i32$3 | i64toi32_i32$0 | 0;
- i64toi32_i32$3 = $60;
- wasm2js_i32$0 = i64toi32_i32$3;
- wasm2js_i32$1 = $68;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$3;
- wasm2js_i32$1 = i64toi32_i32$1;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0 | 0 | 0, i64toi32_i32$1 | 0);
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;
@@ -8992,7 +9072,6 @@ function asmFunc(global, env, buffer) {
var$2 = var$2 + 1 | 0;
break label$3;
}
- $93 = __tempMemory__;
var$4 = (var$2 >>> 0) / (var$3 >>> 0) | 0;
i64toi32_i32$3 = 0;
i64toi32_i32$2 = var$2 - Math_imul(var$4, var$3) | 0;
@@ -9002,21 +9081,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
- $44 = 0;
+ $41 = 0;
}
} else {
{
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;
- $44 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ $41 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
- i64toi32_i32$2 = $93;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = $44;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = i64toi32_i32$1;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64($41 | 0, i64toi32_i32$1 | 0);
i64toi32_i32$1 = 0;
i64toi32_i32$2 = var$4;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
@@ -9030,36 +9103,30 @@ function asmFunc(global, env, buffer) {
}
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$2 = 0;
- i64toi32_i32$1 = __tempMemory__;
- wasm2js_i32$0 = i64toi32_i32$1;
- wasm2js_i32$1 = var$4 & var$0 | 0;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$1;
- wasm2js_i32$1 = i64toi32_i32$2;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$4 & var$0 | 0 | 0, i64toi32_i32$2 | 0);
if ((var$3 | 0) == (1 | 0)) {
break label$1
}
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$2 = 0;
- $124$hi = i64toi32_i32$2;
+ $120$hi = i64toi32_i32$2;
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$1 = $124$hi;
+ i64toi32_i32$1 = $120$hi;
i64toi32_i32$0 = __wasm_ctz_i32(var$3 | 0) | 0;
i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $45 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $42 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
- $45 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
+ $42 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
}
}
- i64toi32_i32$3 = $45;
+ i64toi32_i32$3 = $42;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
return i64toi32_i32$3 | 0;
}
@@ -9068,45 +9135,45 @@ function asmFunc(global, env, buffer) {
}
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$3 = 0;
- $133$hi = i64toi32_i32$3;
+ $129$hi = i64toi32_i32$3;
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$2 = var$0;
- i64toi32_i32$1 = $133$hi;
+ i64toi32_i32$1 = $129$hi;
i64toi32_i32$0 = var$2 & 63 | 0;
i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $46 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
+ $43 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$1 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
- $46 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
+ $43 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
- var$5 = $46;
+ var$5 = $43;
var$5$hi = i64toi32_i32$1;
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$1 = 0;
- $138$hi = i64toi32_i32$1;
+ $134$hi = i64toi32_i32$1;
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$2 = $138$hi;
+ i64toi32_i32$2 = $134$hi;
i64toi32_i32$0 = var$3 & 63 | 0;
i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
- $47 = 0;
+ $44 = 0;
}
} else {
{
i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
- $47 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
+ $44 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
}
}
- var$0 = $47;
+ var$0 = $44;
var$0$hi = i64toi32_i32$2;
label$13 : {
if (var$2) {
@@ -9131,16 +9198,16 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
- $48 = 0;
+ $45 = 0;
}
} else {
{
i64toi32_i32$1 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0;
- $48 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
+ $45 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
}
}
- $144 = $48;
- $144$hi = i64toi32_i32$1;
+ $140 = $45;
+ $140$hi = i64toi32_i32$1;
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
@@ -9149,24 +9216,24 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $49 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
+ $46 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
}
} else {
{
i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
- $49 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0;
+ $46 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0;
}
}
- $146$hi = i64toi32_i32$2;
- i64toi32_i32$2 = $144$hi;
- i64toi32_i32$1 = $144;
- i64toi32_i32$5 = $146$hi;
- i64toi32_i32$0 = $49;
+ $142$hi = i64toi32_i32$2;
+ i64toi32_i32$2 = $140$hi;
+ i64toi32_i32$1 = $140;
+ i64toi32_i32$5 = $142$hi;
+ i64toi32_i32$0 = $46;
i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
var$5 = i64toi32_i32$1 | i64toi32_i32$0 | 0;
var$5$hi = i64toi32_i32$5;
- $148 = var$5;
- $148$hi = i64toi32_i32$5;
+ $144 = var$5;
+ $144$hi = i64toi32_i32$5;
i64toi32_i32$5 = var$8$hi;
i64toi32_i32$5 = var$5$hi;
i64toi32_i32$5 = var$8$hi;
@@ -9184,15 +9251,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0;
- $50 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
+ $47 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
}
} else {
{
i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
- $50 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0;
+ $47 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0;
}
}
- var$6 = $50;
+ var$6 = $47;
var$6$hi = i64toi32_i32$2;
i64toi32_i32$2 = var$1$hi;
i64toi32_i32$2 = var$6$hi;
@@ -9200,12 +9267,12 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = var$1$hi;
i64toi32_i32$0 = var$1;
i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0;
- $155 = i64toi32_i32$4 & i64toi32_i32$0 | 0;
- $155$hi = i64toi32_i32$5;
- i64toi32_i32$5 = $148$hi;
- i64toi32_i32$2 = $148;
- i64toi32_i32$4 = $155$hi;
- i64toi32_i32$0 = $155;
+ $151 = i64toi32_i32$4 & i64toi32_i32$0 | 0;
+ $151$hi = i64toi32_i32$5;
+ i64toi32_i32$5 = $144$hi;
+ i64toi32_i32$2 = $144;
+ i64toi32_i32$4 = $151$hi;
+ i64toi32_i32$0 = $151;
i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$0 | 0;
i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0;
i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$4 | 0;
@@ -9220,18 +9287,18 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
- $51 = 0;
+ $48 = 0;
}
} else {
{
i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
- $51 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
+ $48 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
}
}
- $158$hi = i64toi32_i32$2;
+ $154$hi = i64toi32_i32$2;
i64toi32_i32$2 = var$7$hi;
- i64toi32_i32$2 = $158$hi;
- i64toi32_i32$3 = $51;
+ i64toi32_i32$2 = $154$hi;
+ i64toi32_i32$3 = $48;
i64toi32_i32$5 = var$7$hi;
i64toi32_i32$0 = var$7;
i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
@@ -9257,13 +9324,7 @@ function asmFunc(global, env, buffer) {
}
}
i64toi32_i32$3 = var$5$hi;
- i64toi32_i32$2 = __tempMemory__;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = var$5;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = i64toi32_i32$3;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$5 | 0, i64toi32_i32$3 | 0);
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
@@ -9272,18 +9333,18 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
- $52 = 0;
+ $49 = 0;
}
} else {
{
i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
- $52 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
+ $49 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
}
}
- $170$hi = i64toi32_i32$2;
+ $165$hi = i64toi32_i32$2;
i64toi32_i32$2 = var$6$hi;
- i64toi32_i32$2 = $170$hi;
- i64toi32_i32$3 = $52;
+ i64toi32_i32$2 = $165$hi;
+ i64toi32_i32$3 = $49;
i64toi32_i32$5 = var$6$hi;
i64toi32_i32$0 = var$6;
i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
@@ -9292,13 +9353,7 @@ function asmFunc(global, env, buffer) {
return i64toi32_i32$3 | 0;
}
i64toi32_i32$3 = var$0$hi;
- i64toi32_i32$5 = __tempMemory__;
- wasm2js_i32$0 = i64toi32_i32$5;
- wasm2js_i32$1 = var$0;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$5;
- wasm2js_i32$1 = i64toi32_i32$3;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$0 | 0, i64toi32_i32$3 | 0);
i64toi32_i32$3 = 0;
var$0 = 0;
var$0$hi = i64toi32_i32$3;
@@ -9330,16 +9385,15 @@ function asmFunc(global, env, buffer) {
var$0$hi = var$0$hi | 0;
var$1 = var$1 | 0;
var$1$hi = var$1$hi | 0;
- var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, wasm2js_i32$0 = 0;
+ var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$0 = var$1$hi;
i64toi32_i32$0 = var$0$hi;
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$2 = __tempMemory__;
- i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0;
- i64toi32_i32$1 = (wasm2js_i32$0 = i64toi32_i32$2, HEAPU8[(wasm2js_i32$0 + 4 | 0) >> 0] | 0 | 0 | (HEAPU8[(wasm2js_i32$0 + 5 | 0) >> 0] | 0 | 0) << 8 | (HEAPU8[(wasm2js_i32$0 + 6 | 0) >> 0] | 0 | 0) << 16 | (HEAPU8[(wasm2js_i32$0 + 7 | 0) >> 0] | 0 | 0) << 24);
+ 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;
}
@@ -9362,14 +9416,30 @@ function asmFunc(global, env, buffer) {
}
const memasmFunc = new ArrayBuffer(65536);
-const retasmFunc = asmFunc({Math,Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,NaN,Infinity}, {abort:function() { throw new Error('abort'); },setTempRet0},memasmFunc);
+const retasmFunc = asmFunc({Math,Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,NaN,Infinity}, {abort:function() { throw new Error('abort'); },setTempRet0,getTempRet0},memasmFunc);
export const i32_rem_s_5 = retasmFunc.i32_rem_s_5;
export const i32_rem_u_5 = retasmFunc.i32_rem_u_5;
export const i64_rem_s_5 = retasmFunc.i64_rem_s_5;
export const i64_rem_u_5 = retasmFunc.i64_rem_u_5;
-import { __tempMemory__ } from 'env';
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) {
"almost asm";
var HEAP8 = new global.Int8Array(buffer);
@@ -9393,7 +9463,7 @@ function asmFunc(global, env, buffer) {
var nan = global.NaN;
var infinity = global.Infinity;
var setTempRet0 = env.setTempRet0;
- var __tempMemory__ = env.__tempMemory__ | 0;
+ var getTempRet0 = env.getTempRet0;
var i64toi32_i32$HIGH_BITS = 0;
function $0(x) {
x = x | 0;
@@ -9535,6 +9605,62 @@ 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;
@@ -9642,7 +9768,7 @@ function asmFunc(global, env, buffer) {
var$0$hi = var$0$hi | 0;
var$1 = var$1 | 0;
var$1$hi = var$1$hi | 0;
- var i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, var$2 = 0, var$3 = 0, var$4 = 0, var$5 = 0, var$5$hi = 0, var$6 = 0, var$6$hi = 0, i64toi32_i32$6 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, var$8$hi = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, var$7$hi = 0, $52 = 0, $60 = 0, $65$hi = 0, $67 = 0, $67$hi = 0, $68 = 0, $93 = 0, $124$hi = 0, $133$hi = 0, $138$hi = 0, var$8 = 0, $144 = 0, $144$hi = 0, $146$hi = 0, $148 = 0, $148$hi = 0, $155 = 0, $155$hi = 0, $158$hi = 0, var$7 = 0, $170$hi = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0;
+ var i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, var$2 = 0, var$3 = 0, var$4 = 0, var$5 = 0, var$5$hi = 0, var$6 = 0, var$6$hi = 0, i64toi32_i32$6 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, var$8$hi = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, var$7$hi = 0, $49 = 0, $63$hi = 0, $65 = 0, $65$hi = 0, $120$hi = 0, $129$hi = 0, $134$hi = 0, var$8 = 0, $140 = 0, $140$hi = 0, $142$hi = 0, $144 = 0, $144$hi = 0, $151 = 0, $151$hi = 0, $154$hi = 0, var$7 = 0, $165$hi = 0;
label$1 : {
label$2 : {
label$3 : {
@@ -9662,15 +9788,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $40 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $37 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
- $40 = (((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;
+ $37 = (((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;
}
}
- var$2 = $40;
+ var$2 = $37;
if (var$2) {
block : {
i64toi32_i32$1 = var$1$hi;
@@ -9686,15 +9812,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $41 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
- $41 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0;
+ $38 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0;
}
}
- var$4 = $41;
+ var$4 = $38;
if ((var$4 | 0) == (0 | 0)) {
break label$9
}
@@ -9718,13 +9844,7 @@ function asmFunc(global, env, buffer) {
var$3 = var$1;
var$2 = (var$2 >>> 0) / (var$3 >>> 0) | 0;
i64toi32_i32$1 = 0;
- i64toi32_i32$2 = __tempMemory__;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = var$0 - Math_imul(var$2, var$3) | 0;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = i64toi32_i32$1;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$0 - Math_imul(var$2, var$3) | 0 | 0, i64toi32_i32$1 | 0);
i64toi32_i32$1 = 0;
i64toi32_i32$2 = var$2;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
@@ -9738,15 +9858,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $42 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $39 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
- $42 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
+ $39 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
}
}
- var$3 = $42;
+ var$3 = $39;
i64toi32_i32$1 = var$0$hi;
if ((var$0 | 0) == (0 | 0)) {
break label$7
@@ -9758,7 +9878,6 @@ function asmFunc(global, env, buffer) {
if (var$4 & var$3 | 0) {
break label$6
}
- $60 = __tempMemory__;
i64toi32_i32$1 = 0;
i64toi32_i32$2 = var$4 & var$2 | 0;
i64toi32_i32$3 = 0;
@@ -9767,35 +9886,28 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
- $43 = 0;
+ $40 = 0;
}
} else {
{
i64toi32_i32$3 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
- $43 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ $40 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
- $65$hi = i64toi32_i32$3;
+ $63$hi = i64toi32_i32$3;
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$1 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 4294967295;
i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2 | 0;
- $67 = i64toi32_i32$1 & i64toi32_i32$0 | 0;
- $67$hi = i64toi32_i32$2;
- i64toi32_i32$2 = $65$hi;
- i64toi32_i32$3 = $43;
- i64toi32_i32$1 = $67$hi;
- i64toi32_i32$0 = $67;
+ $65 = i64toi32_i32$1 & i64toi32_i32$0 | 0;
+ $65$hi = i64toi32_i32$2;
+ i64toi32_i32$2 = $63$hi;
+ i64toi32_i32$3 = $40;
+ i64toi32_i32$1 = $65$hi;
+ i64toi32_i32$0 = $65;
i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0;
- $68 = i64toi32_i32$3 | i64toi32_i32$0 | 0;
- i64toi32_i32$3 = $60;
- wasm2js_i32$0 = i64toi32_i32$3;
- wasm2js_i32$1 = $68;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$3;
- wasm2js_i32$1 = i64toi32_i32$1;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0 | 0 | 0, i64toi32_i32$1 | 0);
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;
@@ -9814,7 +9926,6 @@ function asmFunc(global, env, buffer) {
var$2 = var$2 + 1 | 0;
break label$3;
}
- $93 = __tempMemory__;
var$4 = (var$2 >>> 0) / (var$3 >>> 0) | 0;
i64toi32_i32$3 = 0;
i64toi32_i32$2 = var$2 - Math_imul(var$4, var$3) | 0;
@@ -9824,21 +9935,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
- $44 = 0;
+ $41 = 0;
}
} else {
{
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;
- $44 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ $41 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
- i64toi32_i32$2 = $93;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = $44;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = i64toi32_i32$1;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64($41 | 0, i64toi32_i32$1 | 0);
i64toi32_i32$1 = 0;
i64toi32_i32$2 = var$4;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
@@ -9852,36 +9957,30 @@ function asmFunc(global, env, buffer) {
}
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$2 = 0;
- i64toi32_i32$1 = __tempMemory__;
- wasm2js_i32$0 = i64toi32_i32$1;
- wasm2js_i32$1 = var$4 & var$0 | 0;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$1;
- wasm2js_i32$1 = i64toi32_i32$2;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$4 & var$0 | 0 | 0, i64toi32_i32$2 | 0);
if ((var$3 | 0) == (1 | 0)) {
break label$1
}
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$2 = 0;
- $124$hi = i64toi32_i32$2;
+ $120$hi = i64toi32_i32$2;
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$1 = $124$hi;
+ i64toi32_i32$1 = $120$hi;
i64toi32_i32$0 = __wasm_ctz_i32(var$3 | 0) | 0;
i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $45 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $42 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
- $45 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
+ $42 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
}
}
- i64toi32_i32$3 = $45;
+ i64toi32_i32$3 = $42;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
return i64toi32_i32$3 | 0;
}
@@ -9890,45 +9989,45 @@ function asmFunc(global, env, buffer) {
}
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$3 = 0;
- $133$hi = i64toi32_i32$3;
+ $129$hi = i64toi32_i32$3;
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$2 = var$0;
- i64toi32_i32$1 = $133$hi;
+ i64toi32_i32$1 = $129$hi;
i64toi32_i32$0 = var$2 & 63 | 0;
i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $46 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
+ $43 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$1 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
- $46 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
+ $43 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
- var$5 = $46;
+ var$5 = $43;
var$5$hi = i64toi32_i32$1;
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$1 = 0;
- $138$hi = i64toi32_i32$1;
+ $134$hi = i64toi32_i32$1;
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$2 = $138$hi;
+ i64toi32_i32$2 = $134$hi;
i64toi32_i32$0 = var$3 & 63 | 0;
i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
- $47 = 0;
+ $44 = 0;
}
} else {
{
i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
- $47 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
+ $44 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
}
}
- var$0 = $47;
+ var$0 = $44;
var$0$hi = i64toi32_i32$2;
label$13 : {
if (var$2) {
@@ -9953,16 +10052,16 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
- $48 = 0;
+ $45 = 0;
}
} else {
{
i64toi32_i32$1 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0;
- $48 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
+ $45 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
}
}
- $144 = $48;
- $144$hi = i64toi32_i32$1;
+ $140 = $45;
+ $140$hi = i64toi32_i32$1;
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
@@ -9971,24 +10070,24 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $49 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
+ $46 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
}
} else {
{
i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
- $49 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0;
+ $46 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0;
}
}
- $146$hi = i64toi32_i32$2;
- i64toi32_i32$2 = $144$hi;
- i64toi32_i32$1 = $144;
- i64toi32_i32$5 = $146$hi;
- i64toi32_i32$0 = $49;
+ $142$hi = i64toi32_i32$2;
+ i64toi32_i32$2 = $140$hi;
+ i64toi32_i32$1 = $140;
+ i64toi32_i32$5 = $142$hi;
+ i64toi32_i32$0 = $46;
i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
var$5 = i64toi32_i32$1 | i64toi32_i32$0 | 0;
var$5$hi = i64toi32_i32$5;
- $148 = var$5;
- $148$hi = i64toi32_i32$5;
+ $144 = var$5;
+ $144$hi = i64toi32_i32$5;
i64toi32_i32$5 = var$8$hi;
i64toi32_i32$5 = var$5$hi;
i64toi32_i32$5 = var$8$hi;
@@ -10006,15 +10105,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0;
- $50 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
+ $47 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
}
} else {
{
i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
- $50 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0;
+ $47 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0;
}
}
- var$6 = $50;
+ var$6 = $47;
var$6$hi = i64toi32_i32$2;
i64toi32_i32$2 = var$1$hi;
i64toi32_i32$2 = var$6$hi;
@@ -10022,12 +10121,12 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = var$1$hi;
i64toi32_i32$0 = var$1;
i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0;
- $155 = i64toi32_i32$4 & i64toi32_i32$0 | 0;
- $155$hi = i64toi32_i32$5;
- i64toi32_i32$5 = $148$hi;
- i64toi32_i32$2 = $148;
- i64toi32_i32$4 = $155$hi;
- i64toi32_i32$0 = $155;
+ $151 = i64toi32_i32$4 & i64toi32_i32$0 | 0;
+ $151$hi = i64toi32_i32$5;
+ i64toi32_i32$5 = $144$hi;
+ i64toi32_i32$2 = $144;
+ i64toi32_i32$4 = $151$hi;
+ i64toi32_i32$0 = $151;
i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$0 | 0;
i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0;
i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$4 | 0;
@@ -10042,18 +10141,18 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
- $51 = 0;
+ $48 = 0;
}
} else {
{
i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
- $51 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
+ $48 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
}
}
- $158$hi = i64toi32_i32$2;
+ $154$hi = i64toi32_i32$2;
i64toi32_i32$2 = var$7$hi;
- i64toi32_i32$2 = $158$hi;
- i64toi32_i32$3 = $51;
+ i64toi32_i32$2 = $154$hi;
+ i64toi32_i32$3 = $48;
i64toi32_i32$5 = var$7$hi;
i64toi32_i32$0 = var$7;
i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
@@ -10079,13 +10178,7 @@ function asmFunc(global, env, buffer) {
}
}
i64toi32_i32$3 = var$5$hi;
- i64toi32_i32$2 = __tempMemory__;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = var$5;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = i64toi32_i32$3;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$5 | 0, i64toi32_i32$3 | 0);
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
@@ -10094,18 +10187,18 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
- $52 = 0;
+ $49 = 0;
}
} else {
{
i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
- $52 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
+ $49 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
}
}
- $170$hi = i64toi32_i32$2;
+ $165$hi = i64toi32_i32$2;
i64toi32_i32$2 = var$6$hi;
- i64toi32_i32$2 = $170$hi;
- i64toi32_i32$3 = $52;
+ i64toi32_i32$2 = $165$hi;
+ i64toi32_i32$3 = $49;
i64toi32_i32$5 = var$6$hi;
i64toi32_i32$0 = var$6;
i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
@@ -10114,13 +10207,7 @@ function asmFunc(global, env, buffer) {
return i64toi32_i32$3 | 0;
}
i64toi32_i32$3 = var$0$hi;
- i64toi32_i32$5 = __tempMemory__;
- wasm2js_i32$0 = i64toi32_i32$5;
- wasm2js_i32$1 = var$0;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$5;
- wasm2js_i32$1 = i64toi32_i32$3;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$0 | 0, i64toi32_i32$3 | 0);
i64toi32_i32$3 = 0;
var$0 = 0;
var$0$hi = i64toi32_i32$3;
@@ -10152,16 +10239,15 @@ function asmFunc(global, env, buffer) {
var$0$hi = var$0$hi | 0;
var$1 = var$1 | 0;
var$1$hi = var$1$hi | 0;
- var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, wasm2js_i32$0 = 0;
+ var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$0 = var$1$hi;
i64toi32_i32$0 = var$0$hi;
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$2 = __tempMemory__;
- i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0;
- i64toi32_i32$1 = (wasm2js_i32$0 = i64toi32_i32$2, HEAPU8[(wasm2js_i32$0 + 4 | 0) >> 0] | 0 | 0 | (HEAPU8[(wasm2js_i32$0 + 5 | 0) >> 0] | 0 | 0) << 8 | (HEAPU8[(wasm2js_i32$0 + 6 | 0) >> 0] | 0 | 0) << 16 | (HEAPU8[(wasm2js_i32$0 + 7 | 0) >> 0] | 0 | 0) << 24);
+ 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;
}
@@ -10184,7 +10270,7 @@ function asmFunc(global, env, buffer) {
}
const memasmFunc = new ArrayBuffer(65536);
-const retasmFunc = asmFunc({Math,Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,NaN,Infinity}, {abort:function() { throw new Error('abort'); },setTempRet0},memasmFunc);
+const retasmFunc = asmFunc({Math,Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,NaN,Infinity}, {abort:function() { throw new Error('abort'); },setTempRet0,getTempRet0},memasmFunc);
export const i32_rem_s_7 = retasmFunc.i32_rem_s_7;
export const i32_rem_u_7 = retasmFunc.i32_rem_u_7;
export const i64_rem_s_7 = retasmFunc.i64_rem_s_7;
diff --git a/test/wasm2js/left-to-right.2asm.js b/test/wasm2js/left-to-right.2asm.js
index 78e903396..490293751 100644
--- a/test/wasm2js/left-to-right.2asm.js
+++ b/test/wasm2js/left-to-right.2asm.js
@@ -1,5 +1,41 @@
-import { __tempMemory__ } 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 wasm2js_scratch_load_i32(index) {
+ return i32ScratchView[index];
+ }
+
+ function wasm2js_scratch_store_i32(index, value) {
+ i32ScratchView[index] = value;
+ }
+
+ function wasm2js_scratch_load_f64() {
+ return f64ScratchView[0];
+ }
+
+ function wasm2js_scratch_store_f64(value) {
+ 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;
+ }
+
function asmFunc(global, env, buffer) {
"almost asm";
var HEAP8 = new global.Int8Array(buffer);
@@ -22,7 +58,7 @@ function asmFunc(global, env, buffer) {
var abort = env.abort;
var nan = global.NaN;
var infinity = global.Infinity;
- var __tempMemory__ = env.__tempMemory__ | 0;
+ var getTempRet0 = env.getTempRet0;
var i64toi32_i32$HIGH_BITS = 0;
function i32_t0($0, $1) {
$0 = $0 | 0;
@@ -1104,7 +1140,7 @@ function asmFunc(global, env, buffer) {
function $98() {
reset();
- (HEAPF32[0] = Math_fround(f32_left()), HEAP32[0] | 0) & 2147483647 | 0 | ((HEAPF32[0] = Math_fround(f32_right()), HEAP32[0] | 0) & 2147483648 | 0) | 0;
+ (wasm2js_scratch_store_f32(Math_fround(f32_left())), wasm2js_scratch_load_i32(0)) & 2147483647 | 0 | ((wasm2js_scratch_store_f32(Math_fround(f32_right())), wasm2js_scratch_load_i32(0)) & 2147483648 | 0) | 0;
return get() | 0 | 0;
}
@@ -1213,25 +1249,19 @@ function asmFunc(global, env, buffer) {
}
function $115() {
- var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $0 = 0.0, $2 = 0, $2$hi = 0, $3 = 0.0, $5 = 0, $5$hi = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0, wasm2js_i32$1 = 0;
+ var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $2 = 0, $2$hi = 0, $5 = 0, $5$hi = 0;
reset();
- $0 = +f64_left();
- wasm2js_i32$0 = __tempMemory__;
- wasm2js_f64$0 = $0;
- HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0;
- i64toi32_i32$0 = HEAP32[(__tempMemory__ + 4 | 0) >> 2] | 0;
- i64toi32_i32$2 = HEAP32[__tempMemory__ >> 2] | 0;
+ wasm2js_scratch_store_f64(+(+f64_left()));
+ i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
+ i64toi32_i32$2 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$1 = 2147483647;
i64toi32_i32$3 = 4294967295;
i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0;
$2 = i64toi32_i32$2 & i64toi32_i32$3 | 0;
$2$hi = i64toi32_i32$1;
- $3 = +f64_right();
- wasm2js_i32$0 = __tempMemory__;
- wasm2js_f64$0 = $3;
- HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0;
- i64toi32_i32$1 = HEAP32[(__tempMemory__ + 4 | 0) >> 2] | 0;
- i64toi32_i32$0 = HEAP32[__tempMemory__ >> 2] | 0;
+ wasm2js_scratch_store_f64(+(+f64_right()));
+ i64toi32_i32$1 = wasm2js_scratch_load_i32(1 | 0) | 0;
+ i64toi32_i32$0 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$2 = 2147483648;
i64toi32_i32$3 = 0;
i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$2 | 0;
@@ -1242,13 +1272,9 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $5$hi;
i64toi32_i32$3 = $5;
i64toi32_i32$0 = i64toi32_i32$2 | i64toi32_i32$0 | 0;
- wasm2js_i32$0 = __tempMemory__;
- wasm2js_i32$1 = i64toi32_i32$1 | i64toi32_i32$3 | 0;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = __tempMemory__;
- wasm2js_i32$1 = i64toi32_i32$0;
- HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1;
- +HEAPF64[__tempMemory__ >> 3];
+ wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$1 | i64toi32_i32$3 | 0 | 0);
+ wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$0 | 0);
+ +wasm2js_scratch_load_f64();
return get() | 0 | 0;
}
@@ -1365,6 +1391,62 @@ 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;
@@ -1680,7 +1762,7 @@ function asmFunc(global, env, buffer) {
var$0$hi = var$0$hi | 0;
var$1 = var$1 | 0;
var$1$hi = var$1$hi | 0;
- var i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, var$2 = 0, var$3 = 0, var$4 = 0, var$5 = 0, var$5$hi = 0, var$6 = 0, var$6$hi = 0, i64toi32_i32$6 = 0, $40_1 = 0, $41_1 = 0, $42_1 = 0, $43_1 = 0, $44_1 = 0, $45_1 = 0, $46_1 = 0, $47_1 = 0, var$8$hi = 0, $48_1 = 0, $49_1 = 0, $50_1 = 0, $51_1 = 0, var$7$hi = 0, $52_1 = 0, $60_1 = 0, $65$hi = 0, $67_1 = 0, $67$hi = 0, $68_1 = 0, $93_1 = 0, $124$hi = 0, $133$hi = 0, $138$hi = 0, var$8 = 0, $144 = 0, $144$hi = 0, $146$hi = 0, $148 = 0, $148$hi = 0, $155 = 0, $155$hi = 0, $158$hi = 0, var$7 = 0, $170$hi = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0;
+ var i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, var$2 = 0, var$3 = 0, var$4 = 0, var$5 = 0, var$5$hi = 0, var$6 = 0, var$6$hi = 0, i64toi32_i32$6 = 0, $37_1 = 0, $38_1 = 0, $39_1 = 0, $40_1 = 0, $41_1 = 0, $42_1 = 0, $43_1 = 0, $44_1 = 0, var$8$hi = 0, $45_1 = 0, $46_1 = 0, $47_1 = 0, $48_1 = 0, var$7$hi = 0, $49_1 = 0, $63$hi = 0, $65_1 = 0, $65$hi = 0, $120$hi = 0, $129$hi = 0, $134$hi = 0, var$8 = 0, $140 = 0, $140$hi = 0, $142$hi = 0, $144 = 0, $144$hi = 0, $151 = 0, $151$hi = 0, $154$hi = 0, var$7 = 0, $165$hi = 0;
label$1 : {
label$2 : {
label$3 : {
@@ -1700,15 +1782,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $40_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $37_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
- $40_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;
+ $37_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;
}
}
- var$2 = $40_1;
+ var$2 = $37_1;
if (var$2) {
block : {
i64toi32_i32$1 = var$1$hi;
@@ -1724,15 +1806,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $41_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $38_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
- $41_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0;
+ $38_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0;
}
}
- var$4 = $41_1;
+ var$4 = $38_1;
if ((var$4 | 0) == (0 | 0)) {
break label$9
}
@@ -1756,13 +1838,7 @@ function asmFunc(global, env, buffer) {
var$3 = var$1;
var$2 = (var$2 >>> 0) / (var$3 >>> 0) | 0;
i64toi32_i32$1 = 0;
- i64toi32_i32$2 = __tempMemory__;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = var$0 - Math_imul(var$2, var$3) | 0;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = i64toi32_i32$1;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$0 - Math_imul(var$2, var$3) | 0 | 0, i64toi32_i32$1 | 0);
i64toi32_i32$1 = 0;
i64toi32_i32$2 = var$2;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
@@ -1776,15 +1852,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $42_1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $39_1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
- $42_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
+ $39_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
}
}
- var$3 = $42_1;
+ var$3 = $39_1;
i64toi32_i32$1 = var$0$hi;
if ((var$0 | 0) == (0 | 0)) {
break label$7
@@ -1796,7 +1872,6 @@ function asmFunc(global, env, buffer) {
if (var$4 & var$3 | 0) {
break label$6
}
- $60_1 = __tempMemory__;
i64toi32_i32$1 = 0;
i64toi32_i32$2 = var$4 & var$2 | 0;
i64toi32_i32$3 = 0;
@@ -1805,35 +1880,28 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
- $43_1 = 0;
+ $40_1 = 0;
}
} else {
{
i64toi32_i32$3 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
- $43_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ $40_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
- $65$hi = i64toi32_i32$3;
+ $63$hi = i64toi32_i32$3;
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$1 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 4294967295;
i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2 | 0;
- $67_1 = i64toi32_i32$1 & i64toi32_i32$0 | 0;
- $67$hi = i64toi32_i32$2;
- i64toi32_i32$2 = $65$hi;
- i64toi32_i32$3 = $43_1;
- i64toi32_i32$1 = $67$hi;
- i64toi32_i32$0 = $67_1;
+ $65_1 = i64toi32_i32$1 & i64toi32_i32$0 | 0;
+ $65$hi = i64toi32_i32$2;
+ i64toi32_i32$2 = $63$hi;
+ i64toi32_i32$3 = $40_1;
+ i64toi32_i32$1 = $65$hi;
+ i64toi32_i32$0 = $65_1;
i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0;
- $68_1 = i64toi32_i32$3 | i64toi32_i32$0 | 0;
- i64toi32_i32$3 = $60_1;
- wasm2js_i32$0 = i64toi32_i32$3;
- wasm2js_i32$1 = $68_1;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$3;
- wasm2js_i32$1 = i64toi32_i32$1;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0 | 0 | 0, i64toi32_i32$1 | 0);
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;
@@ -1852,7 +1920,6 @@ function asmFunc(global, env, buffer) {
var$2 = var$2 + 1 | 0;
break label$3;
}
- $93_1 = __tempMemory__;
var$4 = (var$2 >>> 0) / (var$3 >>> 0) | 0;
i64toi32_i32$3 = 0;
i64toi32_i32$2 = var$2 - Math_imul(var$4, var$3) | 0;
@@ -1862,21 +1929,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
- $44_1 = 0;
+ $41_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$3 << i64toi32_i32$4 | 0) | 0;
- $44_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ $41_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
- i64toi32_i32$2 = $93_1;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = $44_1;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = i64toi32_i32$1;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64($41_1 | 0, i64toi32_i32$1 | 0);
i64toi32_i32$1 = 0;
i64toi32_i32$2 = var$4;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
@@ -1890,36 +1951,30 @@ function asmFunc(global, env, buffer) {
}
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$2 = 0;
- i64toi32_i32$1 = __tempMemory__;
- wasm2js_i32$0 = i64toi32_i32$1;
- wasm2js_i32$1 = var$4 & var$0 | 0;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$1;
- wasm2js_i32$1 = i64toi32_i32$2;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$4 & var$0 | 0 | 0, i64toi32_i32$2 | 0);
if ((var$3 | 0) == (1 | 0)) {
break label$1
}
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$2 = 0;
- $124$hi = i64toi32_i32$2;
+ $120$hi = i64toi32_i32$2;
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$1 = $124$hi;
+ i64toi32_i32$1 = $120$hi;
i64toi32_i32$0 = __wasm_ctz_i32(var$3 | 0) | 0;
i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $45_1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $42_1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
- $45_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
+ $42_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
}
}
- i64toi32_i32$3 = $45_1;
+ i64toi32_i32$3 = $42_1;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
return i64toi32_i32$3 | 0;
}
@@ -1928,45 +1983,45 @@ function asmFunc(global, env, buffer) {
}
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$3 = 0;
- $133$hi = i64toi32_i32$3;
+ $129$hi = i64toi32_i32$3;
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$2 = var$0;
- i64toi32_i32$1 = $133$hi;
+ i64toi32_i32$1 = $129$hi;
i64toi32_i32$0 = var$2 & 63 | 0;
i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $46_1 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
+ $43_1 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$1 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
- $46_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
+ $43_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
- var$5 = $46_1;
+ var$5 = $43_1;
var$5$hi = i64toi32_i32$1;
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$1 = 0;
- $138$hi = i64toi32_i32$1;
+ $134$hi = i64toi32_i32$1;
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$2 = $138$hi;
+ i64toi32_i32$2 = $134$hi;
i64toi32_i32$0 = var$3 & 63 | 0;
i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
- $47_1 = 0;
+ $44_1 = 0;
}
} else {
{
i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
- $47_1 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
+ $44_1 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
}
}
- var$0 = $47_1;
+ var$0 = $44_1;
var$0$hi = i64toi32_i32$2;
label$13 : {
if (var$2) {
@@ -1991,16 +2046,16 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
- $48_1 = 0;
+ $45_1 = 0;
}
} else {
{
i64toi32_i32$1 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0;
- $48_1 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
+ $45_1 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
}
}
- $144 = $48_1;
- $144$hi = i64toi32_i32$1;
+ $140 = $45_1;
+ $140$hi = i64toi32_i32$1;
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
@@ -2009,24 +2064,24 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $49_1 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
+ $46_1 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
}
} else {
{
i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
- $49_1 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0;
+ $46_1 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0;
}
}
- $146$hi = i64toi32_i32$2;
- i64toi32_i32$2 = $144$hi;
- i64toi32_i32$1 = $144;
- i64toi32_i32$5 = $146$hi;
- i64toi32_i32$0 = $49_1;
+ $142$hi = i64toi32_i32$2;
+ i64toi32_i32$2 = $140$hi;
+ i64toi32_i32$1 = $140;
+ i64toi32_i32$5 = $142$hi;
+ i64toi32_i32$0 = $46_1;
i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
var$5 = i64toi32_i32$1 | i64toi32_i32$0 | 0;
var$5$hi = i64toi32_i32$5;
- $148 = var$5;
- $148$hi = i64toi32_i32$5;
+ $144 = var$5;
+ $144$hi = i64toi32_i32$5;
i64toi32_i32$5 = var$8$hi;
i64toi32_i32$5 = var$5$hi;
i64toi32_i32$5 = var$8$hi;
@@ -2044,15 +2099,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0;
- $50_1 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
+ $47_1 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
}
} else {
{
i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
- $50_1 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0;
+ $47_1 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0;
}
}
- var$6 = $50_1;
+ var$6 = $47_1;
var$6$hi = i64toi32_i32$2;
i64toi32_i32$2 = var$1$hi;
i64toi32_i32$2 = var$6$hi;
@@ -2060,12 +2115,12 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = var$1$hi;
i64toi32_i32$0 = var$1;
i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0;
- $155 = i64toi32_i32$4 & i64toi32_i32$0 | 0;
- $155$hi = i64toi32_i32$5;
- i64toi32_i32$5 = $148$hi;
- i64toi32_i32$2 = $148;
- i64toi32_i32$4 = $155$hi;
- i64toi32_i32$0 = $155;
+ $151 = i64toi32_i32$4 & i64toi32_i32$0 | 0;
+ $151$hi = i64toi32_i32$5;
+ i64toi32_i32$5 = $144$hi;
+ i64toi32_i32$2 = $144;
+ i64toi32_i32$4 = $151$hi;
+ i64toi32_i32$0 = $151;
i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$0 | 0;
i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0;
i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$4 | 0;
@@ -2080,18 +2135,18 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
- $51_1 = 0;
+ $48_1 = 0;
}
} else {
{
i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
- $51_1 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
+ $48_1 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
}
}
- $158$hi = i64toi32_i32$2;
+ $154$hi = i64toi32_i32$2;
i64toi32_i32$2 = var$7$hi;
- i64toi32_i32$2 = $158$hi;
- i64toi32_i32$3 = $51_1;
+ i64toi32_i32$2 = $154$hi;
+ i64toi32_i32$3 = $48_1;
i64toi32_i32$5 = var$7$hi;
i64toi32_i32$0 = var$7;
i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
@@ -2117,13 +2172,7 @@ function asmFunc(global, env, buffer) {
}
}
i64toi32_i32$3 = var$5$hi;
- i64toi32_i32$2 = __tempMemory__;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = var$5;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = i64toi32_i32$3;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$5 | 0, i64toi32_i32$3 | 0);
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
@@ -2132,18 +2181,18 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
- $52_1 = 0;
+ $49_1 = 0;
}
} else {
{
i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
- $52_1 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
+ $49_1 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
}
}
- $170$hi = i64toi32_i32$2;
+ $165$hi = i64toi32_i32$2;
i64toi32_i32$2 = var$6$hi;
- i64toi32_i32$2 = $170$hi;
- i64toi32_i32$3 = $52_1;
+ i64toi32_i32$2 = $165$hi;
+ i64toi32_i32$3 = $49_1;
i64toi32_i32$5 = var$6$hi;
i64toi32_i32$0 = var$6;
i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
@@ -2152,13 +2201,7 @@ function asmFunc(global, env, buffer) {
return i64toi32_i32$3 | 0;
}
i64toi32_i32$3 = var$0$hi;
- i64toi32_i32$5 = __tempMemory__;
- wasm2js_i32$0 = i64toi32_i32$5;
- wasm2js_i32$1 = var$0;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$5;
- wasm2js_i32$1 = i64toi32_i32$3;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$0 | 0, i64toi32_i32$3 | 0);
i64toi32_i32$3 = 0;
var$0 = 0;
var$0$hi = i64toi32_i32$3;
@@ -2238,16 +2281,15 @@ function asmFunc(global, env, buffer) {
var$0$hi = var$0$hi | 0;
var$1 = var$1 | 0;
var$1$hi = var$1$hi | 0;
- var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, wasm2js_i32$0 = 0;
+ var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$0 = var$1$hi;
i64toi32_i32$0 = var$0$hi;
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$2 = __tempMemory__;
- i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0;
- i64toi32_i32$1 = (wasm2js_i32$0 = i64toi32_i32$2, HEAPU8[(wasm2js_i32$0 + 4 | 0) >> 0] | 0 | 0 | (HEAPU8[(wasm2js_i32$0 + 5 | 0) >> 0] | 0 | 0) << 8 | (HEAPU8[(wasm2js_i32$0 + 6 | 0) >> 0] | 0 | 0) << 16 | (HEAPU8[(wasm2js_i32$0 + 7 | 0) >> 0] | 0 | 0) << 24);
+ 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;
}
@@ -2388,7 +2430,7 @@ function asmFunc(global, env, buffer) {
}
const memasmFunc = new ArrayBuffer(65536);
-const retasmFunc = asmFunc({Math,Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,NaN,Infinity}, {abort:function() { throw new Error('abort'); }},memasmFunc);
+const retasmFunc = asmFunc({Math,Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,NaN,Infinity}, {abort:function() { throw new Error('abort'); },getTempRet0},memasmFunc);
export const i32_add = retasmFunc.i32_add;
export const i32_sub = retasmFunc.i32_sub;
export const i32_mul = retasmFunc.i32_mul;
diff --git a/test/wasm2js/reinterpret.2asm.js b/test/wasm2js/reinterpret.2asm.js
index 018de2245..0084b9ad6 100644
--- a/test/wasm2js/reinterpret.2asm.js
+++ b/test/wasm2js/reinterpret.2asm.js
@@ -1,5 +1,34 @@
-import { __tempMemory__ } from 'env';
+
+ var scratchBuffer = new ArrayBuffer(8);
+ var i32ScratchView = new Int32Array(scratchBuffer);
+ var f32ScratchView = new Float32Array(scratchBuffer);
+ var f64ScratchView = new Float64Array(scratchBuffer);
+
+ function wasm2js_scratch_load_i32(index) {
+ return i32ScratchView[index];
+ }
+
+ function wasm2js_scratch_store_i32(index, value) {
+ i32ScratchView[index] = value;
+ }
+
+ function wasm2js_scratch_load_f64() {
+ return f64ScratchView[0];
+ }
+
+ function wasm2js_scratch_store_f64(value) {
+ f64ScratchView[0] = value;
+ }
+
+ function wasm2js_scratch_store_f32(value) {
+ f32ScratchView[0] = value;
+ }
+
+ function wasm2js_scratch_load_f32() {
+ return f32ScratchView[0];
+ }
+
function asmFunc(global, env, buffer) {
"almost asm";
var HEAP8 = new global.Int8Array(buffer);
@@ -22,31 +51,24 @@ function asmFunc(global, env, buffer) {
var abort = env.abort;
var nan = global.NaN;
var infinity = global.Infinity;
- var __tempMemory__ = env.__tempMemory__ | 0;
function $1($0) {
$0 = $0 | 0;
- return ((HEAPF32[0] = (HEAP32[0] = $0, HEAPF32[0]), HEAP32[0] | 0) | 0) == ($0 | 0) | 0;
+ return ((wasm2js_scratch_store_f32((wasm2js_scratch_store_i32(0, $0), wasm2js_scratch_load_f32())), wasm2js_scratch_load_i32(0)) | 0) == ($0 | 0) | 0;
}
function $2($0, $0$hi) {
$0 = $0 | 0;
$0$hi = $0$hi | 0;
- var i64toi32_i32$0 = 0, $3$hi = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f64$0 = 0.0;
+ var i64toi32_i32$0 = 0, $3$hi = 0;
i64toi32_i32$0 = $0$hi;
- wasm2js_i32$0 = __tempMemory__;
- wasm2js_i32$1 = $0;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = __tempMemory__;
- wasm2js_i32$1 = i64toi32_i32$0;
- HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = __tempMemory__;
- wasm2js_f64$0 = +HEAPF64[__tempMemory__ >> 3];
- HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0;
- i64toi32_i32$0 = HEAP32[(__tempMemory__ + 4 | 0) >> 2] | 0;
+ wasm2js_scratch_store_i32(0 | 0, $0 | 0);
+ wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$0 | 0);
+ wasm2js_scratch_store_f64(+(+wasm2js_scratch_load_f64()));
+ i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
$3$hi = i64toi32_i32$0;
i64toi32_i32$0 = $0$hi;
i64toi32_i32$0 = $3$hi;
- return (HEAP32[__tempMemory__ >> 2] | 0 | 0) == ($0 | 0) & (i64toi32_i32$0 | 0) == ($0$hi | 0) | 0 | 0;
+ return (wasm2js_scratch_load_i32(0 | 0) | 0 | 0) == ($0 | 0) & (i64toi32_i32$0 | 0) == ($0$hi | 0) | 0 | 0;
}
function legalstub$2($0, $1_1) {
diff --git a/test/wasm2js/traps.2asm.js b/test/wasm2js/traps.2asm.js
index 63a027e9f..85b1c6a3f 100644
--- a/test/wasm2js/traps.2asm.js
+++ b/test/wasm2js/traps.2asm.js
@@ -1,6 +1,16 @@
-import { __tempMemory__ } from 'env';
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) {
"almost asm";
var HEAP8 = new global.Int8Array(buffer);
@@ -24,7 +34,6 @@ function asmFunc(global, env, buffer) {
var nan = global.NaN;
var infinity = global.Infinity;
var setTempRet0 = env.setTempRet0;
- var __tempMemory__ = env.__tempMemory__ | 0;
var i64toi32_i32$HIGH_BITS = 0;
function $0(x, y) {
x = x | 0;
@@ -242,6 +251,30 @@ function asmFunc(global, env, buffer) {
return $4 | 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;
@@ -373,7 +406,7 @@ function asmFunc(global, env, buffer) {
var$0$hi = var$0$hi | 0;
var$1 = var$1 | 0;
var$1$hi = var$1$hi | 0;
- var i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, var$2 = 0, var$3 = 0, var$4 = 0, var$5 = 0, var$5$hi = 0, var$6 = 0, var$6$hi = 0, i64toi32_i32$6 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, var$8$hi = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, var$7$hi = 0, $52 = 0, $60 = 0, $65$hi = 0, $67 = 0, $67$hi = 0, $68 = 0, $93 = 0, $124$hi = 0, $133$hi = 0, $138$hi = 0, var$8 = 0, $144 = 0, $144$hi = 0, $146$hi = 0, $148 = 0, $148$hi = 0, $155 = 0, $155$hi = 0, $158$hi = 0, var$7 = 0, $170$hi = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0;
+ var i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, var$2 = 0, var$3 = 0, var$4 = 0, var$5 = 0, var$5$hi = 0, var$6 = 0, var$6$hi = 0, i64toi32_i32$6 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, var$8$hi = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, var$7$hi = 0, $49 = 0, $63$hi = 0, $65 = 0, $65$hi = 0, $120$hi = 0, $129$hi = 0, $134$hi = 0, var$8 = 0, $140 = 0, $140$hi = 0, $142$hi = 0, $144 = 0, $144$hi = 0, $151 = 0, $151$hi = 0, $154$hi = 0, var$7 = 0, $165$hi = 0;
label$1 : {
label$2 : {
label$3 : {
@@ -393,15 +426,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $40 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $37 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
- $40 = (((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;
+ $37 = (((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;
}
}
- var$2 = $40;
+ var$2 = $37;
if (var$2) {
block : {
i64toi32_i32$1 = var$1$hi;
@@ -417,15 +450,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $41 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
- $41 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0;
+ $38 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0;
}
}
- var$4 = $41;
+ var$4 = $38;
if ((var$4 | 0) == (0 | 0)) {
break label$9
}
@@ -449,13 +482,7 @@ function asmFunc(global, env, buffer) {
var$3 = var$1;
var$2 = (var$2 >>> 0) / (var$3 >>> 0) | 0;
i64toi32_i32$1 = 0;
- i64toi32_i32$2 = __tempMemory__;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = var$0 - Math_imul(var$2, var$3) | 0;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = i64toi32_i32$1;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$0 - Math_imul(var$2, var$3) | 0 | 0, i64toi32_i32$1 | 0);
i64toi32_i32$1 = 0;
i64toi32_i32$2 = var$2;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
@@ -469,15 +496,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $42 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $39 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
- $42 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
+ $39 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
}
}
- var$3 = $42;
+ var$3 = $39;
i64toi32_i32$1 = var$0$hi;
if ((var$0 | 0) == (0 | 0)) {
break label$7
@@ -489,7 +516,6 @@ function asmFunc(global, env, buffer) {
if (var$4 & var$3 | 0) {
break label$6
}
- $60 = __tempMemory__;
i64toi32_i32$1 = 0;
i64toi32_i32$2 = var$4 & var$2 | 0;
i64toi32_i32$3 = 0;
@@ -498,35 +524,28 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
- $43 = 0;
+ $40 = 0;
}
} else {
{
i64toi32_i32$3 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
- $43 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ $40 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
- $65$hi = i64toi32_i32$3;
+ $63$hi = i64toi32_i32$3;
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$1 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 4294967295;
i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2 | 0;
- $67 = i64toi32_i32$1 & i64toi32_i32$0 | 0;
- $67$hi = i64toi32_i32$2;
- i64toi32_i32$2 = $65$hi;
- i64toi32_i32$3 = $43;
- i64toi32_i32$1 = $67$hi;
- i64toi32_i32$0 = $67;
+ $65 = i64toi32_i32$1 & i64toi32_i32$0 | 0;
+ $65$hi = i64toi32_i32$2;
+ i64toi32_i32$2 = $63$hi;
+ i64toi32_i32$3 = $40;
+ i64toi32_i32$1 = $65$hi;
+ i64toi32_i32$0 = $65;
i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0;
- $68 = i64toi32_i32$3 | i64toi32_i32$0 | 0;
- i64toi32_i32$3 = $60;
- wasm2js_i32$0 = i64toi32_i32$3;
- wasm2js_i32$1 = $68;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$3;
- wasm2js_i32$1 = i64toi32_i32$1;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0 | 0 | 0, i64toi32_i32$1 | 0);
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;
@@ -545,7 +564,6 @@ function asmFunc(global, env, buffer) {
var$2 = var$2 + 1 | 0;
break label$3;
}
- $93 = __tempMemory__;
var$4 = (var$2 >>> 0) / (var$3 >>> 0) | 0;
i64toi32_i32$3 = 0;
i64toi32_i32$2 = var$2 - Math_imul(var$4, var$3) | 0;
@@ -555,21 +573,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
- $44 = 0;
+ $41 = 0;
}
} else {
{
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;
- $44 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ $41 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
- i64toi32_i32$2 = $93;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = $44;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = i64toi32_i32$1;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64($41 | 0, i64toi32_i32$1 | 0);
i64toi32_i32$1 = 0;
i64toi32_i32$2 = var$4;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
@@ -583,36 +595,30 @@ function asmFunc(global, env, buffer) {
}
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$2 = 0;
- i64toi32_i32$1 = __tempMemory__;
- wasm2js_i32$0 = i64toi32_i32$1;
- wasm2js_i32$1 = var$4 & var$0 | 0;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$1;
- wasm2js_i32$1 = i64toi32_i32$2;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$4 & var$0 | 0 | 0, i64toi32_i32$2 | 0);
if ((var$3 | 0) == (1 | 0)) {
break label$1
}
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$2 = 0;
- $124$hi = i64toi32_i32$2;
+ $120$hi = i64toi32_i32$2;
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$1 = $124$hi;
+ i64toi32_i32$1 = $120$hi;
i64toi32_i32$0 = __wasm_ctz_i32(var$3 | 0) | 0;
i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $45 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $42 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
- $45 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
+ $42 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
}
}
- i64toi32_i32$3 = $45;
+ i64toi32_i32$3 = $42;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
return i64toi32_i32$3 | 0;
}
@@ -621,45 +627,45 @@ function asmFunc(global, env, buffer) {
}
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$3 = 0;
- $133$hi = i64toi32_i32$3;
+ $129$hi = i64toi32_i32$3;
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$2 = var$0;
- i64toi32_i32$1 = $133$hi;
+ i64toi32_i32$1 = $129$hi;
i64toi32_i32$0 = var$2 & 63 | 0;
i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $46 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
+ $43 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$1 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
- $46 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
+ $43 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
- var$5 = $46;
+ var$5 = $43;
var$5$hi = i64toi32_i32$1;
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$1 = 0;
- $138$hi = i64toi32_i32$1;
+ $134$hi = i64toi32_i32$1;
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$2 = $138$hi;
+ i64toi32_i32$2 = $134$hi;
i64toi32_i32$0 = var$3 & 63 | 0;
i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
- $47 = 0;
+ $44 = 0;
}
} else {
{
i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
- $47 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
+ $44 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
}
}
- var$0 = $47;
+ var$0 = $44;
var$0$hi = i64toi32_i32$2;
label$13 : {
if (var$2) {
@@ -684,16 +690,16 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
- $48 = 0;
+ $45 = 0;
}
} else {
{
i64toi32_i32$1 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0;
- $48 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
+ $45 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
}
}
- $144 = $48;
- $144$hi = i64toi32_i32$1;
+ $140 = $45;
+ $140$hi = i64toi32_i32$1;
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
@@ -702,24 +708,24 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $49 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
+ $46 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
}
} else {
{
i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
- $49 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0;
+ $46 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0;
}
}
- $146$hi = i64toi32_i32$2;
- i64toi32_i32$2 = $144$hi;
- i64toi32_i32$1 = $144;
- i64toi32_i32$5 = $146$hi;
- i64toi32_i32$0 = $49;
+ $142$hi = i64toi32_i32$2;
+ i64toi32_i32$2 = $140$hi;
+ i64toi32_i32$1 = $140;
+ i64toi32_i32$5 = $142$hi;
+ i64toi32_i32$0 = $46;
i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
var$5 = i64toi32_i32$1 | i64toi32_i32$0 | 0;
var$5$hi = i64toi32_i32$5;
- $148 = var$5;
- $148$hi = i64toi32_i32$5;
+ $144 = var$5;
+ $144$hi = i64toi32_i32$5;
i64toi32_i32$5 = var$8$hi;
i64toi32_i32$5 = var$5$hi;
i64toi32_i32$5 = var$8$hi;
@@ -737,15 +743,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0;
- $50 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
+ $47 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
}
} else {
{
i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
- $50 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0;
+ $47 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0;
}
}
- var$6 = $50;
+ var$6 = $47;
var$6$hi = i64toi32_i32$2;
i64toi32_i32$2 = var$1$hi;
i64toi32_i32$2 = var$6$hi;
@@ -753,12 +759,12 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = var$1$hi;
i64toi32_i32$0 = var$1;
i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0;
- $155 = i64toi32_i32$4 & i64toi32_i32$0 | 0;
- $155$hi = i64toi32_i32$5;
- i64toi32_i32$5 = $148$hi;
- i64toi32_i32$2 = $148;
- i64toi32_i32$4 = $155$hi;
- i64toi32_i32$0 = $155;
+ $151 = i64toi32_i32$4 & i64toi32_i32$0 | 0;
+ $151$hi = i64toi32_i32$5;
+ i64toi32_i32$5 = $144$hi;
+ i64toi32_i32$2 = $144;
+ i64toi32_i32$4 = $151$hi;
+ i64toi32_i32$0 = $151;
i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$0 | 0;
i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0;
i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$4 | 0;
@@ -773,18 +779,18 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
- $51 = 0;
+ $48 = 0;
}
} else {
{
i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
- $51 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
+ $48 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
}
}
- $158$hi = i64toi32_i32$2;
+ $154$hi = i64toi32_i32$2;
i64toi32_i32$2 = var$7$hi;
- i64toi32_i32$2 = $158$hi;
- i64toi32_i32$3 = $51;
+ i64toi32_i32$2 = $154$hi;
+ i64toi32_i32$3 = $48;
i64toi32_i32$5 = var$7$hi;
i64toi32_i32$0 = var$7;
i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
@@ -810,13 +816,7 @@ function asmFunc(global, env, buffer) {
}
}
i64toi32_i32$3 = var$5$hi;
- i64toi32_i32$2 = __tempMemory__;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = var$5;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = i64toi32_i32$3;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$5 | 0, i64toi32_i32$3 | 0);
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
@@ -825,18 +825,18 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
- $52 = 0;
+ $49 = 0;
}
} else {
{
i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
- $52 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
+ $49 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
}
}
- $170$hi = i64toi32_i32$2;
+ $165$hi = i64toi32_i32$2;
i64toi32_i32$2 = var$6$hi;
- i64toi32_i32$2 = $170$hi;
- i64toi32_i32$3 = $52;
+ i64toi32_i32$2 = $165$hi;
+ i64toi32_i32$3 = $49;
i64toi32_i32$5 = var$6$hi;
i64toi32_i32$0 = var$6;
i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
@@ -845,13 +845,7 @@ function asmFunc(global, env, buffer) {
return i64toi32_i32$3 | 0;
}
i64toi32_i32$3 = var$0$hi;
- i64toi32_i32$5 = __tempMemory__;
- wasm2js_i32$0 = i64toi32_i32$5;
- wasm2js_i32$1 = var$0;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$5;
- wasm2js_i32$1 = i64toi32_i32$3;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$0 | 0, i64toi32_i32$3 | 0);
i64toi32_i32$3 = 0;
var$0 = 0;
var$0$hi = i64toi32_i32$3;
@@ -917,9 +911,25 @@ export const no_dce_i32_div_s = retasmFunc.no_dce_i32_div_s;
export const no_dce_i32_div_u = retasmFunc.no_dce_i32_div_u;
export const no_dce_i64_div_s = retasmFunc.no_dce_i64_div_s;
export const no_dce_i64_div_u = retasmFunc.no_dce_i64_div_u;
-import { __tempMemory__ } from 'env';
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) {
"almost asm";
var HEAP8 = new global.Int8Array(buffer);
@@ -943,7 +953,7 @@ function asmFunc(global, env, buffer) {
var nan = global.NaN;
var infinity = global.Infinity;
var setTempRet0 = env.setTempRet0;
- var __tempMemory__ = env.__tempMemory__ | 0;
+ var getTempRet0 = env.getTempRet0;
var i64toi32_i32$HIGH_BITS = 0;
function $0(x, y) {
x = x | 0;
@@ -1161,6 +1171,62 @@ function asmFunc(global, env, buffer) {
return $4 | 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;
@@ -1268,7 +1334,7 @@ function asmFunc(global, env, buffer) {
var$0$hi = var$0$hi | 0;
var$1 = var$1 | 0;
var$1$hi = var$1$hi | 0;
- var i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, var$2 = 0, var$3 = 0, var$4 = 0, var$5 = 0, var$5$hi = 0, var$6 = 0, var$6$hi = 0, i64toi32_i32$6 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, var$8$hi = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, var$7$hi = 0, $52 = 0, $60 = 0, $65$hi = 0, $67 = 0, $67$hi = 0, $68 = 0, $93 = 0, $124$hi = 0, $133$hi = 0, $138$hi = 0, var$8 = 0, $144 = 0, $144$hi = 0, $146$hi = 0, $148 = 0, $148$hi = 0, $155 = 0, $155$hi = 0, $158$hi = 0, var$7 = 0, $170$hi = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0;
+ var i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, var$2 = 0, var$3 = 0, var$4 = 0, var$5 = 0, var$5$hi = 0, var$6 = 0, var$6$hi = 0, i64toi32_i32$6 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, var$8$hi = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, var$7$hi = 0, $49 = 0, $63$hi = 0, $65 = 0, $65$hi = 0, $120$hi = 0, $129$hi = 0, $134$hi = 0, var$8 = 0, $140 = 0, $140$hi = 0, $142$hi = 0, $144 = 0, $144$hi = 0, $151 = 0, $151$hi = 0, $154$hi = 0, var$7 = 0, $165$hi = 0;
label$1 : {
label$2 : {
label$3 : {
@@ -1288,15 +1354,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $40 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $37 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
- $40 = (((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;
+ $37 = (((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;
}
}
- var$2 = $40;
+ var$2 = $37;
if (var$2) {
block : {
i64toi32_i32$1 = var$1$hi;
@@ -1312,15 +1378,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $41 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
- $41 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0;
+ $38 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0;
}
}
- var$4 = $41;
+ var$4 = $38;
if ((var$4 | 0) == (0 | 0)) {
break label$9
}
@@ -1344,13 +1410,7 @@ function asmFunc(global, env, buffer) {
var$3 = var$1;
var$2 = (var$2 >>> 0) / (var$3 >>> 0) | 0;
i64toi32_i32$1 = 0;
- i64toi32_i32$2 = __tempMemory__;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = var$0 - Math_imul(var$2, var$3) | 0;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = i64toi32_i32$1;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$0 - Math_imul(var$2, var$3) | 0 | 0, i64toi32_i32$1 | 0);
i64toi32_i32$1 = 0;
i64toi32_i32$2 = var$2;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
@@ -1364,15 +1424,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $42 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $39 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
- $42 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
+ $39 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
}
}
- var$3 = $42;
+ var$3 = $39;
i64toi32_i32$1 = var$0$hi;
if ((var$0 | 0) == (0 | 0)) {
break label$7
@@ -1384,7 +1444,6 @@ function asmFunc(global, env, buffer) {
if (var$4 & var$3 | 0) {
break label$6
}
- $60 = __tempMemory__;
i64toi32_i32$1 = 0;
i64toi32_i32$2 = var$4 & var$2 | 0;
i64toi32_i32$3 = 0;
@@ -1393,35 +1452,28 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
- $43 = 0;
+ $40 = 0;
}
} else {
{
i64toi32_i32$3 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
- $43 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ $40 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
- $65$hi = i64toi32_i32$3;
+ $63$hi = i64toi32_i32$3;
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$1 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 4294967295;
i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2 | 0;
- $67 = i64toi32_i32$1 & i64toi32_i32$0 | 0;
- $67$hi = i64toi32_i32$2;
- i64toi32_i32$2 = $65$hi;
- i64toi32_i32$3 = $43;
- i64toi32_i32$1 = $67$hi;
- i64toi32_i32$0 = $67;
+ $65 = i64toi32_i32$1 & i64toi32_i32$0 | 0;
+ $65$hi = i64toi32_i32$2;
+ i64toi32_i32$2 = $63$hi;
+ i64toi32_i32$3 = $40;
+ i64toi32_i32$1 = $65$hi;
+ i64toi32_i32$0 = $65;
i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0;
- $68 = i64toi32_i32$3 | i64toi32_i32$0 | 0;
- i64toi32_i32$3 = $60;
- wasm2js_i32$0 = i64toi32_i32$3;
- wasm2js_i32$1 = $68;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$3;
- wasm2js_i32$1 = i64toi32_i32$1;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0 | 0 | 0, i64toi32_i32$1 | 0);
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;
@@ -1440,7 +1492,6 @@ function asmFunc(global, env, buffer) {
var$2 = var$2 + 1 | 0;
break label$3;
}
- $93 = __tempMemory__;
var$4 = (var$2 >>> 0) / (var$3 >>> 0) | 0;
i64toi32_i32$3 = 0;
i64toi32_i32$2 = var$2 - Math_imul(var$4, var$3) | 0;
@@ -1450,21 +1501,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
- $44 = 0;
+ $41 = 0;
}
} else {
{
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;
- $44 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ $41 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
- i64toi32_i32$2 = $93;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = $44;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = i64toi32_i32$1;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64($41 | 0, i64toi32_i32$1 | 0);
i64toi32_i32$1 = 0;
i64toi32_i32$2 = var$4;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
@@ -1478,36 +1523,30 @@ function asmFunc(global, env, buffer) {
}
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$2 = 0;
- i64toi32_i32$1 = __tempMemory__;
- wasm2js_i32$0 = i64toi32_i32$1;
- wasm2js_i32$1 = var$4 & var$0 | 0;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$1;
- wasm2js_i32$1 = i64toi32_i32$2;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$4 & var$0 | 0 | 0, i64toi32_i32$2 | 0);
if ((var$3 | 0) == (1 | 0)) {
break label$1
}
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$2 = 0;
- $124$hi = i64toi32_i32$2;
+ $120$hi = i64toi32_i32$2;
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$1 = $124$hi;
+ i64toi32_i32$1 = $120$hi;
i64toi32_i32$0 = __wasm_ctz_i32(var$3 | 0) | 0;
i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $45 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $42 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
- $45 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
+ $42 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
}
}
- i64toi32_i32$3 = $45;
+ i64toi32_i32$3 = $42;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
return i64toi32_i32$3 | 0;
}
@@ -1516,45 +1555,45 @@ function asmFunc(global, env, buffer) {
}
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$3 = 0;
- $133$hi = i64toi32_i32$3;
+ $129$hi = i64toi32_i32$3;
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$2 = var$0;
- i64toi32_i32$1 = $133$hi;
+ i64toi32_i32$1 = $129$hi;
i64toi32_i32$0 = var$2 & 63 | 0;
i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $46 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
+ $43 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
}
} else {
{
i64toi32_i32$1 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
- $46 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
+ $43 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
- var$5 = $46;
+ var$5 = $43;
var$5$hi = i64toi32_i32$1;
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$1 = 0;
- $138$hi = i64toi32_i32$1;
+ $134$hi = i64toi32_i32$1;
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$2 = $138$hi;
+ i64toi32_i32$2 = $134$hi;
i64toi32_i32$0 = var$3 & 63 | 0;
i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
- $47 = 0;
+ $44 = 0;
}
} else {
{
i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
- $47 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
+ $44 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
}
}
- var$0 = $47;
+ var$0 = $44;
var$0$hi = i64toi32_i32$2;
label$13 : {
if (var$2) {
@@ -1579,16 +1618,16 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
- $48 = 0;
+ $45 = 0;
}
} else {
{
i64toi32_i32$1 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0;
- $48 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
+ $45 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
}
}
- $144 = $48;
- $144$hi = i64toi32_i32$1;
+ $140 = $45;
+ $140$hi = i64toi32_i32$1;
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
@@ -1597,24 +1636,24 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $49 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
+ $46 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
}
} else {
{
i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
- $49 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0;
+ $46 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0;
}
}
- $146$hi = i64toi32_i32$2;
- i64toi32_i32$2 = $144$hi;
- i64toi32_i32$1 = $144;
- i64toi32_i32$5 = $146$hi;
- i64toi32_i32$0 = $49;
+ $142$hi = i64toi32_i32$2;
+ i64toi32_i32$2 = $140$hi;
+ i64toi32_i32$1 = $140;
+ i64toi32_i32$5 = $142$hi;
+ i64toi32_i32$0 = $46;
i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
var$5 = i64toi32_i32$1 | i64toi32_i32$0 | 0;
var$5$hi = i64toi32_i32$5;
- $148 = var$5;
- $148$hi = i64toi32_i32$5;
+ $144 = var$5;
+ $144$hi = i64toi32_i32$5;
i64toi32_i32$5 = var$8$hi;
i64toi32_i32$5 = var$5$hi;
i64toi32_i32$5 = var$8$hi;
@@ -1632,15 +1671,15 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0;
- $50 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
+ $47 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
}
} else {
{
i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
- $50 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0;
+ $47 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0;
}
}
- var$6 = $50;
+ var$6 = $47;
var$6$hi = i64toi32_i32$2;
i64toi32_i32$2 = var$1$hi;
i64toi32_i32$2 = var$6$hi;
@@ -1648,12 +1687,12 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = var$1$hi;
i64toi32_i32$0 = var$1;
i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0;
- $155 = i64toi32_i32$4 & i64toi32_i32$0 | 0;
- $155$hi = i64toi32_i32$5;
- i64toi32_i32$5 = $148$hi;
- i64toi32_i32$2 = $148;
- i64toi32_i32$4 = $155$hi;
- i64toi32_i32$0 = $155;
+ $151 = i64toi32_i32$4 & i64toi32_i32$0 | 0;
+ $151$hi = i64toi32_i32$5;
+ i64toi32_i32$5 = $144$hi;
+ i64toi32_i32$2 = $144;
+ i64toi32_i32$4 = $151$hi;
+ i64toi32_i32$0 = $151;
i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$0 | 0;
i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0;
i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$4 | 0;
@@ -1668,18 +1707,18 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
- $51 = 0;
+ $48 = 0;
}
} else {
{
i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
- $51 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
+ $48 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
}
}
- $158$hi = i64toi32_i32$2;
+ $154$hi = i64toi32_i32$2;
i64toi32_i32$2 = var$7$hi;
- i64toi32_i32$2 = $158$hi;
- i64toi32_i32$3 = $51;
+ i64toi32_i32$2 = $154$hi;
+ i64toi32_i32$3 = $48;
i64toi32_i32$5 = var$7$hi;
i64toi32_i32$0 = var$7;
i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
@@ -1705,13 +1744,7 @@ function asmFunc(global, env, buffer) {
}
}
i64toi32_i32$3 = var$5$hi;
- i64toi32_i32$2 = __tempMemory__;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = var$5;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$2;
- wasm2js_i32$1 = i64toi32_i32$3;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$5 | 0, i64toi32_i32$3 | 0);
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
@@ -1720,18 +1753,18 @@ function asmFunc(global, env, buffer) {
if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
- $52 = 0;
+ $49 = 0;
}
} else {
{
i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
- $52 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
+ $49 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
}
}
- $170$hi = i64toi32_i32$2;
+ $165$hi = i64toi32_i32$2;
i64toi32_i32$2 = var$6$hi;
- i64toi32_i32$2 = $170$hi;
- i64toi32_i32$3 = $52;
+ i64toi32_i32$2 = $165$hi;
+ i64toi32_i32$3 = $49;
i64toi32_i32$5 = var$6$hi;
i64toi32_i32$0 = var$6;
i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
@@ -1740,13 +1773,7 @@ function asmFunc(global, env, buffer) {
return i64toi32_i32$3 | 0;
}
i64toi32_i32$3 = var$0$hi;
- i64toi32_i32$5 = __tempMemory__;
- wasm2js_i32$0 = i64toi32_i32$5;
- wasm2js_i32$1 = var$0;
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = i64toi32_i32$5;
- wasm2js_i32$1 = i64toi32_i32$3;
- (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$0 | 0, i64toi32_i32$3 | 0);
i64toi32_i32$3 = 0;
var$0 = 0;
var$0$hi = i64toi32_i32$3;
@@ -1778,16 +1805,15 @@ function asmFunc(global, env, buffer) {
var$0$hi = var$0$hi | 0;
var$1 = var$1 | 0;
var$1$hi = var$1$hi | 0;
- var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, wasm2js_i32$0 = 0;
+ var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$0 = var$1$hi;
i64toi32_i32$0 = var$0$hi;
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$2 = __tempMemory__;
- i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0;
- i64toi32_i32$1 = (wasm2js_i32$0 = i64toi32_i32$2, HEAPU8[(wasm2js_i32$0 + 4 | 0) >> 0] | 0 | 0 | (HEAPU8[(wasm2js_i32$0 + 5 | 0) >> 0] | 0 | 0) << 8 | (HEAPU8[(wasm2js_i32$0 + 6 | 0) >> 0] | 0 | 0) << 16 | (HEAPU8[(wasm2js_i32$0 + 7 | 0) >> 0] | 0 | 0) << 24);
+ 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;
}
@@ -1810,7 +1836,7 @@ function asmFunc(global, env, buffer) {
}
const memasmFunc = new ArrayBuffer(65536);
-const retasmFunc = asmFunc({Math,Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,NaN,Infinity}, {abort:function() { throw new Error('abort'); },setTempRet0},memasmFunc);
+const retasmFunc = asmFunc({Math,Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,NaN,Infinity}, {abort:function() { throw new Error('abort'); },setTempRet0,getTempRet0},memasmFunc);
export const no_dce_i32_rem_s = retasmFunc.no_dce_i32_rem_s;
export const no_dce_i32_rem_u = retasmFunc.no_dce_i32_rem_u;
export const no_dce_i64_rem_s = retasmFunc.no_dce_i64_rem_s;
diff --git a/test/wasm2js/unaligned.2asm.js b/test/wasm2js/unaligned.2asm.js
index fceb55a3e..e5da51632 100644
--- a/test/wasm2js/unaligned.2asm.js
+++ b/test/wasm2js/unaligned.2asm.js
@@ -1,6 +1,35 @@
-import { __tempMemory__ } from 'env';
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 wasm2js_scratch_load_i32(index) {
+ return i32ScratchView[index];
+ }
+
+ function wasm2js_scratch_store_i32(index, value) {
+ i32ScratchView[index] = value;
+ }
+
+ function wasm2js_scratch_load_f64() {
+ return f64ScratchView[0];
+ }
+
+ function wasm2js_scratch_store_f64(value) {
+ f64ScratchView[0] = value;
+ }
+
+ function wasm2js_scratch_load_f32() {
+ return f32ScratchView[0];
+ }
+
+ function wasm2js_scratch_store_f32(value) {
+ f32ScratchView[0] = value;
+ }
+
function asmFunc(global, env, buffer) {
"almost asm";
var HEAP8 = new global.Int8Array(buffer);
@@ -24,7 +53,6 @@ function asmFunc(global, env, buffer) {
var nan = global.NaN;
var infinity = global.Infinity;
var setTempRet0 = env.setTempRet0;
- var __tempMemory__ = env.__tempMemory__ | 0;
var i64toi32_i32$HIGH_BITS = 0;
function $0() {
var wasm2js_i32$0 = 0;
@@ -42,20 +70,16 @@ function asmFunc(global, env, buffer) {
function $2() {
var wasm2js_i32$0 = 0;
- return Math_fround((HEAP32[0] = (wasm2js_i32$0 = 0, HEAPU8[wasm2js_i32$0 >> 0] | 0 | 0 | (HEAPU8[(wasm2js_i32$0 + 1 | 0) >> 0] | 0 | 0) << 8 | (HEAPU8[(wasm2js_i32$0 + 2 | 0) >> 0] | 0 | 0) << 16 | (HEAPU8[(wasm2js_i32$0 + 3 | 0) >> 0] | 0 | 0) << 24), HEAPF32[0]));
+ return Math_fround((wasm2js_scratch_store_i32(0, (wasm2js_i32$0 = 0, HEAPU8[wasm2js_i32$0 >> 0] | 0 | 0 | (HEAPU8[(wasm2js_i32$0 + 1 | 0) >> 0] | 0 | 0) << 8 | (HEAPU8[(wasm2js_i32$0 + 2 | 0) >> 0] | 0 | 0) << 16 | (HEAPU8[(wasm2js_i32$0 + 3 | 0) >> 0] | 0 | 0) << 24)), wasm2js_scratch_load_f32()));
}
function $3() {
- var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0;
+ var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, wasm2js_i32$0 = 0;
i64toi32_i32$2 = 0;
i64toi32_i32$1 = (wasm2js_i32$0 = i64toi32_i32$2, HEAPU8[(wasm2js_i32$0 + 4 | 0) >> 0] | 0 | 0 | (HEAPU8[(wasm2js_i32$0 + 5 | 0) >> 0] | 0 | 0) << 8 | (HEAPU8[(wasm2js_i32$0 + 6 | 0) >> 0] | 0 | 0) << 16 | (HEAPU8[(wasm2js_i32$0 + 7 | 0) >> 0] | 0 | 0) << 24);
- wasm2js_i32$0 = __tempMemory__;
- wasm2js_i32$1 = (wasm2js_i32$2 = i64toi32_i32$2, HEAPU8[wasm2js_i32$2 >> 0] | 0 | 0 | (HEAPU8[(wasm2js_i32$2 + 1 | 0) >> 0] | 0 | 0) << 8 | (HEAPU8[(wasm2js_i32$2 + 2 | 0) >> 0] | 0 | 0) << 16 | (HEAPU8[(wasm2js_i32$2 + 3 | 0) >> 0] | 0 | 0) << 24);
- HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- wasm2js_i32$0 = __tempMemory__;
- wasm2js_i32$1 = i64toi32_i32$1;
- HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1;
- return +(+HEAPF64[__tempMemory__ >> 3]);
+ wasm2js_scratch_store_i32(0 | 0, (wasm2js_i32$0 = i64toi32_i32$2, HEAPU8[wasm2js_i32$0 >> 0] | 0 | 0 | (HEAPU8[(wasm2js_i32$0 + 1 | 0) >> 0] | 0 | 0) << 8 | (HEAPU8[(wasm2js_i32$0 + 2 | 0) >> 0] | 0 | 0) << 16 | (HEAPU8[(wasm2js_i32$0 + 3 | 0) >> 0] | 0 | 0) << 24) | 0);
+ wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$1 | 0);
+ return +(+wasm2js_scratch_load_f64());
}
function $4() {
@@ -79,19 +103,17 @@ function asmFunc(global, env, buffer) {
function $6() {
var wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0;
wasm2js_i32$0 = 0;
- wasm2js_i32$1 = (HEAPF32[0] = Math_fround(0.0), HEAP32[0] | 0);
+ wasm2js_i32$1 = (wasm2js_scratch_store_f32(Math_fround(0.0)), wasm2js_scratch_load_i32(0));
(wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[wasm2js_i32$2 >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 1 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 2 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 3 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
}
function $7() {
- var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0;
- wasm2js_i32$0 = __tempMemory__;
- wasm2js_f64$0 = 0.0;
- HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0;
- i64toi32_i32$0 = HEAP32[(__tempMemory__ + 4 | 0) >> 2] | 0;
+ var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0;
+ wasm2js_scratch_store_f64(+(0.0));
+ i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
i64toi32_i32$1 = 0;
wasm2js_i32$0 = i64toi32_i32$1;
- wasm2js_i32$1 = HEAP32[__tempMemory__ >> 2] | 0;
+ wasm2js_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0;
(wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[wasm2js_i32$2 >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 1 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 2 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 3 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0;
wasm2js_i32$0 = i64toi32_i32$1;
wasm2js_i32$1 = i64toi32_i32$0;