89 | | === The [wiki:Commentary/Rts/StorageManager Storage Manager] === |
| 92 | === The [wiki:Commentary/Rts/Storage Storage Manager] === |
| 93 | |
| 94 | [http://darcs.haskell.org/ghc/rts/sm/Storage.c sm/Storage.c]:: |
| 95 | Top-level of the storage manager. |
| 96 | |
| 97 | [http://darcs.haskell.org/ghc/rts/sm/MBlock.c sm/MBlock.c], [http://darcs.haskell.org/ghc/rts/sm/MBlock.h sm/MBlock.h], [http://darcs.haskell.org/ghc/rts/sm/OSMem.h sm/OSMem.h]:: |
| 98 | The "megablock" allocator; this is the thin layer between the RTS and |
| 99 | the operating system for allocating memory. |
| 100 | |
| 101 | [http://darcs.haskell.org/ghc/rts/sm/BlockAlloc.c sm/BlockAlloc.c], [http://darcs.haskell.org/ghc/rts/sm/BlockAlloc.h sm/BlockAlloc.h]:: |
| 102 | The low-level block allocator, requires only {{{MBlock}}}. |
| 103 | |
| 104 | [http://darcs.haskell.org/ghc/rts/sm/GC.c sm/GC.c], [http://darcs.haskell.org/ghc/rts/sm/Scav.c sm/Scav.c], [http://darcs.haskell.org/ghc/rts/sm/Evac.c sm/Evac.c], [http://darcs.haskell.org/ghc/rts/sm/GCUtils.c sm/GCUtils.c], [http://darcs.haskell.org/ghc/rts/sm/MarkWeak.c sm/MarkWeak.c]:: |
| 105 | The generational copying garbage collector. |
| 106 | |
| 107 | [http://darcs.haskell.org/ghc/rts/sm/Compact.c sm/Compact.c], [http://darcs.haskell.org/ghc/rts/sm/Compact.h sm/Compact.h]:: |
| 108 | The compacting garbage collector. |
| 109 | |
| 110 | [http://darcs.haskell.org/ghc/rts/ClosureFlags.c ClosureFlags.c]:: |
| 111 | Determining properties of various types of closures. |
| 112 | |
| 113 | [http://darcs.haskell.org/ghc/rts/Sanity.c Sanity.c], [http://darcs.haskell.org/ghc/rts/Sanity.h Sanity.h]:: |
| 114 | A sanity-checker for the heap and related data structures. |
| 115 | |
| 116 | [http://darcs.haskell.org/ghc/rts/Stats.c Stats.c], [http://darcs.haskell.org/ghc/rts/Stats.h Stats.h]:: |
| 117 | Statistics for the garbage collector and storage manager. |
| 118 | |
| 119 | [http://darcs.haskell.org/ghc/rts/Stable.c Stable.c]:: |
| 120 | Stable names and stable pointers. |
| 121 | |
| 122 | [http://darcs.haskell.org/ghc/rts/Weak.c Weak.c], [http://darcs.haskell.org/ghc/rts/Weak.h Weak.h]:: |
| 123 | Weak pointers. |
| 124 | |
| 125 | === Data Structures === |
| 126 | |
| 127 | Data structure abstractions for use in the RTS: |
94 | | [http://darcs.haskell.org/ghc/rts/BlockAlloc.c BlockAlloc.c], [http://darcs.haskell.org/ghc/rts/BlockAlloc.h BlockAlloc.h]:: |
95 | | The low-level block allocator, requires only {{{MBlock}}}. |
96 | | |
97 | | [http://darcs.haskell.org/ghc/rts/ClosureFlags.c ClosureFlags.c]:: |
98 | | Determining properties of various types of closures. |
99 | | |
100 | | [http://darcs.haskell.org/ghc/rts/GC.c GC.c]:: |
101 | | The generational copying garbage collector. |
102 | | |
103 | | [http://darcs.haskell.org/ghc/rts/GCCompact.c GCCompact.c], [http://darcs.haskell.org/ghc/rts/GCCompact.h GCCompact.h]:: |
104 | | The compacting garbage collector. |
105 | | |
109 | | [http://darcs.haskell.org/ghc/rts/MBlock.c MBlock.c], [http://darcs.haskell.org/ghc/rts/MBlock.h MBlock.h], [http://darcs.haskell.org/ghc/rts/OSMem.h OSMem.h]:: |
110 | | The "megablock" allocator; this is the thin layer between the RTS and |
111 | | the operating system for allocating memory. |
112 | | |
113 | | [http://darcs.haskell.org/ghc/rts/Sanity.c Sanity.c], [http://darcs.haskell.org/ghc/rts/Sanity.h Sanity.h]:: |
114 | | A sanity-checker for the heap and related data structures. |
115 | | |
116 | | [http://darcs.haskell.org/ghc/rts/Stats.c Stats.c], [http://darcs.haskell.org/ghc/rts/Stats.h Stats.h]:: |
117 | | Statistics for the garbage collector and storage manager. |
118 | | |
119 | | [http://darcs.haskell.org/ghc/rts/Stable.c Stable.c]:: |
120 | | Stable names and stable pointers. |
121 | | |
122 | | [http://darcs.haskell.org/ghc/rts/Storage.c Storage.c]:: |
123 | | Top-level of the storage manager. |
124 | | |
125 | | [http://darcs.haskell.org/ghc/rts/Weak.c Weak.c], [http://darcs.haskell.org/ghc/rts/Weak.h Weak.h]:: |
126 | | Weak pointers. |
127 | | |