summaryrefslogtreecommitdiff
path: root/test/wasm2js/labels.2asm.js
diff options
context:
space:
mode:
authorThomas Lively <tlively@google.com>2024-11-18 15:43:11 -0800
committerGitHub <noreply@github.com>2024-11-18 15:43:11 -0800
commit25b8e6a714d2217e8735a925bc751900bce09d53 (patch)
tree752e3a6f51b07bd1b02de73523c2f663257f7b40 /test/wasm2js/labels.2asm.js
parent08b7496306915dbe11030a7a4cf79207f9460d2f (diff)
downloadbinaryen-25b8e6a714d2217e8735a925bc751900bce09d53.tar.gz
binaryen-25b8e6a714d2217e8735a925bc751900bce09d53.tar.bz2
binaryen-25b8e6a714d2217e8735a925bc751900bce09d53.zip
Use hints when generating fresh labels in IRBuilder (#7086)
IRBuilder often has to generate new label names for blocks and other scopes. Previously it would generate each new name by starting with "block" or "label" and incrementing a suffix until finding a fresh name, but this made name generation quadratic in the number of names to generate. To spend less time generating names, track a hint index at which to start looking for a fresh name and increment it every time a name is generated. This speeds up a version of the binary parser that uses IRBuilder by about 15%.
Diffstat (limited to 'test/wasm2js/labels.2asm.js')
-rw-r--r--test/wasm2js/labels.2asm.js8
1 files changed, 4 insertions, 4 deletions
diff --git a/test/wasm2js/labels.2asm.js b/test/wasm2js/labels.2asm.js
index ac2978300..431e172d9 100644
--- a/test/wasm2js/labels.2asm.js
+++ b/test/wasm2js/labels.2asm.js
@@ -143,10 +143,6 @@ function asmFunc(imports) {
break label;
}
i = i + 1 | 0;
- label0 : {
- break label0;
- }
- i = i + 1 | 0;
label1 : {
break label1;
}
@@ -159,6 +155,10 @@ function asmFunc(imports) {
break label3;
}
i = i + 1 | 0;
+ label4 : {
+ break label4;
+ }
+ i = i + 1 | 0;
return i | 0;
}