diff options
author | Alon Zakai <azakai@google.com> | 2019-06-25 13:41:36 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-06-25 13:41:36 -0700 |
commit | 08e52f94db3737038bb01daca610504316e50fdb (patch) | |
tree | 56e377c982af88282d32687e4642ede08995b930 /test/wasm2js/dynamicLibrary.2asm.js | |
parent | e63fe0b42d8a334a48c2988f3c05705ee04701f9 (diff) | |
download | binaryen-08e52f94db3737038bb01daca610504316e50fdb.tar.gz binaryen-08e52f94db3737038bb01daca610504316e50fdb.tar.bz2 binaryen-08e52f94db3737038bb01daca610504316e50fdb.zip |
Bysyncify: optimize better by coalescing before instrumenting control flow (#2183)
This results in better code sizes on many testcases, sometimes much better. For example, on SQLite the 150K function has only 27 locals instead of 3,874 which it had before (!). This also reduces total code size on SQLite by 15%.
The key issue is that after instrumenting control flow we have a lot bigger live ranges.
This must be done rather carefully, as we need to introduce some temp locals early on (for breaking up ifs, for call return values, etc.).
Diffstat (limited to 'test/wasm2js/dynamicLibrary.2asm.js')
0 files changed, 0 insertions, 0 deletions