WSTM Read and Write
- Read
- Find entry in the current transaction descriptor. Return new value. Done.
- If not found, read logical state.
- Add new entry
- Old: value and version from logical state. New: the same.
- There might be another entry for the same orec (corresponding to a different address).
- If that entry is no longer valid (another transaction modified it), initialize the new value with (version + 1). If this causes version inconsistency, abort.
- Write
- First read
- Set new value to new value and new version to old_version+1.