aboutsummaryrefslogtreecommitdiff
path: root/tools/eliminator/asm-eliminator-test.js
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2013-04-17 11:06:49 -0700
committerAlon Zakai <alonzakai@gmail.com>2013-04-17 11:06:49 -0700
commitd66573c7e8becabf5acfb72cd3e65fedf1b56b3b (patch)
tree21732ba9d80a26032b00ff9ab16cce931736b462 /tools/eliminator/asm-eliminator-test.js
parent985765d9a5b2dcca05bc5f8401e3d2423964d0f2 (diff)
remove eliminated variable definitions only if variable was successfully removed (it might not be if it is in a switch) in asm
Diffstat (limited to 'tools/eliminator/asm-eliminator-test.js')
-rw-r--r--tools/eliminator/asm-eliminator-test.js15
1 files changed, 15 insertions, 0 deletions
diff --git a/tools/eliminator/asm-eliminator-test.js b/tools/eliminator/asm-eliminator-test.js
index d2c0507c..acc07edb 100644
--- a/tools/eliminator/asm-eliminator-test.js
+++ b/tools/eliminator/asm-eliminator-test.js
@@ -141,5 +141,20 @@ function label() {
i();
}
}
+function switchy() {
+ var no = 0, yes = 0;
+ while (1) switch (label | 0) {
+ case x:
+ no = 100; // eliminatable in theory, but eliminator does not look into switch. must leave def above as well.
+ break;
+ case y:
+ yes = 111;
+ yes = yes*2;
+ print(yes);
+ yes--;
+ print(yes/2);
+ continue;
+ }
+}
// EMSCRIPTEN_GENERATED_FUNCTIONS: ["asm", "__Z11printResultPiS_j", "_segment_holding", "__ZN5identC2EiPKcPci", "_vec2Length", "exc", "label"]