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
TySis 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
Free-starting constructor for less syntactic overhead.