diff options
Diffstat (limited to 'test/wasm2js/traps.2asm.js')
-rw-r--r-- | test/wasm2js/traps.2asm.js | 496 |
1 files changed, 261 insertions, 235 deletions
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; |