diff options
author | Lukas Larsson <[email protected]> | 2017-09-21 09:20:30 +0200 |
---|---|---|
committer | Lukas Larsson <[email protected]> | 2017-10-13 15:44:33 +0200 |
commit | 0149a73d15df1f80cb46752ec3829f48c38dd230 (patch) | |
tree | fc078c32e0cb5ae7b09548f3941af4af044a8457 /erts/emulator/beam/erl_map.h | |
parent | 513a322941d208d9dcdc4c39db2966ae4c707fe7 (diff) | |
download | otp-0149a73d15df1f80cb46752ec3829f48c38dd230.tar.gz otp-0149a73d15df1f80cb46752ec3829f48c38dd230.tar.bz2 otp-0149a73d15df1f80cb46752ec3829f48c38dd230.zip |
erts: Implement maps path iterator
Diffstat (limited to 'erts/emulator/beam/erl_map.h')
-rw-r--r-- | erts/emulator/beam/erl_map.h | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/erts/emulator/beam/erl_map.h b/erts/emulator/beam/erl_map.h index d910e98398..718d400e22 100644 --- a/erts/emulator/beam/erl_map.h +++ b/erts/emulator/beam/erl_map.h @@ -56,7 +56,7 @@ typedef struct flatmap_s { /* the head-node is a bitmap or array with an untagged size */ -#define hashmap_size(x) (((hashmap_head_t*) hashmap_val(x))->size == -1 ? hashmap_subtree_size(x) : ((hashmap_head_t*) hashmap_val(x))->size) +#define hashmap_size(x) (((hashmap_head_t*) hashmap_val(x))->size) #define hashmap_make_hash(Key) make_internal_hash(Key, 0) #define hashmap_restore_hash(Heap,Lvl,Key) \ @@ -64,7 +64,6 @@ typedef struct flatmap_s { #define hashmap_shift_hash(Heap,Hx,Lvl,Key) \ (((++(Lvl)) & 7) ? (Hx) >> 4 : hashmap_make_hash(CONS(Heap, make_small((Lvl)>>3), Key))) - /* erl_term.h stuff */ #define flatmap_get_values(x) (((Eterm *)(x)) + sizeof(flatmap_t)/sizeof(Eterm)) #define flatmap_get_keys(x) (((Eterm *)tuple_val(((flatmap_t *)(x))->keys)) + 1) @@ -106,7 +105,6 @@ Eterm erts_hashmap_from_ks_and_vs_extra(ErtsHeapFactory *factory, Eterm *ks, Eterm *vs, Uint n, Eterm k, Eterm v); -Uint hashmap_subtree_size(Eterm node); const Eterm *erts_maps_get(Eterm key, Eterm map); const Eterm *erts_hashmap_get(Uint32 hx, Eterm key, Eterm map); |