Tags: javascriptDev/binaryen
Tags
Fix BinaryenModuleAllocateAndWriteText parameter type (WebAssembly#2406) This fixes a compiler error when trying to compile code calling this function with a C++ compiler.
Enable exnref instrumentation when EH is enabled (WebAssembly#2379) `exnref` is enabled by not reference type feature but exception handling feature. Sorry that I missed this in WebAssembly#2377.
Apply the sbrk/brk value at compile time (WebAssembly#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.
Add basic exception handling support (WebAssembly#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.
Compile Linux release binaries with Clang (WebAssembly#2274) This fixes WebAssembly#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!
[fuzzing] Give each testcase handler a list of feature flags it requi… …res. (WebAssembly#2225) That way we can still test new flags on modes that do support them (e.g. FuzzExec runs on everything)
PreviousNext