Add relaxed-atomics feature flag - #8983
Conversation
We previously renamed the old "relaxed-atomics" feature to "acquire-release-atomics." Add an experimental "relaxed-atomics" feature that will allow "relaxed" atomics in addition to seqcst and acquire-release atomics. The "relaxed" atomics will actually be load-store ordered atomics, which prevent out-of-thin-air values for a (hopefully) modest performance cost. The name of the feature is likely to change in the future to more exactly represent the desired semantics.
|
Sorry if i'm not understanding this fully, but why did #8982 rename |
|
Yeah, sorry, it's kinda confusing. The old relaxed atomics feature corresponded to the https://github.com/WebAssembly/relaxed-atomics proposal, which has been renamed to acquire-release-atomics (and now redirects to https://github.com/WebAssembly/acquire-release-atomics). We renamed the feature to match the proposal renaming. The new relaxed atomics feature does not (yet) correspond to any proposal. It adds a new "relaxed" memory ordering that is similar to (but slightly stronger than) C++'s relaxed memory ordering. So we're reusing an old name for one feature as the name of a different new feature. |
chharvey
left a comment
There was a problem hiding this comment.
looks good from the JS side
We previously renamed the old "relaxed-atomics" feature to "acquire-release-atomics." Add an experimental "relaxed-atomics" feature that will allow "relaxed" atomics in addition to seqcst and acquire-release atomics. The "relaxed" atomics will actually be load-store ordered atomics, which prevent out-of-thin-air values for a (hopefully) modest performance cost. The name of the feature is likely to change in the future to more exactly represent the desired semantics.