aboutsummaryrefslogtreecommitdiffstats
path: root/lib/compiler/src/beam_bsm.erl
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2012-09-04 14:27:31 +0200
committerBjörn Gustavsson <[email protected]>2012-10-10 15:37:12 +0200
commit531aa719de264c81876da2db1ca9882f8f5db663 (patch)
tree4a88ea169f09aeaae36fbc12d9dbae151d277339 /lib/compiler/src/beam_bsm.erl
parent0772d1063c3e03cfb575fb5e948c120cfee14605 (diff)
downloadotp-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_bsm.erl')
-rw-r--r--lib/compiler/src/beam_bsm.erl7
1 files changed, 1 insertions, 6 deletions
diff --git a/lib/compiler/src/beam_bsm.erl b/lib/compiler/src/beam_bsm.erl
index cfe4af7410..2f4649dac7 100644
--- a/lib/compiler/src/beam_bsm.erl
+++ b/lib/compiler/src/beam_bsm.erl
@@ -278,12 +278,7 @@ btb_reaches_match_2([{test,_,{f,F},_,Ss,_}=I|Is], Regs, D0) ->
btb_ensure_not_used(Ss, I, Regs),
D = btb_follow_branch(F, Regs, D0),
btb_reaches_match_1(Is, Regs, D);
-btb_reaches_match_2([{select_val,Src,{f,F},{list,Conds}}=I|Is], Regs, D0) ->
- btb_ensure_not_used([Src], I, Regs),
- D1 = btb_follow_branch(F, Regs, D0),
- D = btb_follow_branches(Conds, Regs, D1),
- btb_reaches_match_1(Is, Regs, D);
-btb_reaches_match_2([{select_tuple_arity,Src,{f,F},{list,Conds}}=I|Is], Regs, D0) ->
+btb_reaches_match_2([{select,_,Src,{f,F},Conds}=I|Is], Regs, D0) ->
btb_ensure_not_used([Src], I, Regs),
D1 = btb_follow_branch(F, Regs, D0),
D = btb_follow_branches(Conds, Regs, D1),