diff options
author | Alon Zakai <alonzakai@gmail.com> | 2011-04-25 16:01:47 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2011-04-25 16:01:47 -0700 |
commit | 8700a323173a7222025ffd8e1652a0a4157ebb90 (patch) | |
tree | 02f07521ccaca66c234179bcb38e3570a2f87a2b /src | |
parent | d78652a9b95afea436ea111d4a06af98a938c0ca (diff) |
tweak relooper, improves fannkuch
Diffstat (limited to 'src')
-rw-r--r-- | src/analyzer.js | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/src/analyzer.js b/src/analyzer.js index 06fff03c..1b438db4 100644 --- a/src/analyzer.js +++ b/src/analyzer.js @@ -834,7 +834,7 @@ function analyzer(data) { return ret; } - if (mustReturn) return makeLoop(); + if (canReturn) return makeLoop(); // === handle multiple branches from the entry with a 'multiple' === // @@ -886,12 +886,7 @@ function analyzer(data) { if (handlingNow.length == 0) { // Spaghetti - cannot even find a single label to do before the rest. What a mess. - // But if there is looping, perhaps we can use that to simplify matters? - if (canReturn) { - return makeLoop(); - } else { - throw "Spaghetti encountered in relooping."; - } + throw "Spaghetti encountered in relooping."; } // This is a 'multiple' |