X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2Fsm%2FGC.h;h=fb6e385979fd8b4e10d290006bd5c12fbfe1d3f2;hb=1c4738ba866893b3b5c7c9952e9a1bf48e2aa055;hp=913df24e2e98b482a7be22f77f09f6bb70f94b91;hpb=a370654a872838c43e63bdd6cc279c0ee9913cdf;p=ghc-hetmet.git diff --git a/rts/sm/GC.h b/rts/sm/GC.h index 913df24..fb6e385 100644 --- a/rts/sm/GC.h +++ b/rts/sm/GC.h @@ -28,20 +28,25 @@ extern StgPtr oldgen_scan; extern long copied; +extern rtsBool work_stealing; + #ifdef DEBUG extern nat mutlist_MUTVARS, mutlist_MUTARRS, mutlist_MVARS, mutlist_OTHERS; #endif -extern void markSomeCapabilities (evac_fn evac, void *user, nat i0, nat delta); - #ifdef THREADED_RTS extern SpinLock gc_alloc_block_sync; #endif #if defined(PROF_SPIN) && defined(THREADED_RTS) -StgWord64 whitehole_spin; +extern StgWord64 whitehole_spin; #endif +void gcWorkerThread (Capability *cap); +void initGcThreads (void); +void waitForGcThreads (Capability *cap); +void releaseGCThreads (Capability *cap); + #define WORK_UNIT_WORDS 128 #endif /* GC_H */