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

🛤 threads #14

Open
binji opened this issue Oct 16, 2018 · 0 comments
Open

🛤 threads #14

binji opened this issue Oct 16, 2018 · 0 comments

Comments

@binji
Copy link
Member

binji commented Oct 16, 2018

This is a tracking issue for a post-MVP feature
It will be updated as the issue progresses.

Topic threads
Champion Ben Smith @binji
Status in progress
Phase Feature proposal
Linked issues WebAssembly/design#992, WebAssembly/design#950, WebAssembly/design#730, WebAssembly/design#485, WebAssembly/design#314, WebAssembly/design#300, WebAssembly/design#104
Linked repositories github.com/WebAssembly/threads

Details

Provide low-level buildings blocks for pthreads-style shared memory: shared memory between threads, atomics and futexes.

New atomic memory operators, including loads/stores annotated with their atomic ordering property, will follow a model compatible with the C++11 memory model (with some differences), similarly to the PNaCl atomic support and the SharedArrayBuffer support in JavaScript. Even when there are data races, WebAssembly will ensure that the nondeterminism remains limited and local.

There is ongoing work to formalize the memory model used by SharedArrayBuffer. This can be used by WebAssembly threads, since both JavaScript and WebAssembly are intended to be able to communicate through SharedArrayBuffer.

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

2 participants