-
Notifications
You must be signed in to change notification settings - Fork 2
Add fences #14
Copy link
Copy link
Open
Labels
Description
- To support acquire-fences one needs to add another per-thread front, ψ_acq .
The front would store a union of synchronization fronts from messages read by the thread,
including relaxed reads, which don't use corresponding synchronization fronts in the current version.
When an acquire-fence is executed, the thread's viewfront will be updated to ψ_acq. - For release fences we would need to modify a per-thread write front state component.
Each thread would explicitly store a front for every observed location instead of storing a pointer
to the latest release write, which contains the same front, to the location.
An execution of a release-fence would update these fronts to match the thread's own viewfront. - Similarly, an SC-fence, when executed, updates the corresponding thread's viewfront by the
global SC front.
Also, one would have to adapt the rules for postponed operations accordingly, ie, forbid out-of-order resolving of an acquire-fence and a read from a postponed operation buffer.
Reactions are currently unavailable