You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
WebAssembly Micro Runtime (WAMR) is a lightweight standalone WebAssembly (Wasm) runtime with small footprint, high performance and highly configurable features for applications cross from embedded, IoT, edge to Trusted Execution Environment (TEE), smart contract, cloud native and so on. It includes a few parts as below:
13
-
-[**VMcore**](./core/iwasm/): A set of runtime libraries for loading and running Wasm modules. It supports several execution modes including interpreter, Ahead-of-Time compilation(AoT) and Just-in-Time compilation (JIT). The WAMR supports two JIT tiers - Fast JIT, LLVM JIT, and dynamic tier-up from Fast JIT to LLVM JIT.
14
-
-[**iwasm**](./product-mini/): The executable binary built with WAMR VMcore supports WASI and command line interface.
13
+
-[**VMcore**](./core/iwasm/): A set of runtime libraries for loading and running Wasm modules. It supports rich running modes including interpreter, Ahead-of-Time compilation(AoT) and Just-in-Time compilation (JIT). WAMR supports two JIT tiers - Fast JIT, LLVM JIT, and dynamic tier-up from Fast JIT to LLVM JIT.
14
+
-[**iwasm**](./product-mini/): The executable binary built with WAMR VMcore which supports WASI and command line interface.
15
15
-[**wamrc**](./wamr-compiler/): The AOT compiler to compile Wasm file into AOT file
16
16
- Useful components and tools for building real solutions with WAMR vmcore:
17
17
-[App-framework](https://github.com/bytecodealliance/wamr-app-framework/blob/main/app-framework/README.md): A framework for supporting APIs for the Wasm applications
18
-
-[App-manager](https://github.com/bytecodealliance/wamr-app-framework/blob/main/app-mgr/README.md): a framework for dynamical loading the Wasm module remotely
18
+
-[App-manager](https://github.com/bytecodealliance/wamr-app-framework/blob/main/app-mgr/README.md): A framework for dynamical loading the Wasm module remotely
19
19
-[WAMR-IDE](./test-tools/wamr-ide): An experimental VSCode extension for developping WebAssembly applications with C/C++
20
20
21
21
@@ -60,7 +60,7 @@ The following platforms are supported, click each link below for how to build iw
60
60
## Getting started
61
61
-[Build VM core](./doc/build_wamr.md) and [Build wamrc AOT compiler](./wamr-compiler/README.md)
62
62
-[Build iwasm (mini product)](./product-mini/README.md): [Linux](./product-mini/README.md#linux), [SGX](./doc/linux_sgx.md), [MacOS](./product-mini/README.md#macos) and [Windows](./product-mini/README.md#windows)
63
-
-[Embed into C/C++](./doc/embed_wamr.md), [Embed into Python](./language-bindings/python), [Embed into Go](./language-bindings/go)
63
+
-[Embed into C/C++](./doc/embed_wamr.md), [Embed into Python](./language-bindings/python), [Embed into Go](./language-bindings/go), [Embed in Rust](./language-bindings/rust)
64
64
-[Register native APIs for Wasm applications](./doc/export_native_api.md)
Copy file name to clipboardExpand all lines: doc/export_native_api.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -89,7 +89,7 @@ Each letter in the "()" represents a parameter type, and the one following after
89
89
- '**I**': i64
90
90
- '**f**': f32
91
91
- '**F**': f64
92
-
- '**r**': externref (has to be the value of a `uintptr_t` variable)
92
+
- '**r**': externref (has to be the value of a `uintptr_t` variable), or all kinds of GC reference types when GC feature is enabled
93
93
- '**\***': the parameter is a buffer address in WASM application
94
94
- '**~**': the parameter is the byte length of WASM buffer as referred by preceding argument "\*". It must follow after '*', otherwise, registration will fail
95
95
- '**$**': the parameter is a string in WASM application
- Reduce the footprint of JIT/AOT, the JIT/AOT code generated is smaller
29
29
- Reduce the compilation time of JIT/AOT
30
30
31
-
Currently it is supported on linux x86-64, developer can use `--enable-segue=[<flags>]` for wamrc:
31
+
Currently it is only supported on linux x86-64, developer can use `--enable-segue=[<flags>]` for wamrc:
32
32
33
33
```bash
34
34
wamrc --enable-segue -o aot_file wasm_file
@@ -50,6 +50,8 @@ iwasm --enable-segue wasm_file (iwasm is built with llvm-jit enabled)
50
50
iwasm --enable-segue=[<flags>] wasm_file
51
51
```
52
52
53
+
> Note: Currently it is only supported on linux x86-64.
54
+
53
55
## 5. Use the AOT static PGO method
54
56
55
57
LLVM PGO (Profile-Guided Optimization) allows the compiler to better optimize code for how it actually runs. WAMR supports AOT static PGO, currently it is tested on Linux x86-64 and x86-32. The basic steps are:
0 commit comments