Documentation

Miri.Interpreter.UnixForeign

Source unix/foreign_items.rs outer poll and connected Unix/OS shim chain. Unknown arms remain NotSupported, with no invented fallback OS implementation.

structure Miri.Interpreter.UnixForeign.Hooks (S Place H D Other Os HM Time E Kind ReadDir DirEntry R Duration PollIter AddrIter Host System TZ Timestamp B I : Type) :
Instances For
    @[reducible, inline]
    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      @[reducible, inline]
      Equations
      • One or more equations did not get rendered due to their size.
      Instances For

        Source-owned ordered dispatch actions. The legacy complete Hooks record is one producer; the runtime source constructor can instead populate supported components and install exact-name unavailable arms without inventing the static fields of unrelated subsystems.

        Instances For

          Recognized source arms whose operation bodies have not yet been connected to the runtime factory. The matcher is kept here beside the source-order dispatcher so a missing port cannot silently fall through to native/MIR resolution. These are temporary, demand-local coverage boundaries.

          Instances For
            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              Equations
              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

                      The sole source-order implementation. Both complete interpreter records and source-owned component/gap assemblies route through this exact function.

                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For
                        def Miri.Interpreter.UnixForeign.environmentStdOnlySource {S : Type} (os targetEnv : String) (communicate : Bool) (environment stdOnly : Handler S) :

                        Assemble a source-ordered resolver when only the environment and std-only families are currently connected. Every known Unix group is still matched at its original source position and fails closed on demand; unrecognized symbols continue to the ordinary foreign resolver. The initial pre-entry poll remains an explicit Unsupported boundary whenever communication is enabled.

                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For
                          def Miri.Interpreter.UnixForeign.dispatch {S Place H D Other Os HM Time E Kind ReadDir DirEntry R Duration PollIter AddrIter Host System TZ Timestamp B I : Type} (h : Hooks S Place H D Other Os HM Time E Kind ReadDir DirEntry R Duration PollIter AddrIter Host System TZ Timestamp B I) (base : ForeignItems.Hooks Memory.Provenance S Place (MPlaceTy Memory.Provenance) (Memory.Pointer (Option Memory.Provenance)) B I) (name : String) (abi : ABI.FnAbi MIR.TyId) (args : Array (OpTy Memory.Provenance)) (dest : MPlaceTy Memory.Provenance) :
                          Equations
                          • One or more equations did not get rendered due to their size.
                          Instances For

                            Bind a source-owned ordered dispatch chain while preserving the common ForeignItems core and all non-Unix callback arms. This is the construction boundary used by canonical runtime factories.

                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For
                              def Miri.Interpreter.UnixForeign.bind {S Place H D Other Os HM Time E Kind ReadDir DirEntry R Duration PollIter AddrIter Host System TZ Timestamp B I : Type} (h : Hooks S Place H D Other Os HM Time E Kind ReadDir DirEntry R Duration PollIter AddrIter Host System TZ Timestamp B I) (base : ForeignItems.Hooks Memory.Provenance S Place (MPlaceTy Memory.Provenance) (Memory.Pointer (Option Memory.Provenance)) B I) :

                              No nested fallback chain; the outer foreign resolver owns missing/native/MIR behavior after a terminal NotSupported platform response.

                              Equations
                              • One or more equations did not get rendered due to their size.
                              Instances For
                                def Miri.Interpreter.UnixForeign.dynamicCall {S Place H D Other Os HM Time E Kind ReadDir DirEntry R Duration PollIter AddrIter Host System TZ Timestamp B I : Type} (h : Hooks S Place H D Other Os HM Time E Kind ReadDir DirEntry R Duration PollIter AddrIter Host System TZ Timestamp B I) (base : ForeignItems.Hooks Memory.Provenance S Place (MPlaceTy Memory.Provenance) (Memory.Pointer (Option Memory.Provenance)) B I) (symbol : UnixDynamic.Symbol) (abi : ABI.FnAbi MIR.TyId) (args : Array (OpTy Memory.Provenance)) (dest : Place) (ret : Option MIR.BasicBlockId) (unwind : MIR.UnwindAction) :

                                Resolve FnVal::Other through this same source foreign dispatcher, including normal return/unwind control transfer. Dynamic symbols cannot delegate to MIR.

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