Path to this page:
Subject: CVS commit: pkgsrc/devel/binaryen
From: Frederic Cambus
Date: 2023-02-12 23:32:58
Message id: 20230212223258.D5C8EFA90@cvs.NetBSD.org
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`.
Files: