Documentation

Miri.Interpreter.ThreadMachine

Source thread.rs start_regular_thread / join_thread_exclusive. Thread IDs own actual ThreadStacks, root calls execute Call.initStackFrame, and captured join continuations carry canonical typed destinations rather than completion tokens. TLS closures store the actual source destructor stage.

Instances For
    structure Miri.Interpreter.ThreadMachine.Hooks (K U C Other Extern FnABI ArgABI Affinity : Type) :
    Instances For
      def Miri.Interpreter.ThreadMachine.allocateReturn {K U C O X F A Aff : Type} [DecidableEq K] (h : Hooks K U C O X F A Aff) (layout : LocalLayout) :

      Real return allocation with source Machine kind visible before root-address assignment; generic stack allocation's hardcoded Stack kind is not substituted.

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

        Bind actual stack/origin operations, retaining compiler ABI and MIR queries. The real call hooks synchronize all pushed frames, including failure prefixes.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          def Miri.Interpreter.ThreadMachine.startRegularThread {K U C O X F A Aff : Type} [DecidableEq K] (h : Hooks K U C O X F A Aff) (choice : C) (threadOutput : Option (MPlaceTy Memory.Provenance)) (routine : Memory.Pointer (Option Memory.Provenance)) (abi : X) (argument : RvalueImmTy Memory.Provenance) (returnLayout : LocalLayout) (reuseClock : Option Concurrency.VectorIdx) :
          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            def Miri.Interpreter.ThreadMachine.joinExclusive {K U C O X F A Aff : Type} (h : Hooks K U C O X F A Aff) (choice : C) (joined : Concurrency.ThreadId) (value : Memory.Scalar Memory.Provenance) (dest : MPlaceTy Memory.Provenance) :
            M K U Unit
            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              def Miri.Interpreter.ThreadMachine.takeJoin {K U C O X F A Aff : Type} (h : Hooks K U C O X F A Aff) (token : Nat) :

              Invoke in ThreadStacks.unblockThread's selected waiter context. The typed continuation is consumed before execution; an error retains that context.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                def Miri.Interpreter.ThreadMachine.resumeJoin {K U C O X F A Aff : Type} (h : Hooks K U C O X F A Aff) (choice : C) (token : Nat) (kind : Concurrency.UnblockKind) :
                M K U Unit
                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