Skip to content
This repository has been archived by the owner on Jan 25, 2022. It is now read-only.

Prohibit thin-air values #82

Closed
lars-t-hansen opened this issue Mar 23, 2016 · 1 comment
Closed

Prohibit thin-air values #82

lars-t-hansen opened this issue Mar 23, 2016 · 1 comment
Milestone

Comments

@lars-t-hansen
Copy link
Collaborator

Brian Demsky observed (in email) that our current memory model may allow values to be constructed out of thin air in the context of data races. Classical example where x and y are in shared memory:

r1 = x                          r2 = y
if (r1)                         if (r2)
  y = 1                           x = 1

Need to investigate this. If found to be the case the straightforward fix is probably to outlaw it as a side condition, as C++ has done. This is not great but at the moment may be the best we can do.

@lars-t-hansen
Copy link
Collaborator Author

The forthcoming memory model rewrite attempts to outlaw this with a rule about certain value speculations, so I'll close this and we can reopen or create new bugs if the problem is believed to persist.

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

No branches or pull requests

1 participant