Fix the profiling build
[ghc.git] / rts / RetainerProfile.c
index d125c9c..4bfda6f 100644 (file)
@@ -1773,7 +1773,7 @@ computeRetainerSet( void )
 {
     StgWeak *weak;
     RetainerSet *rtl;
-    nat g;
+    nat g, n;
     StgPtr ml;
     bdescr *bd;
 #ifdef DEBUG_RETAINER
@@ -1804,7 +1804,8 @@ computeRetainerSet( void )
        // Traversing through mut_list is necessary
        // because we can find MUT_VAR objects which have not been
        // visited during retainer profiling.
-       for (bd = generations[g].mut_list; bd != NULL; bd = bd->link) {
+        for (n = 0; n < n_capabilities; n++) {
+          for (bd = capabilities[n].mut_lists[g]; bd != NULL; bd = bd->link) {
            for (ml = bd->start; ml < bd->free; ml++) {
 
                maybeInitRetainerSet((StgClosure *)*ml);
@@ -1835,7 +1836,8 @@ computeRetainerSet( void )
                }
 #endif
            }
-       }
+          }
+        }
     }
 }