diff options
author | Björn-Egil Dahlberg <[email protected]> | 2015-02-26 14:45:38 +0100 |
---|---|---|
committer | Björn-Egil Dahlberg <[email protected]> | 2015-03-12 19:15:29 +0100 |
commit | f7ee6181417f05670e2e733085dd7f038d6f30f8 (patch) | |
tree | 514d5d97fc1640d2cc46a037b740414da742d6a0 /erts/emulator/beam/erl_map.c | |
parent | 02c573ba7fee64cc65ec7c7ee286aa9ce5415546 (diff) | |
download | otp-f7ee6181417f05670e2e733085dd7f038d6f30f8.tar.gz otp-f7ee6181417f05670e2e733085dd7f038d6f30f8.tar.bz2 otp-f7ee6181417f05670e2e733085dd7f038d6f30f8.zip |
erts: Handle hashmap in get_map_element(s) instructions
Diffstat (limited to 'erts/emulator/beam/erl_map.c')
-rw-r--r-- | erts/emulator/beam/erl_map.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/erts/emulator/beam/erl_map.c b/erts/emulator/beam/erl_map.c index 4242807933..2be4c9a730 100644 --- a/erts/emulator/beam/erl_map.c +++ b/erts/emulator/beam/erl_map.c @@ -77,7 +77,6 @@ typedef struct { Eterm val; } hxnode_t; -static const Eterm *hashmap_get(Uint32 hx, Eterm key, Eterm node); static Eterm hashmap_insert(Process *p, Uint32 hx, Eterm key, Eterm value, Eterm node, int is_update); static Eterm map_merge(Process *p, Eterm nodeA, Eterm nodeB); static Eterm map_merge_mixed(Process *p, Eterm flat, Eterm tree, int swap_args); @@ -199,7 +198,7 @@ erts_maps_get(Eterm key, Eterm map) ASSERT(is_hashmap(map)); hx = hashmap_make_hash(key); - return hashmap_get(hx, key, map); + return erts_hashmap_get(hx, key, map); } BIF_RETTYPE maps_find_2(BIF_ALIST_2) { @@ -1660,7 +1659,7 @@ Eterm* hashmap_iterator_next(ErtsWStack* s) { } } -static const Eterm *hashmap_get(Uint32 hx, Eterm key, Eterm node) { +const Eterm *erts_hashmap_get(Uint32 hx, Eterm key, Eterm node) { Eterm *ptr, hdr; Eterm th[2]; Uint ix,slot, lvl = 0; |