aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/beam_debug.c
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2015-03-26 13:16:45 +0100
committerBjörn Gustavsson <[email protected]>2015-04-13 12:37:54 +0200
commitc92cf260bb888c004fb02651670d19989dbc2b74 (patch)
tree1aea823e83a9696bcf9285742e73cd806cd98de1 /erts/emulator/beam/beam_debug.c
parentfea64943212cd96764b595c91b22da68bc72e999 (diff)
downloadotp-c92cf260bb888c004fb02651670d19989dbc2b74.tar.gz
otp-c92cf260bb888c004fb02651670d19989dbc2b74.tar.bz2
otp-c92cf260bb888c004fb02651670d19989dbc2b74.zip
De-optimize the has_map_fields instructions
The has_map_fields instruction is infrequently used. Thus there is no need to have the fastest possible implementation; it is better to have an implementation that reduces the code size in the already big process_main() function. We can transform has_map_fields to a get_map_elements instruction, targeting the same unused x[0] register for all keys. That instruction will only be marginally slower than existing implementation.
Diffstat (limited to 'erts/emulator/beam/beam_debug.c')
-rw-r--r--erts/emulator/beam/beam_debug.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/erts/emulator/beam/beam_debug.c b/erts/emulator/beam/beam_debug.c
index 38e54e9d1a..0367ca8aba 100644
--- a/erts/emulator/beam/beam_debug.c
+++ b/erts/emulator/beam/beam_debug.c
@@ -664,7 +664,6 @@ print_op(int to, void *to_arg, int op, int size, BeamInstr* addr)
case op_new_map_dII:
case op_update_map_assoc_jsdII:
case op_update_map_exact_jsdII:
- case op_i_has_map_fields_fsI:
case op_i_get_map_elements_fsI:
{
int n = unpacked[-1];