Execute the existing source TLS destructor state machine against canonical machine memory, actual frames, and thread manager. The legacy engine view is transient: every compiler/root-call query restores the latest full state and recaptures it on both outcomes. No persistent memory/clock copy is stored.
@[reducible, inline]
Equations
Instances For
@[reducible, inline]
Equations
Instances For
@[reducible, inline]
Equations
Instances For
@[reducible, inline]
Equations
Instances For
- values : ThreadTlsData Memory.Provenance
- statics : Array (ThreadLocalEntry Memory.Provenance)
- staticRoots : Array Memory.AllocId
Instances For
- thread : ThreadMachine.Hooks Memory.MiriMemoryKind U C O X F A Aff
- data : U → Data
- putData : U → Data → U
- target : ABI.RuntimeTargetDataLayout
- platform : TlsPlatform
- unitPtrMut : LocalLayout
- unitPtrConst : LocalLayout
- u32Layout : LocalLayout
- lookupLinkSection : String → M U (Array (TlsImmediate Memory.Provenance × MIR.SpanRef))
- evalWindows : String → String → M U (Memory.Scalar Memory.Provenance)
- abi : TlsCallAbi → X
- error : TlsExecutionError StepError → StepError
Instances For
def
Miri.Interpreter.ThreadTlsMachine.queries
{U C O X F A Aff : Type}
(h : Hooks U C O X F A Aff)
(choice : C)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Miri.Interpreter.ThreadTlsMachine.onStackEmpty
{U C O X F A Aff : Type}
(h : Hooks U C O X F A Aff)
(choice : C)
:
scheduler.rs run_on_stack_empty: reset origin, take the callback, run its real captured stage, restore it only on success. Errors retain the callback's consumption and all earlier destructor state/frame/memory effects.
Equations
- One or more equations did not get rendered due to their size.