- Run-length encoding of the uninit mask. Used to copy parts of a mask multiple times to another allocation.
- A bitmask where each bit refers to the byte with the same index. If the bit is
true, the byte is initialized. If it is
falsethe byte is uninitialized. The actual bits are only materialized when needed, and we try to keep this data lazy as long as possible. Currently, if all the blocks have the same value, then the mask represents either a fully initialized or fully uninitialized const allocation, so we can only store that single value.
- The actual materialized blocks of the bitmask, when we can’t keep the
- A contiguous chunk of initialized or uninitialized memory.
- Block 🔒