diff --git a/mps/manual/wiki/glossary.html b/mps/manual/wiki/glossary.html index 7291412aefd..a43bfeb62b7 100644 --- a/mps/manual/wiki/glossary.html +++ b/mps/manual/wiki/glossary.html @@ -86,9 +86,75 @@ memory for an allocation point. + +
This memory will be used for client objects. + There are two interfaces: + a high-level "segment" interface, + and a simpler "arena memory" interface.
+= a contiguous piece of memory of arbitrary size, + with associated properties for participating in garbage + collection (see SegStruct).
+A pool may call SegAlloc() to request a segment from the arena. + The segment is the unit of pool-to-pool and pool-to-MPM + interaction for GC.
+Design: design/seg.
+Interface: SegAlloc() et al in mpm.h.
+Historical note: before 'sunset on segments' (1999-11-18, change 21000) a + segment was a VM page.
+= a contiguous piece of memory of arbitrary size, + returned by ArenaAlloc()
+A pool may call ArenaAlloc() to request raw memory from the + arena. This is a simpler interface than segments, suitable + for simple pools that do not participate in garbage collection, + pools used internally by the MPM, etc.
+(Note: this ArenaAlloc() interface is sometimes + called the "tract" interface).
+This memory will be used for the pool's administrative + datastructures, such as allocation + tables.
+Pools use ControlAlloc() and ControlFree() to obtain + or free control memory.
+See tract.c.
+= a contiguous (I think) piece of address space that has + been reserved (I think) by the arena
+arena->primary points to the arena's first chunk
+Other terms: