SEARCH
NEW RPMS
DIRECTORIES
ABOUT
FAQ
VARIOUS
BLOG

 
 
Changelog for libbinaryen-114-2.46.x86_64.rpm :

* Sun Aug 13 2023 Avindra Goolcharan - update to version 114
* Fix a bug where e.g. -O3 -Oz ran the -O3 with the opt levels of -Oz, which could inhibit inlining, for example. While this is a bugfix, it affects how commandline options are interpreted, so if you depended on the old behavior this may be a breaking change. That is, the old behavior made -O3 -Oz run the first -O3 with -Oz\'s opt levels, and the new behavior is to run -O3 with the proper (-O3) opt levels. This is a followup to #5333 from a previous release. (#5787)
* Add pass to remove Exception Handling instructions (#5770).- includes version 113:
* 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. (#5672)- Add a \"mayNotReturn\" effect (#5711).- Disable the memory64 feature in Memory64Lowering.cpp (#5679).- Disable sign extension in SignExtLowering.cpp (#5676).
* Wed Mar 01 2023 Flavio Castelli - update to version 112 - 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`.- version 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.- version v110 - Add support for non-nullable locals in wasm GC. (#4959) - Add support for multiple memories. (#4811) - 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. (#4942) - 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()`). (#4755) - `BinaryenModulePrintStackIR`, `BinaryenModuleWriteStackIR` and `BinaryenModuleAllocateAndWriteStackIR` now have an extra boolean argument `optimize`. (#4832) - 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. (#4898) - `i31ref` and `dataref` are now nullable to match the latest GC spec. (#4843) - Add support for `extern.externalize` and `extern.internalize`. (#4975) version v109 - Add Global Struct Inference pass (#4659) (#4714) - Restore and fix SpillPointers pass (#4570) - Update relaxed SIMD instructions to latest spec version 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) version 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`. version v106 - [wasm2js] Support exports of Globals (#4523) - MergeSimilarFunctions optimization pass (#4414) - Various wasm-ctor-eval improvements, including support for GC. version v105 - This release contains binaries for ARM64 MacOS devices (#4397) - Otherwise, mostly bug fixes and incremental optimization improvements. version v104 - Bugfixes only, release created due to incorrect github release artifacts in v103 release (#4398). version v103 - The EffectAnalyzer now takes advantage of immutability of globals. To achieve that it must have access to the module. That is already the case in the C++ API, but the JS API allowed one to optionally not add a module when calling `getSideEffects()`. It is now mandatory to pass in the module. - JS and Wasm builds now emit ECMAScript modules. New usage is: ```js import Binaryen from \"path/to/binaryen.js\"; const binaryen = await Binaryen(); ... ``` - CallIndirect changed from storing a Signature to storing a HeapType version v102 - Add `BinaryenUpdateMaps` to the C API. - Adds a TrapsNeverHappen mode (#4059). This has many of the benefits of IgnoreImplicitTraps, but can be used safely in more cases. IgnoreImplicitTraps is now deprecated. - Adds type argument for BinaryenAddTable method (#4107). For the binaryen.js api this parameter is optional and by default is set to funcref type. - Replace `BinaryenExpressionGetSideEffects`\'s features parameter with a module parameter. - OptimizeInstructions now lifts identical code in `select`/`if` arms (#3828). This may cause direct `BinaryenTupleExtract(BinaryenTupleMake(...))` to [use multivalue types](https://github.com/grain-lang/grain/pull/1158). version v101 - `BinaryenSetFunctionTable` and `module.setFunctionTable` have been removed in favor of `BinaryenAddTable` and `module.addTable` respectively. - `BinaryenIsFunctionTableImported` is removed. - A new type `BinaryenElementSegmentRef` has been added to the C API with new apis in both C & JS: - `BinaryenAddActiveElementSegment` - `BinaryenAddPassiveElementSegment` - `BinaryenRemoveElementSegment` - `BinaryenGetElementSegment` - `BinaryenGetElementSegmentByIndex` - `BinaryenElementSegmentGetName` - `BinaryenElementSegmentSetName` - `BinaryenElementSegmentGetTable` - `BinaryenElementSegmentSetTable` - `BinayenElementSegmentIsPassive` - `module.addActiveElementSegment` - `module.addPassiveElementSegment` - `module.removeElementSegment` - `module.getElementSegment` - `module.getElementSegmentByIndex` - `module.getTableSegments` - `module.getNumElementSegments` - `binaryen.getElementSegmentInfo` - `BinaryenAddTable` and `module.addTable` no longer take offset and function names. - `BinaryenGetNumFunctionTableSegments` is replaced with `BinaryenGetNumElementSegments`. - `BinaryenGetFunctionTableSegmentOffset` is replaced with `BinaryenElementSegmentGetOffset`. - `BinaryenGetFunctionTableSegmentLength` is replaced with `BinaryenElementSegmentGetLength`. - `BinaryenGetFunctionTableSegmentData` is replaced with `BinaryenElementSegmentGetData`. - Boolean values in the C API now should use `bool` instead of `int`. - Experimental SIMD instructions have been removed and the names and opcodes of the standard instructions have been updated to match the final spec.
* Wed Mar 17 2021 Avindra Goolcharan - update to v100
* `wasm-dis` now supports options to enable or disable Wasm features.
* Reference types support has been improved by allowing multiple tables in a module.
* `call_indirect` and `return_call_indirect` now take an additional table name parameter. This is necessary for reference types support.
* New getter/setter methods have been introduced for `call_indirect` table name: - `BinaryenCallIndirectGetTable` - `BinaryenCallIndirectSetTable` - JS API `CallIndirect.table`
* New APIs have been added to add and manipulate multiple tables in a module: - `BinaryenAddTable` - `BinaryenRemoveTable` - `BinaryenGetNumTables` - `BinaryenGetTable` - `BinaryenGetTableByIndex` - `BinaryenTableGetName` - `BinaryenTableGetInitial` - `BinaryenTableHasMax` - `BinaryenTableGetMax` - `BinaryenTableImportGetModule` - `BinaryenTableImportGetBase` - `module.addTable` - `module.removeTable` - `module.getTable` - `module.getTableByIndex` - `module.getNumTables` - `binaryen.getTableInfo`
* Wed Feb 03 2021 Avindra Goolcharan - Declare missing wasm-split binary- simplify and neutralize the description
* Mon Jan 18 2021 Garret Wassermann - update to v99
* [GC] Fix parsing/printing of ref types using i31 (#3469), This lets us parse (ref null i31) and (ref i31) and not just i31ref.
* It also fixes the parsing of i31ref, making it nullable for now, which we need to do until we support non-nullability.
* Fix some internal handling of i31 where we had just i31ref (which meant we just handled the non-nullable type).
* After fixing a bug in printing (where we didn\'t print out (ref null i31) properly), I found some a simplification, to remove TypeName.
* Tue Dec 01 2020 Avindra Goolcharan - update to v98
* Add --fast-math mode.
* Initial implementation of \"Memory64\" proposal
* Lots of changes in support of GC proposal- ran spec-cleaner- create .changes for first time- fix build
* Wed Oct 07 2020 Garret Wassermann - updated to v97
* Remove asm2wasm, which supported Emscripten\'s fastcomp backend, after fastcomp was removed.
* The new feature flag --enable-anyref enables just the anyref type incl. basic subtyping of externref, funcref and exnref (if enabled).
* Enabling the exception handling or anyref features without also enabling reference types is a validation error now.
* The Host expression and its respective APIs have been refactored into separate MemorySize and MemoryGrow expressions to align with other memory instructions.
* Fri Dec 14 2018 Garret Wassermann - Initial package (v1.38.28)
 
ICM