diff options
author | Michał Muskała <[email protected]> | 2017-08-27 18:57:55 +0200 |
---|---|---|
committer | Michał Muskała <[email protected]> | 2017-09-08 13:11:03 +0200 |
commit | e0a32726a46f7ad1ac087064a34bae4e8e5f39f2 (patch) | |
tree | 723d33657a855016a3e65bf4f693cabb0a1c7e88 /bootstrap/lib/stdlib/ebin/shell.beam | |
parent | 5d124efc4f8408cdbe2f23ca6b233b932f1dd7c6 (diff) | |
download | otp-e0a32726a46f7ad1ac087064a34bae4e8e5f39f2.tar.gz otp-e0a32726a46f7ad1ac087064a34bae4e8e5f39f2.tar.bz2 otp-e0a32726a46f7ad1ac087064a34bae4e8e5f39f2.zip |
Optimise size calculation for binary construction
It turns out it was extremely common to have a following sequence:
move 0 D1
byte_size _ D2
bs_add D1 D2 D
Which is equivalent to just:
byte_size _ D
Similarly another sequence:
move S D1
byte_size _ D2
bs_add D1 D2 D
Can be optimised into:
byte_size _ D2
bs_add S D2 D
Both of those optimisations work with byte_size and bit_size instructions.
Diffstat (limited to 'bootstrap/lib/stdlib/ebin/shell.beam')
0 files changed, 0 insertions, 0 deletions