diff options
author | Simon Marlow <simonmar@microsoft.com> | 2006-10-24 09:13:57 +0000 |
---|---|---|
committer | Simon Marlow <simonmar@microsoft.com> | 2006-10-24 09:13:57 +0000 |
commit | ab0e778ccfde61aed4c22679b24d175fc6cc9bf3 (patch) | |
tree | a0f6148a77644c5a7baa68b521bf3b1116dce50b /rts/sm/MarkWeak.h | |
parent | 2246c514eade324d70058ba3135dc0c51ee9353b (diff) | |
download | haskell-ab0e778ccfde61aed4c22679b24d175fc6cc9bf3.tar.gz |
Split GC.c, and move storage manager into sm/ directory
In preparation for parallel GC, split up the monolithic GC.c file into
smaller parts. Also in this patch (and difficult to separate,
unfortunatley):
- Don't include Stable.h in Rts.h, instead just include it where
necessary.
- consistently use STATIC_INLINE in source files, and INLINE_HEADER
in header files. STATIC_INLINE is now turned off when DEBUG is on,
to make debugging easier.
- The GC no longer takes the get_roots function as an argument.
We weren't making use of this generalisation.
Diffstat (limited to 'rts/sm/MarkWeak.h')
-rw-r--r-- | rts/sm/MarkWeak.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/rts/sm/MarkWeak.h b/rts/sm/MarkWeak.h new file mode 100644 index 0000000000..0b5bd1ed8f --- /dev/null +++ b/rts/sm/MarkWeak.h @@ -0,0 +1,15 @@ +/* ----------------------------------------------------------------------------- + * + * (c) The GHC Team 1998-2006 + * + * Weak pointers and weak-like things in the GC + * + * ---------------------------------------------------------------------------*/ + +extern StgWeak *old_weak_ptr_list; +extern StgTSO *resurrected_threads; + +void initWeakForGC ( void ); +rtsBool traverseWeakPtrList ( void ); +void markWeakPtrList ( void ); +rtsBool traverseBlackholeQueue ( void ); |