Documentation

Miri.Interpreter.IntrinsicVarArgs

C-varargs pipelines and compatibility recursion from pinned intrinsics.rs, with memory.rs's symbolic VaList allocation lifecycle and partial updates.

Instances For
    Equations
    Instances For
      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        Instances For
          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            Instances For
              def Miri.Interpreter.IntrinsicVarArgs.keyField {P S C V : Type} (h : IntrinsicVarArgsHooks P S C V) (choice : C) (place : V) :

              First raw-pointer field of the target-specific VaListImpl after unwrapping its outer field. Compiler field metadata is required and never guessed.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                def Miri.Interpreter.IntrinsicVarArgs.getList {P S C V : Type} (h : IntrinsicVarArgsHooks P S C V) (choice : C) (pointer : Memory.Pointer (Option P)) :
                Equations
                • One or more equations did not get rendered due to their size.
                Instances For
                  def Miri.Interpreter.IntrinsicVarArgs.deallocateList {P S C V : Type} (h : IntrinsicVarArgsHooks P S C V) (choice : C) (pointer : Memory.Pointer (Option P)) :

                  Source swap_remove and dead_alloc_map update occur before caller validation or copying of a va_arg value. Errors retain this invalidation.

                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For
                    def Miri.Interpreter.IntrinsicVarArgs.createList {P S C V : Type} (h : IntrinsicVarArgsHooks P S C V) (choice : C) (values : List V) :

                    Map insertion precedes global-root pointer creation, preserving the source partial update even when the compiler/machine root-pointer query is unknown.

                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For
                      def Miri.Interpreter.IntrinsicVarArgs.compatibleTypes {P S C V : Type} (h : IntrinsicVarArgsHooks P S C V) (choice : C) (fuel : Nat) (caller callee : MIR.TyId) :

                      Exact source compatibility rules, with compiler C-type identity before layout queries. Pointer target signedness differences require no value read.

                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For
                        def Miri.Interpreter.IntrinsicVarArgs.validateArgument {P S C V : Type} [Memory.PointerProvenance P] (h : IntrinsicVarArgsHooks P S C V) (choice : C) (fuel : Nat) (source : V) (target : ABI.TyAndLayout MIR.TyId) :
                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For
                          def Miri.Interpreter.IntrinsicVarArgs.copy {P S C V : Type} (h : IntrinsicVarArgsHooks P S C V) (choice : C) (source : OpTy P) (dest : V) :
                          Equations
                          • One or more equations did not get rendered due to their size.
                          Instances For
                            def Miri.Interpreter.IntrinsicVarArgs.finish {P S C V : Type} (h : IntrinsicVarArgsHooks P S C V) (choice : C) (source : OpTy P) :
                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For
                              def Miri.Interpreter.IntrinsicVarArgs.next {P S C V : Type} [Memory.PointerProvenance P] (h : IntrinsicVarArgsHooks P S C V) (choice : C) (fuel : Nat) (source : OpTy P) (dest : V) :
                              Equations
                              • One or more equations did not get rendered due to their size.
                              Instances For