[project @ 2003-09-21 13:26:05 by igloo]
[ghc-hetmet.git] / ghc / rts / GC.c
index 567597c..f3a1610 100644 (file)
@@ -1,5 +1,5 @@
 /* -----------------------------------------------------------------------------
- * $Id: GC.c,v 1.156 2003/06/19 12:47:08 simonmar Exp $
+ * $Id: GC.c,v 1.159 2003/08/26 12:12:49 simonmar Exp $
  *
  * (c) The GHC Team 1998-2003
  *
@@ -378,6 +378,7 @@ GarbageCollect ( void (*get_roots)(evac_fn), rtsBool force_major_gc )
   if (RtsFlags.GcFlags.generations == 1) {
     old_to_blocks = g0s0->to_blocks;
     g0s0->to_blocks = NULL;
+    g0s0->n_to_blocks = 0;
   }
 
   /* Keep a count of how many new blocks we allocated during this GC
@@ -2130,6 +2131,7 @@ selector_loop:
       }
 
       case AP:
+      case AP_STACK:
       case THUNK:
       case THUNK_1_0:
       case THUNK_0_1:
@@ -2193,7 +2195,7 @@ scavenge_large_srt_bitmap( StgLargeSRT *large_srt )
     b = 0;
     bitmap = large_srt->l.bitmap[b];
     size   = (nat)large_srt->l.size;
-    p      = large_srt->srt;
+    p      = (StgClosure **)large_srt->srt;
     for (i = 0; i < size; ) {
        if ((bitmap & 1) != 0) {
            evacuate(*p);