diff options
author | Björn Gustavsson <[email protected]> | 2012-09-04 14:27:31 +0200 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2012-10-10 15:37:12 +0200 |
commit | 531aa719de264c81876da2db1ca9882f8f5db663 (patch) | |
tree | 4a88ea169f09aeaae36fbc12d9dbae151d277339 /lib/compiler/src/beam_receive.erl | |
parent | 0772d1063c3e03cfb575fb5e948c120cfee14605 (diff) | |
download | otp-531aa719de264c81876da2db1ca9882f8f5db663.tar.gz otp-531aa719de264c81876da2db1ca9882f8f5db663.tar.bz2 otp-531aa719de264c81876da2db1ca9882f8f5db663.zip |
Rewrite select_val and select_tuple_arity to a select instruction
Eliminate some code bloat.
Diffstat (limited to 'lib/compiler/src/beam_receive.erl')
-rw-r--r-- | lib/compiler/src/beam_receive.erl | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/lib/compiler/src/beam_receive.erl b/lib/compiler/src/beam_receive.erl index 40e1b211af..b19a9560b7 100644 --- a/lib/compiler/src/beam_receive.erl +++ b/lib/compiler/src/beam_receive.erl @@ -284,10 +284,7 @@ opt_ref_used_1([{test,is_ne_exact,{f,Fail},Args}|Is], RefReg, D, Done0, Regs) -> opt_ref_used_1([{test,_,{f,Fail},_}|Is], RefReg, D, Done0, Regs) -> Done = opt_ref_used_at(Fail, RefReg, D, Done0, Regs), opt_ref_used_1(Is, RefReg, D, Done, Regs); -opt_ref_used_1([{select_tuple_arity,_,{f,Fail},{list,List}}|_], RefReg, D, Done, Regs) -> - Lbls = [F || {f,F} <- List] ++ [Fail], - opt_ref_used_in_all(Lbls, RefReg, D, Done, Regs); -opt_ref_used_1([{select_val,_,{f,Fail},{list,List}}|_], RefReg, D, Done, Regs) -> +opt_ref_used_1([{select,_,_,{f,Fail},List}|_], RefReg, D, Done, Regs) -> Lbls = [F || {f,F} <- List] ++ [Fail], opt_ref_used_in_all(Lbls, RefReg, D, Done, Regs); opt_ref_used_1([{label,Lbl}|Is], RefReg, D, Done, Regs) -> |