X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=rts%2Fsm%2FGC.h;h=920b464bbbca237de9b1171ae7a46ae6cdea7e6d;hp=fb4381dc0b150cedf4e7e54d7bc70cef3b15255b;hb=a2a67cd520b9841114d69a87a423dabcb3b4368e;hpb=5d379cbe65e406d5c3a848fe7fcd090cafbfeb78 diff --git a/rts/sm/GC.h b/rts/sm/GC.h index fb4381d..920b464 100644 --- a/rts/sm/GC.h +++ b/rts/sm/GC.h @@ -11,8 +11,15 @@ * * ---------------------------------------------------------------------------*/ -#ifndef GC_H -#define GC_H +#ifndef SM_GC_H +#define SM_GC_H + +void GarbageCollect(rtsBool force_major_gc, nat gc_type, Capability *cap); + +typedef void (*evac_fn)(void *user, StgClosure **root); + +StgClosure * isAlive ( StgClosure *p ); +void markCAFs ( evac_fn evac, void *user ); extern nat N; extern rtsBool major_gc; @@ -45,9 +52,12 @@ extern StgWord64 whitehole_spin; void gcWorkerThread (Capability *cap); void initGcThreads (void); void freeGcThreads (void); + +#if defined(THREADED_RTS) void waitForGcThreads (Capability *cap); void releaseGCThreads (Capability *cap); +#endif #define WORK_UNIT_WORDS 128 -#endif /* GC_H */ +#endif /* SM_GC_H */