aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2012-12-12 17:10:10 -0800
committerAlon Zakai <alonzakai@gmail.com>2012-12-12 17:10:10 -0800
commit98b39f32fcfacba2dc464a31905f6bfd32ae0017 (patch)
tree6e7d938a262a52a3527a85196fb1e0c1535d4070
parentbc4145eb204c7eba03963b9a54d45b890ae730dc (diff)
do not remove |0 through % as it is affected by signs, and |0 can change signedness
-rw-r--r--tools/js-optimizer.js2
1 files changed, 1 insertions, 1 deletions
diff --git a/tools/js-optimizer.js b/tools/js-optimizer.js
index 518e451a..e6b945a2 100644
--- a/tools/js-optimizer.js
+++ b/tools/js-optimizer.js
@@ -413,7 +413,7 @@ function simplifyExpressionsPre(ast) {
function simplifyBitops(ast) {
var USEFUL_BINARY_OPS = set('<<', '>>', '|', '&', '^');
- var SAFE_BINARY_OPS = set('+', '-', '*', '%'); // division is unsafe as it creates non-ints in JS
+ var SAFE_BINARY_OPS = set('+', '-', '*'); // division is unsafe as it creates non-ints in JS; mod is unsafe as signs matter so we can't remove |0's
var ZERO = ['num', 0];
var rerun = true;
while (rerun) {