summaryrefslogtreecommitdiff
path: root/test/wasm2js/traps.2asm.js
diff options
context:
space:
mode:
authorAlon Zakai <azakai@google.com>2022-08-22 13:53:47 -0700
committerGitHub <noreply@github.com>2022-08-22 13:53:47 -0700
commit38c084ee386e257389d44c6200a403f74432e1af (patch)
tree8e41abd3ad903b9fcb426bf0c4be3dd66a092247 /test/wasm2js/traps.2asm.js
parentb24df4d0c4705027fdc6e261aa3f8e4f61dc5c0a (diff)
downloadbinaryen-38c084ee386e257389d44c6200a403f74432e1af.tar.gz
binaryen-38c084ee386e257389d44c6200a403f74432e1af.tar.bz2
binaryen-38c084ee386e257389d44c6200a403f74432e1af.zip
Avoid adding new unneeded names to blocks in text roundtripping (#4943)
Previously the wat parser would turn this input: (block (nop) ) into something like this: (block $block17 (nop) ) It just added a name all the time, in case the block is referred to by an index later even though it doesn't have a name. This PR makes us rountrip more precisely by not adding such names: if there was no name before, and there is no break by index, then do not add a name. In addition, this will be useful for non-nullable locals since whether a block has a name or not matters there. Like #4912, this makes us more regular in our usage of block names.
Diffstat (limited to 'test/wasm2js/traps.2asm.js')
-rw-r--r--test/wasm2js/traps.2asm.js600
1 files changed, 296 insertions, 304 deletions
diff --git a/test/wasm2js/traps.2asm.js b/test/wasm2js/traps.2asm.js
index 5ca565d0e..bf90a8b80 100644
--- a/test/wasm2js/traps.2asm.js
+++ b/test/wasm2js/traps.2asm.js
@@ -303,34 +303,32 @@ function asmFunc(env) {
}
var$2 = $37;
if (var$2) {
- block : {
- i64toi32_i32$1 = var$1$hi;
- var$3 = var$1;
- if (!var$3) {
- break label$11
- }
- i64toi32_i32$1 = var$1$hi;
- i64toi32_i32$0 = var$1;
+ i64toi32_i32$1 = var$1$hi;
+ var$3 = var$1;
+ if (!var$3) {
+ break label$11
+ }
+ i64toi32_i32$1 = var$1$hi;
+ i64toi32_i32$0 = var$1;
+ i64toi32_i32$2 = 0;
+ i64toi32_i32$3 = 32;
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
i64toi32_i32$2 = 0;
- i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
- i64toi32_i32$2 = 0;
- $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
- } else {
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 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 = $38;
- if (!var$4) {
- break label$9
- }
- var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0;
- if (var$2 >>> 0 <= 31 >>> 0) {
- break label$8
- }
- break label$2;
+ $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ } else {
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 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 = $38;
+ if (!var$4) {
+ break label$9
}
+ var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0;
+ if (var$2 >>> 0 <= 31 >>> 0) {
+ break label$8
+ }
+ break label$2;
}
i64toi32_i32$2 = var$1$hi;
i64toi32_i32$1 = var$1;
@@ -512,134 +510,132 @@ function asmFunc(env) {
var$0$hi = i64toi32_i32$2;
label$13 : {
if (var$2) {
- block3 : {
- i64toi32_i32$2 = var$1$hi;
- i64toi32_i32$1 = var$1;
- i64toi32_i32$3 = -1;
- i64toi32_i32$0 = -1;
- i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$0 | 0;
- i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0;
- if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) {
- i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0
+ i64toi32_i32$2 = var$1$hi;
+ i64toi32_i32$1 = var$1;
+ i64toi32_i32$3 = -1;
+ i64toi32_i32$0 = -1;
+ i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$0 | 0;
+ i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0;
+ if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) {
+ i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0
+ }
+ var$8 = i64toi32_i32$4;
+ var$8$hi = i64toi32_i32$5;
+ label$15 : while (1) {
+ i64toi32_i32$5 = var$5$hi;
+ i64toi32_i32$2 = var$5;
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$0 = 1;
+ i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 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;
+ $45 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
}
- var$8 = i64toi32_i32$4;
- var$8$hi = i64toi32_i32$5;
- label$15 : while (1) {
- i64toi32_i32$5 = var$5$hi;
- i64toi32_i32$2 = var$5;
- i64toi32_i32$1 = 0;
- i64toi32_i32$0 = 1;
- i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 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;
- $45 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
- }
- $140 = $45;
- $140$hi = i64toi32_i32$1;
- i64toi32_i32$1 = var$0$hi;
- i64toi32_i32$5 = var$0;
- i64toi32_i32$2 = 0;
- i64toi32_i32$0 = 63;
- i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
- i64toi32_i32$2 = 0;
- $46 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
- } else {
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 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;
- }
- $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;
- $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;
- i64toi32_i32$2 = var$8;
- i64toi32_i32$1 = var$5$hi;
- i64toi32_i32$0 = var$5;
- i64toi32_i32$3 = i64toi32_i32$2 - i64toi32_i32$0 | 0;
- i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0;
- i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$1 | 0;
- i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0;
- i64toi32_i32$5 = i64toi32_i32$3;
- i64toi32_i32$2 = 0;
- i64toi32_i32$0 = 63;
- i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
- i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0;
- $47 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
- } else {
- i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 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 = $47;
- var$6$hi = i64toi32_i32$2;
- i64toi32_i32$2 = var$1$hi;
- i64toi32_i32$2 = var$6$hi;
- i64toi32_i32$4 = var$6;
- i64toi32_i32$5 = var$1$hi;
- i64toi32_i32$0 = var$1;
- i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0;
- $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;
- i64toi32_i32$3 = i64toi32_i32$5 - i64toi32_i32$3 | 0;
- var$5 = i64toi32_i32$1;
- var$5$hi = i64toi32_i32$3;
- i64toi32_i32$3 = var$0$hi;
- i64toi32_i32$5 = var$0;
+ $140 = $45;
+ $140$hi = i64toi32_i32$1;
+ i64toi32_i32$1 = var$0$hi;
+ i64toi32_i32$5 = var$0;
+ i64toi32_i32$2 = 0;
+ i64toi32_i32$0 = 63;
+ i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
i64toi32_i32$2 = 0;
- i64toi32_i32$0 = 1;
- i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
- i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 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;
- $48 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
- }
- $154$hi = i64toi32_i32$2;
- i64toi32_i32$2 = var$7$hi;
- 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;
- var$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0;
- var$0$hi = i64toi32_i32$5;
- i64toi32_i32$5 = var$6$hi;
- i64toi32_i32$2 = var$6;
- i64toi32_i32$3 = 0;
- i64toi32_i32$0 = 1;
- i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3 | 0;
- var$6 = i64toi32_i32$2 & i64toi32_i32$0 | 0;
- var$6$hi = i64toi32_i32$3;
- var$7 = var$6;
- var$7$hi = i64toi32_i32$3;
- var$2 = var$2 + -1 | 0;
- if (var$2) {
- continue label$15
- }
- break label$15;
- };
- break label$13;
- }
+ $46 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
+ } else {
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 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;
+ }
+ $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;
+ $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;
+ i64toi32_i32$2 = var$8;
+ i64toi32_i32$1 = var$5$hi;
+ i64toi32_i32$0 = var$5;
+ i64toi32_i32$3 = i64toi32_i32$2 - i64toi32_i32$0 | 0;
+ i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0;
+ i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$1 | 0;
+ i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0;
+ i64toi32_i32$5 = i64toi32_i32$3;
+ i64toi32_i32$2 = 0;
+ i64toi32_i32$0 = 63;
+ i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
+ i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0;
+ $47 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
+ } else {
+ i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 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 = $47;
+ var$6$hi = i64toi32_i32$2;
+ i64toi32_i32$2 = var$1$hi;
+ i64toi32_i32$2 = var$6$hi;
+ i64toi32_i32$4 = var$6;
+ i64toi32_i32$5 = var$1$hi;
+ i64toi32_i32$0 = var$1;
+ i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0;
+ $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;
+ i64toi32_i32$3 = i64toi32_i32$5 - i64toi32_i32$3 | 0;
+ var$5 = i64toi32_i32$1;
+ var$5$hi = i64toi32_i32$3;
+ i64toi32_i32$3 = var$0$hi;
+ i64toi32_i32$5 = var$0;
+ i64toi32_i32$2 = 0;
+ i64toi32_i32$0 = 1;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
+ i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 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;
+ $48 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
+ }
+ $154$hi = i64toi32_i32$2;
+ i64toi32_i32$2 = var$7$hi;
+ 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;
+ var$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0;
+ var$0$hi = i64toi32_i32$5;
+ i64toi32_i32$5 = var$6$hi;
+ i64toi32_i32$2 = var$6;
+ i64toi32_i32$3 = 0;
+ i64toi32_i32$0 = 1;
+ i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3 | 0;
+ var$6 = i64toi32_i32$2 & i64toi32_i32$0 | 0;
+ var$6$hi = i64toi32_i32$3;
+ var$7 = var$6;
+ var$7$hi = i64toi32_i32$3;
+ var$2 = var$2 + -1 | 0;
+ if (var$2) {
+ continue label$15
+ }
+ break label$15;
+ };
+ break label$13;
}
}
i64toi32_i32$3 = var$5$hi;
@@ -1020,34 +1016,32 @@ function asmFunc(env) {
}
var$2 = $37;
if (var$2) {
- block : {
- i64toi32_i32$1 = var$1$hi;
- var$3 = var$1;
- if (!var$3) {
- break label$11
- }
- i64toi32_i32$1 = var$1$hi;
- i64toi32_i32$0 = var$1;
+ i64toi32_i32$1 = var$1$hi;
+ var$3 = var$1;
+ if (!var$3) {
+ break label$11
+ }
+ i64toi32_i32$1 = var$1$hi;
+ i64toi32_i32$0 = var$1;
+ i64toi32_i32$2 = 0;
+ i64toi32_i32$3 = 32;
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
i64toi32_i32$2 = 0;
- i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
- i64toi32_i32$2 = 0;
- $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
- } else {
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 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 = $38;
- if (!var$4) {
- break label$9
- }
- var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0;
- if (var$2 >>> 0 <= 31 >>> 0) {
- break label$8
- }
- break label$2;
+ $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ } else {
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 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 = $38;
+ if (!var$4) {
+ break label$9
}
+ var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0;
+ if (var$2 >>> 0 <= 31 >>> 0) {
+ break label$8
+ }
+ break label$2;
}
i64toi32_i32$2 = var$1$hi;
i64toi32_i32$1 = var$1;
@@ -1229,134 +1223,132 @@ function asmFunc(env) {
var$0$hi = i64toi32_i32$2;
label$13 : {
if (var$2) {
- block3 : {
- i64toi32_i32$2 = var$1$hi;
- i64toi32_i32$1 = var$1;
- i64toi32_i32$3 = -1;
- i64toi32_i32$0 = -1;
- i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$0 | 0;
- i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0;
- if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) {
- i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0
+ i64toi32_i32$2 = var$1$hi;
+ i64toi32_i32$1 = var$1;
+ i64toi32_i32$3 = -1;
+ i64toi32_i32$0 = -1;
+ i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$0 | 0;
+ i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0;
+ if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) {
+ i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0
+ }
+ var$8 = i64toi32_i32$4;
+ var$8$hi = i64toi32_i32$5;
+ label$15 : while (1) {
+ i64toi32_i32$5 = var$5$hi;
+ i64toi32_i32$2 = var$5;
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$0 = 1;
+ i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 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;
+ $45 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
}
- var$8 = i64toi32_i32$4;
- var$8$hi = i64toi32_i32$5;
- label$15 : while (1) {
- i64toi32_i32$5 = var$5$hi;
- i64toi32_i32$2 = var$5;
- i64toi32_i32$1 = 0;
- i64toi32_i32$0 = 1;
- i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 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;
- $45 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
- }
- $140 = $45;
- $140$hi = i64toi32_i32$1;
- i64toi32_i32$1 = var$0$hi;
- i64toi32_i32$5 = var$0;
- i64toi32_i32$2 = 0;
- i64toi32_i32$0 = 63;
- i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
- i64toi32_i32$2 = 0;
- $46 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
- } else {
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 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;
- }
- $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;
- $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;
- i64toi32_i32$2 = var$8;
- i64toi32_i32$1 = var$5$hi;
- i64toi32_i32$0 = var$5;
- i64toi32_i32$3 = i64toi32_i32$2 - i64toi32_i32$0 | 0;
- i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0;
- i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$1 | 0;
- i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0;
- i64toi32_i32$5 = i64toi32_i32$3;
- i64toi32_i32$2 = 0;
- i64toi32_i32$0 = 63;
- i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
- i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0;
- $47 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
- } else {
- i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 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 = $47;
- var$6$hi = i64toi32_i32$2;
- i64toi32_i32$2 = var$1$hi;
- i64toi32_i32$2 = var$6$hi;
- i64toi32_i32$4 = var$6;
- i64toi32_i32$5 = var$1$hi;
- i64toi32_i32$0 = var$1;
- i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0;
- $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;
- i64toi32_i32$3 = i64toi32_i32$5 - i64toi32_i32$3 | 0;
- var$5 = i64toi32_i32$1;
- var$5$hi = i64toi32_i32$3;
- i64toi32_i32$3 = var$0$hi;
- i64toi32_i32$5 = var$0;
+ $140 = $45;
+ $140$hi = i64toi32_i32$1;
+ i64toi32_i32$1 = var$0$hi;
+ i64toi32_i32$5 = var$0;
+ i64toi32_i32$2 = 0;
+ i64toi32_i32$0 = 63;
+ i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
i64toi32_i32$2 = 0;
- i64toi32_i32$0 = 1;
- i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
- i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 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;
- $48 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
- }
- $154$hi = i64toi32_i32$2;
- i64toi32_i32$2 = var$7$hi;
- 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;
- var$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0;
- var$0$hi = i64toi32_i32$5;
- i64toi32_i32$5 = var$6$hi;
- i64toi32_i32$2 = var$6;
- i64toi32_i32$3 = 0;
- i64toi32_i32$0 = 1;
- i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3 | 0;
- var$6 = i64toi32_i32$2 & i64toi32_i32$0 | 0;
- var$6$hi = i64toi32_i32$3;
- var$7 = var$6;
- var$7$hi = i64toi32_i32$3;
- var$2 = var$2 + -1 | 0;
- if (var$2) {
- continue label$15
- }
- break label$15;
- };
- break label$13;
- }
+ $46 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
+ } else {
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 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;
+ }
+ $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;
+ $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;
+ i64toi32_i32$2 = var$8;
+ i64toi32_i32$1 = var$5$hi;
+ i64toi32_i32$0 = var$5;
+ i64toi32_i32$3 = i64toi32_i32$2 - i64toi32_i32$0 | 0;
+ i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0;
+ i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$1 | 0;
+ i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0;
+ i64toi32_i32$5 = i64toi32_i32$3;
+ i64toi32_i32$2 = 0;
+ i64toi32_i32$0 = 63;
+ i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
+ i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0;
+ $47 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
+ } else {
+ i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 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 = $47;
+ var$6$hi = i64toi32_i32$2;
+ i64toi32_i32$2 = var$1$hi;
+ i64toi32_i32$2 = var$6$hi;
+ i64toi32_i32$4 = var$6;
+ i64toi32_i32$5 = var$1$hi;
+ i64toi32_i32$0 = var$1;
+ i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0;
+ $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;
+ i64toi32_i32$3 = i64toi32_i32$5 - i64toi32_i32$3 | 0;
+ var$5 = i64toi32_i32$1;
+ var$5$hi = i64toi32_i32$3;
+ i64toi32_i32$3 = var$0$hi;
+ i64toi32_i32$5 = var$0;
+ i64toi32_i32$2 = 0;
+ i64toi32_i32$0 = 1;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
+ i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 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;
+ $48 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
+ }
+ $154$hi = i64toi32_i32$2;
+ i64toi32_i32$2 = var$7$hi;
+ 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;
+ var$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0;
+ var$0$hi = i64toi32_i32$5;
+ i64toi32_i32$5 = var$6$hi;
+ i64toi32_i32$2 = var$6;
+ i64toi32_i32$3 = 0;
+ i64toi32_i32$0 = 1;
+ i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3 | 0;
+ var$6 = i64toi32_i32$2 & i64toi32_i32$0 | 0;
+ var$6$hi = i64toi32_i32$3;
+ var$7 = var$6;
+ var$7$hi = i64toi32_i32$3;
+ var$2 = var$2 + -1 | 0;
+ if (var$2) {
+ continue label$15
+ }
+ break label$15;
+ };
+ break label$13;
}
}
i64toi32_i32$3 = var$5$hi;