aboutsummaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rw-r--r--tools/js-optimizer.js6
-rw-r--r--tools/test-js-optimizer-asm-regs-output.js2
-rw-r--r--tools/test-js-optimizer-asm-regs.js2
3 files changed, 8 insertions, 2 deletions
diff --git a/tools/js-optimizer.js b/tools/js-optimizer.js
index 5f21d87d..7ceade86 100644
--- a/tools/js-optimizer.js
+++ b/tools/js-optimizer.js
@@ -1278,6 +1278,12 @@ function normalizeAsm(func) {
traverse(stats[i], function(node, type) {
if (type == 'var') {
unVarify(node[1], node);
+ } else if (type == 'dot') {
+ if (node[1][0] == 'name' && node[1][1] == 'Math') {
+ // transform Math.max to Math_max; we forward in the latter version
+ node[0] = 'name';
+ node[1] = 'Math_' + node[2];
+ }
}
});
i++;
diff --git a/tools/test-js-optimizer-asm-regs-output.js b/tools/test-js-optimizer-asm-regs-output.js
index 299db727..9dcb4f70 100644
--- a/tools/test-js-optimizer-asm-regs-output.js
+++ b/tools/test-js-optimizer-asm-regs-output.js
@@ -3,7 +3,7 @@ function asm(x, y) {
y = y | 0;
var i1 = 0, d2 = +0, i3 = 0, d4 = +0;
i1 = x + x | 0;
- d2 = d();
+ d2 = d(Math_max(10, Math_min(5, f())));
i3 = i1 + 2 | 0;
print(i3);
d4 = d2 * 5;
diff --git a/tools/test-js-optimizer-asm-regs.js b/tools/test-js-optimizer-asm-regs.js
index b1a2663b..2ae21f5e 100644
--- a/tools/test-js-optimizer-asm-regs.js
+++ b/tools/test-js-optimizer-asm-regs.js
@@ -4,7 +4,7 @@ function asm(x, y) {
var int1 = 0, int2 = 0; // do not mix the types!
var double1 = +0, double2 = +0;
int1 = (x+x)|0;
- double1 = d();
+ double1 = d(Math.max(10, Math_min(5, f())));
int2 = (int1+2)|0;
print(int2);
double2 = double1*5;