aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/erl_map.c
diff options
context:
space:
mode:
authorBjörn-Egil Dahlberg <[email protected]>2015-03-25 16:06:38 +0100
committerBjörn-Egil Dahlberg <[email protected]>2015-03-25 16:06:38 +0100
commit73b1ce18d362e5d192c2d8e31514a9ca1337aa2d (patch)
tree4b0834261a914f056b555de6bbee2e59cbb8fcd9 /erts/emulator/beam/erl_map.c
parent43b633e1ff2375b681e47691c4da05cbb0792a43 (diff)
downloadotp-73b1ce18d362e5d192c2d8e31514a9ca1337aa2d.tar.gz
otp-73b1ce18d362e5d192c2d8e31514a9ca1337aa2d.tar.bz2
otp-73b1ce18d362e5d192c2d8e31514a9ca1337aa2d.zip
erts: GC needs the size even if the frag is not referenced
Diffstat (limited to 'erts/emulator/beam/erl_map.c')
-rw-r--r--erts/emulator/beam/erl_map.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/erts/emulator/beam/erl_map.c b/erts/emulator/beam/erl_map.c
index 4af8e6f274..5d965f3116 100644
--- a/erts/emulator/beam/erl_map.c
+++ b/erts/emulator/beam/erl_map.c
@@ -1008,6 +1008,7 @@ static Eterm flatmap_merge(Process *p, Eterm nodeA, Eterm nodeB) {
n = n1 + n2 - unused_size;
*thp = make_arityval(n);
+ mp_new->size = n;
/* Reshape map to a hashmap if the map exceeds the limit */
@@ -1043,8 +1044,6 @@ static Eterm flatmap_merge(Process *p, Eterm nodeA, Eterm nodeB) {
return res;
}
- mp_new->size = n;
-
return make_flatmap(mp_new);
}