aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2013-10-02 16:36:42 -0700
committerAlon Zakai <alonzakai@gmail.com>2013-10-02 16:36:42 -0700
commitec58cc4c637b6fef6f4580b92c753e745c301bbe (patch)
tree508f5a36fb54201e99cd1b444dcce2df902a519c /src
parent16f79a38c4839647314c7f007ea11187954d84c9 (diff)
parent4b8ff3fb5dcbc1ef61b17f1d7a7ca4bdb3f0b811 (diff)
Merge pull request #1693 from sunfishcode/incoming
Optimize alignment rounding.
Diffstat (limited to 'src')
-rw-r--r--src/preamble.js2
-rw-r--r--src/runtime.js3
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;
},