summaryrefslogtreecommitdiff
path: root/test/wasm2js/stack-modified.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/stack-modified.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/stack-modified.2asm.js')
-rw-r--r--test/wasm2js/stack-modified.2asm.js136
1 files changed, 64 insertions, 72 deletions
diff --git a/test/wasm2js/stack-modified.2asm.js b/test/wasm2js/stack-modified.2asm.js
index 3b5ed595a..26b8bc26b 100644
--- a/test/wasm2js/stack-modified.2asm.js
+++ b/test/wasm2js/stack-modified.2asm.js
@@ -82,24 +82,22 @@ function asmFunc(env) {
if ((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) {
break label$1
} else {
- block : {
- i64toi32_i32$2 = var$1$hi;
- i64toi32_i32$2 = var$2$hi;
- i64toi32_i32$2 = var$1$hi;
- i64toi32_i32$0 = var$2$hi;
- i64toi32_i32$0 = __wasm_i64_mul(var$1 | 0, i64toi32_i32$2 | 0, var$2 | 0, i64toi32_i32$0 | 0) | 0;
- i64toi32_i32$2 = i64toi32_i32$HIGH_BITS;
- var$2 = i64toi32_i32$0;
- var$2$hi = i64toi32_i32$2;
- i64toi32_i32$2 = var$1$hi;
- i64toi32_i32$3 = var$1;
- i64toi32_i32$0 = 0;
- i64toi32_i32$1 = 1;
- i64toi32_i32$5 = (i64toi32_i32$3 >>> 0 < i64toi32_i32$1 >>> 0) + i64toi32_i32$0 | 0;
- i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$5 | 0;
- var$1 = i64toi32_i32$3 - i64toi32_i32$1 | 0;
- var$1$hi = i64toi32_i32$5;
- }
+ i64toi32_i32$2 = var$1$hi;
+ i64toi32_i32$2 = var$2$hi;
+ i64toi32_i32$2 = var$1$hi;
+ i64toi32_i32$0 = var$2$hi;
+ i64toi32_i32$0 = __wasm_i64_mul(var$1 | 0, i64toi32_i32$2 | 0, var$2 | 0, i64toi32_i32$0 | 0) | 0;
+ i64toi32_i32$2 = i64toi32_i32$HIGH_BITS;
+ var$2 = i64toi32_i32$0;
+ var$2$hi = i64toi32_i32$2;
+ i64toi32_i32$2 = var$1$hi;
+ i64toi32_i32$3 = var$1;
+ i64toi32_i32$0 = 0;
+ i64toi32_i32$1 = 1;
+ i64toi32_i32$5 = (i64toi32_i32$3 >>> 0 < i64toi32_i32$1 >>> 0) + i64toi32_i32$0 | 0;
+ i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$5 | 0;
+ var$1 = i64toi32_i32$3 - i64toi32_i32$1 | 0;
+ var$1$hi = i64toi32_i32$5;
}
continue label$2;
};
@@ -129,24 +127,22 @@ function asmFunc(env) {
if ((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) {
break label$1
} else {
- block : {
- i64toi32_i32$2 = var$1$hi;
- i64toi32_i32$2 = var$2$hi;
- i64toi32_i32$2 = var$1$hi;
- i64toi32_i32$0 = var$2$hi;
- i64toi32_i32$0 = __wasm_i64_mul(var$1 | 0, i64toi32_i32$2 | 0, var$2 | 0, i64toi32_i32$0 | 0) | 0;
- i64toi32_i32$2 = i64toi32_i32$HIGH_BITS;
- var$2 = i64toi32_i32$0;
- var$2$hi = i64toi32_i32$2;
- i64toi32_i32$2 = var$1$hi;
- i64toi32_i32$3 = var$1;
- i64toi32_i32$0 = 0;
- i64toi32_i32$1 = 1;
- i64toi32_i32$5 = (i64toi32_i32$3 >>> 0 < i64toi32_i32$1 >>> 0) + i64toi32_i32$0 | 0;
- i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$5 | 0;
- var$1 = i64toi32_i32$3 - i64toi32_i32$1 | 0;
- var$1$hi = i64toi32_i32$5;
- }
+ i64toi32_i32$2 = var$1$hi;
+ i64toi32_i32$2 = var$2$hi;
+ i64toi32_i32$2 = var$1$hi;
+ i64toi32_i32$0 = var$2$hi;
+ i64toi32_i32$0 = __wasm_i64_mul(var$1 | 0, i64toi32_i32$2 | 0, var$2 | 0, i64toi32_i32$0 | 0) | 0;
+ i64toi32_i32$2 = i64toi32_i32$HIGH_BITS;
+ var$2 = i64toi32_i32$0;
+ var$2$hi = i64toi32_i32$2;
+ i64toi32_i32$2 = var$1$hi;
+ i64toi32_i32$3 = var$1;
+ i64toi32_i32$0 = 0;
+ i64toi32_i32$1 = 1;
+ i64toi32_i32$5 = (i64toi32_i32$3 >>> 0 < i64toi32_i32$1 >>> 0) + i64toi32_i32$0 | 0;
+ i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$5 | 0;
+ var$1 = i64toi32_i32$3 - i64toi32_i32$1 | 0;
+ var$1$hi = i64toi32_i32$5;
}
continue label$2;
};
@@ -176,24 +172,22 @@ function asmFunc(env) {
if ((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) {
break label$1
} else {
- block : {
- i64toi32_i32$2 = var$1$hi;
- i64toi32_i32$2 = var$2$hi;
- i64toi32_i32$2 = var$1$hi;
- i64toi32_i32$0 = var$2$hi;
- i64toi32_i32$0 = __wasm_i64_mul(var$1 | 0, i64toi32_i32$2 | 0, var$2 | 0, i64toi32_i32$0 | 0) | 0;
- i64toi32_i32$2 = i64toi32_i32$HIGH_BITS;
- var$2 = i64toi32_i32$0;
- var$2$hi = i64toi32_i32$2;
- i64toi32_i32$2 = var$1$hi;
- i64toi32_i32$3 = var$1;
- i64toi32_i32$0 = 0;
- i64toi32_i32$1 = 1;
- i64toi32_i32$5 = (i64toi32_i32$3 >>> 0 < i64toi32_i32$1 >>> 0) + i64toi32_i32$0 | 0;
- i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$5 | 0;
- var$1 = i64toi32_i32$3 - i64toi32_i32$1 | 0;
- var$1$hi = i64toi32_i32$5;
- }
+ i64toi32_i32$2 = var$1$hi;
+ i64toi32_i32$2 = var$2$hi;
+ i64toi32_i32$2 = var$1$hi;
+ i64toi32_i32$0 = var$2$hi;
+ i64toi32_i32$0 = __wasm_i64_mul(var$1 | 0, i64toi32_i32$2 | 0, var$2 | 0, i64toi32_i32$0 | 0) | 0;
+ i64toi32_i32$2 = i64toi32_i32$HIGH_BITS;
+ var$2 = i64toi32_i32$0;
+ var$2$hi = i64toi32_i32$2;
+ i64toi32_i32$2 = var$1$hi;
+ i64toi32_i32$3 = var$1;
+ i64toi32_i32$0 = 0;
+ i64toi32_i32$1 = 1;
+ i64toi32_i32$5 = (i64toi32_i32$3 >>> 0 < i64toi32_i32$1 >>> 0) + i64toi32_i32$0 | 0;
+ i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$5 | 0;
+ var$1 = i64toi32_i32$3 - i64toi32_i32$1 | 0;
+ var$1$hi = i64toi32_i32$5;
}
continue label$2;
};
@@ -223,24 +217,22 @@ function asmFunc(env) {
if ((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) {
break label$1
} else {
- block : {
- i64toi32_i32$2 = var$1$hi;
- i64toi32_i32$2 = var$2$hi;
- i64toi32_i32$2 = var$1$hi;
- i64toi32_i32$0 = var$2$hi;
- i64toi32_i32$0 = __wasm_i64_mul(var$1 | 0, i64toi32_i32$2 | 0, var$2 | 0, i64toi32_i32$0 | 0) | 0;
- i64toi32_i32$2 = i64toi32_i32$HIGH_BITS;
- var$2 = i64toi32_i32$0;
- var$2$hi = i64toi32_i32$2;
- i64toi32_i32$2 = var$1$hi;
- i64toi32_i32$3 = var$1;
- i64toi32_i32$0 = 0;
- i64toi32_i32$1 = 1;
- i64toi32_i32$5 = (i64toi32_i32$3 >>> 0 < i64toi32_i32$1 >>> 0) + i64toi32_i32$0 | 0;
- i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$5 | 0;
- var$1 = i64toi32_i32$3 - i64toi32_i32$1 | 0;
- var$1$hi = i64toi32_i32$5;
- }
+ i64toi32_i32$2 = var$1$hi;
+ i64toi32_i32$2 = var$2$hi;
+ i64toi32_i32$2 = var$1$hi;
+ i64toi32_i32$0 = var$2$hi;
+ i64toi32_i32$0 = __wasm_i64_mul(var$1 | 0, i64toi32_i32$2 | 0, var$2 | 0, i64toi32_i32$0 | 0) | 0;
+ i64toi32_i32$2 = i64toi32_i32$HIGH_BITS;
+ var$2 = i64toi32_i32$0;
+ var$2$hi = i64toi32_i32$2;
+ i64toi32_i32$2 = var$1$hi;
+ i64toi32_i32$3 = var$1;
+ i64toi32_i32$0 = 0;
+ i64toi32_i32$1 = 1;
+ i64toi32_i32$5 = (i64toi32_i32$3 >>> 0 < i64toi32_i32$1 >>> 0) + i64toi32_i32$0 | 0;
+ i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$5 | 0;
+ var$1 = i64toi32_i32$3 - i64toi32_i32$1 | 0;
+ var$1$hi = i64toi32_i32$5;
}
continue label$2;
};