From 5647dcbb8f40bc341839ec2aa1786ca27ec05135 Mon Sep 17 00:00:00 2001 From: Nick Fitzgerald Date: Fri, 7 Aug 2020 16:50:39 -0700 Subject: [PATCH] docs: Document and advertise our support for various Wasm proposals --- docs/SUMMARY.md | 1 + docs/stability-wasm-proposals-support.md | 34 ++++++++++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 docs/stability-wasm-proposals-support.md diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md index 2ec6a6170f..49d1e9c33f 100644 --- a/docs/SUMMARY.md +++ b/docs/SUMMARY.md @@ -45,6 +45,7 @@ - [Stability](stability.md) - [Release Process](./stability-release.md) - [Platform Support](./stability-platform-support.md) + - [Wasm Proposals Support](./stability-wasm-proposals-support.md) - [Security](security.md) - [Disclosure Policy](./security-disclosure.md) - [Sandboxing](./security-sandboxing.md) diff --git a/docs/stability-wasm-proposals-support.md b/docs/stability-wasm-proposals-support.md new file mode 100644 index 0000000000..d38db6f3dc --- /dev/null +++ b/docs/stability-wasm-proposals-support.md @@ -0,0 +1,34 @@ +# WebAssembly Proposals Support + +The following table summarizes Wasmtime's support for WebAssembly proposals as +well as the command line flag and [`wasmtime::Config`][config] method you can +use to enable or disable support for a proposal. + +If a proposal is not listed, then it is not supported by Wasmtime. + +Wasmtime will never enable a proposal by default unless it has reached phase 4 +of [the WebAssembly standardizations process][phases] and its implementation in +Wasmtime has been [thoroughly +vetted](./contributing-supporting-new-wasm-proposals.html). + +| WebAssembly Proposal | Supported in Wasmtime? | Command Line Flag | [`Config`][config] Method | +|---------------------------------------------|----------------------------------|------------------------|---------------------------| +| **[Import and Export Mutable Globals]** | **Yes.**
Always enabled. | (none) | (none) | +| **[Sign-Extension Operations]** | **Yes.**
Always enabled. | (none) | (none) | +| **[Non-Trapping Float-to-Int Conversions]** | **Yes.**
Always enabled. | (none) | (none) | +| **[Multi-Value]** | **Yes.**
Enabled by default. | `--enable-multi-value` | [`wasm_multi_value`](https://docs.rs/wasmtime/*/wasmtime/struct.Config.html#method.wasm_multi_value) | +| **[Bulk Memory Operations]** | **Yes.**
Enabled by default. | `--enable-bulk-memory` | [`wasm_bulk_memory`](https://docs.rs/wasmtime/*/wasmtime/struct.Config.html#method.wasm_bulk_memory) | +| **[Reference Types]** | **Yes.**
Enabled by default on x86_64. Aarch64 support in progress. | `--enable-reference-types` | [`wasm_reference_types`](https://docs.rs/wasmtime/*/wasmtime/struct.Config.html#method.wasm_reference_types) | +| **[Fixed-Width SIMD]** | **In progress.** | `--enable-simd` | [`wasm_simd`](https://docs.rs/wasmtime/*/wasmtime/struct.Config.html#method.wasm_simd) | +| **[Threads and Atomics]** | **In progress.** | `--enable-threads` | [`wasm_threads`](https://docs.rs/wasmtime/*/wasmtime/struct.Config.html#method.wasm_threads) | + +[config]: https://docs.rs/wasmtime/*/wasmtime/struct.Config.html +[Multi-Value]: https://github.com/WebAssembly/spec/blob/master/proposals/multi-value/Overview.md +[Bulk Memory Operations]: https://github.com/WebAssembly/bulk-memory-operations/blob/master/proposals/bulk-memory-operations/Overview.md +[Import and Export Mutable Globals]: https://github.com/WebAssembly/mutable-global/blob/master/proposals/mutable-global/Overview.md +[Reference Types]: https://github.com/WebAssembly/reference-types/blob/master/proposals/reference-types/Overview.md +[Non-Trapping Float-to-Int Conversions]: https://github.com/WebAssembly/spec/blob/master/proposals/nontrapping-float-to-int-conversion/Overview.md +[Sign-Extension Operations]: https://github.com/WebAssembly/spec/blob/master/proposals/sign-extension-ops/Overview.md +[Fixed-Width SIMD]: https://github.com/WebAssembly/simd/blob/master/proposals/simd/SIMD.md +[phases]: https://github.com/WebAssembly/meetings/blob/master/process/phases.md +[Threads and Atomics]: https://github.com/WebAssembly/threads/blob/master/proposals/threads/Overview.md