-
Notifications
You must be signed in to change notification settings - Fork 839
Closed
Description
We need toolchain support for wasm's upcoming support of threads/atomics/shared linear memory. The proposal repo is located at https://github.com/WebAssembly/threads (the important files are https://github.com/WebAssembly/threads/blob/master/proposals/threads/Overview.md and https://github.com/WebAssembly/threads/blob/master/proposals/threads/Globals.md)
I've already started working on this (#1069, #1077, #1082, #1083), but probably should have created this tracking issue first.
This requires several types of support in Binaryen, which we can track the state of here:
- IR for shared memories, and new instructions
- Shared memories (Add shared memories #1069)
- Atomic instructions (atomic loads/stores, atomic RMW, cmpxchg, wait/wake) (Add IR, parsing and binary support for AtomicRMW instructions from wasm threads proposal #1082, Add atomic loads and stores #1077, Add IR, parsing, printing, and binary for atomic cmpxchg #1083)
- Import/export of mutable globals (
WIP: Support for mutable global imports/exports #1644Add support for a mutable globals as a Feature #1785) - Sign-extension operators (Add support for sign-extension operators from threading proposal #1167)
- Text and binary encoding for shared memories and new instructions (currently everything that there is IR support for)
- Validation support for new IR (Refactor validation failure and printing, validate atomic alignment #1090, Validation for AtomicRMW and cmpxchg #1092)
- Optimizer support for new IR (Optimizer support for atomic instructions #1094)
- asm2wasm support
[ ] s2wasm support(or s2wasm's replacement)- Interpreter support for new IR
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels