Documentation

Miri.Interpreter.VTableMachine

Reservation identity is the erased concrete type, predicates and runtime salt. A compiler CTFE salt-zero probe is not a witness for an arbitrary runtime cast: pinned Miri chooses among 32 salts. Dense export IDs are not observable raw AllocIds. Prepared catalogs certify the post-export TyCtxt continuation only; missing keys must keep their Unsupported result.

Source traits.rs symbolic vtable reservations. Vtables are not data bytes: raw dereference is rejected by canonical MemoryState.getGlobalAlloc.

Instances For

    Merge the source-TCX symbolic vtable reservations into a fresh EvalWorld. The key is the already erased/anonymized compiler type and dynamic predicate identity together with Miri's allocation salt.

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

      A source AllocId cannot denote both a symbolic vtable and either kind of function pointer stored by FunctionPointers.

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

        Restore the symbolic global metadata associated with persistent runtime vtable identities. Existing fresh-world globals must be one well-formed vtable; otherwise the same ID is already occupied by an incompatible allocation.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          structure Miri.Interpreter.VTableMachine.Hooks (K User Other : Type) :
          Instances For
            def Miri.Interpreter.VTableMachine.reserve {K User Other : Type} (h : Hooks K User Other) (ty : MIR.TyId) (dynType : Nat) (salt : Fin 32) :

            Source reserve_and_set_vtable_alloc key includes salt and both erased compiler identities. Metadata uses source pointer alignment and size zero.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              def Miri.Interpreter.VTableMachine.globalVTable {K User Other : Type} (h : Hooks K User Other) (id : Memory.AllocId) :
              Equations
              • One or more equations did not get rendered due to their size.
              Instances For

                Compiler erase/monomorphic/predicate/method queries stay in base; all symbolic allocation, provenance, salt and address operations are real state.

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