-
Notifications
You must be signed in to change notification settings - Fork 32
Memory model goals #119
Comments
OK. I agree it would be useful to summarize this, but I also don't think the spec is the right place for it (I'm a little self-conscious that the proposal already has a lot of expository text). There is an existing document in this repo, DISCUSSION.md, that's intended for things like that. I'll see if it's possible to add something there, or I can create a new file for it if it becomes too large. |
Specifically, I want to be able to call in external experts (like the http://www.cl.cam.ac.uk/~pes20/weakmemory/ group) to review the model and check that it implements your intent. To do that, they'll need to understand your intent. A file outside of the spec is totally fine for that. |
@jyasskin, noted. Also see Issue #88, in which @jfbastien is going for something similar. It looks like "intent" won't be too voluminous, so it'll show up in DISCUSSION.md probably tomorrow, I'll make a note here when it does. |
I landed an expanded discussion (sections "Data Races" and "A summary of constraints on the memory model") that speaks to intent, though I expect it is probably still not enough for serious work. I'm going to leave this ticket open for a while, please do comment when you find that something is mystifying / missing / not to your liking. (Removing the milestone though - what's there is probably OK for stage 3.) |
Another concern that was brought up is compatibility with WebAssembly, as discussed in Issue #59. I have summarized the discussion in that bug and added it as a subsection to DISCUSSION.md. |
Scanning the list of closed Stage 3 issues, I find these concerns listed:
I will address all of those in DISCUSSION.md (to the extent they are not already addressed), but briefly:
|
The memory model in https://tc39.github.io/ecmascript_sharedmem/shmem.html#AtomicsObject.MemoryModel describes some of the challenges that the memory model faces. I think it would be good to write down somewhere (either in the spec or in an explainer somewhere) what goals the memory model is trying to address. This will help people who are trying to evaluate the model. Some possible goals we've discussed are
Thanks @jyasskin for the suggestion
The text was updated successfully, but these errors were encountered: