Stream: wasi-threads

Topic: shared-everything-threads proposal and canon symbol naming


view this post on Zulip Christof Petig (Feb 24 2024 at 08:52):

https://github.com/WebAssembly/shared-everything-threads/blob/main/proposals/shared-everything-threads/Overview.md#thread-management-builtins proposes a thread spawning function compatible with the component model.

I think that this part is largely uncontroversial and the current work on the proposal (harmonizing with GC, IIUC) won't influence this function. So it looks compelling to experimentally add it, but the mapping between the proposal and a specific function name is unclear to me.

Guessing from other component model functions it could be that (canon thread.spawn <typeidx> (core func <id>?)) maps to the symbol name [thread-spawn]i32 (I can't guess the module name), but I really would like to understand where to find this information. Any hints?

view this post on Zulip Andrew Brown (Feb 28 2024 at 00:40):

In the short-term, we decided to punt on a name-conversion scheme and only allow the single i32 version. https://github.com/WebAssembly/component-model/pull/291 has more details.

This change adds the thread.spawn and thread.hw_concurrency builtins in line with what was proposed in the shared-everything threads proposal.

view this post on Zulip Andrew Brown (Feb 28 2024 at 00:40):

What the component model will expect that function name to be... I'm not sure yet.

view this post on Zulip Andrew Brown (Feb 28 2024 at 00:41):

(Also, apologies for the delayed reply to this here; feel free to tag me to get my attention!)


Last updated: Nov 26 2024 at 00:12 UTC