Skip to content

UlteSoft/uwvm2

Repository files navigation

uwvm2 logo

Ultimate WebAssembly Virtual Machine 2

Important

This project is currently only developer stable

Introduction

Ultimate WebAssembly Virtual Machine 2

Features

WASM Feature Extensions

Most wasm standards are supported. See feature.md. For detailed changes in each WebAssembly release, see wasm-release.md.

Supports multiple platforms

Supports over 100 triplet platforms, including DOS series, POSIX series, Windows 9x series, Windows NT series, and the Host C Library Series. Supports interpretation execution (INT), just-in-time compilation (JIT), and tiered compilation (TC). See support.md for details.

High-performance, secure, and highly scalable standard parser

High-performance, spec-compliant WebAssembly binary parser built on concept-oriented C++26 with SIMD-aware design and extensive fuzzing for safety and robustness. See readme.md for details.

WASI host extensions

WebAssembly System Interface Preview 1 (WASI P1) host bindings for wasm32-wasip1 and wasm64-wasip1 targets, built on the same cross-platform runtime as UWVM2 and exposing file-system and related services to WebAssembly modules. See imported/readme.md for details.

Flexible linear memory models

uwvm2 provides three host-side models for implementing WebAssembly linear memory (mmap-based, multi-threaded allocator-based, and single-thread allocator-based backends), allowing efficient execution on platforms with or without virtual memory support. See readme.h for a detailed description.

Commandline interface

  • Get version information
$ uwvm --version
  • Get a list of commands
$ uwvm --help
  • Running uwvm2 virtual machine
$ uwvm <param0> <param1> ... --run <wasm> <argv1> <argv2> ...
  • WASI mount dir
$ uwvm --wasi-mount-dir <wasi dir> <system dir> ... --run ...

How to build

  • Windows (aka. unknown-windows-msvc). See windows.md
  • MinGW (aka. unknown-windows-gnu, unknown-w64-mingw32). See mingw.md
  • Linux (aka. unknown-linux-unknown). See linux.md
  • Darwin (aka. unknown-apple-darwin). See darwin.md
  • FreeBSD (aka. unknown-freebsd(Version)). See freebsd.md
  • WASM-WASI (self-hosting) (aka. [wasm32|wasm64]-[wasip1|wasip2]-(threads)). See wasm-wasi.md
  • Other platforms: See how-to-build

About

Ultimate WebAssembly Virtual Machine 2

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 7