Documentation

Miri.Interpreter.MainMachine

Canonical eval.rs main/constructors/exit callback execution. Existing GlobalConstructors and callMain source policy is reused through transient typed views; all calls, return memory, TLS, termination and scheduler actions use actual full machine state and retain failed prefixes.

structure Miri.Interpreter.MainMachine.Hooks (U C O X F A Aff Payload : Type) :
Instances For
    def Miri.Interpreter.MainMachine.withTerminationPayload {U C O X F A Aff P Q : Type} (h : Hooks U C O X F A Aff P) :
    Hooks U C O X F A Aff Q

    Reassociate the unused termination-payload type parameter. The actual world payload, TLS/thread hooks, entry roots and every machine action remain the original ones; no synchronization metadata is converted.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      def Miri.Interpreter.MainMachine.mainQueries {U C O X F A Aff P : Type} (h : Hooks U C O X F A Aff P) (choice : C) (token : Nat) :
      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
          def Miri.Interpreter.MainMachine.invoke {U C O X F A Aff P : Type} (h : Hooks U C O X F A Aff P) (choice : C) :

          One source main callback invocation, excluding scheduler take/restore. Existing source ctor/callMain policies execute; exit uses the canonical ThreadTerminationMachine so TLS/free/join callbacks do not pass through stale memory-only legacy lifecycle hooks.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            Instances For
              def Miri.Interpreter.MainMachine.take {U C O X F A Aff P : Type} (h : Hooks U C O X F A Aff P) :

              Main and ordinary TLS closures share one actual scheduler callback path. Each callback is taken once; program-stop/error leaves it consumed.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                def Miri.Interpreter.MainMachine.restore {U C O X F A Aff P : Type} (h : Hooks U C O X F A Aff P) :
                Equations
                Instances For
                  def Miri.Interpreter.MainMachine.bindLoop {U C O X F A Aff P : Type} (h : Hooks U C O X F A Aff P) (base : RunLoopHooks (State U) C Callback) (scheduler : C → ThreadStacks.LocalSchedulerHooks Memory.MiriMemoryKind U) :
                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For
                    def Miri.Interpreter.MainMachine.install {U C O X F A Aff P : Type} (h : Hooks U C O X F A Aff P) (entry : MIR.DefId) (entryType : MainEntryType) (args : EntryArguments.Arguments) (windows : Bool) :

                    The final late_init thread step installs the actual captured main stage. EnvVars and extern-static initialization must precede this source operation.

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