Documentation

Miri.Concurrency.TypedSyncRuntime

Data-only source synchronization captures and execution. Every constructor corresponds to a pinned sync.rs or OS-shim FnOnce capture; no MIR/program IR or closure-valued state is introduced. Object and callback identities are source Rc/Box identities supplied by the one owning machine arena.

Equations
Instances For
    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      Instances For
        @[reducible, inline]

        Exact OS callback captures. Constants and errno writes are evaluated when source executes the callback, not eagerly while it is being registered.

        Equations
        Instances For
          Instances For
            Instances For
              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
                  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.Concurrency.TypedSyncRuntime.enqueueReader {S : Type} (h : Hooks S) (ref : Ref) (value : Int32) (dest : Dest) :
                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For
                        def Miri.Concurrency.TypedSyncRuntime.enqueueWriter {S : Type} (h : Hooks S) (ref : Ref) (value : Int32) (dest : Dest) :
                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For
                          def Miri.Concurrency.TypedSyncRuntime.tryBegin {S : Type} (h : Hooks S) (ref : Ref) (pending dest : Dest) :
                          Equations
                          • One or more equations did not get rendered due to their size.
                          Instances For

                            A retry after Ready is a fresh blocking callback, not recursive execution of an opaque closure. The source deadline and user captures are retained.

                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For
                              def Miri.Concurrency.TypedSyncRuntime.futexWait {S : Type} (h : Hooks S) (ref : Ref) (bitset : UInt32) (deadline : Option ThreadDeadline) (user : User) :
                              Equations
                              • One or more equations did not get rendered due to their size.
                              Instances For
                                def Miri.Concurrency.TypedSyncRuntime.invoke {S : Type} (h : Hooks S) (token : Nat) (kind : UnblockKind) :

                                Consume Box<Self> before the first body effect; callback failure cannot restore that box or the previously active thread.

                                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
                                    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.Concurrency.TypedSyncRuntime.condvarWait {S : Type} (h : Hooks S) (ref mutex : Ref) (deadline : Option ThreadDeadline) (success timeout : Int32) (dest : Dest) :
                                        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.Concurrency.TypedSyncRuntime.futexWake {S : Type} (h : Hooks S) (ref : Ref) (bitset : UInt32) (count : Nat) :
                                            M S 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
                                                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
                                                    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