diff options
author | Alon Zakai <alonzakai@gmail.com> | 2012-01-24 16:21:59 -0800 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2012-01-24 16:21:59 -0800 |
commit | bacb70a2ec81b64ecf7bb2e838a3d3423746deea (patch) | |
tree | 51a62d1e4d9c5e2ffe1d1aa7a84e49f01231cb62 | |
parent | d99e50804a47130a7732ae569427abdc21de1859 (diff) |
do not check for corrections in makeSignOp if we are ignoring corrections
-rw-r--r-- | src/parseTools.js | 4 |
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) { |