Internal reuse of actual rustc instance-resolution and FnAbi query results. Complete instance arguments and shared definition/type-constant tables are kept. Missing/ambiguous/conflicting queries remain errors. This is not a compiler instance solver or Miri's foreign-function/shim dispatcher.
Equations
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
Immutable conversion memo tied to the exact runtime value and its exact shared-graph inputs. Its sole constructor proves the entries equal a fresh build, so callers cannot install fabricated ABI results.
- entries : Std.HashMap Lean.Json (Except String (Miri.ABI.FnAbi Miri.Input.TypeId))
Instances For
Prepare the memo for all shared-graph FnAbi candidates in this runtime.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Prepare the memo for all shared-graph FnAbi candidates in this runtime.
Equations
Instances For
Decode and convert a raw compiler FnAbi through the checked shared cache. Without a cache, retain the direct decoder/converter path for manually constructed runtime contexts.
Equations
- One or more equations did not get rendered due to their size.
- Miri.Input.CallResolution.functionAbiJson runtime raw = do let __do_lift ← Miri.Input.CallResolution.decodeFunctionAbiJson✝ raw Miri.Input.CallResolution.functionAbi runtime __do_lift
Instances For
- bodyIndex : Nat
- block : MIR.BasicBlockId
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
- callee : Interpreter.CallInstance
- sourceInstanceId : InstanceId
- function : MIR.Operand
- source : Lean.Json
Instances For
- site : Site
- outcome : Except String Resolution
Instances For
- fnInstance : Interpreter.CallInstance
- sourceInstanceId : InstanceId
- bodyIndex : Nat
Instances For
- site : Site
- function : MIR.Operand
- functionType : MIR.TyId
- source : Lean.Json
Instances For
- program : LoweredProgram
- runtime : RuntimeMetadata
- functionAbiCache : FunctionAbiCache self.runtime
- unitLayoutCache : Option (CallCompatibility.UnitLayoutCache self.runtime)
Strict source unit-layout scan cached as a deferred outcome for ABI compatibility calls. Manual records retain the linear compatibility path.
- sourceEquality : RuntimeMetadata.JsonReflexivity self.runtime.source.raw
- bodies : Array InstanceBody
- obligations : Array Obligation
Instances For
Prepare call-resolution tables using the already validated immutable
runtime metadata for this program's unchanged ImportDocument. Compiler tables
may grow during preparation, but CompilerGlobals.prepareProgram changes only
the lowered bundle and leaves that document untouched.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Prepare call-resolution tables using validated runtime metadata.
Equations
- Miri.Input.CallResolution.prepareWithRuntime runtime program sourceEquality = Miri.Input.CallResolution.prepareWithRuntimeProfiled ∅ runtime program sourceEquality
Instances For
Standalone compatibility path: validate RuntimeMetadata before resolving instances or call-site queries, preserving the historical error order.
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
Function operand identity is checked in addition to body and block. Source sites are compiler-table indices, never diagnostic span matches.
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
A loaded body carries the exact source table key. Equal MIR syntax does not make distinct root/template/promoted/instance body identities interchangeable.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Compatibility syntax-only view of the exact loaded body. It retains the same unique-key and instantiation checks; equal bodies are not merged.
Equations
- Miri.Input.CallResolution.bodyOfInstance prepared fnInstance = do let __do_lift ← Miri.Input.CallResolution.loadedBodyOfInstance prepared fnInstance pure __do_lift.body
Instances For
Replace only ABI leaves with complete compiler records and source layout compatibility. Machine dispatch, target features, caller locations, pointer resolution and actual body interception remain required in the supplied hooks.
Equations
- One or more equations did not get rendered due to their size.