Backing ArrayBuffer (or SharedArrayBuffer). If not given, a new one will be created with given size.
Flag to configure memory block compaction. If true, adjoining free blocks (in terms of address space) will be merged to minimize fragementation.
Byte address (+1) of the end of the memory region managed by the MemPool.
Only used if split behavior is enabled. Defines min number of excess bytes available in a block for memory block splitting to occur.
Byte size for newly created ArrayBuffers (if buf is not given).
Flag to configure memory block splitting. If true, and when the allocator is re-using a previously freed block larger than the requested size, the block will be split to minimize wasted/unused memory. The splitting behavior can further customized via the minSplit option.
Anchor index (byte address) inside the array buffer. The MemPool stores its internal state from the given address and heap space starts at least 32 bytes later (depending on chosen align value). Unlike allocator state variables, `start`` cannot be saved inside the array buffer itself. If the ArrayBuffer is passed to other consumers they must use the same start value. MUST be multiple of 4.
Number of bytes to align memory blocks to. MUST be a power of 2 and >= 8. Use 16 if the pool is being used for allocating memory used in SIMD operations.