aboutsummaryrefslogtreecommitdiff
path: root/tools/test-js-optimizer.js
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2011-11-23 17:29:20 -0800
committerAlon Zakai <alonzakai@gmail.com>2011-11-23 17:29:20 -0800
commit8d030228a3a428f2450d4d77651d04347a1211e9 (patch)
treed25d7b8ef0a3f00a881141bc2c517a763420239f /tools/test-js-optimizer.js
parent5092635de45a66cf6fd5bb021b9b3097fa668d41 (diff)
remove all unneeded loop labels
Diffstat (limited to 'tools/test-js-optimizer.js')
-rw-r--r--tools/test-js-optimizer.js44
1 files changed, 43 insertions, 1 deletions
diff --git a/tools/test-js-optimizer.js b/tools/test-js-optimizer.js
index 75679a3a..6b9bacb7 100644
--- a/tools/test-js-optimizer.js
+++ b/tools/test-js-optimizer.js
@@ -38,5 +38,47 @@ zzz = function(nada) {
function expr() {
if (!($0 < $1)) print("hi");
}
-// EMSCRIPTEN_GENERATED_FUNCTIONS: ["abc", "xyz", "xyz2", "expr"]
+function loopy() {
+ $while_body$2: while(1) {
+ $ok=1;
+ $for_cond$4: while(1) {
+ if ($ok) break $for_cond$4;
+ var $inc=$ok+1;
+ if ($inc == 9999) break $while_body$2; // this forces a label to remain on the outer loop
+ }
+ continue $while_body$2;
+ }
+ next();
+ b$while_body$2: while(1) {
+ $ok=1;
+ b$for_cond$4: while(1) {
+ if ($ok) break b$for_cond$4;
+ var $inc=$ok+1;
+ }
+ continue b$while_body$2;
+ }
+ next();
+ $once: do {
+ if (!$ok) break $once; // forces the entire one-time do to remain (but unlabelled)
+ something();
+ } while(0);
+ next();
+ b$once: do {
+ while (more()) {
+ if (!$ok) break b$once; // forces the entire one-time do to remain, with label
+ }
+ something();
+ } while(0);
+ next();
+ c$once: do {
+ something();
+ } while(0);
+}
+function ignoreLoopy() {
+ b$for_cond$4: while(1) {
+ if ($ok) break b$for_cond$4;
+ var $inc=$ok+1;
+ }
+}
+// EMSCRIPTEN_GENERATED_FUNCTIONS: ["abc", "xyz", "xyz2", "expr", "loopy"]