aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2012-01-24 16:21:59 -0800
committerAlon Zakai <alonzakai@gmail.com>2012-01-24 16:21:59 -0800
commitbacb70a2ec81b64ecf7bb2e838a3d3423746deea (patch)
tree51a62d1e4d9c5e2ffe1d1aa7a84e49f01231cb62
parentd99e50804a47130a7732ae569427abdc21de1859 (diff)
do not check for corrections in makeSignOp if we are ignoring corrections
-rw-r--r--src/parseTools.js4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/parseTools.js b/src/parseTools.js
index c3913298..d956ccfb 100644
--- a/src/parseTools.js
+++ b/src/parseTools.js
@@ -1467,7 +1467,7 @@ function makeSignOp(value, type, op, force, ignore) {
var bits, full;
if (type in Runtime.INT_TYPES) {
bits = parseInt(type.substr(1));
- full = op + 'Sign(' + value + ', ' + bits + ', ' + Math.floor(correctSpecificSign() && !PGO) + (
+ full = op + 'Sign(' + value + ', ' + bits + ', ' + Math.floor(ignore || (correctSpecificSign() && !PGO)) + (
PGO ? ', "' + (ignore ? '' : Debugging.getIdentifier()) + '"' : ''
) + ')';
// Always sign/unsign constants at compile time, regardless of CHECK/CORRECT
@@ -1475,7 +1475,7 @@ function makeSignOp(value, type, op, force, ignore) {
return eval(full).toString();
}
}
- if (!correctSigns() && !CHECK_SIGNS && !force) return value;
+ if ((ignore || !correctSigns()) && !CHECK_SIGNS && !force) return value;
if (type in Runtime.INT_TYPES) {
// shortcuts
if (!CHECK_SIGNS || ignore) {