~rdoering/ubuntu/karmic/erlang/fix-535090

« back to all changes in this revision

Viewing changes to lib/compiler/src/beam_clean.erl

  • Committer: Bazaar Package Importer
  • Author(s): Sergei Golovan
  • Date: 2009-02-15 16:42:52 UTC
  • mfrom: (3.1.2 squeeze)
  • Revision ID: james.westby@ubuntu.com-20090215164252-q5x4rcf8a5pbesb1
Tags: 1:12.b.5-dfsg-2
Upload to unstable after lenny is released.

Show diffs side-by-side

added added

removed removed

Lines of Context:
22
22
-export([module/2]).
23
23
-export([bs_clean_saves/1]).
24
24
-export([clean_labels/1]).
25
 
-import(lists, [member/2,map/2,foldl/3,mapfoldl/3,reverse/1,sort/1,all/2]).
 
25
-import(lists, [map/2,foldl/3,reverse/1]).
26
26
 
27
27
module({Mod,Exp,Attr,Fs0,_}, _Opt) ->
28
28
    Order = [Lbl || {function,_,_,Lbl,_} <- Fs0],
242
242
    replace(Is, [{bs_init_bits,{f,label(Lbl, D)},Sz,Words,R,F,Dst}|Acc], D);
243
243
replace([{bs_put_integer,{f,Lbl},Bits,Unit,Fl,Val}|Is], Acc, D) when Lbl =/= 0 ->
244
244
    replace(Is, [{bs_put_integer,{f,label(Lbl, D)},Bits,Unit,Fl,Val}|Acc], D);
 
245
replace([{bs_put_utf8=I,{f,Lbl},Fl,Val}|Is], Acc, D) when Lbl =/= 0 ->
 
246
    replace(Is, [{I,{f,label(Lbl, D)},Fl,Val}|Acc], D);
 
247
replace([{bs_put_utf16=I,{f,Lbl},Fl,Val}|Is], Acc, D) when Lbl =/= 0 ->
 
248
    replace(Is, [{I,{f,label(Lbl, D)},Fl,Val}|Acc], D);
 
249
replace([{bs_put_utf32=I,{f,Lbl},Fl,Val}|Is], Acc, D) when Lbl =/= 0 ->
 
250
    replace(Is, [{I,{f,label(Lbl, D)},Fl,Val}|Acc], D);
245
251
replace([{bs_put_binary,{f,Lbl},Bits,Unit,Fl,Val}|Is], Acc, D) when Lbl =/= 0 ->
246
252
    replace(Is, [{bs_put_binary,{f,label(Lbl, D)},Bits,Unit,Fl,Val}|Acc], D);
247
253
replace([{bs_put_float,{f,Lbl},Bits,Unit,Fl,Val}|Is], Acc, D) when Lbl =/= 0 ->
251
257
replace([{bs_append,{f,Lbl},_,_,_,_,_,_,_}=I0|Is], Acc, D) when Lbl =/= 0 ->
252
258
    I = setelement(2, I0, {f,label(Lbl, D)}),
253
259
    replace(Is, [I|Acc], D);
 
260
replace([{bs_utf8_size=I,{f,Lbl},Src,Dst}|Is], Acc, D) when Lbl =/= 0 ->
 
261
    replace(Is, [{I,{f,label(Lbl, D)},Src,Dst}|Acc], D);
 
262
replace([{bs_utf16_size=I,{f,Lbl},Src,Dst}|Is], Acc, D) when Lbl =/= 0 ->
 
263
    replace(Is, [{I,{f,label(Lbl, D)},Src,Dst}|Acc], D);
254
264
replace([I|Is], Acc, D) ->
255
265
    replace(Is, [I|Acc], D);
256
266
replace([], Acc, _) -> Acc.