summaryrefslogtreecommitdiff
path: root/rts
diff options
context:
space:
mode:
authorÖmer Sinan Ağacan <omeragacan@gmail.com>2018-06-07 07:05:12 +0300
committerÖmer Sinan Ağacan <omeragacan@gmail.com>2018-06-07 07:05:25 +0300
commit635a59a5038fc6f4d8ea0a2c7e3f75057deb4e5e (patch)
tree512ab6716c49d239d2a39440417e55d8cd08e8b1 /rts
parentd964b054d530ea9e29ed051fdf2b49a6afe465fb (diff)
downloadhaskell-635a59a5038fc6f4d8ea0a2c7e3f75057deb4e5e.tar.gz
Do not scavenge SMALL_MUT_ARR_PTRS_CLEAN in mut_lists
For the same reason with MUT_ARR_PTRS_CLEAN we don't need to scavenge SMALL_MUT_ARR_PTRS_CLEAN in mut_lists. Because SMALL_MUT_ARR_PTRS doesn't have a card table we don't have a special case when scavenging SMALL_MUT_ARR_PTRS_DIRTY in a mut_list. Test Plan: this validates Reviewers: simonmar, bgamari, erikd Reviewed By: simonmar, bgamari Subscribers: rwbarton, thomie, carter Differential Revision: https://phabricator.haskell.org/D4800
Diffstat (limited to 'rts')
-rw-r--r--rts/sm/Scav.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/rts/sm/Scav.c b/rts/sm/Scav.c
index 26687b880a..39374c057f 100644
--- a/rts/sm/Scav.c
+++ b/rts/sm/Scav.c
@@ -1583,6 +1583,7 @@ scavenge_mutable_list(bdescr *bd, generation *gen)
//
switch (get_itbl((StgClosure *)p)->type) {
case MUT_ARR_PTRS_CLEAN:
+ case SMALL_MUT_ARR_PTRS_CLEAN:
recordMutableGen_GC((StgClosure *)p,gen_no);
continue;
case MUT_ARR_PTRS_DIRTY: