[project @ 2005-04-22 08:58:36 by simonmar]
[ghc-hetmet.git] / ghc / rts / GCCompact.c
index 30836e3..9c03c71 100644 (file)
@@ -10,6 +10,7 @@
 #include "Rts.h"
 #include "RtsUtils.h"
 #include "RtsFlags.h"
+#include "OSThreads.h"
 #include "Storage.h"
 #include "BlockAlloc.h"
 #include "MBlock.h"
@@ -223,8 +224,8 @@ thread_arg_block (StgFunInfoTable *fun_info, StgClosure **args)
     p = (StgPtr)args;
     switch (fun_info->f.fun_type) {
     case ARG_GEN:
-       bitmap = BITMAP_BITS(fun_info->f.bitmap);
-       size = BITMAP_SIZE(fun_info->f.bitmap);
+       bitmap = BITMAP_BITS(fun_info->f.b.bitmap);
+       size = BITMAP_SIZE(fun_info->f.b.bitmap);
        goto small_bitmap;
     case ARG_GEN_BIG:
        size = GET_FUN_LARGE_BITMAP(fun_info)->size;
@@ -379,7 +380,7 @@ thread_PAP (StgPAP *pap)
 
     switch (fun_info->f.fun_type) {
     case ARG_GEN:
-       bitmap = BITMAP_BITS(fun_info->f.bitmap);
+       bitmap = BITMAP_BITS(fun_info->f.b.bitmap);
        goto small_bitmap;
     case ARG_GEN_BIG:
        thread_large_bitmap(p, GET_FUN_LARGE_BITMAP(fun_info), size);
@@ -548,7 +549,6 @@ thread_obj (StgInfoTable *info, StgPtr p)
     case SE_CAF_BLACKHOLE:
     case SE_BLACKHOLE:
     case BLACKHOLE:
-    case BLACKHOLE_BQ:
     {
        StgPtr end;
        
@@ -841,11 +841,6 @@ update_bkwd_compact( step *stp )
                move(free,p,size);
            }
 
-           // Rebuild the mutable list for the old generation.
-           if (ip_MUTABLE(info)) {
-               recordMutable((StgClosure *)free);
-           }
-
            // relocate TSOs
            if (info->type == TSO) {
                move_TSO((StgTSO *)p, (StgTSO *)free);