Exact body-keyed compiler results for the source stack preamble. Failed normalization/evaluation is retained until the corresponding runtime event.
- preamble : Except String MIR.SpanRef
- callee : Except String Interpreter.CallInstance
Instances For
- program : LoweredProgram
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Miri.Input.CompilerLifecycle.preambleSpan
{K User : Type}
(p : Prepared)
(body : Interpreter.LoadedBody)
:
Equations
- Miri.Input.CompilerLifecycle.preambleSpan p body = Miri.Input.CompilerLifecycle.lift✝ do let __do_lift ← Miri.Input.CompilerLifecycle.entry✝ p body __do_lift.preamble
Instances For
def
Miri.Input.CompilerLifecycle.requiredConstants
{K User : Type}
(p : Prepared)
(body : Interpreter.LoadedBody)
:
Interpreter.MachineHooks.M K User Unit
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Miri.Input.CompilerLifecycle.hooks
{K User C : Type}
(p : Prepared)
(base : Interpreter.CallMachine.Lifecycle K User C)
:
Interpreter.CallMachine.Lifecycle K User C
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
Miri.Input.CompilerLifecycle.preamble_known
{K U : Type}
(p : Prepared)
(body : Interpreter.LoadedBody)
(actual : LoweredBody)
(span : MIR.SpanRef)
(fnInstance : Interpreter.CallInstance)
(row : p.program.bundle.bodies[body.identity.index]? = some actual)
(contents : actual.body = body.body)
(evidence :
p.entries[body.identity.index]? = some { preamble := Except.ok span, callee := Except.ok fnInstance, checks := Except.ok #[] })
:
theorem
Miri.Input.CompilerLifecycle.required_empty
{K U : Type}
(p : Prepared)
(body : Interpreter.LoadedBody)
(actual : LoweredBody)
(span : MIR.SpanRef)
(fnInstance : Interpreter.CallInstance)
(row : p.program.bundle.bodies[body.identity.index]? = some actual)
(contents : actual.body = body.body)
(evidence :
p.entries[body.identity.index]? = some { preamble := Except.ok span, callee := Except.ok fnInstance, checks := Except.ok #[] })
(frames : Array (Interpreter.Frame Memory.Provenance Interpreter.LocalLayout Interpreter.MachineHooks.FrameExtra))
(frame : Interpreter.Frame Memory.Provenance Interpreter.LocalLayout Interpreter.MachineHooks.FrameExtra)
(machine : Interpreter.MachineHooks.MachineState K U)
(identity : frame.bodyIdentity = body.identity)
(function : frame.functionInstance = fnInstance)
: