diff options
author | Björn Gustavsson <[email protected]> | 2018-03-16 16:13:08 +0100 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2018-03-19 14:48:49 +0100 |
commit | 2371741165a0f6c39893fe9f586d7586fd7d02a1 (patch) | |
tree | 853797e46921acd9e6b7d7835e5cdac9aab7e53e /erts/emulator/beam/erl_bif_port.c | |
parent | 4332bcdc9f6dd1b4c390a50df07b7e8ebf536f88 (diff) | |
download | otp-2371741165a0f6c39893fe9f586d7586fd7d02a1.tar.gz otp-2371741165a0f6c39893fe9f586d7586fd7d02a1.tar.bz2 otp-2371741165a0f6c39893fe9f586d7586fd7d02a1.zip |
Correctly handle get_map_elements with a literal map
A get_map_elements instruction that has a literal map operand
would never be translated to a i_get_map_element instruction.
That would be a problem for the following instruction:
get_map_elements Fail #{} {x,0}, {x,1}
Since the key is not a literal, get_map_element must be used,
since get_map_elements requires that a hash value can be
calculated for each element.
When the instruction is translated to i_get_map_element, the
hash value will be set to 0 and an assertion will trigger in
the debug build.
Diffstat (limited to 'erts/emulator/beam/erl_bif_port.c')
0 files changed, 0 insertions, 0 deletions