Source memory.rs fn_ptr/get_fn_alloc/get_ptr_fn and machine.rs salt/root provenance. Function identities are full instances, never numeric addresses.
- callee : CallInstance
- salt : Fin 32
- allocation : Memory.AllocId
Instances For
- functions : Array FunctionEntry
- extras : Array (Memory.AllocId × Other)
Instances For
Empty means no functions have yet been reserved. Imported global functions must be seeded explicitly when attaching an already populated compiler image.
Instances For
Merge TCX-wide GlobalAlloc::Function(instance,salt) reservations into a
fresh EvalWorld registry. Imported image entries are seeded by startup and
must agree with any identity retained from an earlier Miri world. Per-world
FnVal::Other entries deliberately stay in the fresh registry: source Miri
allocates those with reserve_alloc_id rather than the TCX dedup cache.
Equations
- One or more equations did not get rendered due to their size.
Instances For
- registry : User → Registry Other
- putRegistry : User → Registry Other → User
- crossCrateInlineAlways : Bool
- inlineNever : CallInstance → MachineHooks.M K User Bool
- chooseSalt : MachineHooks.M K User (Fin 32)
- ptrGetAlloc : Memory.Pointer Memory.Provenance → MachineHooks.M K User (Option (Memory.AllocId × ABI.Size))
- adjustRootPointer : Memory.AllocId → Memory.BorTag → MachineHooks.M K User (Memory.Pointer Memory.Provenance)
- importedFunction : Memory.AllocId → MachineHooks.M K User (Option CallInstance)
Instances For
Both generic-argument inspection and inline-attribute query precede the uniqueness decision. The threshold Always short-circuits the compiler query.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Function globals cannot be TLS/extern statics. Borrow root tags are created before address assignment, and retained if the latter fails.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Miri.Interpreter.FunctionPointers.functionPointer h value = do let __do_lift ← Miri.Interpreter.FunctionPointers.reserve✝ h value Miri.Interpreter.FunctionPointers.rootPointer h __do_lift
Instances For
Source ptr_get_alloc_id(ptr,0): missing provenance is dangling even when an integer happens to equal a function address. Wildcards use actual exposed lookup.
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
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
Close actual absolute-address resolution and adjustment with PointerMachine. Random address choices remain explicit source outcomes, not a fixed seed.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A lawful embedding of existing address state into a larger concrete machine user record (for example ThreadStacks.Storage). No second frame stack is made.
- get : User → PointerMachine.User Payload
- put : User → PointerMachine.User Payload → User
- putPut (user : User) (first second : PointerMachine.User Payload) : self.put (self.put user first) second = self.put user second
Instances For
Same actual address engine under a lawful user-record embedding. All memory, borrow/race/thread/stack mutations survive both result branches.
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
Reuse actual allocation resolution for vtable/type-validity consumers. The existing FullInstance-only VTable dictionary cannot represent machine extra functions: retain that representation gap explicitly rather than classify UB.
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
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.