Module rustc_middle::mir::interpret::allocation
source · Expand description
The virtual memory representation of the MIR interpreter.
Re-exports§
pub use init_mask::InitChunk;pub use init_mask::InitChunkIter;
Modules§
- 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.
Structs§
- 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 anInnertype, whereOuteris a newtype aroundInterned<Inner>, and all the operations are done onOuter, because all occurrences are interned. E.g.Tyis an outer type andTyKindis its inner type.
Enums§
- We have our own error type that does not know about the
AllocId; that information is added when converting toInterpError.
Constants§
- This is the maximum size we will hash at a time, when interning an
Allocationand itsInitMask. 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 respectiveHashimpl 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_HASHbytes.
Traits§
- Functionality required for the bytes of an
Allocation.
Functions§
- Free-starting constructor for less syntactic overhead.