diff options
author | Sverker Eriksson <[email protected]> | 2015-03-24 15:27:11 +0100 |
---|---|---|
committer | Sverker Eriksson <[email protected]> | 2015-03-24 20:04:16 +0100 |
commit | db54eaa94562b49c81b677948a8e9139ebdb010e (patch) | |
tree | 957ef209b525c522eee9e2116efd843d257aa204 /erts/emulator/beam/utils.c | |
parent | 1f23b603f022c7345dd573bf917926a575ae030d (diff) | |
download | otp-db54eaa94562b49c81b677948a8e9139ebdb010e.tar.gz otp-db54eaa94562b49c81b677948a8e9139ebdb010e.tar.bz2 otp-db54eaa94562b49c81b677948a8e9139ebdb010e.zip |
erts: Remove HAMT_SUBTAG_NODE_ARRAY
This will also fix a bug in term_to_binary
treating full nodes as tuples and emiting LIST_EXT for leafs.
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 3549e18538..d98251addc 100644 --- a/erts/emulator/beam/utils.c +++ b/erts/emulator/beam/utils.c @@ -1321,7 +1321,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: @@ -1724,7 +1723,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: @@ -2797,14 +2795,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"); |