The virtual memory representation of the MIR interpreter.
- Store the provenance for each byte in the range, with a more efficient representation for the common case where PTR_SIZE consecutive bytes have the same provenance.
- The information that makes up a memory access: offset and size.
- This type represents an Allocation in the Miri/CTFE core engine.
- Interned types generally have an
Outertype and an
Outeris a newtype around
Interned<Inner>, and all the operations are done on
Outer, because all occurrences are interned. E.g.
Tyis an outer type and
TyKindis its inner type.
- We have our own error type that does not know about the
AllocId; that information is added when converting to
- This is the maximum size we will hash at a time, when interning an
InitMask. Note, we hash that amount of bytes twice: at the start, and at the end of a buffer. Used when these two structures are large: we only partially hash the larger fields in that situation. See the comment at the top of their respective
Hashimpl for more details.
- This is the maximum size (in bytes) for which a buffer will be fully hashed, when interning. Otherwise, it will be partially hashed in 2 slices, requiring at least 2
- Functionality required for the bytes of an
- Free-starting constructor for less syntactic overhead.