diff options
Diffstat (limited to 'rts/sm/GC.h')
-rw-r--r-- | rts/sm/GC.h | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/rts/sm/GC.h b/rts/sm/GC.h index c6b0c13a46..437a25f8d9 100644 --- a/rts/sm/GC.h +++ b/rts/sm/GC.h @@ -26,6 +26,8 @@ typedef void (*evac_fn)(void *user, StgClosure **root); StgClosure * isAlive ( StgClosure *p ); void markCAFs ( evac_fn evac, void *user ); +bool doIdleGCWork(Capability *cap, bool all); + extern uint32_t N; extern bool major_gc; @@ -40,13 +42,13 @@ extern uint32_t mutlist_MUTVARS, mutlist_MUTARRS, mutlist_MVARS, mutlist_OTHERS, mutlist_TVAR, mutlist_TVAR_WATCH_QUEUE, mutlist_TREC_CHUNK, - mutlist_TREC_HEADER, - mutlist_ATOMIC_INVARIANT, - mutlist_INVARIANT_CHECK_QUEUE; + mutlist_TREC_HEADER; #endif #if defined(PROF_SPIN) && defined(THREADED_RTS) -extern StgWord64 whitehole_spin; +extern volatile StgWord64 whitehole_gc_spin; +extern volatile StgWord64 waitForGcThreads_spin; +extern volatile StgWord64 waitForGcThreads_yield; #endif void gcWorkerThread (Capability *cap); |