wasm-interp1
Decode and run a webassembly binary file
Usage
wasm-interp [options]
filename
[arg] ...
Overview
wasm-interp read a file in the wasm binary format, and run in it a stack-based interpreter.
The options are as follows:
-
--help -
Print this help message
-
--version -
Print version information
-
-v, --verbose -
Use multiple times for more info
-
--disable-exceptions -
Disable Experimental exception handling
-
--disable-mutable-globals -
Disable Import/export mutable globals
-
--disable-saturating-float-to-int -
Disable Saturating float-to-int operators
-
--disable-sign-extension -
Disable Sign-extension operators
-
--disable-simd -
Disable SIMD support
-
--enable-threads -
Enable Threading support
-
--enable-function-references -
Enable Typed function references
-
--disable-multi-value -
Disable Multi-value
-
--disable-tail-call -
Disable Tail-call support
-
--disable-bulk-memory -
Disable Bulk-memory operations
-
--disable-reference-types -
Disable Reference types (externref)
-
--disable-annotations -
Disable Custom annotation syntax
-
--enable-code-metadata -
Enable Code metadata
-
--enable-gc -
Enable Garbage collection
-
--disable-memory64 -
Disable 64-bit memory
-
--disable-multi-memory -
Disable Multi-memory
-
--disable-extended-const -
Disable Extended constant expressions
-
--disable-relaxed-simd -
Disable Relaxed SIMD
-
--enable-custom-page-sizes -
Enable Custom page sizes
-
--enable-compact-imports -
Enable Compact import section
-
--enable-wide-arithmetic -
Enable Wide arithmetic
-
--enable-all -
Enable all features
-
-V, --value-stack-size=SIZE -
Size in elements of the value stack
-
-C, --call-stack-size=SIZE -
Size in elements of the call stack
-
-t, --trace -
Trace execution
-
-r, --run-export=FUNCTION -
Run exported function by name
-
-a, --argument=ARGUMENT -
Add argument to an exported function execution
-
--wasi -
Assume input module is WASI compliant (Export WASI API the the module and invoke _start function)
-
-e, --env=ENV -
Pass the given environment string in the WASI runtime
-
-d, --dir=DIR -
Pass the given directory the the WASI runtime
-
--run-all-exports -
Run all the exported functions, in order. Useful for testing
-
--host-print -
Include an importable function named "host.print" for printing to stdout
Examples
parse binary file test.wasm, and type-check it
$ wasm-interp test.wasm
parse test.wasm and run all its exported functions
$ wasm-interp test.wasm --run-all-exports
parse test.wasm, run the exported functions and trace the output
$ wasm-interp test.wasm --run-all-exports --trace
parse test.wasm and run all its exported functions, setting the value stack size to 100 elements
$ wasm-interp test.wasm -V 100 --run-all-exports
parse test.wasm, run specific exported function by name with argument
$ wasm-interp test.wasm -r func_sum -a i32:8 -a i32:5
Releases
5 releases since Debian 10 (Buster); the text changed 3 times.
--argument since Arch Linux 2026-11-01;
--dir since Debian 12 (Bookworm);
--disable-annotations since Arch Linux 2026-11-01;
--disable-bulk-memory since Debian 12 (Bookworm);
--disable-exceptions since Arch Linux 2026-11-01;
--disable-extended-const since Arch Linux 2026-11-01;
--disable-memory64 since Arch Linux 2026-11-01;
--disable-multi-memory since Arch Linux 2026-11-01;
--disable-multi-value since Debian 12 (Bookworm);
--disable-reference-types since Debian 12 (Bookworm);
--disable-relaxed-simd since Arch Linux 2026-11-01;
--disable-saturating-float-to-int since Debian 12 (Bookworm);
--disable-sign-extension since Debian 12 (Bookworm);
--disable-simd since Debian 12 (Bookworm);
--disable-tail-call since Arch Linux 2026-11-01;
--enable-all since Debian 12 (Bookworm);
--enable-code-metadata since Debian 12 (Bookworm);
--enable-compact-imports since Arch Linux 2026-11-01;
--enable-custom-page-sizes since Arch Linux 2026-11-01;
--enable-function-references since Debian 12 (Bookworm);
--enable-gc since Debian 12 (Bookworm);
--enable-wide-arithmetic since Arch Linux 2026-11-01;
--env since Debian 12 (Bookworm);
--run-export since Arch Linux 2026-11-01;
--version since Debian 12 (Bookworm);
--wasi since Debian 12 (Bookworm);
-a since Arch Linux 2026-11-01;
-d since Debian 12 (Bookworm);
-e since Debian 12 (Bookworm);
-r since Arch Linux 2026-11-01.
--dummy-import-func until Debian 13 (Trixie);
--enable-annotations until Debian 13 (Trixie);
--enable-exceptions until Debian 13 (Trixie);
--enable-extended-const until Debian 13 (Trixie);
--enable-memory64 until Debian 13 (Trixie);
--enable-multi-memory until Debian 13 (Trixie);
--enable-saturating-float-to-int until Debian 11 (Bullseye);
--enable-sign-extension until Debian 11 (Bullseye);
--enable-simd until Debian 11 (Bullseye);
--enable-tail-call until Debian 13 (Trixie).