Message410153
WASI is another WebAssembly platform similar to Emscripten (bpo-40280). Simply speaking Emscripten binaries (wasm32-emscripten) run inside a browser while WASI binaries target standalone runtimes like wasmtime [2][3] on the host. The lines are a bit blurry, as it is possible to run WASI binaries in the browser with help of JS-polyfills. WASI provides compile once, run anyway with JIT/AOT and sandboxing.
WASI is still under development and is lacking several core features:
- threading support and pthread API
- sockets
- signals are emulated (_WASI_EMULATED_SIGNAL and -lwasi-emulated-signal)
- DAC APIs like chmod, umask
- user-related APIs like pwd, grp
- dup(), dup2(), F_DUPFD
For 3.11 I plan to fix our use of #ifdef HAVE_FEATURE to make it easier to experiment with WASI. The pthread APIs need stubs, which I won't commit to 3.11 upstream yet.
[1] https://wasi.dev/
[2] https://github.com/bytecodealliance/wasmtime
[3] https://hacks.mozilla.org/2019/03/standardizing-wasi-a-webassembly-system-interface/ |
|
Date |
User |
Action |
Args |
2022-01-09 14:47:43 | christian.heimes | set | recipients:
+ christian.heimes |
2022-01-09 14:47:43 | christian.heimes | set | messageid: <1641739663.52.0.433507958543.issue46315@roundup.psfhosted.org> |
2022-01-09 14:47:43 | christian.heimes | link | issue46315 messages |
2022-01-09 14:47:43 | christian.heimes | create | |
|