aboutsummaryrefslogtreecommitdiff
path: root/tools/eliminator
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2013-05-10 17:48:14 -0700
committerAlon Zakai <alonzakai@gmail.com>2013-05-10 17:48:14 -0700
commita6f1fec8fb8c6fde6f5178efa236fd2b73999c63 (patch)
treeb11d6f5574c78a3cbb1d526e1bfab2b98b83b9ea /tools/eliminator
parent32444e9c75d082c97c6ee7fbca2ca53982a54957 (diff)
do not eliminate if there is a switch
Diffstat (limited to 'tools/eliminator')
-rw-r--r--tools/eliminator/asm-eliminator-test-output.js10
-rw-r--r--tools/eliminator/asm-eliminator-test.js9
2 files changed, 14 insertions, 5 deletions
diff --git a/tools/eliminator/asm-eliminator-test-output.js b/tools/eliminator/asm-eliminator-test-output.js
index 25ab23e4..8da7a5bc 100644
--- a/tools/eliminator/asm-eliminator-test-output.js
+++ b/tools/eliminator/asm-eliminator-test-output.js
@@ -107,18 +107,22 @@ function label() {
}
}
function switchy() {
- var no = 0, yes = 0;
+ var no = 0, yes = 0, a = 0, b = 0;
while (1) switch (label | 0) {
- case x:
+ case 1:
no = 100;
break;
- case y:
+ case 2:
yes = 111;
yes = yes * 2;
print(yes);
yes--;
print(yes / 2);
continue;
+ case 3:
+ a = 5;
+ b = a;
+ break;
}
}
function confuusion() {
diff --git a/tools/eliminator/asm-eliminator-test.js b/tools/eliminator/asm-eliminator-test.js
index e068e860..5f75e9c1 100644
--- a/tools/eliminator/asm-eliminator-test.js
+++ b/tools/eliminator/asm-eliminator-test.js
@@ -143,17 +143,22 @@ function label() {
}
function switchy() {
var no = 0, yes = 0;
+ var a = 0, b = 0;
while (1) switch (label | 0) {
- case x:
+ case 1:
no = 100; // eliminatable in theory, but eliminator does not look into switch. must leave def above as well.
break;
- case y:
+ case 2:
yes = 111;
yes = yes*2;
print(yes);
yes--;
print(yes/2);
continue;
+ case 3:
+ a = 5;
+ b = a;
+ break;
}
}
function confuusion() {