[project @ 1999-02-24 16:30:45 by simonm]
authorsimonm <unknown>
Wed, 24 Feb 1999 16:30:45 +0000 (16:30 +0000)
committersimonm <unknown>
Wed, 24 Feb 1999 16:30:45 +0000 (16:30 +0000)
Don't promote blackholes from generation 0 if possible.

ghc/rts/GC.c

index 4ea3694..45d1422 100644 (file)
@@ -1,5 +1,5 @@
 /* -----------------------------------------------------------------------------
- * $Id: GC.c,v 1.39 1999/02/24 16:25:40 simonm Exp $
+ * $Id: GC.c,v 1.40 1999/02/24 16:30:45 simonm Exp $
  *
  * (c) The GHC Team 1998-1999
  *
@@ -2247,7 +2247,15 @@ scavenge_stack(StgPtr p, StgPtr stack_end)
            }
            continue;
          }
-         step = bd->step->to;
+
+         /* Don't promote blackholes */
+         step = bd->step;
+         if (!(step->gen->no == 0 && 
+               step->no != 0 &&
+               step->no == step->gen->n_steps-1)) {
+           step = step->to;
+         }
+
          switch (type) {
          case BLACKHOLE:
          case CAF_BLACKHOLE: