aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/io.c
diff options
context:
space:
mode:
authorBjörn-Egil Dahlberg <[email protected]>2015-03-26 10:38:49 +0100
committerBjörn-Egil Dahlberg <[email protected]>2015-03-26 10:38:49 +0100
commitcb16ed8d78c9b19e85305dbaad9b5773085e509d (patch)
tree7a8979c83889989d684bc2e6804acc57ac0336dc /erts/emulator/beam/io.c
parent8eb65d33f0be00b06c3b8e44b5a2a830a106b831 (diff)
parent15ce2d396e5c3e5fe7c775a18764db1f7f589e54 (diff)
downloadotp-cb16ed8d78c9b19e85305dbaad9b5773085e509d.tar.gz
otp-cb16ed8d78c9b19e85305dbaad9b5773085e509d.tar.bz2
otp-cb16ed8d78c9b19e85305dbaad9b5773085e509d.zip
Merge branch 'egil/maps/refactor-tagscheme/OTP-12585'
* egil/maps/refactor-tagscheme/OTP-12585: erts: Refactor Map - use multiple values ESTACK_PUSHN erts: GC needs the size even if the frag is not referenced Revert "hipe: Handle separate hashmap tag correctly" erts: Combine flat and hash maps under one unifying tag
Diffstat (limited to 'erts/emulator/beam/io.c')
-rw-r--r--erts/emulator/beam/io.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/erts/emulator/beam/io.c b/erts/emulator/beam/io.c
index 46f0eba5e0..1db3a9fba7 100644
--- a/erts/emulator/beam/io.c
+++ b/erts/emulator/beam/io.c
@@ -5354,7 +5354,7 @@ driver_deliver_term(Eterm to, ErlDrvTermData* data, int len)
if (ptr[0] > MAP_SMALL_MAP_LIMIT) {
need += hashmap_over_estimated_heap_size(ptr[0]);
} else {
- need += MAP_HEADER_SIZE + 1 + 2*ptr[0];
+ need += MAP_HEADER_FLATMAP_SZ + 1 + 2*ptr[0];
}
depth -= 2*ptr[0];
if (depth < 0) ERTS_DDT_FAIL;
@@ -5627,12 +5627,12 @@ driver_deliver_term(Eterm to, ErlDrvTermData* data, int len)
hp += 1 + size;
mp = (flatmap_t*)hp;
- mp->thing_word = MAP_HEADER;
+ mp->thing_word = MAP_HEADER_FLATMAP;
mp->size = size;
mp->keys = make_tuple(tp);
mess = make_flatmap(mp);
- hp += MAP_HEADER_SIZE + size; /* advance "heap" pointer */
+ hp += MAP_HEADER_FLATMAP_SZ + size;
tp += size; /* point at last key */
vp = hp - 1; /* point at last value */