Intent to Ship: WebAssembly Worker Based Threads on Android (too)

201 views
Skip to first unread message

Lutz Vahl

unread,
Jan 25, 2021, 10:09:44 AM1/25/21
to blink-dev

Contact emails

gde...@chromium.orgtit...@chromium.orghab...@chromium.orgnatt...@chromium.orgva...@chromium.org

Explainer

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

Specification

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

Design docs

https://github.com/WebAssembly/threads

Summary

This I2S is only about enabling the feature by default as well on Android, as SABs are available on Android since M88 gated behind COI, Wasm Threads can be used on Android.


The WebAssembly Threads feature allows multiple WebAssembly instances in separate Web Workers to share a single WebAssembly.Memory object. As with SharedArrayBuffers in JavaScript, this allows very fast communication between the Workers. This can be used to offload computation to another thread to keep the main thread and its UI responsive.



Blink component

Blink>JavaScript>WebAssembly

Search tags

wasmwebassemblythreads

TAG review

https://github.com/w3ctag/design-reviews/issues/299

TAG review status

Issues addressed

Risks


Interoperability and Compatibility


Gecko: Shipped/Shipping (https://bugzilla.mozilla.org/show_bug.cgi?id=1389458)

Edge: In development (https://github.com/Microsoft/ChakraCore/issues/3477)

WebKit: Positive

Web developers: Strongly positive


Is this feature fully tested by web-platform-tests?

No

Tracking bug

https://bugs.chromium.org/p/chromium/issues/detail?id=857476

Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/5724132452859904

yo...@yoav.ws

unread,
Jan 28, 2021, 2:45:44 PM1/28/21
to blink-dev, va...@chromium.org
LGTM1

Can you provide links here to show that support?



Is this feature fully tested by web-platform-tests?

No

I'm assuming it's tested otherwise. Is that a correct assumption?

Chris Harrelson

unread,
Jan 28, 2021, 3:22:51 PM1/28/21
to yo...@yoav.ws, blink-dev, va...@chromium.org
LGTM2

--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/808ecfd8-bf8a-455d-bb70-6f94fcffdad5n%40chromium.org.

Alex Russell

unread,
Jan 28, 2021, 3:23:27 PM1/28/21
to blink-dev, Chris Harrelson, blink-dev, Lutz Vahl, yo...@yoav.ws
LGTM3

Deepti Gandluri

unread,
Jan 30, 2021, 12:24:21 AM1/30/21
to blink-dev, yo...@yoav.ws, Lutz Vahl
 



Is this feature fully tested by web-platform-tests?

No

I'm assuming it's tested otherwise. Is that a correct assumption?

The feature introduces a shared WebAssembly.Memory object and atomic operations that operate on both shared, and non-shared memory. V8 has engine tests that stress test the atomic operations, as well as tests for the shared WebAssembly.Memory API surface. Ideally this would be tested by web-platform-tests as well, but they have not been written yet. 

Yoav Weiss

unread,
Feb 1, 2021, 4:41:10 AM2/1/21
to Deepti Gandluri, blink-dev, Lutz Vahl
In that case, my LGTM is conditional on adding a reasonable WPT test suite on top of the existing tests, to ensure interoperability.

--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
Reply all
Reply to author
Forward
0 new messages