Documentation

Miri.Interpreter.Native.Supervisor

Resumable source supervisor and child-side FFI protocol. A finite prefix ending in a wait is pending execution, never a completed successful call.

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

          One supervisor transition, preserving source ptrace/signal ordering across explicit pending waits. In particular protection is restored before resumption.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            Instances For
              def Miri.Interpreter.Native.Trace.doFfiLocked {S C A : Type} (h : ChildHooks S C) (choice : C) (action : RvalueM S A) :

              Caller must hold the shared supervisor mutex. Protected execution errors abort the external process in Rust; they do not manufacture cleanup/success.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                def Miri.Interpreter.Native.Trace.doFfi {S C A : Type} (h : ChildHooks S C) (choice : C) (action : RvalueM S A) :

                Source lock is acquired even with tracing disabled. A normal interpreter error unlocks via the Rust mutex guard; a backend process abort has no successor.

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For
                  def Miri.Interpreter.Native.Trace.rawCall {S C A : Type} (h : ChildHooks S C) (choice : C) (action : RvalueM S A) :

                  Native InterpCx interchange is set outside the supervisor lock and cleared only after its normal return. Callback aborts cannot return fabricated bytes.

                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For
                    def Miri.Interpreter.Native.Trace.registerRetcode {S C : Type} (h : ChildHooks S C) (choice : C) (code : Int32) :
                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For