X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2Fsm%2FMarkWeak.h;h=018dd6cd798cbc90cf71de6f4060b4a07b8eee3f;hb=53628e913632cac29d54da914040e39add334784;hp=0b5bd1ed8fd34a5eba44bae8d7bef96c4f863ccb;hpb=ab0e778ccfde61aed4c22679b24d175fc6cc9bf3;p=ghc-hetmet.git diff --git a/rts/sm/MarkWeak.h b/rts/sm/MarkWeak.h index 0b5bd1e..018dd6c 100644 --- a/rts/sm/MarkWeak.h +++ b/rts/sm/MarkWeak.h @@ -1,15 +1,30 @@ /* ----------------------------------------------------------------------------- * - * (c) The GHC Team 1998-2006 + * (c) The GHC Team 1998-2008 * * Weak pointers and weak-like things in the GC * + * Documentation on the architecture of the Garbage Collector can be + * found in the online commentary: + * + * http://hackage.haskell.org/trac/ghc/wiki/Commentary/Rts/Storage/GC + * * ---------------------------------------------------------------------------*/ +#ifndef SM_MARKWEAK_H +#define SM_MARKWEAK_H + +BEGIN_RTS_PRIVATE + extern StgWeak *old_weak_ptr_list; extern StgTSO *resurrected_threads; +extern StgTSO *exception_threads; void initWeakForGC ( void ); rtsBool traverseWeakPtrList ( void ); void markWeakPtrList ( void ); rtsBool traverseBlackholeQueue ( void ); + +END_RTS_PRIVATE + +#endif /* SM_MARKWEAK_H */