aboutsummaryrefslogtreecommitdiff
path: root/tools/js-optimizer.js
diff options
context:
space:
mode:
Diffstat (limited to 'tools/js-optimizer.js')
-rw-r--r--tools/js-optimizer.js9
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];