diff options
author | Sverker Eriksson <[email protected]> | 2015-03-25 11:44:03 +0100 |
---|---|---|
committer | Sverker Eriksson <[email protected]> | 2015-03-25 11:44:03 +0100 |
commit | 1f3869b308af19fb9cf471a12b8a1fdeab9da290 (patch) | |
tree | c90715cb9fc6c26ac0f68db052d744db22b54ec0 /erts/emulator/beam/utils.c | |
parent | 7379c418ce610f3cd5a69fd4260efbc0246b994a (diff) | |
parent | 8d31ecea8b68ef6e16d7d77c0160e36f078b98de (diff) | |
download | otp-1f3869b308af19fb9cf471a12b8a1fdeab9da290.tar.gz otp-1f3869b308af19fb9cf471a12b8a1fdeab9da290.tar.bz2 otp-1f3869b308af19fb9cf471a12b8a1fdeab9da290.zip |
Merge branch 'sverk/hamt-term2bin-bug/OTP-12585'
* sverk/hamt-term2bin-bug/OTP-12585:
erts: Optimize hashmap_get
erts: Remove HAMT_SUBTAG_NODE_ARRAY
erts: Fix bug in binary_to_term for hamt when yielding
erts: Rename to flatmap_from_validated_list
Diffstat (limited to 'erts/emulator/beam/utils.c')
-rw-r--r-- | erts/emulator/beam/utils.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/erts/emulator/beam/utils.c b/erts/emulator/beam/utils.c index 127f1e4a6a..6edb466a36 100644 --- a/erts/emulator/beam/utils.c +++ b/erts/emulator/beam/utils.c @@ -1322,7 +1322,6 @@ make_hash2(Eterm term) } switch (hdr & _HEADER_MAP_SUBTAG_MASK) { case HAMT_SUBTAG_HEAD_ARRAY: - case HAMT_SUBTAG_NODE_ARRAY: i = 16; break; case HAMT_SUBTAG_HEAD_BITMAP: @@ -1725,7 +1724,6 @@ make_internal_hash(Eterm term) } switch (hdr & _HEADER_MAP_SUBTAG_MASK) { case HAMT_SUBTAG_HEAD_ARRAY: - case HAMT_SUBTAG_NODE_ARRAY: i = 16; break; case HAMT_SUBTAG_HEAD_BITMAP: @@ -2798,14 +2796,13 @@ tailrecur_ne: switch (hdr & _HEADER_MAP_SUBTAG_MASK) { case HAMT_SUBTAG_HEAD_ARRAY: aa++; bb++; - case HAMT_SUBTAG_NODE_ARRAY: sz = 16; break; case HAMT_SUBTAG_HEAD_BITMAP: aa++; bb++; case HAMT_SUBTAG_NODE_BITMAP: sz = hashmap_bitcount(MAP_HEADER_VAL(hdr)); - ASSERT(sz > 0 && sz < 16); + ASSERT(sz > 0 && sz < 17); break; default: erl_exit(1, "Unknown hashmap subsubtag\n"); |