Scheduler-facing split callback protocol. The taken closure owns its actual TLS stage; invocation stores its mutated stage only on success, and restoration is checked in the thread selected after the callback.
Instances For
Instances For
- token : Nat
- stage : TlsDtorsStage Memory.Provenance
Instances For
Origin reset precedes callback take, including on missing callback errors. The registry copy is moved out with the callback, preventing reentry.
Equations
- One or more equations did not get rendered due to their size.
Instances For
No callback take or thread switching occurs here. The source engine may schedule a real destructor frame; errors retain its latest canonical state and do not restore the closure.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Source getter selects the thread active after callback execution. Restore assigns Some(callback), matching the unconditional source assignment.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Scheduler and core-step remain the actual caller dictionaries; TLS taking, invocation, checked restoration, and normal/for_exit termination are closed.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Coherent actual scheduler/core-step/stack lifecycle composition. Host I/O, deadline service and permitted scheduling choices remain the scheduler's real required leaves, rather than replacement scheduling tokens.
Equations
- Miri.Interpreter.ThreadLoops.bindActual h base scheduler = Miri.Interpreter.ThreadStacks.bindRunLoop (Miri.Interpreter.ThreadLoops.bind h base) scheduler
Instances For
Execute one real source scheduler iteration with the closed TLS lifecycle.
Equations
- Miri.Interpreter.ThreadLoops.iteration h base scheduler choice state = Miri.Interpreter.RunLoop.iteration (Miri.Interpreter.ThreadLoops.bindActual h base scheduler) choice state