Documentation

Miri.Interpreter.NativeIsolatedAlloc

Pinned alloc/isolated_alloc.rs:1–309. Actual anonymous RW mmap, munmap, zeroing and sysconf are external host effects. Layout normalization, first-fit compressed bitmaps, page/huge ownership and removal order are source operations. These are host addresses, never fabricated MIR allocation addresses.

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
            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
                    Instances For

                      Source construction queries the real host page size once.

                      Equations
                      Instances For
                        def Miri.Interpreter.NativeIsolatedAlloc.allocate {S : Type} (a : Access S) (h : Host S) (requested : Layout) (zeroed : Bool) :

                        Compression normalization precedes huge dispatch. Existing pages are tried in source vector order. Bitmap insertion occurs before host zeroing, so errors retain the same allocation prefix. Huge mmap is always zeroed by its OS contract.

                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For
                          def Miri.Interpreter.NativeIsolatedAlloc.deallocate {S : Type} (a : Access S) (h : Host S) (pointer : Nat) (requested : Layout) :

                          Source removes the owning page/segment before munmap, retaining that removal on host failure. Huge wrong-layout assertion also follows removal.

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

                            Small-page ranges precede huge ranges, as source Iterator::chain.

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