summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2019-10-01 17:37:14 +0000
committerBen Gamari <ben@smart-cactus.org>2020-03-11 18:45:36 -0400
commit1b2632d13fa0fbb20c44d301a241f0e3f008c0f5 (patch)
tree5b045ab18ada85d816df51e5746ff7a8d226e11f
parent4a2ecbd42f9f82cd243c914f567ade24a385818e (diff)
downloadhaskell-1b2632d13fa0fbb20c44d301a241f0e3f008c0f5.tar.gz
rts/CNF: Initialize all bdescrs in group
It seems wise and cheap to ensure that the whole bdescr of all blocks of a compact group is valid, even if most cases only look at the flags field.
-rw-r--r--rts/sm/CNF.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/rts/sm/CNF.c b/rts/sm/CNF.c
index 87d1d84f50..ebd07d77a9 100644
--- a/rts/sm/CNF.c
+++ b/rts/sm/CNF.c
@@ -245,6 +245,7 @@ compactAllocateBlockInternal(Capability *cap,
initBdescr(head, g, g);
head->flags = BF_COMPACT;
for (block = head + 1, n_blocks --; n_blocks > 0; block++, n_blocks--) {
+ initBdescr(block, g, g);
block->link = head;
block->blocks = 0;
block->flags = BF_COMPACT;