|简体中文|
Ultimate WebAssembly Virtual Machine
- Get version information
$ uwvm --version
- Get a list of commands
$ uwvm --help
- Running uwvm virtual machine
$ uwvm <param1> <param2> ... --run <file> <argv1> <argv2> ...
- Running mode
--mode [objdump(default), int]
- Loading WASM ABI (default auto detection)
--abi [bare|emscripten|wasip1|wasip2]
Standardized features | parameters |
---|---|
JS BigInt to Wasm i64 integration | N/A |
Bulk memory operations | ❌ |
Extended constant expressions | ❌ |
Garbage collection | ❌ |
Multiple memories | --enable-multi-memory |
Multi-value | --enable-multi-value |
Mutable globals | --enable-mutable-globals |
Reference types | --enable-reference-types |
Relaxed SIMD | --enable-relaxed-simd |
Non-trapping float-to-int conversions | ❌ |
Sign-extension operations | ❌ |
Fixed-width SIMD | --enable-fixed-width-simd |
Extended constant expressions | ❌ |
Tail calls | ❌ |
Threads and atomics | --enable-thread |
Exception handling | --enable-exception-handling |
JS Promise Integration | N/A |
Memory64 | --enable-memory64 |
Custom Page Sizes | --enable-custom-page-sizes |
Type reflection | ❌ |
- (x86_64, i386, aarch64, arm)-windows-(gnu, msvc) (support UCRT and MSVCRT)
- (x86_64, i386, aarch64, arm, loongarch64, riscv64, mips64, powerpc64, etc.)-linux-(gnu, musl, llvm, mlibc, uclibc, avrlibc, etc.)
- (x86_64, i386, aarch64, arm, powerpc, powerpc64, powerpc64le, powerpcspe, riscv64)-freebsd
- unknown-dragonflybsd
- unknown-netbsd
- unknown-openbsd
- unknown-bsd
- unknown-sun
- unknwon-apple-darwin
- i386-msdosdjgpp
- wasm32-wasip1, wasm32-wasip2, wasm64-wasip1, wasm64-wasip2 (bootstrap)
- etc.
$ xmake
$ xmake install -o OutputPath
- Build parameters
$ xmake f -m [release|releasedbg|debug] -p [windows|mingw|macosx|linux|iphoneos ..] -a [x86_64|i386|arm|aarch64 ..] --cppstdlib=[default|libstdc++|libc++] ..
- Currently, only MSVC 14.30+ GCC 14+ and LLVM 18+ are supported.
- To compile systems compatible with Win10 (default) or below, please add parameters
--min-win32-sys=[WIN10|WINBLUE|WIN8|WIN7|WS08|VISTA|WS03|WINXP|WIN2K]
- For Windows 9x (i386-windows-gnu)
--min-win32-sys=[WINME|WIN98|WIN95]
- Using the llvm toolchain (This option must be added to some platforms that use gcc soft connection to clang, such as macos and android)
--use-llvm=y|n(default)
- Compile using local instruction sets
--native=y|n(default)
- Select toolchain
--sdk=ToolchainPath
- Static linking
--static=y(defalut)|n
- Set sysroot
--sysroot=<path>
- Record the time of each step
--timer=y|n(default)
- Use mimalloc as the default allocator
--use-mimalloc=y|n(default)
- Enable Sanitizer
--policies=build.sanitizer.address --policies=build.sanitizer.leak