aboutsummaryrefslogtreecommitdiff
path: root/tools/test-js-optimizer-asm-last-output.js
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2013-06-30 12:49:32 -0700
committerAlon Zakai <alonzakai@gmail.com>2013-06-30 12:49:32 -0700
commit547b13cf5bbf81ca8946d19e8e45b9c2a870a235 (patch)
treefdd1eb61940e562c46d0d5453c49995f5f32bce2 /tools/test-js-optimizer-asm-last-output.js
parent6e3a916b14d0e101efc2e7880949c81fbfe144c0 (diff)
do not optimize while into do-while if there are continues; fixes #1337
Diffstat (limited to 'tools/test-js-optimizer-asm-last-output.js')
-rw-r--r--tools/test-js-optimizer-asm-last-output.js28
1 files changed, 28 insertions, 0 deletions
diff --git a/tools/test-js-optimizer-asm-last-output.js b/tools/test-js-optimizer-asm-last-output.js
index cbc0a4d3..0f95d544 100644
--- a/tools/test-js-optimizer-asm-last-output.js
+++ b/tools/test-js-optimizer-asm-last-output.js
@@ -42,5 +42,33 @@ function looop() {
do {
do_it();
} while (x());
+ while (1) {
+ do_it();
+ if (a()) continue;
+ if (!x()) {
+ break;
+ }
+ }
+ do {
+ do_it();
+ do {
+ if (a()) continue;
+ } while (b());
+ } while (x());
+ do {
+ do_it();
+ while (b()) {
+ if (a()) continue;
+ }
+ } while (x());
+ X : while (1) {
+ do_it();
+ while (b()) {
+ if (a()) continue X;
+ }
+ if (!x()) {
+ break;
+ }
+ }
}