Skip to content
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

Clarification on determinism of WLRL and WARL #789

Closed
martinberger opened this issue Dec 2, 2021 · 12 comments
Closed

Clarification on determinism of WLRL and WARL #789

martinberger opened this issue Dec 2, 2021 · 12 comments

Comments

@martinberger
Copy link

martinberger commented Dec 2, 2021

The file priv-csrs.tex contains the following line twice

deterministically depend on the illegal written value

(in Lines 454 and 471). I suggest to replace them by

deterministically depend on the last illegal written value

Why? Because more than one illegal values might be written, and one might otherwise ask if the determinism depends on the history of all previous illegal values. I think this latter interpretation is not meant, and adding "last" would clarify this. (Otherwise make a corresponding change).

@allenjbaum
Copy link

allenjbaum commented Dec 2, 2021 via email

@martinberger
Copy link
Author

martinberger commented Dec 2, 2021

Yes. I think this is legal:

write 17  // assuming 17 is illegal
read      // get 3
write 17  // still illegal  
read      // get 4

@allenjbaum
Copy link

allenjbaum commented Dec 2, 2021 via email

@martinberger
Copy link
Author

That's not the case I was thinking of, but I think you're right.

I find my example to be pathological and wonder if this is what the specification intends.

difficult to write architectural tests,

Yes. Should we care about this, or is this so remote an edge case that we can ignore it?

@aswaterman
Copy link
Member

“Illegal written value” is singular - if it were referring to the history of writes, it would need to be plural.

@gfavor
Copy link
Collaborator

gfavor commented Dec 2, 2021 via email

@gfavor
Copy link
Collaborator

gfavor commented Dec 2, 2021 via email

@martinberger
Copy link
Author

martinberger commented Dec 2, 2021

It could be argued that this

write 17  // assuming 17 is illegal
read       // get 3
read       // get 3
...
read       // get 3
write 17  // still illegal
read       // get 4
read       // get 4
...
read       // get 4

depends deterministically on the last written illegal value. In contrast, this does not:

write 17  // assuming 17 is illegal
read       // get 3
read       // get 17
write 17  // still illegal
read       // get 4
read       // get 99

@pdonahue-ventana
Copy link
Contributor

See also #520

@allenjbaum
Copy link

allenjbaum commented Dec 3, 2021 via email

@allenjbaum
Copy link

allenjbaum commented Dec 3, 2021 via email

@aswaterman
Copy link
Member

Revisiting this a few years later, we're affirming that the OP's interpretation is correct, but the text doesn't need to be clarified, because "write" being singular implies "most recent write".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants