Documentation

Miri.Interpreter.PlaceDynamic

Effectful Projectable rules for canonical places. Dynamic field alignment can execute vtable/compiler/machine queries; those effects are threaded through the same interpreter state rather than converted into pure ProjectionCx fields. Source: projection.rs project_field/index/subslice/downcast; place.rs Projectable.

Instances For
    def Miri.Interpreter.PlaceDynamic.offsetWithMeta {P S C E : Type} (h : PlaceProjectionHooks P S C E) (choice : C) (base : RuntimePlace P) (amount : ABI.Size) (mode : OffsetMode) (metaValue : MemPlaceMeta P) (layout : LocalLayout) :

    Source PlaceTy::offset_with_meta, with actual effectful memory offset and checked local offset. Local places cannot carry metadata or unsized layouts.

    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.PlaceDynamic.field {P S C E : Type} [Memory.PointerProvenance P] (h : PlaceProjectionHooks P S C E) (choice : C) (base : RuntimePlace P) (index : Nat) :
        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          def Miri.Interpreter.PlaceDynamic.downcast {P S C E : Type} (h : PlaceProjectionHooks P S C E) (choice : C) (base : RuntimePlace P) (variant : Nat) :
          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            def Miri.Interpreter.PlaceDynamic.index {P S C E : Type} [Memory.PointerProvenance P] (h : PlaceProjectionHooks P S C E) (choice : C) (base : RuntimePlace P) (index : UInt64) :
            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              def Miri.Interpreter.PlaceDynamic.constantIndex {P S C E : Type} [Memory.PointerProvenance P] (h : PlaceProjectionHooks P S C E) (choice : C) (base : RuntimePlace P) (offset minLength : UInt64) (fromEnd : Bool) :
              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                def Miri.Interpreter.PlaceDynamic.subslice {P S C E : Type} [Memory.PointerProvenance P] (h : PlaceProjectionHooks P S C E) (choice : C) (base : RuntimePlace P) (fromIndex to : UInt64) (fromEnd : Bool) :
                Equations
                • One or more equations did not get rendered due to their size.
                Instances For
                  def Miri.Interpreter.PlaceDynamic.evalPlace {P S C E : Type} [Memory.PointerProvenance P] (h : PlaceProjectionHooks P S C E) (choice : C) (mirPlace : MIR.Place) (skipValidityForSimpleDeref : Bool) :
                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For
                    def Miri.Interpreter.PlaceDynamic.memoryCopy {Kind P S C Extra HookState ProvExtra : Type} [DecidableEq Kind] [Memory.PointerProvenance P] (dynamic : DynamicLayoutHooks P S C) (choice : C) (fuel : Nat) (debugAssertions : Bool) (pointerSize : ABI.Size) (hooks : Memory.MemoryCopyHooks P Extra Kind HookState ProvExtra) (getMemory : S → Memory.MemoryState P Extra Kind) (getHooks : S → HookState) (putMemoryHooks : S → Memory.MemoryState P Extra Kind → HookState → S) (source dest : MPlaceTy P) :

                    Whole-state dynamic layout adapter for the concrete Place slow-copy path.

                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For
                      def Miri.Interpreter.PlaceDynamic.mutableAccess {Kind P S C Extra HookState ProvExtra : Type} [DecidableEq Kind] [DecidableEq P] [Memory.PointerProvenance P] (dynamic : DynamicLayoutHooks P S C) (choice : C) (fuel : Nat) (context : LocalReadContext P Extra Kind HookState ProvExtra) (getMemory : S → Memory.MemoryState P Extra Kind) (getHooks : S → HookState) (putMemoryHooks : S → Memory.MemoryState P Extra Kind → HookState → S) (putTouched : S → Option (Memory.AllocationAccessRef P Extra) → S) (place : MPlaceTy P) :

                      Dynamic mutable-place access runs effectful metadata layout first, then uses the resolved size as an operational ABI view for existing allocation access. Full type identity remains in the input; Foreign uses the source's fixed-size fallback. The canonical state and touched snapshots are committed before any allocation/access error is propagated.

                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For
                        def Miri.Interpreter.PlaceDynamic.withVTable {P S C F A : Type} (dynamic : DynamicLayoutHooks P S C) (vtable : VTableHooks P S C F A) :

                        Bind symbolic vtable checking and compiler layout lookup to dynamic trait size/alignment queries; predicate and global-resolution effects stay in S.

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