Documentation

Miri.Input.EvalPortableForeignRuntime

Final compiler/runtime binding for the portable foreign source family. This layer replaces caller-chosen symbol, function-pointer, allocation and backtrace-global callbacks with the prepared compiler tables and canonical runtime registries. True host effects and physical machine configurations remain explicit.

@[reducible, inline]
abbrev Miri.Input.EvalPortableForeignRuntime.User (Os R P H D O Aff B Host : Type) :
Equations
Instances For
    @[reducible, inline]
    abbrev Miri.Input.EvalPortableForeignRuntime.State (Os R P H D O Aff B Host : Type) :
    Equations
    Instances For
      @[reducible, inline]
      abbrev Miri.Input.EvalPortableForeignRuntime.M (Os R P H D O Aff B Host A : Type) :
      Equations
      • One or more equations did not get rendered due to their size.
      Instances For

        The actual backtrace source engine uses CompilerBacktraceSource.Prepared from the final provider pipeline, FunctionPointers for concrete function identity/address/provenance, PointerPlaceMachine for source misalignment, and the exact compiler unit-pointer layout query.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For

          Attach the exact compiler-backed backtrace source family to an existing foreign resolver. Layout and source-map queries remain lazy until requested; other portable calls continue through the existing resolver.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            def Miri.Input.EvalPortableForeignRuntime.portableOther {Os R P H D O Aff B Host C Other HostPath : Type} [DecidableEq Memory.MiriMemoryKind] (providers : CompilerProviders.Prepared) (symbols : CompilerForeignSymbols.Prepared) (image : AllocationImage.Imported) (foreign : Interpreter.ForeignItems.Core Memory.Provenance (State Os R P H D O Aff B Host) (Interpreter.RuntimePlace Memory.Provenance) (Interpreter.RuntimePlace Memory.Provenance) (Memory.Pointer (Option Memory.Provenance)) Interpreter.LoadedBody Interpreter.CallInstance) (machine : Interpreter.MiriShimMachine.Hooks Memory.MiriMemoryKind (EvalPortableForeignConstruction.Control Os R P H D O Aff B Host) C Interpreter.MachineHooks.FrameExtra Other) (choice : C) (thread : Interpreter.ThreadMachine.Hooks Memory.MiriMemoryKind (EvalPortableForeignConstruction.EntryUser Os R P H D O Aff B Host) C O ABI.ExternAbi (ABI.FnAbi MIR.TyId) (ABI.ArgAbi MIR.TyId) Aff) (unitLayout : Interpreter.LocalLayout) (reuseClock : Option Concurrency.VectorIdx) (effects : EvalPortableForeignConstruction.MiriEffects Os R P H D O Aff B Host HostPath) (functionPointers : Interpreter.FunctionPointers.Hooks Memory.MiriMemoryKind (User Os R P H D O Aff B Host) O) (access : Interpreter.PlaceMachine.AccessConfig Memory.MiriMemoryKind (User Os R P H D O Aff B Host)) (arithmetic : Memory.PointerArithmetic) (projection : Interpreter.PlaceProjectionHooks Memory.Provenance (State Os R P H D O Aff B Host) C Interpreter.MachineHooks.FrameExtra) (hostUsizeMax : Nat) (memory : Interpreter.MemoryShims.CoreHooks Memory.Provenance (State Os R P H D O Aff B Host) (Interpreter.RuntimePlace Memory.Provenance) (Interpreter.RuntimePlace Memory.Provenance) Interpreter.LoadedBody Interpreter.CallInstance) (stringBudget : Nat) :

            Complete portable source family binding. Allocator identity, fallback function lookup and symbol-clash checks are compiler evidence; backtrace addresses and allocation identities are source machine registries. The only unbound external effects are the actual host/diagnostic effects in MiriEffects.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For