X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2Fsm%2FGC.h;h=5e2e3a57498862a15c8be1f95e34f35efcfc1842;hb=66579ff945831c5fc9a17c58c722ff01f2268d76;hp=d3ce8cf92d13db88f62d4dc0b96039c8024d12d9;hpb=1ed01a871030f05905a9595e4837dfffc087ef64;p=ghc-hetmet.git diff --git a/rts/sm/GC.h b/rts/sm/GC.h index d3ce8cf..5e2e3a5 100644 --- a/rts/sm/GC.h +++ b/rts/sm/GC.h @@ -1,6 +1,6 @@ /* ----------------------------------------------------------------------------- * - * (c) The GHC Team 1998-2006 + * (c) The GHC Team 1998-2008 * * Generational garbage collector * @@ -16,12 +16,6 @@ extern nat N; extern rtsBool major_gc; -extern nat evac_gen; -extern rtsBool eager_promotion; -extern rtsBool failed_to_evac; - -extern StgClosure* static_objects; -extern StgClosure* scavenged_static_objects; extern bdescr *mark_stack_bdescr; extern StgPtr *mark_stack; @@ -32,13 +26,22 @@ extern rtsBool mark_stack_overflowed; extern bdescr *oldgen_scan_bd; extern StgPtr oldgen_scan; -extern lnat new_blocks; // blocks allocated during this GC -extern lnat new_scavd_blocks; // ditto, but depth-first blocks +extern long copied; #ifdef DEBUG extern nat mutlist_MUTVARS, mutlist_MUTARRS, mutlist_MVARS, mutlist_OTHERS; #endif -StgClosure * isAlive(StgClosure *p); +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) +extern StgWord64 whitehole_spin; +#endif + +#define WORK_UNIT_WORDS 128 #endif /* GC_H */