mirror of
https://github.com/mii443/wasmer.git
synced 2025-12-03 03:08:22 +00:00
feat(docs): Add WAMR to docs
This commit is contained in:
23
docs/en/wamr.md
Normal file
23
docs/en/wamr.md
Normal file
@@ -0,0 +1,23 @@
|
||||
> [!WARNING]
|
||||
> The WAMR backend is, as of now, an experimental feature. This document is
|
||||
> likely to change quickly.
|
||||
|
||||
# Introduction
|
||||
|
||||
Recent efforts introduced the possibility to use the WAMR interpreter as a
|
||||
backend in Wasmer. Among other things, this allows Wasmer to be used in iOS!
|
||||
This document has the objective to document important aspects of this backend.
|
||||
|
||||
## About the WAMR backend
|
||||
1. Direct calls (outside host) to grow memory are [not
|
||||
supported](https://github.com/bytecodealliance/wasm-micro-runtime/blob/main/doc/memory_tune.md#the-memory-model),
|
||||
and users are encouraged to use the dedicated opcode (`memory.grow`)
|
||||
instead.
|
||||
2. Importing memories and tables is not supported. If used, WAMR will simply
|
||||
print `doesn't support import memories and tables for now, ignore them` to
|
||||
standard output.
|
||||
3. Due to point (2) above, multithreaded programs relying on importing memories
|
||||
can fail with out-of-bound memory read/write errors.
|
||||
|
||||
Notice, again, that the support is experimental: if you happen to incur in
|
||||
other issues not listed here, please file an issue!
|
||||
@@ -1,9 +1,9 @@
|
||||
# `wasmer` [](https://github.com/wasmerio/wasmer/actions?query=workflow%3Abuild) [](https://slack.wasmer.io) [](https://github.com/wasmerio/wasmer/blob/main/LICENSE) [](https://crates.io/crates/wasmer)
|
||||
|
||||
[`Wasmer`](https://wasmer.io/) is the most popular
|
||||
[WebAssembly](https://webassembly.org/) runtime for Rust. It supports
|
||||
JIT (Just In Time) and AOT (Ahead Of Time) compilation as well as
|
||||
pluggable compilers suited to your needs.
|
||||
[WebAssembly](https://webassembly.org/) runtime for Rust. It supports JIT (Just
|
||||
In Time), AOT (Ahead Of Time) compilation, an experimental interpreter as well
|
||||
as pluggable compilers suited to your needs.
|
||||
|
||||
It's designed to be safe and secure, and runnable in any kind of environment.
|
||||
|
||||
@@ -53,6 +53,13 @@ Wasmer is not only fast, but also designed to be *highly customizable*:
|
||||
compilation-time and runtime performance, useful for development,
|
||||
* [`wasmer-compiler-llvm`] provides a deeply optimized executable
|
||||
code with the fastest runtime speed, ideal for production.
|
||||
|
||||
* **Pluggable interpreters** (experimental) - [`wamr`], a feature provided by
|
||||
the `wasmer` crate, provides binding to the interpreter provided by
|
||||
[`WAMR`](https://github.com/bytecodealliance/wasm-micro-runtime). More
|
||||
informations about this experimental backend can be found in the [dedicated
|
||||
documentation](docs/en/wamr.md).
|
||||
|
||||
|
||||
* **Headless mode** — Once a WebAssembly module has been compiled, it
|
||||
is possible to serialize it in a file for example, and later execute
|
||||
|
||||
Reference in New Issue
Block a user