diff options
Diffstat (limited to 'tools/js-optimizer.js')
-rw-r--r-- | tools/js-optimizer.js | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/tools/js-optimizer.js b/tools/js-optimizer.js index 432c6208..aa5a3afc 100644 --- a/tools/js-optimizer.js +++ b/tools/js-optimizer.js @@ -2438,7 +2438,10 @@ function eliminate(ast, memSafe) { } traverseInOrder(node); } + //var eliminationLimit = 0; // used to debugging purposes function doEliminate(name, node) { + //if (eliminationLimit == 0) return; + //eliminationLimit--; //printErr('elim!!!!! ' + name); // yes, eliminate! varsToRemove[name] = 2; // both assign and var definitions can have other vars we must clean up @@ -2587,7 +2590,13 @@ function eliminate(ast, memSafe) { } if (looperUsed) return; } + for (var l = 0; l < helpers.length; l++) { + for (var k = 0; k < helpers.length; k++) { + if (l != k && helpers[l] == helpers[k]) return; // it is complicated to handle a shared helper, abort + } + } // hurrah! this is safe to do + //printErr("ELIM LOOP VAR " + JSON.stringify(loopers) + ' :: ' + JSON.stringify(helpers)); for (var l = 0; l < loopers.length; l++) { var looper = loopers[l]; var helper = helpers[l]; |