Releases: WebAssembly/binaryen
Releases · WebAssembly/binaryen
version_91
Version 91 (#2642)
version_90
version_90
1.39.1
1.38.48: Enable exnref instrumentation when EH is enabled (#2379)
`exnref` is enabled by not reference type feature but exception handling feature. Sorry that I missed this in #2377.
1.38.47
version_89: Add basic exception handling support (#2282)
This adds basic support for exception handling instructions, according to the spec: https://github.com/WebAssembly/exception-handling/blob/master/proposals/Exceptions.md This PR includes support for: - Binary reading/writing - Wast reading/writing - Stack IR - Validation - binaryen.js + C API - Few IR routines: branch-utils, type-updating, etc - Few passes: just enough to make `wasm-opt -O` pass - Tests This PR does not include support for many optimization passes, fuzzer, or interpreter. They will be follow-up PRs. Try-catch construct is modeled in Binaryen IR in a similar manner to that of if-else: each of try body and catch body will contain a block, which can be omitted if there is only a single instruction. This block will not be emitted in wast or binary, as in if-else. As in if-else, `class Try` contains two expressions each for try body and catch body, and `catch` is not modeled as an instruction. `exnref` value pushed by `catch` is get by `pop` instruction. `br_on_exn` is special: it returns different types of values when taken and not taken. We make `exnref`, the type `br_on_exn` pushes if not taken, as `br_on_exn`'s type.
version_88: Compile Linux release binaries with Clang (#2274)
This fixes #2273 for... unknown reasons. The tl;dr; is that the current release binaries built in this Alpine container seem to segfault when run over some wasm files when an exception is thrown, but clang-built binaries magically seems to not segfault!
version_87
[fuzzing] Give each testcase handler a list of feature flags it requi…
version_86
Create version_86
version_85: Initial tail call implementation (#2197)
Including parsing, printing, assembling, disassembling. TODO: - interpreting - effects - finalization and typing - fuzzing - JS/C API