[commit: ghc] master: Do not scavenge SMALL_MUT_ARR_PTRS_CLEAN in mut_lists (635a59a)

git at git.haskell.org git at git.haskell.org
Thu Jun 7 04:06:30 UTC 2018

Repository : ssh://git@git.haskell.org/ghc

On branch  : master
Link       : http://ghc.haskell.org/trac/ghc/changeset/635a59a5038fc6f4d8ea0a2c7e3f75057deb4e5e/ghc


commit 635a59a5038fc6f4d8ea0a2c7e3f75057deb4e5e
Author: Ömer Sinan Ağacan <omeragacan at gmail.com>
Date:   Thu Jun 7 07:05:12 2018 +0300

    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


 rts/sm/Scav.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/rts/sm/Scav.c b/rts/sm/Scav.c
index 26687b8..39374c0 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);
             case MUT_ARR_PTRS_DIRTY:

More information about the ghc-commits mailing list