Expand description

The virtual memory representation of the MIR interpreter.


pub use init_mask::InitChunk;
pub use init_mask::InitChunkIter;


init_mask 🔒
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 Outer type and an Inner type, where Outer is a newtype around Interned<Inner>, and all the operations are done on Outer, because all occurrences are interned. E.g. Ty is an outer type and TyS is its inner type.


We have our own error type that does not know about the AllocId; that information is added when converting to InterpError.


This is the maximum size we will hash at a time, when interning an Allocation and its 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 Hash impl 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 MAX_BYTES_TO_HASH bytes.


Free-starting constructor for less syntactic overhead.

Type Definitions