diff options
author | Alon Zakai <alonzakai@gmail.com> | 2013-06-07 09:40:48 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2013-06-07 10:09:12 -0700 |
commit | 265dd5a4e28ebd280dafb5febca1b556abc473e8 (patch) | |
tree | 0b978ee187c9f770138d741941722132ef827336 /tools/js-optimizer.js | |
parent | bd7db31b42e5f445a0d36bc5cf79e119a4f90fdf (diff) |
handle empty loops in new loop optimizations; fixes #1270
Diffstat (limited to 'tools/js-optimizer.js')
-rw-r--r-- | tools/js-optimizer.js | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/tools/js-optimizer.js b/tools/js-optimizer.js index 67ce2b3d..2b05aeb3 100644 --- a/tools/js-optimizer.js +++ b/tools/js-optimizer.js @@ -2364,7 +2364,7 @@ function eliminate(ast, memSafe) { // try to remove loop helper variables specifically var stats = node[2][1]; var last = stats[stats.length-1]; - if (last[0] == 'if' && last[2][0] == 'block' && last[3] && last[3][0] == 'block') { + if (last && last[0] == 'if' && last[2][0] == 'block' && last[3] && last[3][0] == 'block') { var ifTrue = last[2]; var ifFalse = last[3]; var flip = false; @@ -2555,7 +2555,7 @@ function asmLoopOptimizer(ast) { // while (1) { .. if (..) { break } } ==> do { .. } while(..) var stats = node[2][1]; var last = stats[stats.length-1]; - if (last[0] == 'if' && !last[3] && last[2][0] == 'block' && last[2][1][0][0] == 'break' && !last[2][1][0][1]) { + if (last && last[0] == 'if' && !last[3] && last[2][0] == 'block' && last[2][1][0][0] == 'break' && !last[2][1][0][1]) { var conditionToBreak = last[1]; stats.pop(); node[0] = 'do'; |