Allocation-local extras for machine.rs:1695–1838. Clocks remain in MachineHooks: neither the registry nor atomic lenses keep a second clock copy. Sync payloads are typed data; their required interpreter constructs real stateful Object callbacks, avoiding a negative recursive state definition.
Instances For
Instances For
- payload : Payload
- deleteOnWrite : Bool
- roots : Array Memory.Provenance
Captured provenance must be supplied, including references in callbacks.
Instances For
- weakMemory : Option (Concurrency.StoreBufferAlloc (Memory.Scalar Memory.Provenance))
Instances For
- allocations : Array (Memory.AllocId × AllocationExtra Payload)
Instances For
A lens into the owner's shared machine User; it may be nested with pointer, validity, threading, or pthread state without duplicating any of them.
- get : User → Registry Payload
- put : User → Registry Payload → User
- onAccess : Payload → Concurrency.SyncObject.AccessKind → M K User Unit
- weakError : Concurrency.StoreBufferAllocError → StepError
Instances For
Remove only records for an allocation that never became a live owner. Callbacks may have changed other IDs while the initializer was running, so this cleanup is deliberately keyed to the reserved ID alone.
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
Called in the allocation tail after the actual race allocation was installed.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Commit the transition before reporting failure: RangeObjectMap can mutate before a failed check. Called only after the successful non-atomic race write.
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
Insert typed payload together with its GC roots. Replacement agrees with BTreeMap::insert, including replacement after a failed dynamic downcast.
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
onMemoryAccess runs ascending callbacks and only then deletes write-sensitive metadata. A failing callback retains all prior effects and all registry entries.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Portable hooks replace the two former leaves in the already ordered PlaceMachine diagnostic → race → weak → TB → sync pipeline.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Source deallocation sync stage, after race-deallocation and TB-deallocation. No metadata is removed here. MemoryLifecycle has already removed the live allocation before invoking this stage, including on callback failure.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Run only after successful complete deallocation, alongside race-index cleanup.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Atomic dispatch uses exactly the same global clock, allocation clocks and weak buffer as non-atomic accesses. Missing clocks remain an explicit error.
Equations
- One or more equations did not get rendered due to their size.
Instances For
This setter is used after getAtomic succeeded; it updates the latest extras, so concurrent callback changes to the sync registry cannot be overwritten.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Checked effectful setter for IntrinsicAtomic: absence is an error rather than a silently ignored write.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Install the canonical machine lenses into the full atomic dispatcher.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Stack allocation's diagnostic/tree/race initialization precedes this tail; other compiler/machine tail effects execute after extras are installed.
Equations
- One or more equations did not get rendered due to their size.
Instances For
All retained store-buffer values, including old modification-order entries, are roots. Consumers inspect scalar provenance using the canonical scalar API.
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.