aboutsummaryrefslogtreecommitdiff
path: root/tools/js-optimizer.js
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2013-09-06 21:56:41 -0700
committerAlon Zakai <alonzakai@gmail.com>2013-09-06 21:56:41 -0700
commit490d55b39902338cbb06b42b5f75b4a46d4f26bb (patch)
tree8dfb9b56060663c6d32a692d15113f8ba1ae865a /tools/js-optimizer.js
parentfce749a7066e51d57967889fab0600c285885b4b (diff)
properly outline the while (1) switch pattern
Diffstat (limited to 'tools/js-optimizer.js')
-rw-r--r--tools/js-optimizer.js3
1 files changed, 3 insertions, 0 deletions
diff --git a/tools/js-optimizer.js b/tools/js-optimizer.js
index 788a76ed..34fc028b 100644
--- a/tools/js-optimizer.js
+++ b/tools/js-optimizer.js
@@ -3032,6 +3032,9 @@ function outline(ast) {
}
var ignore = [];
traverse(func, function(node) {
+ if (node[0] === 'while' && node[2][0] !== 'block') {
+ node[2] = ['block', [node[2]]]; // so we have a list of statements and can flatten while(1) switch
+ }
var stats = getStatements(node);
if (stats) {
for (var i = 0; i < stats.length; i++) {