Source scalar/memory/pointer intrinsic dispatch from pinned core
interpret/intrinsics.rs and Miri intrinsics/{mod,math}.rs. Unhandled names
return false for source MIR fallback; recognized missing families fail visibly.
No arithmetic branch delegates to a generic name-to-result callback.
- simdHooks : IntrinsicSimdHooks P S C V
- atomicHooks : IntrinsicAtomicHooks P S C V
- typeIdHooks : IntrinsicTypeIdHooks P S C V
- varArgsHooks : IntrinsicVarArgsHooks P S C V
- varArgsFuel : Nat
- target : ABI.TargetDataLayout
- pointerOffset : ABI.Size
Scalar::from_target_usize uses pointer_offset; target-sized reads use pointer_size.
- maxSizeOfVal : ABI.Size
- destLayout : V → ABI.TyAndLayout MIR.TyId
- layoutOf : C → MIR.TyId → RvalueM S (ABI.TyAndLayout MIR.TyId)
- integerKind : C → MIR.TyId → RvalueM S MIR.IntegerKind
- usizeLayout : C → RvalueM S (ABI.TyAndLayout MIR.TyId)
- isizeLayout : C → RvalueM S (ABI.TyAndLayout MIR.TyId)
- readImmediate : C → OpTy P → RvalueM S (RvalueImmTy P)
- evalOperand : C → MIR.Operand → RvalueM S (OpTy P)
- evalOperandAt : C → OperandPath → MIR.Operand → RvalueM S (OpTy P)
- writePointer : C → Memory.Pointer (Option P) → V → RvalueM S Unit
- placePointer : V → Except StepError (Memory.Pointer (Option P))
- immPointerToPlace : C → RvalueImmTy P → RvalueM S (OpTy P)
- scalarOps : ScalarOpsHooks P S C
- floatOps : FloatOpsHooks P S C
- applyFloatNondeterminism : C → RvalueImmTy P → RvalueM S (RvalueImmTy P)
- floatFastError : C → RvalueImmTy P → Nat → RvalueM S (RvalueImmTy P)
- checkAlign : C → Memory.Pointer (Option P) → ABI.Align → RvalueM S Unit
- memCopy : C → Memory.Pointer (Option P) → Memory.Pointer (Option P) → ABI.Size → Bool → RvalueM S Unit
- allocateStack : C → ABI.TyAndLayout MIR.TyId → RvalueM S V
- deallocateStack : C → Memory.Pointer (Option P) → RvalueM S Unit
- enforceValidity : C → ABI.TyAndLayout MIR.TyId → RvalueM S Bool
- enforceValidityRecursively : C → ABI.TyAndLayout MIR.TyId → RvalueM S Bool
- tryAllocId : C → Memory.Pointer (Option P) → RvalueM S (Except UInt64 (Memory.AllocId × ABI.Size))
- readDiscriminant : C → OpTy P → RvalueM S MIR.VariantIndex
- discriminantForVariant : C → MIR.TyId → MIR.VariantIndex → RvalueM S (RvalueImmTy P)
- variantLayout : C → ABI.TyAndLayout MIR.TyId → Nat → RvalueM S (ABI.TyAndLayout MIR.TyId)
- typeNameConstant : C → MIR.TyId → ABI.TyAndLayout MIR.TyId → RvalueM S (OpTy P)
- callerLocationConstant : C → ABI.TyAndLayout MIR.TyId → RvalueM S (OpTy P)
- returnToBlock : C → Option MIR.BasicBlockId → RvalueM S Unit
- mathHooks : Option (Math.Hooks P S C V)
Optional source Miri math-family implementation. This is a typed capability, not a name/result oracle; ordinary core operations remain in their existing branches and the math family is consulted only at the unknown-intrinsic fallback point.
Instances For
Shared memory operations need no function instance, generic-constant queries, SIMD/atomic dispatcher, return destination or fallback dictionary.
- target : ABI.TargetDataLayout
- maxSizeOfVal : ABI.Size
- layoutOf : C → MIR.TyId → RvalueM S (ABI.TyAndLayout MIR.TyId)
- readImmediate : C → OpTy P → RvalueM S (RvalueImmTy P)
- checkAlign : C → Memory.Pointer (Option P) → ABI.Align → RvalueM S Unit
- memCopy : C → Memory.Pointer (Option P) → Memory.Pointer (Option P) → ABI.Size → Bool → RvalueM S Unit
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Source count read precedes pointee layout and multiplication; pointer reads and alignment checks follow, including for zero-length copies.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Miri.Interpreter.Intrinsics.copy h choice source dest count nonoverlapping = Miri.Interpreter.Intrinsics.copyWith h.memory choice source dest count nonoverlapping
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Core ptr_offset_from computes addresses only for address provenance, or common-allocation offsets otherwise; both directed ranges must be valid.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Portable suffixed float intrinsic families, including genuinely fused FMA. Only the machine's choice of fusion/equal operand/NaN remains effectful.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Source handled-result distinction: false permits the compiler's intrinsic MIR fallback. This never manufactures a successful result for an unknown name.
Instances For
MIR fallback arithmetic uses the existing concrete scalar engine; intrinsic names that the pinned dispatcher does not intercept must enter that fallback rather than acquiring invented dispatcher behavior.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Actual memory-copy primitive adapter, preserving updated memory and machine state even on failure. Error classification is an explicit required boundary.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Source statement intrinsics preserve operand evaluation order and UB.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Miri.Interpreter.Intrinsics.evalNondiverging h choice intrinsic = Miri.Interpreter.Intrinsics.evalNondivergingWith h.memory h.evalOperandAt choice intrinsic