Documentation

Miri.Input.EvalPortableForeignConstruction

Source construction for the portable Miri and backtrace extern families. The physical operations are projected from canonical machine state; the remaining fields are explicit host/compiler effects, never complete shim operation records supplied as opaque fallbacks.

@[reducible, inline]
abbrev Miri.Input.EvalPortableForeignConstruction.User (Os R P H D O Aff B Host : Type) :
Equations
Instances For
    @[reducible, inline]
    abbrev Miri.Input.EvalPortableForeignConstruction.State (Os R P H D O Aff B Host : Type) :
    Equations
    Instances For
      @[reducible, inline]
      abbrev Miri.Input.EvalPortableForeignConstruction.World (Os R P H D O Aff B Host : Type) :
      Equations
      Instances For
        @[reducible, inline]
        abbrev Miri.Input.EvalPortableForeignConstruction.Stored (Os R P H D O Aff B Host : Type) :
        Equations
        Instances For
          @[reducible, inline]
          abbrev Miri.Input.EvalPortableForeignConstruction.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
            structure Miri.Input.EvalPortableForeignConstruction.MiriEffects (Os R P H D O Aff B Host HostPath : Type) :

            Host/source effects which have no canonical physical implementation in MiriShimMachine. stdout/stderr failures are interpreted by the caller using Miri's ignored-I/O-error policy; absence of a host implementation is an error.

            Instances For

              Build the Miri-only operation record from canonical memory/provenance/GC and thread machines. The caller supplies only the true host, diagnostic, and selected-backend effects. Allocation, scalar access, byte slices, unwind, bookkeeping, yielding, and symbolic promises come from MiriShimMachine.core.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                def Miri.Input.EvalPortableForeignConstruction.backtraceCore {Os R P H D O Aff B Host C : Type} [DecidableEq Memory.MiriMemoryKind] (access : Interpreter.PlaceMachine.AccessConfig Memory.MiriMemoryKind (EvalCoreMachine.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) (choice : C) (prepared : CompilerBacktraceSource.Prepared) (hostUsizeMax : Nat) (unitPointerLayout : M Os R P H D O Aff B Host Interpreter.LocalLayout) (misaligned : Memory.Pointer (Option Memory.Provenance) → ABI.Align → M Os R P H D O Aff B Host (Option Memory.Misalignment)) (functionPointer : Interpreter.CallInstance → M Os R P H D O Aff B Host (Memory.Pointer (Option Memory.Provenance))) (allocation : Memory.Pointer (Option Memory.Provenance) → M Os R P H D O Aff B Host (Memory.AllocId × ABI.Size)) (globalFunction : Memory.AllocId → M Os R P H D O Aff B Host (Option Interpreter.CallInstance)) (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) :

                Construct the connected backtrace family with real machine stack and memory operations, exact compiler-exported hygiene/source-map queries, and canonical function allocation/global lookup capabilities.

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

                  Full portable order uses the source Miri family, then backtrace, then memory/string. This constructor cannot accept whole Miri or backtrace Hooks; their physical portions are built from the canonical source machines above.

                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For
                    def Miri.Input.EvalPortableForeignConstruction.portableOtherFromSource {Os R P H D O Aff B Host C Other HostPath : Type} [DecidableEq Memory.MiriMemoryKind] (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 (Control Os R P H D O Aff B Host) C Interpreter.MachineHooks.FrameExtra Other) (choice : C) (thread : Interpreter.ThreadMachine.Hooks Memory.MiriMemoryKind (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 : MiriEffects Os R P H D O Aff B Host HostPath) (access : Interpreter.PlaceMachine.AccessConfig Memory.MiriMemoryKind (EvalCoreMachine.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) (prepared : CompilerBacktraceSource.Prepared) (hostUsizeMax : Nat) (unitPointerLayout : M Os R P H D O Aff B Host Interpreter.LocalLayout) (misaligned : Memory.Pointer (Option Memory.Provenance) → ABI.Align → M Os R P H D O Aff B Host (Option Memory.Misalignment)) (functionPointer : Interpreter.CallInstance → M Os R P H D O Aff B Host (Memory.Pointer (Option Memory.Provenance))) (allocation : Memory.Pointer (Option Memory.Provenance) → M Os R P H D O Aff B Host (Memory.AllocId × ABI.Size)) (globalFunction : Memory.AllocId → M Os R P H D O Aff B Host (Option Interpreter.CallInstance)) (adtReprC : MIR.TyId → M Os R P H D O Aff B Host (Option Bool)) (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-family constructor: no complete Miri or backtrace Hooks record crosses this boundary. Their operations are derived here from canonical machine configurations and exact compiler source tables.

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