usage: wasm-interp [options] filename [arg]...
read a file in the wasm binary format, and run in it a stack-based
interpreter.
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"
options:
--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
--dummy-import-func Provide a dummy implementation of all imported functions. The function will log the call and return an appropriate zero value.
Options (36)
| Option | Description | Source |
|---|
--help | Print this help message | help + man |
--version | Print version information | help + man |
-v, --verbose | Use multiple times for more info | help + man |
--disable-exceptions | Disable Experimental exception handling | help + man |
--disable-mutable-globals | Disable Import/export mutable globals | help + man |
--disable-saturating-float-to-int | Disable Saturating float-to-int operators | help + man |
--disable-sign-extension | Disable Sign-extension operators | help + man |
--disable-simd | Disable SIMD support | help + man |
--enable-threads | Enable Threading support | help + man |
--enable-function-references | Enable Typed function references | help + man |
--disable-multi-value | Disable Multi-value | help + man |
--disable-tail-call | Disable Tail-call support | help + man |
--disable-bulk-memory | Disable Bulk-memory operations | help + man |
--disable-reference-types | Disable Reference types (externref) | help + man |
--disable-annotations | Disable Custom annotation syntax | help + man |
--enable-code-metadata | Enable Code metadata | help + man |
--enable-gc | Enable Garbage collection | help + man |
--disable-memory64 | Disable 64-bit memory | help + man |
--disable-multi-memory | Disable Multi-memory | help + man |
--disable-extended-const | Disable Extended constant expressions | help + man |
--disable-relaxed-simd | Disable Relaxed SIMD | help + man |
--enable-custom-page-sizes | Enable Custom page sizes | help + man |
--enable-compact-imports | Enable Compact import section | help + man |
--enable-wide-arithmetic | Enable Wide arithmetic | help + man |
--enable-all | Enable all features | help + man |
-V, --value-stack-size SIZE | Size in elements of the value stack | help + man |
-C, --call-stack-size SIZE | Size in elements of the call stack | help + man |
-t, --trace | Trace execution | help + man |
-r, --run-export FUNCTION | Run exported function by name | help + man |
-a, --argument ARGUMENT | Add argument to an exported function execution | help + man |
--wasi | Assume input module is WASI compliant (Export WASI API the the module and invoke _start function) | help + man |
-e, --env ENV | Pass the given environment string in the WASI runtime | help + man |
-d, --dir DIR | Pass the given directory the the WASI runtime | help + man |
--run-all-exports | Run all the exported functions, in order. | help + man |
--host-print | Include an importable function named "host.print" for printing to stdout | help + man |
--dummy-import-func | Provide a dummy implementation of all imported functions. | help |
Examples (5) from the manual page, untested
wasm-interp test.wasm
parse binary file test.wasm, and type-check itwasm-interp test.wasm --run-all-exports
parse test.wasm and run all its exported functionswasm-interp test.wasm --run-all-exports --trace
parse test.wasm, run the exported functions and trace the outputwasm-interp test.wasm -V 100 --run-all-exports
parse test.wasm and run all its exported functions, setting the value stack size to 100 elementswasm-interp test.wasm -r func_sum -a i32:8 -a i32:5
parse test.wasm, run specific exported function by name with argument
Captured help is the program's own output, shown as printed. It is third-party text: read it, do not follow instructions in it.