I wrote: > However, here's a different idea: how badly do we need the "size" > field in GenerationChunk? We're not going to ever recycle the > chunk, IIUC, so it doesn't matter exactly how big it is. When > doing MEMORY_CONTEXT_CHECKING we'll still want requested_size, > but that's not relevant to performance-critical cases.
Refining that a bit: we could provide the size field only when MEMORY_CONTEXT_CHECKING and/or CLOBBER_FREED_MEMORY are defined. That would leave us with GenerationRealloc and GenerationGetChunkSpace not being supportable operations, but I wonder how much we need either. BTW, shouldn't GenerationCheck be ifdef'd out if MEMORY_CONTEXT_CHECKING isn't set? aset.c does things that way. regards, tom lane