The keeper block was introduced in commit
1b0d9aa4f7, but it forgot
to update this comment.
* GenerationReset
* Frees all memory which is allocated in the given set.
*
- * The code simply frees all the blocks in the context - we don't keep any
- * keeper blocks or anything like that.
+ * The initial "keeper" block (which shares a malloc chunk with the context
+ * header) is not given back to the operating system though. In this way, we
+ * don't thrash malloc() when a context is repeatedly reset after small
+ * allocations.
*/
void
GenerationReset(MemoryContext context)