aboutsummaryrefslogtreecommitdiff
path: root/tools/test-js-optimizer-asm-pre.js
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2013-12-19 18:30:40 -0800
committerAlon Zakai <alonzakai@gmail.com>2013-12-19 18:30:40 -0800
commit663f943e8c7ff02fa0929e1c6c531ea07714318c (patch)
treecf8a6649ec66ed772dab102fd44fda205a66ede6 /tools/test-js-optimizer-asm-pre.js
parent0923bb131b650ad22a4fc0e5b7b42d71965efa8f (diff)
parent47e803a62598194891eae3aaef50f551f5fdc4bb (diff)
Merge pull request #1935 from sunfishcode/incoming
Optimize away masks on stores to HEAP8 and HEAP16.
Diffstat (limited to 'tools/test-js-optimizer-asm-pre.js')
-rw-r--r--tools/test-js-optimizer-asm-pre.js4
1 files changed, 4 insertions, 0 deletions
diff --git a/tools/test-js-optimizer-asm-pre.js b/tools/test-js-optimizer-asm-pre.js
index 9e6edf0f..dadeef53 100644
--- a/tools/test-js-optimizer-asm-pre.js
+++ b/tools/test-js-optimizer-asm-pre.js
@@ -66,6 +66,10 @@ function b($this, $__n) {
HEAP8[($38 + $40 | 0) & 16777215] = 0;
// Eliminate the |0.
HEAP32[$4] = ((~(HEAP32[$5]|0))|0);
+ // Eliminate the &255
+ HEAP8[$4] = HEAP32[$5]&255;
+ // Eliminate the &65535
+ HEAP16[$4] = HEAP32[$5]&65535;
// Rewrite to ~.
HEAP32[$4] = HEAP32[$5]^-1;
// Rewrite to ~ and eliminate the |0.