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鈥檒l 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

Comments

Projects
None yet
2 participants
@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.
You can鈥檛 perform that action at this time.