Canonical eval.rs main/constructors/exit callback execution. Existing GlobalConstructors and callMain source policy is reused through transient typed views; all calls, return memory, TLS, termination and scheduler actions use actual full machine state and retain failed prefixes.
Instances For
Instances For
Equations
Instances For
- token : Nat
- stage : MainThreadStage Memory.Provenance
- constructors : GlobalCtorStage Memory.Provenance
Instances For
- termination : ThreadTerminationMachine.Hooks U C O X F A Aff Payload
- functions : FunctionPointers.Hooks Memory.MiriMemoryKind (ThreadStacks.Storage U) O
- layouts : EntryArguments.Layouts
- entry : U → MachineGCRoots.EntryPointers
- putEntry : U → MachineGCRoots.EntryPointers → U
- format : ConstructorBinaryFormat
- cNoUnwind : X
- lookupLinkSection : (String → Bool) → M U (Array (TlsImmediate Memory.Provenance × MIR.SpanRef))
- genericParameters : MIR.DefId → M U (Array MainGenericParameter)
- entrySignature : MIR.DefId → M U MainSignature
- resolveInstance : MIR.DefId → Array MIR.GenericArg → M U (Option CallInstance)
- layoutOf : MIR.TyId → M U LocalLayout
Instances For
Reassociate the unused termination-payload type parameter. The actual world payload, TLS/thread hooks, entry roots and every machine action remain the original ones; no synchronization metadata is converted.
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
One source main callback invocation, excluding scheduler take/restore. Existing source ctor/callMain policies execute; exit uses the canonical ThreadTerminationMachine so TLS/free/join callbacks do not pass through stale memory-only legacy lifecycle hooks.
Equations
- One or more equations did not get rendered due to their size.
Instances For
- main (token : Nat) : Callback
- tls (callback : ThreadLoops.TakenTls) : Callback
Instances For
Main and ordinary TLS closures share one actual scheduler callback path. Each callback is taken once; program-stop/error leaves it consumed.
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.
- Miri.Interpreter.MainMachine.restore h (Miri.Interpreter.MainMachine.Callback.tls callback) = Miri.Interpreter.ThreadLoops.restore h.termination.tls callback
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
The final late_init thread step installs the actual captured main stage. EnvVars and extern-static initialization must precede this source operation.
Equations
- One or more equations did not get rendered due to their size.