2023-05-22 15:58:06 by Frederic Cambus | Files touched by this commit (3) |  |
Log message:
binaryen: update to 113.
v113
----
- Add a `wasm-merge` tool. This is a full rewrite of the previous `wasm-merge`
tool that was removed from the tree in the past. The new version is much
simpler after recent improvements to multi-memory and multi-table. The
rewrite was motivated by new use cases for merging modules in the context of
WasmGC.
- Some C and JS API functions now refer to data and element segments by name
instead of index.
- The `--nominal` and `--hybrid` command line options and related API functions
have been removed. The only supported type system is now the standard
isorecursive (i.e. hybrid) type system.
- Add a "mayNotReturn" effect.
- Disable the memory64 feature in Memory64Lowering.cpp.
- Disable sign extension in SignExtLowering.cpp.
|
2023-03-16 09:36:24 by Adam Ciarcinski | Files touched by this commit (1) |
Log message:
binaryen: switch to cmake/build.mk
|
2023-02-12 23:32:58 by Frederic Cambus | Files touched by this commit (2) |  |
Log message:
binaryen: update to 112.
v112
----
- Add AbstractTypeRefining pass (#5461)
- Add a mechanism to skip a pass by name (#5448)
- Add TypeMerging pass (#5321)
- Add TypeSSA pass (#5299)
- Optimization sequences like `-O3 -Os` now do the expected thing and run `-O3`
followed by `-Os`. Previously the last of them set the defaults that were used
by all executions, so `-O3 -Os` was equivalent to `-Os -Os`. (There is no
change to the default optimization level that other passes can see. For
example, `--precompute-propagate -O2 -O1` will run `--precompute-propagate`
at opt level `1`, as the global default is set to `2` and then overridden to
`1`. The only change is that the passes run by `-O2` will actually run `-O2`
now, while before they'd use the global default which made them do `-O1`.)
- Add `--closed-world` flag. This enables more optimizations in GC mode as it
lets us assume that we can change types inside the module.
- The isorecursive WasmGC type system (i.e. --hybrid) is now the default to
match the spec and the old default equirecursive (i.e. --structural) system
has been removed.
- `ref.is_func`, `ref.is_data`, and `ref.is_i31` have been removed from the C
and JS APIs and `RefIs` has been replaced with `RefIsNull`.
- Types `Data` and `Dataref` have been replaced with types `Struct` and
`Structref` in the C and JS APIs.
* `BinaryenStringNew` now takes an additional last argument, `try_`, indicating
whether the instruction is one of `string.new_utf8_try` respectively
`string.new_utf8_array_try`.
* `BinaryenStringEq` now takes an additional second argument, `op`, that is
either `BinaryenStringEqEqual()` if the instruction is `string.eq` or
`BinaryenStringEqCompare()` if the instruction is `string.compare`.
|
2022-11-19 18:00:21 by Frederic Cambus | Files touched by this commit (2) |  |
Log message:
binaryen: update to 111.
v111
----
- Add extra `memory64` argument for `BinaryenSetMemory` and new
`BinaryenMemoryIs64` C-API method to determine 64-bit memory. (#4963)
- `TypeBuilderSetSubType` now takes a supertype as the second argument.
- `call_ref` now takes a mandatory signature type immediate.
- If `THROW_ON_FATAL` is defined at compile-time, then fatal errors will throw a
`std::runtime_error` instead of terminating the process. This may be used by
embedders of Binaryen to recover from errors.
- Implemented bottom heap types: `none`, `nofunc`, and `noextern`. RefNull
expressions and null `Literal`s must now have type `nullref`, `nullfuncref`,
or `nullexternref`.
- The C-API's `BinaryenTypeI31ref` and `BinaryenTypeDataref` now return nullable
types.
- The `sign-extension` and `mutable-globals` features are now both enabled by
default in all tools. This is in order to match llvm's defaults (See
https://reviews.llvm.org/D125728).
- Add a pass to lower sign-extension operations to MVP.
|
2022-11-13 19:17:46 by Frederic Cambus | Files touched by this commit (2) |
Log message:
*: drop maintainership for WebAssembly related packages.
|
2022-09-04 16:36:07 by Frederic Cambus | Files touched by this commit (2) |  |
Log message:
binaryen: update to 110.
v110
----
- Add support for non-nullable locals in wasm GC.
- Add support for multiple memories.
- Add support for the wasm Strings proposal. (see PRs with [Strings] in name)
- Add a new flag to Directize, `--pass-arg=directize-initial-contents-immutable`
which indicates the initial table contents are immutable. That is the case for
LLVM, for example, and it allows us to optimize more indirect calls to direct
ones.
- Change constant values of some reference types in the C and JS APIs. This is
only observable if you hardcode specific values instead of calling the
relevant methods (like `BinaryenTypeDataref()`).
- `BinaryenModulePrintStackIR`, `BinaryenModuleWriteStackIR` and
`BinaryenModuleAllocateAndWriteStackIR` now have an extra boolean
argument `optimize`.
- Remove support for the `let` instruction that has been removed from the typed
function references spec.
- HeapType::ext has been restored but is no longer a subtype of HeapType::any to
match the latest updates in the GC spec.
- `i31ref` and `dataref` are now nullable to match the latest GC spec.
- Add support for `extern.externalize` and `extern.internalize`.
|
2022-06-15 12:22:46 by Frederic Cambus | Files touched by this commit (2) |  |
Log message:
binaryen: update to 109.
v109
----
- Add Global Struct Inference pass (#4659) (#4714)
- Restore and fix SpillPointers pass (#4570)
- Update relaxed SIMD instructions to latest spec
|
2022-05-15 19:22:12 by Frederic Cambus | Files touched by this commit (1) |  |
Log message:
binaryen: update USE_LANGUAGES, it now uses c++17.
|
2022-05-12 09:57:22 by Frederic Cambus | Files touched by this commit (2) |  |
Log message:
binaryen: update to 108.
v108
----
- Add CMake flag BUILD_TOOLS to control building tools (#4655)
- Add CMake flag JS_OF_OCAML for js_of_ocaml (#4637)
- Remove externref (#4633)
|
2022-05-04 21:09:23 by Frederic Cambus | Files touched by this commit (3) |  |
Log message:
binaryen: update to 107.
v107
----
- Update the wasm GC type section binary format (#4625, #4631)
- Lift the restriction in liveness-traversal.h on max 65535 locals (#4567)
- Switch to nominal fuzzing by default (#4610)
- Refactor Feature::All to match FeatureSet.setAll() (#4557)
- New Signature Pruning pass (#4545)
- Add support for extended-const proposal (#4529)
- Add BUILD_TESTS CMake option to make gtest dependency optional.
- Updated tests to use filecheck 0.0.22 (#4537). Updating is required to
successfully run the lit tests. This can be done with
`pip3 install -r requirements-dev.txt`.
|