diff options
author | Alon Zakai <alonzakai@gmail.com> | 2013-10-02 16:36:42 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2013-10-02 16:36:42 -0700 |
commit | ec58cc4c637b6fef6f4580b92c753e745c301bbe (patch) | |
tree | 508f5a36fb54201e99cd1b444dcce2df902a519c /src | |
parent | 16f79a38c4839647314c7f007ea11187954d84c9 (diff) | |
parent | 4b8ff3fb5dcbc1ef61b17f1d7a7ca4bdb3f0b811 (diff) |
Merge pull request #1693 from sunfishcode/incoming
Optimize alignment rounding.
Diffstat (limited to 'src')
-rw-r--r-- | src/preamble.js | 2 | ||||
-rw-r--r-- | src/runtime.js | 3 |
2 files changed, 2 insertions, 3 deletions
diff --git a/src/preamble.js b/src/preamble.js index 183fd0c8..75519094 100644 --- a/src/preamble.js +++ b/src/preamble.js @@ -644,7 +644,7 @@ Module['stringToUTF32'] = stringToUTF32; var PAGE_SIZE = 4096; function alignMemoryPage(x) { - return ((x+4095)>>12)<<12; + return (x+4095)&-4096; } var HEAP; diff --git a/src/runtime.js b/src/runtime.js index a281045b..dd395826 100644 --- a/src/runtime.js +++ b/src/runtime.js @@ -112,8 +112,7 @@ var Runtime = { if (isNumber(target) && isNumber(quantum)) { return Math.ceil(target/quantum)*quantum; } else if (isNumber(quantum) && isPowerOfTwo(quantum)) { - var logg = log2(quantum); - return '((((' +target + ')+' + (quantum-1) + ')>>' + logg + ')<<' + logg + ')'; + return '(((' +target + ')+' + (quantum-1) + ')&' + -quantum + ')'; } return 'Math.ceil((' + target + ')/' + quantum + ')*' + quantum; }, |