diff options
author | Alon Zakai <alonzakai@gmail.com> | 2013-07-25 19:37:57 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2013-07-25 19:56:24 -0700 |
commit | 068d558edc4eec5f47e3b258c23b8da9e2d22a5e (patch) | |
tree | 19caaa716e5575eccefd83a065187906769f8694 /tools/js-optimizer.js | |
parent | 5ef6cf86f436762d7d02dee54e9c09dc19606111 (diff) |
fix bug in aggressive variable elimination and re-enable it
Diffstat (limited to 'tools/js-optimizer.js')
-rw-r--r-- | tools/js-optimizer.js | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/tools/js-optimizer.js b/tools/js-optimizer.js index cd6db6a4..2f11fcab 100644 --- a/tools/js-optimizer.js +++ b/tools/js-optimizer.js @@ -2873,6 +2873,7 @@ function outline(ast) { defs[name] = node; } else { if (name in asmData.params) { + assignments[name] = (assignments[name] || 1) + 1; // init to 1 for initial parameter assignment considered[name] = true; // this parameter is not ssa, it must be in a hand-optimized function, so it is not trivial } } @@ -3535,7 +3536,7 @@ function outline(ast) { var size = measureSize(func); if (size >= sizeToOutline) { printErr('trying to reduce the size of ' + func[1] + ' which is ' + size + ' (>= ' + sizeToOutline + ')'); - //aggressiveVariableElimination(func, asmData); // TODO: debug it, it does the wrong thing on hand-written memset + aggressiveVariableElimination(func, asmData); flatten(func, asmData); analyzeFunction(func, asmData); var stats = getStatements(func); |