aboutsummaryrefslogtreecommitdiff
path: root/tools/js-optimizer.js
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2013-01-12 14:34:39 -0800
committerAlon Zakai <alonzakai@gmail.com>2013-01-12 14:34:39 -0800
commitb40b122720de90d52948870e6a7bf9c4f851cca1 (patch)
treec38d8b5dd2e195f10bb0350b8e49ef4a35936167 /tools/js-optimizer.js
parent49e12f1a7b90b94868c36fbdc433b410b33bc4c8 (diff)
emit 0.0 in asm double definitions
Diffstat (limited to 'tools/js-optimizer.js')
-rw-r--r--tools/js-optimizer.js8
1 files changed, 6 insertions, 2 deletions
diff --git a/tools/js-optimizer.js b/tools/js-optimizer.js
index 5358a21f..8db40bc6 100644
--- a/tools/js-optimizer.js
+++ b/tools/js-optimizer.js
@@ -2136,7 +2136,7 @@ function eliminateMemSafe(ast) {
// Passes table
-var compress = false, printMetadata = true, asm = false;
+var compress = false, printMetadata = true, asm = false, last = false;
var passes = {
dumpAst: dumpAst,
@@ -2155,7 +2155,8 @@ var passes = {
eliminateMemSafe: eliminateMemSafe,
compress: function() { compress = true },
noPrintMetadata: function() { printMetadata = false },
- asm: function() { asm = true }
+ asm: function() { asm = true },
+ last: function() { last = true }
};
// Main
@@ -2176,6 +2177,9 @@ var js = astToSrc(ast, compress), old;
do {
old = js;
js = js.replace(/\n *\n/g, '\n');
+ if (asm && last) {
+ js = js.replace(/ = \+0([,;])/g, function(m, end) { return ' = 0.0' + end }); // asm requires 0.0 in var definitions, not +0
+ }
} while (js != old);
print(js);
print('\n');