aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2013-02-28 16:47:35 -0500
committerAlon Zakai <alonzakai@gmail.com>2013-02-28 16:47:35 -0500
commitcfcf2febb094a3befd65fc24f26da385c4d03090 (patch)
tree0a875408e2ad5f1420f886b54ee91cb2142b0b2f /src
parent7213118b8b4e5ed4bc4d005d093231316bd1cb29 (diff)
do not emit floats from getFastValue divisions, can break asm
Diffstat (limited to 'src')
-rw-r--r--src/parseTools.js4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/parseTools.js b/src/parseTools.js
index f139cc3f..78c9e31c 100644
--- a/src/parseTools.js
+++ b/src/parseTools.js
@@ -1375,7 +1375,9 @@ function getFastValue(a, op, b, type) {
if (op == 'pow') {
return Math.pow(a, b).toString();
} else {
- return eval(a + op + '(' + b + ')').toString(); // parens protect us from "5 - -12" being seen as "5--12" which is "(5--)12"
+ var value = eval(a + op + '(' + b + ')'); // parens protect us from "5 - -12" being seen as "5--12" which is "(5--)12"
+ if (op == '/' && type in Runtime.INT_TYPES) value = value|0; // avoid emitting floats
+ return value.toString();
}
}
if (op == 'pow') {