diff options
author | Alon Zakai <alonzakai@gmail.com> | 2011-11-23 17:29:20 -0800 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2011-11-23 17:29:20 -0800 |
commit | 8d030228a3a428f2450d4d77651d04347a1211e9 (patch) | |
tree | d25d7b8ef0a3f00a881141bc2c517a763420239f /tools/test-js-optimizer.js | |
parent | 5092635de45a66cf6fd5bb021b9b3097fa668d41 (diff) |
remove all unneeded loop labels
Diffstat (limited to 'tools/test-js-optimizer.js')
-rw-r--r-- | tools/test-js-optimizer.js | 44 |
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"] |