summaryrefslogtreecommitdiff
path: root/ghc/rts/Schedule.c
diff options
context:
space:
mode:
Diffstat (limited to 'ghc/rts/Schedule.c')
-rw-r--r--ghc/rts/Schedule.c14
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);
}
/* -----------------------------------------------------------------------------