Documentation

Miri.Interpreter.Native.Pipeline

Rust-side native call staging from pinned shims/native_lib/mod.rs. Required leaves describe concrete compiler, allocation, and external host operations; libffi does not acquire a fabricated pure Lean implementation.

structure Miri.Interpreter.Native.Hooks (P S C V Code : Type) :
Instances For
    def Miri.Interpreter.Native.queryLayout {P S C V Code : Type} (h : Hooks P S C V Code) (choice : C) (ty : MIR.TyId) :

    A known compiler layout failure is unsupported FFI type; an unavailable compiler query remains an outer RvalueM error and is never converted to success.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      def Miri.Interpreter.Native.ffiType {P S C V Code : Type} (h : Hooks P S C V Code) (choice : C) :

      Type conversion fails before any operand inspection/exposure. The explicit query fuel is an obligation on recursive compiler metadata, never a success default.

      Equations
      Instances For
        def Miri.Interpreter.Native.argument {P S C V Code : Type} [Memory.PointerProvenance P] (h : Hooks P S C V Code) (choice : C) (fuel : Nat) (tracing : Bool) (value : OpTy P) :

        Indirect argument inspection deliberately allows uninit and pointer bytes; it must use the outside-interpreter accessor, not normal Rust memory reads.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          def Miri.Interpreter.Native.applyAccesses {P S C V Code : Type} (h : Hooks P S C V Code) (choice : C) (events : Array AccessEvent) :
          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            def Miri.Interpreter.Native.returnToMemory {P S C V Code : Type} (h : Hooks P S C V Code) (choice : C) (bytes : Array UInt8) (dest : V) :
            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              def Miri.Interpreter.Native.findSymbol {P S C V Code : Type} (h : Hooks P S C V Code) (choice : C) (name : String) :
              RvalueM S (Option Code)
              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                def Miri.Interpreter.Native.call {P S C V Code : Type} [Memory.PointerProvenance P] (h : Hooks P S C V Code) (choice : C) (fuel : Nat) (name : String) (dest : V) (args : Array (OpTy P)) :

                Full Rust-side call pipeline: lookup, argument conversion, return ABI query, reachable-memory preparation, host call, trace application, return validation.

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