aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/ops.tab
diff options
context:
space:
mode:
authorBjörn-Egil Dahlberg <[email protected]>2015-03-12 10:48:41 +0100
committerBjörn-Egil Dahlberg <[email protected]>2015-03-12 10:48:41 +0100
commit43db415c05c20c1d0793ec994da265f02dc73e21 (patch)
treeda8dd976ea25af8b379460dfcbb290cb8cfdafe7 /erts/emulator/beam/ops.tab
parent900276a573ea67039670a71c379f64ac938a4516 (diff)
parentb9a8cebcc30ee1bce8e6b57041bf07cf84630386 (diff)
downloadotp-43db415c05c20c1d0793ec994da265f02dc73e21.tar.gz
otp-43db415c05c20c1d0793ec994da265f02dc73e21.tar.bz2
otp-43db415c05c20c1d0793ec994da265f02dc73e21.zip
Merge branch 'egil/beam/select_val/OTP-12555'
* egil/beam/select_val/OTP-12555: erts: Use linear search for small select_val arrays
Diffstat (limited to 'erts/emulator/beam/ops.tab')
-rw-r--r--erts/emulator/beam/ops.tab22
1 files changed, 13 insertions, 9 deletions
diff --git a/erts/emulator/beam/ops.tab b/erts/emulator/beam/ops.tab
index 68fcc177ae..d3649080dc 100644
--- a/erts/emulator/beam/ops.tab
+++ b/erts/emulator/beam/ops.tab
@@ -166,22 +166,26 @@ is_tuple Fail=f S | select_tuple_arity S=d Fail=f Size=u Rest=* => \
select_tuple_arity S=d Fail=f Size=u Rest=* => \
gen_select_tuple_arity(S, Fail, Size, Rest)
-i_select_val r f I
-i_select_val x f I
-i_select_val y f I
+i_select_val_bins r f I
+i_select_val_bins x f I
+i_select_val_bins y f I
-i_select_val2 r f c f c f
-i_select_val2 x f c f c f
-i_select_val2 y f c f c f
+i_select_val_lins r f I
+i_select_val_lins x f I
+i_select_val_lins y f I
-i_select_tuple_arity2 r f A f A f
-i_select_tuple_arity2 x f A f A f
-i_select_tuple_arity2 y f A f A f
+i_select_val2 r f c c f f
+i_select_val2 x f c c f f
+i_select_val2 y f c c f f
i_select_tuple_arity r f I
i_select_tuple_arity x f I
i_select_tuple_arity y f I
+i_select_tuple_arity2 r f A A f f
+i_select_tuple_arity2 x f A A f f
+i_select_tuple_arity2 y f A A f f
+
i_jump_on_val_zero r f I
i_jump_on_val_zero x f I
i_jump_on_val_zero y f I