We currently have five bits in the effect signature: put, get, freeze, bump, io.
I propose R and NR for "remove" or "read". Both (1) remove operations on containers, and (2) exact traditional read operations compromise determinism. But they do not introduce data races or relaxed, non-SC memory models, thus it is useful to distinguish them from
A good initial test for this is the minecraft-like benchmark here. Nondeterminism can be used for a shared counter to provide unique "chunkIDs".
We currently have five bits in the effect signature: put, get, freeze, bump, io.
I propose
R
andNR
for "remove" or "read". Both (1) remove operations on containers, and (2) exact traditional read operations compromise determinism. But they do not introduce data races or relaxed, non-SC memory models, thus it is useful to distinguish them fromA good initial test for this is the minecraft-like benchmark here. Nondeterminism can be used for a shared counter to provide unique "chunkIDs".