Skip to content

Commit a6e008b

Browse files
authored
document: Update description about segue opt, update README (#3338)
1 parent 67dc2ae commit a6e008b

File tree

4 files changed

+9
-9
lines changed

4 files changed

+9
-9
lines changed

README.md

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,12 @@
1010
[Build WAMR](./doc/build_wamr.md) | [Build AOT Compiler](./wamr-compiler/README.md) | [Embed WAMR](./doc/embed_wamr.md) | [Export Native API](./doc/export_native_api.md) | [Build Wasm Apps](./doc/build_wasm_app.md) | [Samples](./samples/README.md)
1111

1212
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.
1515
- [**wamrc**](./wamr-compiler/): The AOT compiler to compile Wasm file into AOT file
1616
- Useful components and tools for building real solutions with WAMR vmcore:
1717
- [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
1919
- [WAMR-IDE](./test-tools/wamr-ide): An experimental VSCode extension for developping WebAssembly applications with C/C++
2020

2121

@@ -60,7 +60,7 @@ The following platforms are supported, click each link below for how to build iw
6060
## Getting started
6161
- [Build VM core](./doc/build_wamr.md) and [Build wamrc AOT compiler](./wamr-compiler/README.md)
6262
- [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)
6464
- [Register native APIs for Wasm applications](./doc/export_native_api.md)
6565
- [Build wamrc AOT compiler](./wamr-compiler/README.md)
6666
- [Build Wasm applications](./doc/build_wasm_app.md)
@@ -70,7 +70,6 @@ The following platforms are supported, click each link below for how to build iw
7070
- [End-user APIs documentation](https://bytecodealliance.github.io/wamr.dev/apis/)
7171

7272

73-
7473
### Performance and memory
7574
- [Blog: The WAMR memory model](https://bytecodealliance.github.io/wamr.dev/blog/the-wamr-memory-model/)
7675
- [Blog: Understand WAMR heaps](https://bytecodealliance.github.io/wamr.dev/blog/understand-the-wamr-heaps/) and [stacks](https://bytecodealliance.github.io/wamr.dev/blog/understand-the-wamr-stacks/)
@@ -82,7 +81,6 @@ The following platforms are supported, click each link below for how to build iw
8281
- [Performance and footprint data](https://github.com/bytecodealliance/wasm-micro-runtime/wiki/Performance): the performance and footprint data
8382

8483

85-
8684
Project Technical Steering Committee
8785
====================================
8886
The [WAMR PTSC Charter](./TSC_Charter.md) governs the operations of the project TSC.

doc/export_native_api.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ Each letter in the "()" represents a parameter type, and the one following after
8989
- '**I**': i64
9090
- '**f**': f32
9191
- '**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
9393
- '**\***': the parameter is a buffer address in WASM application
9494
- '**~**': the parameter is the byte length of WASM buffer as referred by preceding argument "\*". It must follow after '*', otherwise, registration will fail
9595
- '**$**': the parameter is a string in WASM application

doc/perf_tune.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ emcc -msimd128 -O3 -o <wasm_file> <c/c++ source files>
2828
- Reduce the footprint of JIT/AOT, the JIT/AOT code generated is smaller
2929
- Reduce the compilation time of JIT/AOT
3030

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:
3232

3333
```bash
3434
wamrc --enable-segue -o aot_file wasm_file
@@ -50,6 +50,8 @@ iwasm --enable-segue wasm_file (iwasm is built with llvm-jit enabled)
5050
iwasm --enable-segue=[<flags>] wasm_file
5151
```
5252

53+
> Note: Currently it is only supported on linux x86-64.
54+
5355
## 5. Use the AOT static PGO method
5456

5557
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:

wamr-compiler/main.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,7 @@ print_help()
176176
printf(" Enable the specified LLVM passes, using comma to separate\n");
177177
printf(" --use-prof-file=<file> Use profile file collected by LLVM PGO (Profile-Guided Optimization)\n");
178178
printf(" --enable-segue[=<flags>] Enable using segment register GS as the base address of linear memory,\n");
179-
printf(" only available on linux/linux-sgx x86-64, which may improve performance,\n");
179+
printf(" only available on linux x86-64, which may improve performance,\n");
180180
printf(" flags can be: i32.load, i64.load, f32.load, f64.load, v128.load,\n");
181181
printf(" i32.store, i64.store, f32.store, f64.store, v128.store\n");
182182
printf(" Use comma to separate, e.g. --enable-segue=i32.load,i64.store\n");

0 commit comments

Comments
 (0)