aboutsummaryrefslogtreecommitdiff
path: root/src/parseTools.js
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2012-04-02 13:20:20 -0700
committerAlon Zakai <alonzakai@gmail.com>2012-04-02 13:20:20 -0700
commitd061071c37db687389e2f8aad64741d1ce9a2ad0 (patch)
tree9d075504e06bb0bbc539b96aa4b2b39251408604 /src/parseTools.js
parent1823aaf13bfbbc3cbbe6c8dc9ff153361f0bcf4a (diff)
only include i64 precise code if it will actually be used
Diffstat (limited to 'src/parseTools.js')
-rw-r--r--src/parseTools.js3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/parseTools.js b/src/parseTools.js
index 5ec3b4ed..22f38207 100644
--- a/src/parseTools.js
+++ b/src/parseTools.js
@@ -1560,6 +1560,8 @@ function isSignedOp(op, variant) {
}
var legalizedI64s = USE_TYPED_ARRAYS == 2; // We do not legalize globals, but do legalize function lines. This will be true in the latter case
+var preciseI64MathUsed = false; // Set to true if we actually use precise i64 math: If PRECISE_I64_MATH is set, and also such math is actually
+ // needed (+,-,*,/,% - we do not need it for bitops)
function processMathop(item) {
var op = item.op;
@@ -1617,6 +1619,7 @@ function processMathop(item) {
}
}
function i64PreciseOp(type, lastArg) {
+ preciseI64MathUsed = true;
return finish(['(i64Math.' + type + '(' + low1 + ',' + high1 + ',' + low2 + ',' + high2 +
(lastArg ? ',' + lastArg : '') + '),i64Math.result[0])', 'i64Math.result[1]']);
}