You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Dan Gohman c66a3c23f3 Tidy up some documentation comments. 6 years ago
filetests Add more trapping testcases. 6 years ago
fuzz Refactor the compilation and instantiation pipeline. 6 years ago
lib Tidy up some documentation comments. 6 years ago
misc_testsuite Implement the remaining valid spec tests. 6 years ago
spec_testsuite@b2800641d6 Implement the remaining valid spec tests. 6 years ago
src Refactor the compilation and instantiation pipeline. 6 years ago
tests Refactor the compilation and instantiation pipeline. 6 years ago
.gitignore Add Emacs backup and autosave files to .gitignore. 6 years ago
.gitmodules Implement the remaining valid spec tests. 6 years ago
.rustfmt.toml Update to cranelift's formatting and testing scripts. 6 years ago
.travis.yml Update to Rust 1.31.0. 6 years ago
CODE_OF_CONDUCT.md Add a CODE_OF_CONDUCT.nd and CONTRIBUTING.md. 6 years ago
CONTRIBUTING.md Add a CODE_OF_CONDUCT.nd and CONTRIBUTING.md. 6 years ago
Cargo.toml Refactor the compilation and instantiation pipeline. 6 years ago
LICENSE Adjust whitespace to match the upstream exception text. 6 years ago
README.md Tidy up some documentation comments. 6 years ago
appveyor.yml Tidy up trap-handling code. 6 years ago
build.rs Refactor the compilation and instantiation pipeline. 6 years ago
clippy.toml More code reorganization and cleanups. 6 years ago
format-all.sh Update to cranelift's formatting and testing scripts. 6 years ago
publish-all.sh Bump version to 0.1.0 6 years ago
test-all.sh Enable RUST_BACKTRACE=1 when running "cargo test". 6 years ago

README.md

Wasmtime: a WebAssembly Runtime.

Wasmtime is a standalone wasm-only runtime for WebAssembly, using the Cranelift JIT.

It runs WebAssembly code outside of the Web, and can be used both as a command-line utility or as a library embedded in a larger application.

Travis Status Appveyor Status Gitter chat Minimum rustc 1.30

Wasmtime is complete enough to pass the WebAssembly spec testsuite. Support for system APIs is coming soon!

One goal for this project is to implement CloudABI using WebAssembly as the code format, provide CloudABI system calls as WebAssembly host imports, and then port the Rust CloudABI package and CloudABI libc to it to support Rust, C, C++, and other toolchains.

CloudABI is a natural complement for WebAssembly, since WebAssembly provides sandboxing for code but doesn't have any builtin I/O, and CloudABI provides sandboxed I/O.

Additional goals for Wasmtime include:

  • Support a variety of host APIs (not just CloudABI), with fast calling sequences, and develop proposals for system calls in the WebAssembly Reference Sysroot.
  • Implement the proposed WebAssembly C API.
  • Facilitate testing, experimentation, and development around the Cranelift and Lightbeam JITs.
  • Develop a the native ABI used for compiling WebAssembly suitable for use in both JIT and AOT to native object files.

It's Wasmtime.