... | ... | @@ -16,8 +16,10 @@ Most roots belong to a particular Capability. Traversing the roots of a capbili |
|
|
In addition, each Capability has a [remembered set](commentary/rts/storage/gc/remembered-sets) for each generation. A remembered set is a source of roots if that generation is *not* being collected during this cycle; otherwise the remembered set is discarded. During GC, all remembered sets are discarded and new ones will be constructed for each generation and Capability; see `scavenge_capability_mut_lists()` in [rts/sm/Scav.c](/trac/ghc/browser/ghc/rts/sm/Scav.c).
|
|
|
|
|
|
|
|
|
|
|
|
There are also roots from other parts of the system:
|
|
|
|
|
|
|
|
|
- Signal handlers (only in the non-threaded RTS; in the threaded RTS signal handlers are maintained by the IO manager in `GHC.Conc` rather than the RTS).
|
|
|
- [Weak pointers](commentary/rts/storage/gc/weak)
|
|
|
- Stable pointers? |
|
|
\ No newline at end of file |
|
|
- Stable pointers? |