wasm-tools
wasm-tools copied to clipboard
CLI and Rust libraries for low-level manipulation of WebAssembly modules
This PR improves `wasm-compose` such that it no longer requires a configuration file to be present to operate. To support this change, the tool is now explicitly told which component...
## Current State & Problem Currently users of `wasmparser` have to instantiate a [`FuncValidator`](https://docs.rs/wasmparser/0.88.0/wasmparser/struct.FuncValidator.html) for every Wasm function in a Wasm module that they want to validate. For larger Wasm...
With https://github.com/bytecodealliance/wasm-tools/pull/697 merged it is possible to remove the [`Operator`](https://docs.rs/wasmparser/0.88.0/wasmparser/enum.Operator.html) type from the `wasmparser` crate. The new [`VisitOperator`](https://github.com/bytecodealliance/wasm-tools/blob/63f8ab39d93925fd3463236814128de23fc3ac5e/crates/wasmparser/src/readers/core/operators.rs#L1193) trait allows to parse and validate Wasm without the need for matching...
This patch implements (most parts of) the frontend for the function references proposal (currently we have not implemented initialised locals). Moreover, the crates shrink, smith, and mutate have yet to...
At the moment the new `VisitOperator` trait requires users to implement each and every of the over 500 variants. This quickly becomes a mundane task, especially if there are only...
There's currently two primary reasons that a wasm module has bits and pieces of it which end up being "double parsed": * First is that the `BinaryReader` has some `skip_*`...
Here is a list of what is required to migrate Bytecode Alliance projects to the new module linking spec that is based on the component model, rather than the old...
Currently a module textually represented like so: ```wasm (component (import "" (func)) (import "" (func)) ) ``` dumps as: ``` 0x0 | 00 61 73 6d | version 65546 (Component)...
Currently this component: ```wasm (component (core module $m (global (export "f") i32 i32.const 0) ) (core instance $m (instantiate $m)) (core instance (export "a" (global $m "f")) (export "b" (global...
This component ```wasm (component (core type $t (func)) (core type (module (export "" (func (type $t))) )) ) ``` currently yields: ``` $ wasm-tools validate foo.wat --features component-model Error: failed...