binaryen
binaryen copied to clipboard
Optimizer and compiler/toolchain library for WebAssembly
I get this when running wasm-opt on the attached .wasm file [binary-trees.zip](https://github.com/user-attachments/files/21166562/binary-trees.zip) It was generated with the `wat` crate.
See the output produced by building a ~46MB wasm binary and ~47MB JSPI wasm binary using EMCC_DEBUG=2. On linux: ``` profiler:DEBUG: block "wasm_opt" took 46.559 seconds ``` On windows: ```...
The repository currently fails to compile with g++ 15 (e.g. on Fedora): ``` [ 60%] Building CXX object CMakeFiles/binaryen.dir/src/passes/ReReloop.cpp.o In file included from /usr/include/c++/15/functional:61, from /home/moritz/Documents/binaryen/src/passes/Strip.cpp:22: In copy constructor ‘std::function::function(const...
Given the following code: ``` webassembly (module (type (;0;) (func)) (import "External" "external_function" (func $external_function (type 0))) (func $_start (type 0) i32.const 9576 i32.load i32.load i32.load drop i32.const 9576 i32.load...
Given the following code: ``` webassembly (module (import "External" "external_function" (func $external_function)) (func $_start (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) i32.const 587 i32.load8_u local.set...
Declarative segments can be referred to in runtime, but they will be empty. Update handling to create an empty segment, instead of ignoring. Enable `elem.wast` in the spec test suite.