aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2012-10-23 16:53:00 -0700
committerAlon Zakai <alonzakai@gmail.com>2012-10-23 16:53:00 -0700
commite0e97a0f092081764715e79dd8f2ed7c94b8c703 (patch)
tree5c79d2b57e386cc83d93ddce25c3b03d6e23d343
parent260c7477bcb0988f1bb234dafa425618de6b53f2 (diff)
optimize newline removal in eliminator
-rw-r--r--tools/eliminator.js12
1 files changed, 7 insertions, 5 deletions
diff --git a/tools/eliminator.js b/tools/eliminator.js
index 0018a44e..e6c9f808 100644
--- a/tools/eliminator.js
+++ b/tools/eliminator.js
@@ -507,11 +507,13 @@ function main() {
for (var i = 0; i < ast1.length; i++) {
var node = ast1[i];
- // Parse && recompile again, to remove unneeded lines XXX is this worth the parse time?
- var src2 = uglify.uglify.gen_code(node, GEN_OPTIONS);
- var node2 = uglify.parser.parse(src2);
-
- process.stdout.write(uglify.uglify.gen_code(node2, GEN_OPTIONS));
+ var js = uglify.uglify.gen_code(node, GEN_OPTIONS), old;
+ // remove unneeded newlines+spaces
+ do {
+ old = js;
+ js = js.replace(/\n *\n/g, '\n');
+ } while (js != old);
+ process.stdout.write(js);
process.stdout.write('\n');
}
process.stdout.write(generatedFunctionsLine + '\n');