binaryen
binaryen copied to clipboard
Optimizer and compiler/toolchain library for WebAssembly
This sorts globals by their usage (and respecting dependencies). If the module has very many globals then using smaller LEBs can matter. On most MVP files this won't matter, since...
The attached file can be run using the binaryen script, and it runs ok in V8 from 3 weeks ago (`87b54ebabb18f944b3aae132e67edc32c59a8878`) but fails on latest V8. Old V8: ``` $...
The lexer was previously an iterator over tokens, but that expressivity is not actually used in the parser. Instead, we have `input.h` that adapts the token iterator interface into an...
We validate functions in parallel, but function-parallel passes do not run on imports, so we did not issue a validation error on an import using a disallowed type, for example....
Hey developers, sorry about the late response for issue #6239, I've been struggling with the "static initialization order fiasco" problem when trying to move static variables like `globalStrings` outside the...
In Wasm Specification, data segments and memory are seperated. However, in Binaryen's current C API, they are deeply coupled. This leads to some awkward use case, suppose there is a...
Also add an end-to-end test using node to verify we can parse the escaped content properly using TextDecoder+JSON.parse.
It already sanitized away NaNs in f32 and f64, but was missing SIMD. This matters when comparing results between VMs due to nondeterminism, which is tested more thanks to #6312
We already have passes to legalize i64 imports and exports, which the fuzzer will run so that we can run wasm files in JS VMs. SIMD and multivalue also pose...