diff options
author | Björn Gustavsson <bjorn@erlang.org> | 2017-09-07 17:51:43 +0200 |
---|---|---|
committer | Björn Gustavsson <bjorn@erlang.org> | 2017-09-14 10:16:15 +0200 |
commit | a8e391f3baf2cfbcfa57e46d4cfe95c089921100 (patch) | |
tree | 7e443b378e6b2b818d802028c0a44629ac9d344e /erts/emulator/beam/beam_debug.c | |
parent | cfe29c3386477b76a1daf4d631b1178dc7359a40 (diff) | |
download | erlang-a8e391f3baf2cfbcfa57e46d4cfe95c089921100.tar.gz |
Rewrite select_val_bins so that its labels can be packed
Diffstat (limited to 'erts/emulator/beam/beam_debug.c')
-rw-r--r-- | erts/emulator/beam/beam_debug.c | 16 |
1 files changed, 2 insertions, 14 deletions
diff --git a/erts/emulator/beam/beam_debug.c b/erts/emulator/beam/beam_debug.c index 9ba65e2464..df152f1605 100644 --- a/erts/emulator/beam/beam_debug.c +++ b/erts/emulator/beam/beam_debug.c @@ -632,6 +632,8 @@ print_op(fmtfn_t to, void *to_arg, int op, int size, BeamInstr* addr) switch (op) { case op_i_select_val_lins_xfI: case op_i_select_val_lins_yfI: + case op_i_select_val_bins_xfI: + case op_i_select_val_bins_yfI: { int n = ap[-1]; int ix = n; @@ -651,20 +653,6 @@ print_op(fmtfn_t to, void *to_arg, int op, int size, BeamInstr* addr) size += (n+1) / 2; } break; - case op_i_select_val_bins_xfI: - case op_i_select_val_bins_yfI: - { - int n = ap[-1]; - - while (n > 0) { - BeamInstr* target = f_to_addr(addr, op, ap+1); - erts_print(to, to_arg, "%T f(" HEXF ") ", (Eterm) ap[0], target); - ap += 2; - size += 2; - n--; - } - } - break; case op_i_select_tuple_arity_xfI: case op_i_select_tuple_arity_yfI: { |