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-10-24 20:59:39 -0400
commita61f66d6c14762869ad95b7646bce975df9f80f8 (patch)
treefeb5135870aa9ffd9dda97d6c1635379bd83521e
parentccf2d4b091284a60acc6c16d166ea7cafade209f (diff)
downloadhaskell-a61f66d6c14762869ad95b7646bce975df9f80f8.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 2c701c2c29..31b3cb99f2 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;