Skip to content

Releases: WebAssembly/binaryen

version_91

24 Feb 22:28
dfb2f27
Compare
Choose a tag to compare
Version 91 (#2642)

version_90

23 Dec 23:13
Compare
Choose a tag to compare
version_90

1.39.1

31 Oct 18:43
Compare
Choose a tag to compare
Fix BinaryenModuleAllocateAndWriteText parameter type (#2406)

This fixes a compiler error when trying to compile code calling this function with a C++ compiler.

1.38.48: Enable exnref instrumentation when EH is enabled (#2379)

17 Oct 16:23
c6cd444
Compare
Choose a tag to compare
`exnref` is enabled by not reference type feature but exception handling
feature. Sorry that I missed this in #2377.

1.38.47

17 Oct 15:59
fc6d2df
Compare
Choose a tag to compare
Apply the sbrk/brk value at compile time (#2366)

We've had an option to set the location of the sbrk ptr, but not the value.
Applying the value as well is necessary for standalone wasm, as otherwise we set
it in JS.

version_89: Add basic exception handling support (#2282)

12 Aug 16:39
e2f49d8
Compare
Choose a tag to compare
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)

01 Aug 15:57
Compare
Choose a tag to compare
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

15 Jul 22:37
c7e9271
Compare
Choose a tag to compare
[fuzzing] Give each testcase handler a list of feature flags it requi…

version_86

10 Jul 10:13
Compare
Choose a tag to compare
Create version_86

version_85: Initial tail call implementation (#2197)

08 Jul 17:47
2a138fa
Compare
Choose a tag to compare
Including parsing, printing, assembling, disassembling.

TODO:

 - interpreting
 - effects
 - finalization and typing
 - fuzzing
 - JS/C API