Closed Bug 1389458 Opened 7 years ago Closed 4 years ago

[meta] Implement WebAssembly threads proposal

Categories

(Core :: JavaScript: WebAssembly, enhancement, P3)

enhancement

Tracking

()

RESOLVED FIXED

People

(Reporter: lth, Unassigned)

References

(Depends on 2 open bugs)

Details

(Keywords: dev-doc-complete, meta)

Attachments

(1 file, 4 obsolete files)

Proposal repo:
https://github.com/WebAssembly/threads

Main proposal text:
https://github.com/WebAssembly/threads/blob/master/proposals/threads/Overview.md

The proposal is stable and basically finished but may not be completely nailed down until the November 2017 CG meeting.  If we land before then (and I think we should do that) we should land behind a NIGHTLY flag or similar.
Depends on: 1389461
Depends on: 1389464
Depends on: 1389471
Depends on: 1146817
Depends on: 1391636
Depends on: 1393732
Depends on: 1394420
Priority: -- → P2
Attached file wasm-atomics.bundle (obsolete) —
WIP, mostly for safekeeping purposes.  Atomics work (so far as a casual observer is concerned) in the baseline compiler; Ion is still missing 64-bit atomics.  Most of the pieces are here but the Memory object does not allocate shared memory yet.  Lots of work remains.
Depends on: 1402939
Attached file wasm-threads.bundle (obsolete) —
Another snapshot.  This has a complete implementation of thread ops and atomics of all sizes for all tier-1 platforms but the queue is pretty messy, and there's some outstanding cleanup.
Attachment #8911236 - Attachment is obsolete: true
Priority: P2 → P1
Depends on: 1412238
Depends on: 1412852
Functionally complete and with test cases apart from the issue around atomic access to current_memory during a concurrent grow_memory:
https://treeherder.mozilla.org/#/jobs?repo=try&revision=1148fff7492d327d5d2f6bf281603e19a18cf40a
Attached file wasm-threads.bundle (obsolete) —
The patch set for that try run.
Attachment #8915685 - Attachment is obsolete: true
Depends on: 1413513
Depends on: wasm-bulkmem
Attached file wasm-threads.bundle (obsolete) —
New patch set with some bug fixes and better test cases; new builds:
https://treeherder.mozilla.org/#/jobs?repo=try&revision=cdca47678e191aaf81d8be5252c26b6ffbc49c1d
Attachment #8924132 - Attachment is obsolete: true
Attached file wasm-threads.bundle
New queue, with fixes after reviews and rebasing.

Artifacts here (even though the patch set does not look clean in this try build it is the same):
https://treeherder.mozilla.org/#/jobs?repo=try&revision=a97f120a4a037a9954b3ce6be3c9013bd4040cf7
Attachment #8926293 - Attachment is obsolete: true
Blocks: 1419025
Depends on: 1423496
(metabug, no owner)
Assignee: lhansen → nobody
Status: ASSIGNED → NEW
Priority: P1 → P3
This news item may be of interest ... it references this issue

WebAssembly Threads ready to try in Chrome 70 (developers.google.com)

https://news.ycombinator.com/item?id=18332991
Depends on: 1507106
Depends on: 1507112
Please implement it - it is the one last major item which keeps webassembly from beeing really useful.
Depends on: 1559965

Should this be marked as blocked by https://bugzilla.mozilla.org/show_bug.cgi?id=1477743 ?

Depends on: resab
Depends on: 1611080

please prioritize - Google shipped this enabled by default with Chrome 74 - release on 2019-04-23.
So exactly 3 months to go until Firefox lacks Chrome by a whole year when it comes to webassembly threads.

Component: JavaScript Engine → Javascript: WebAssembly
Depends on: 1619196

We're done here - the two remaining blockers aren't really blocking anything. \o/

Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED

I've completed the documentation on MDN about this; see https://github.com/mdn/sprints/issues/3428#issuecomment-655053796 for details.

Let me know if you think this needs anything else; thanks!

You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: