-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Editorial: Rework memory model relations #3321
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is great.
<emu-alg> | ||
1. If _E_ and _D_ are not the same Shared Data Block event, then | ||
1. If the pairs (_E_, _D_) and (_D_, _E_) are not in _execution_.[[HappensBefore]], then | ||
1. If it is not the case that _E_ happens-before _D_ in _execution_ and _D_ happens-before _E_ in _execution_, then |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The scope of the negation is ambiguous.
it is not the case that A and B
could mean
(it is not the case that A) and B
or
it is not the case that (A and B)
(Though I'm guessing it's fairly clear to anyone interested in this section that the latter is intended.)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'll add a "both".
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wouldn't be against adding an "Unless" form for cases like this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM otherwise, though I'd like @bakkot to re-review since the changes were non-trivial.
This PR reworks the relations that define the memory model to read closer to existing memory model literature.
aoid
s from the relations, since they aren't AOs.dfn
'd.Closes #3320.