The OpenD Programming Language

EHHeap

Heap dedicated for CatchableTypeArray/CatchableType/TypeDescriptor structs of cached _ThrowInfos. The heap is used to keep these structs tightly together, as they are referenced via 32-bit offsets from a common base. We simply use the heap's start as base (instead of the actual image base), and malloc() returns an offset. The allocated structs are all cached and never released, so this heap can only grow. The offsets remain constant after a grow, so it's only the base which may change.

version(CRuntime_Microsoft && !Win32)
struct EHHeap {
void* base;
size_t capacity;
size_t length;
}

Meta