Table 1: Part of the HeapLayers library, divided by category.

Top Heaps
mallocHeap A thin layer over malloc
mmapHeap A thin layer over the virtual memory manager
sbrkHeap A thin layer over sbrk (contiguous memory) Building-Block Heaps
AdaptHeap Adapts data structures for use as a heap
BoundedFreelistHeap A free list with a bound on length
ChunkHeap Manages memory in chunks of a given size
CoalesceHeap Performs coalescing and splitting
FreelistHeap A free list (caches freed objects)
Combining Heaps
HybridHeap Uses one heap for small objects and another for large objects
SegHeap A general segregated fits allocator
StrictSegHeap A strict segregated fits allocator
Utility Layers
ANSIWrapper Provides ANSI-malloc compliance
DebugHeap Checks for a variety of allocation errors
LockedHeap Code-locks a heap for thread safety
PerClassHeap Uses a heap as a per-class allocator
PHOThreadHeap A private heaps with ownership allocator [5]
ProfileHeap Collects and outputs fragmentation statistics
ThreadHeap A pure private heaps allocator [5]
ExceptionHeap Throws an exception when the parent heap is out of memory
TraceHeap Outputs a trace of allocations
UniqueHeap A heap type that refers to one heap object
Object Representation
CoalesceableHeap Provides support for coalescing
SizeHeap Records object sizes in a header
Special-Purpose Heaps
ObstackHeap A heap optimized for stack-like behavior and fast resizing
ZoneHeap A zone ("region") allocator
XallocHeap A heap optimized for stack-like behavior
General-Purpose Heaps
KingsleyHeap Fast but high fragmentation
LeaHeap Not quite as fast but low fragmentation