diff options
Diffstat (limited to 'ghc/rts/Schedule.c')
-rw-r--r-- | ghc/rts/Schedule.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/ghc/rts/Schedule.c b/ghc/rts/Schedule.c index 04ecaf03c1..50009f2721 100644 --- a/ghc/rts/Schedule.c +++ b/ghc/rts/Schedule.c @@ -1,5 +1,5 @@ /* --------------------------------------------------------------------------- - * $Id: Schedule.c,v 1.65 2000/04/07 09:47:38 simonmar Exp $ + * $Id: Schedule.c,v 1.66 2000/04/11 16:36:53 sewardj Exp $ * * (c) The GHC Team, 1998-2000 * @@ -1089,7 +1089,7 @@ schedule( void ) #ifdef SMP IF_DEBUG(scheduler,sched_belch("doing GC")); #endif - GarbageCollect(GetRoots); + GarbageCollect(GetRoots,rtsFalse); ready_to_gc = rtsFalse; #ifdef SMP pthread_cond_broadcast(&gc_pending_cond); @@ -1943,7 +1943,13 @@ void (*extra_roots)(void); void performGC(void) { - GarbageCollect(GetRoots); + GarbageCollect(GetRoots,rtsFalse); +} + +void +performMajorGC(void) +{ + GarbageCollect(GetRoots,rtsTrue); } static void @@ -1958,7 +1964,7 @@ performGCWithRoots(void (*get_roots)(void)) { extra_roots = get_roots; - GarbageCollect(AllRoots); + GarbageCollect(AllRoots,rtsFalse); } /* ----------------------------------------------------------------------------- |