Documentation

Miri.Interpreter.Readiness

Complete state/control policy of pinned shims/readiness.rs. Watcher IDs and FD weak refs are ownership identities, not readiness tokens or success claims.

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
      Instances For
        Equations
        Instances For
          Instances For
            Instances For
              Instances For
                Instances For
                  def Miri.Interpreter.Readiness.consumeOwned {A : Type u_1} {S : Type} (items : List A) (action drop : A → M S Unit) :

                  Vec-style ownership: retain all during collection, then drop each consumed item after its iteration, and drop unconsumed items if an iteration fails.

                  Equations
                  Instances For
                    def Miri.Interpreter.Readiness.collectOwned {A : Type u_1} {S B : Type} (items : Array A) (acquire : A → M S B) (drop : B → M S Unit) :
                    M S (Array B)
                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For
                      def Miri.Interpreter.Readiness.readyCount {S F : Type} (h : Hooks S F) (watcher : Nat) :
                      M S Nat
                      Equations
                      Instances For
                        def Miri.Interpreter.Readiness.addBlockedThread {S F : Type} (h : Hooks S F) (watcher : Nat) (thread : Concurrency.ThreadId) :
                        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.Readiness.wakeReady {S F : Type} (budget : Nat) (h : Hooks S F) (watcher : Nat) :
                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For
                              def Miri.Interpreter.Readiness.updateReadiness {S F : Type} (budget : Nat) (h : Hooks S F) (watcher : Nat) (active : Bits) (forceEdge : Bool) (keys : Array Key) :
                              Equations
                              • One or more equations did not get rendered due to their size.
                              Instances For
                                def Miri.Interpreter.Readiness.addInterest {S F : Type} (budget : Nat) (h : Hooks S F) (watcher : Nat) (number : Int32) (relevant : Bits) (edge : Bool) (data : UInt64) :
                                Equations
                                • One or more equations did not get rendered due to their size.
                                Instances For
                                  def Miri.Interpreter.Readiness.updateInterest {S F : Type} (budget : Nat) (h : Hooks S F) (watcher : Nat) (key : Key) (change : Interest → Interest) :
                                  Equations
                                  • One or more equations did not get rendered due to their size.
                                  Instances For
                                    def Miri.Interpreter.Readiness.removeInterest {S F : Type} (h : Hooks S F) (watcher : Nat) (key : Key) :
                                    Equations
                                    • One or more equations did not get rendered due to their size.
                                    Instances For
                                      def Miri.Interpreter.Readiness.updateFd {S F : Type} (budget : Nat) (h : Hooks S F) (fd : F) (flags : Flags) :
                                      Equations
                                      • One or more equations did not get rendered due to their size.
                                      Instances For
                                        def Miri.Interpreter.Readiness.addDelayed {S F : Type} (h : Hooks S F) (fd : F) :
                                        Equations
                                        Instances For
                                          def Miri.Interpreter.Readiness.processDelayed {S F : Type} (budget : Nat) (h : Hooks S F) :
                                          Equations
                                          • One or more equations did not get rendered due to their size.
                                          Instances For
                                            def Miri.Interpreter.Readiness.getReadyInterests {S F : Type} (budget max : Nat) (h : Hooks S F) (watcher : 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.Readiness.removeFileNumInterests {S F : Type} (h : Hooks S F) (fd : F) (number : Int32) :
                                                Equations
                                                • One or more equations did not get rendered due to their size.
                                                Instances For

                                                  Called after the watcher loses its last strong reference. Payload remains available to this destructor, while watcherAlive must already report false.

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

                                                    Last FD description drop removes all dead FD interests from live watchers, not merely the descriptor number that happened to close last.

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