aboutsummaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2012-07-04 12:50:37 -0700
committerAlon Zakai <alonzakai@gmail.com>2012-07-04 12:50:37 -0700
commit1efbaae03148633014f6d62ed2b3132c5ec5d6c0 (patch)
treeff2ab024afc0249d077db6e3b10db9269895a42a /tools
parent6335ad37c27d21780e3b4c25698db1282415a4d0 (diff)
pass the eliminator the filename to avoid OS-specific issues with reading from stdin using node
Diffstat (limited to 'tools')
-rw-r--r--tools/eliminator/eliminator.coffee18
-rw-r--r--tools/js-optimizer.js2
-rw-r--r--tools/shared.py2
3 files changed, 8 insertions, 14 deletions
diff --git a/tools/eliminator/eliminator.coffee b/tools/eliminator/eliminator.coffee
index f83b4a52..05e3788b 100644
--- a/tools/eliminator/eliminator.coffee
+++ b/tools/eliminator/eliminator.coffee
@@ -383,14 +383,8 @@ class ExpressionOptimizer
# function, then writes the optimized result to stdout.
main = ->
# Get the parse tree.
- if os.platform().substr(0, 3) != 'win'
- src = fs.readFileSync('/dev/stdin').toString()
- else
- # The following seems to work on windows, but fails on linux..
- src = ''
- size = fs.fstatSync(process.stdin.fd).size
- if size > 0
- src = fs.readSync(process.stdin.fd, size)[0]
+ #process.stderr.write(JSON.stringify(process.argv[2]) + '\n')
+ src = fs.readFileSync(process.argv[2]).toString()
throw 'Cannot identify generated functions' if GENERATED_FUNCTIONS_MARKER in src
generatedFunctionsLine = src.split('\n').filter (line) ->
@@ -399,22 +393,22 @@ main = ->
ast = uglify.parser.parse src
- #process.stderr.write(JSON.stringify(ast) + '\n')
+ ##process.stderr.write(JSON.stringify(ast) + '\n')
# Run on all functions.
traverse ast, (node, type) ->
if type in ['defun', 'function'] and isGenerated node[1]
# Run the eliminator
- process.stderr.write (node[1] || '(anonymous)') + '\n'
+ #process.stderr.write (node[1] || '(anonymous)') + '\n'
eliminated = new Eliminator(node).run()
if eliminated?
- process.stderr.write " Eliminated #{eliminated} vars.\n"
+ #process.stderr.write " Eliminated #{eliminated} vars.\n"
# Run the expression optimizer
new ExpressionOptimizer(node[3]).run()
else
- process.stderr.write ' Skipped.\n'
+ #process.stderr.write ' Skipped.\n'
return undefined
diff --git a/tools/js-optimizer.js b/tools/js-optimizer.js
index 2f6b2ff3..29887e62 100644
--- a/tools/js-optimizer.js
+++ b/tools/js-optimizer.js
@@ -1312,7 +1312,7 @@ function registerize(ast) {
}
getStatements(fun).unshift(['var', vars]);
}
- printErr(fun[1] + ': saved ' + saved + ' / ' + (saved + nextReg - 1) + ' vars through registerization'); // not totally accurate
+ //printErr(fun[1] + ': saved ' + saved + ' / ' + (saved + nextReg - 1) + ' vars through registerization'); // not totally accurate
});
}
diff --git a/tools/shared.py b/tools/shared.py
index e0ed3707..0d99a22d 100644
--- a/tools/shared.py
+++ b/tools/shared.py
@@ -850,7 +850,7 @@ set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)''' % { 'winfix': '' if not WINDOWS e
coffee = path_from_root('tools', 'eliminator', 'node_modules', 'coffee-script', 'bin', 'coffee')
eliminator = path_from_root('tools', 'eliminator', 'eliminator.coffee')
input = open(filename, 'r').read()
- output = Popen([NODE_JS, coffee, eliminator], stdin=PIPE, stdout=PIPE).communicate(input)[0]
+ output = Popen([NODE_JS, coffee, eliminator, filename], stdout=PIPE).communicate()[0]
assert len(output) > 0, 'Error in eliminator: ' + output
filename += '.el.js'
f = open(filename, 'w')