diff options
author | Björn Gustavsson <[email protected]> | 2012-08-31 16:06:37 +0200 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2012-10-09 15:24:41 +0200 |
commit | b44f86b779f0b8579e4df2a98930ac3150c6c07c (patch) | |
tree | ba10bf906e4432f12a9a7aa6d6ee1af7735dfacf /lib/compiler/src/beam_flatten.erl | |
parent | 105e056cddaf765952d58813e2ec5c9bdfd4403c (diff) | |
download | otp-b44f86b779f0b8579e4df2a98930ac3150c6c07c.tar.gz otp-b44f86b779f0b8579e4df2a98930ac3150c6c07c.tar.bz2 otp-b44f86b779f0b8579e4df2a98930ac3150c6c07c.zip |
Rewrite bs_put* instructions to a generic bs_put instruction
Seven bs_put_* instructions can be combined into one generic bs_put
instruction to avoid some code bloat. That will also improve some
optimizations (such as beam_trim) that did not handle all bs_put*
variants.
Diffstat (limited to 'lib/compiler/src/beam_flatten.erl')
-rw-r--r-- | lib/compiler/src/beam_flatten.erl | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/lib/compiler/src/beam_flatten.erl b/lib/compiler/src/beam_flatten.erl index 6c7cb849aa..4cca406f45 100644 --- a/lib/compiler/src/beam_flatten.erl +++ b/lib/compiler/src/beam_flatten.erl @@ -113,13 +113,7 @@ insert_alloc_1([I|Is], Alloc, Acc) -> %% as a literal, the bs_init2/6 instruction will not occur %% at the end and therefore it is no need to test for it here.) %% -is_bs_constructor({bs_put_integer,_,_,_,_,_}) -> true; -is_bs_constructor({bs_put_utf8,_,_,_}) -> true; -is_bs_constructor({bs_put_utf16,_,_,_}) -> true; -is_bs_constructor({bs_put_utf32,_,_,_}) -> true; -is_bs_constructor({bs_put_float,_,_,_,_,_}) -> true; -is_bs_constructor({bs_put_binary,_,_,_,_,_}) -> true; -is_bs_constructor({bs_put_string,_,_}) -> true; +is_bs_constructor({bs_put,_,_,_}) -> true; is_bs_constructor(_) -> false. %% opt(Is0) -> Is |