Documentation

Miri.Interpreter.ReallocationDriver

Source-shaped allocate/copy/deallocate from rustc memory.rs:301–337. No resize shortcut: allocation, initialization mask, access hooks, provenance copy and source-deallocation failures retain all preceding effects.

Instances For

    Allocation creation requires shared extras and storage configuration, not a pointer/deallocation interpreter.

    Instances For
      def Miri.Interpreter.ReallocationDriver.Hooks.creation {K U Payload : Type} (h : Hooks K U Payload) :
      CreationHooks K U Payload
      Equations
      Instances For

        Explicit-choice adapter retained for operation-level fixtures.

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

          Production allocation samples choices in the canonical root-address callback after insertion, never when constructing a foreign-call dictionary.

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

            Source allocation without unused pointer/deallocation capabilities.

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

              Use an already source-assembled allocation config. This is for startup allocations whose config already owns extras initialization and root-address choice; wrapping it in CreationHooks would initialize extras twice.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                def Miri.Interpreter.ReallocationDriver.reallocate {K U Payload : Type} [DecidableEq K] (h : Hooks K U Payload) (pointer : Memory.Pointer (Option Memory.Provenance)) (oldLayout : Option (ABI.Size × ABI.Align)) (newSize : ABI.Size) (newAlign : ABI.Align) (kind : Memory.MemoryKind K) (initGrowth : Memory.AllocInit) (allocationChoice : Memory.AllocAddresses.AddressRandomChoices) (reuseChoice : Bool) :
                Equations
                • One or more equations did not get rendered due to their size.
                Instances For

                  Persistent draws occur at actual allocation and late deallocation events.

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

                    Source reallocation with only creation/access and the actual late source-deallocation action. It shares the ordering of both legacy adapters.

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

                      Source reallocation when the allocation configuration already owns the canonical extras initialization and root-address choice. This mirrors reallocateFrom while avoiding a second MemoryExtras.bindAllocation pass. The new allocation, provenance-aware copy, and late destroy retain the source ordering and partial effects.

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