Documentation

Miri.Interpreter.ExecutionMachine

One canonical MIR small-step assembly. Records below supply compiler/host queries and platform dispatch; core operations are replaced by source drivers. Resource limits govern concrete execution only, not the permitted MIR relation.

@[reducible, inline]
Equations
  • One or more equations did not get rendered due to their size.
Instances For
    Instances For
      structure Miri.Interpreter.ExecutionMachine.Config (K User C Other Extern Host : Type) :
      Instances For
        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          def Miri.Interpreter.ExecutionMachine.withValidation {K U C O X Host : Type} [DecidableEq K] (h : Config K U C O X Host) (limits : Limits) :
          Config K U C O X Host

          Close raw reads, dynamically sized physical copies, and validation with actual source implementations before constructing any expression dictionary.

          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.ExecutionMachine.operandHooks {K U C O X Host : Type} [DecidableEq K] (h : Config K U C O X Host) :

              Projection/place/operand dictionaries share actual frame-local clocks, canonical layouts and source typed dereference; no read forces allocation.

              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

                    Core expression dictionaries. Genuine compiler type/layout predicates and host/platform leaves in base records survive; operational actions are replaced.

                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For
                      def Miri.Interpreter.ExecutionMachine.callHooks {K U C O X Host : Type} [DecidableEq K] (h : Config K U C O X Host) (limits : Limits) :
                      Calls K U C O X

                      Core call expression/terminator adapters share the actual lifecycle and source intrinsic fallback policy, retaining platform/foreign dispatch leaves.

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

                        The same existing small-step Step.step executes the assembled hooks.

                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For
                          def Miri.Interpreter.ExecutionMachine.step {K U C O X Host : Type} [DecidableEq K] (h : Config K U C O X Host) (limits : Limits) (c : C) (state : MachineHooks.State K U) :
                          Equations
                          Instances For
                            def Miri.Interpreter.ExecutionMachine.AllowedStep {K U C O X Host : Type} [DecidableEq K] (h : Config K U C O X Host) (allowed : MachineHooks.State K U → C → Prop) (before after : MachineHooks.State K U) (outcome : Except StepError Bool) :

                            Quantify runner resources as well as source choices. A bounded successful run alone establishes no unrestricted UB-freedom claim.

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