From b44f86b779f0b8579e4df2a98930ac3150c6c07c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Gustavsson?= Date: Fri, 31 Aug 2012 16:06:37 +0200 Subject: 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. --- lib/compiler/src/beam_flatten.erl | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) (limited to 'lib/compiler/src/beam_flatten.erl') 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 -- cgit v1.2.3