rts: Handle SMALL_MUT_ARR_PTRS in retainer profilter
authorBen Gamari <bgamari.foss@gmail.com>
Mon, 27 Aug 2018 22:59:17 +0000 (00:59 +0200)
committerBen Gamari <ben@smart-cactus.org>
Fri, 7 Sep 2018 12:11:48 +0000 (08:11 -0400)
Summary: These can be treated similarly to MUT_ARRY_PTRS. Fixes #15529.

Reviewers: erikd, simonmar

Reviewed By: simonmar

Subscribers: RyanGlScott, rwbarton, carter

GHC Trac Issues: #15529

Differential Revision: https://phabricator.haskell.org/D5075

(cherry picked from commit 2cf98e2207421200fc73c25a08f6435859cdff92)

rts/RetainerProfile.c

index 6a0af21..d260f19 100644 (file)
@@ -811,6 +811,10 @@ pop( StgClosure **c, StgClosure **cp, retainer *r )
         case MUT_ARR_PTRS_DIRTY:
         case MUT_ARR_PTRS_FROZEN_CLEAN:
         case MUT_ARR_PTRS_FROZEN_DIRTY:
+        case SMALL_MUT_ARR_PTRS_CLEAN:
+        case SMALL_MUT_ARR_PTRS_DIRTY:
+        case SMALL_MUT_ARR_PTRS_FROZEN_CLEAN:
+        case SMALL_MUT_ARR_PTRS_FROZEN_DIRTY:
             *c = find_ptrs(&se->info);
             if (*c == NULL) {
                 popOff();