The NetBSD Project

CVS log for pkgsrc/devel/binaryen/Makefile

[BACK] Up to [] / pkgsrc / devel / binaryen

Request diff between arbitrary revisions

Default branch: MAIN

Revision 1.20 / (download) - annotate - [select for diffs], Mon Aug 14 05:24:04 2023 UTC (5 weeks, 3 days ago) by wiz
Branch: MAIN
Changes since 1.19: +2 -1 lines
Diff to previous 1.19 (colored)

*: recursive bump for Python 3.11 as new default

Revision 1.19 / (download) - annotate - [select for diffs], Sun Jul 2 21:22:07 2023 UTC (2 months, 2 weeks ago) by fcambus
Branch: MAIN
Changes since 1.18: +2 -2 lines
Diff to previous 1.18 (colored)

binaryen: update to 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.
- Add pass to remove Exception Handling instructions.

Revision 1.18 / (download) - annotate - [select for diffs], Mon May 22 13:58:06 2023 UTC (4 months ago) by fcambus
Branch: MAIN
CVS Tags: pkgsrc-2023Q2-base, pkgsrc-2023Q2
Changes since 1.17: +2 -2 lines
Diff to previous 1.17 (colored)

binaryen: update to 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
- 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.

Revision 1.17 / (download) - annotate - [select for diffs], Thu Mar 16 08:36:24 2023 UTC (6 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2023Q1-base, pkgsrc-2023Q1
Changes since 1.16: +2 -2 lines
Diff to previous 1.16 (colored)

binaryen: switch to cmake/

Revision 1.16 / (download) - annotate - [select for diffs], Sun Feb 12 22:32:58 2023 UTC (7 months, 1 week ago) by fcambus
Branch: MAIN
Changes since 1.15: +2 -2 lines
Diff to previous 1.15 (colored)

binaryen: update to 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
* `BinaryenStringEq` now takes an additional second argument, `op`, that is
  either `BinaryenStringEqEqual()` if the instruction is `string.eq` or
  `BinaryenStringEqCompare()` if the instruction is ``.

Revision 1.15 / (download) - annotate - [select for diffs], Sat Nov 19 17:00:20 2022 UTC (10 months ago) by fcambus
Branch: MAIN
CVS Tags: pkgsrc-2022Q4-base, pkgsrc-2022Q4
Changes since 1.14: +2 -2 lines
Diff to previous 1.14 (colored)

binaryen: update to 111.


- 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
- 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
- Add a pass to lower sign-extension operations to MVP.

Revision 1.14 / (download) - annotate - [select for diffs], Sun Nov 13 18:17:46 2022 UTC (10 months, 1 week ago) by fcambus
Branch: MAIN
Changes since 1.13: +2 -2 lines
Diff to previous 1.13 (colored)

*: drop maintainership for WebAssembly related packages.

Revision 1.13 / (download) - annotate - [select for diffs], Sun Sep 4 14:36:07 2022 UTC (12 months, 2 weeks ago) by fcambus
Branch: MAIN
CVS Tags: pkgsrc-2022Q3-base, pkgsrc-2022Q3
Changes since 1.12: +2 -2 lines
Diff to previous 1.12 (colored)

binaryen: update to 110.


- 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
- 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`.

Revision 1.12 / (download) - annotate - [select for diffs], Wed Jun 15 10:22:46 2022 UTC (15 months ago) by fcambus
Branch: MAIN
CVS Tags: pkgsrc-2022Q2-base, pkgsrc-2022Q2
Changes since 1.11: +2 -2 lines
Diff to previous 1.11 (colored)

binaryen: update to 109.


- Add Global Struct Inference pass (#4659) (#4714)
- Restore and fix SpillPointers pass (#4570)
- Update relaxed SIMD instructions to latest spec

Revision 1.11 / (download) - annotate - [select for diffs], Sun May 15 17:22:12 2022 UTC (16 months, 1 week ago) by fcambus
Branch: MAIN
Changes since 1.10: +2 -2 lines
Diff to previous 1.10 (colored)

binaryen: update USE_LANGUAGES, it now uses c++17.

Revision 1.10 / (download) - annotate - [select for diffs], Thu May 12 07:57:22 2022 UTC (16 months, 1 week ago) by fcambus
Branch: MAIN
Changes since 1.9: +2 -2 lines
Diff to previous 1.9 (colored)

binaryen: update to 108.


- Add CMake flag BUILD_TOOLS to control building tools (#4655)
- Add CMake flag JS_OF_OCAML for js_of_ocaml (#4637)
- Remove externref (#4633)

Revision 1.9 / (download) - annotate - [select for diffs], Wed May 4 19:09:23 2022 UTC (16 months, 2 weeks ago) by fcambus
Branch: MAIN
Changes since 1.8: +2 -2 lines
Diff to previous 1.8 (colored)

binaryen: update to 107.


- 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`.

Revision 1.8 / (download) - annotate - [select for diffs], Sun May 1 19:07:47 2022 UTC (16 months, 3 weeks ago) by fcambus
Branch: MAIN
Changes since 1.7: +3 -2 lines
Diff to previous 1.7 (colored)

binaryen: update to 106.


- [wasm2js] Support exports of Globals (#4523)
- MergeSimilarFunctions optimization pass (#4414)
- Various wasm-ctor-eval improvements, including support for GC.

Revision 1.7 / (download) - annotate - [select for diffs], Thu Jan 13 09:10:29 2022 UTC (20 months, 1 week ago) by fcambus
Branch: MAIN
CVS Tags: pkgsrc-2022Q1-base, pkgsrc-2022Q1
Changes since 1.6: +2 -2 lines
Diff to previous 1.6 (colored)

binaryen: update to 105.

- This release contains binaries for ARM64 MacOS devices (#4397)
- Otherwise, mostly bug fixes and incremental optimization improvements.

Revision 1.6 / (download) - annotate - [select for diffs], Sat Dec 18 10:53:00 2021 UTC (21 months ago) by fcambus
Branch: MAIN
CVS Tags: pkgsrc-2021Q4-base, pkgsrc-2021Q4
Changes since 1.5: +2 -2 lines
Diff to previous 1.5 (colored)

binaryen: update to 104.

- Bugfixes only, release created due to incorrect github release artifacts in
  v103 release (#4398).

Revision 1.5 / (download) - annotate - [select for diffs], Sat Dec 4 12:37:06 2021 UTC (21 months, 2 weeks ago) by fcambus
Branch: MAIN
Changes since 1.4: +2 -2 lines
Diff to previous 1.4 (colored)

binaryen: update to 103.


- 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:
  import Binaryen from "path/to/binaryen.js";
  const binaryen = await Binaryen();
- CallIndirect changed from storing a Signature to storing a HeapType

Revision 1.4 / (download) - annotate - [select for diffs], Sat Sep 11 19:52:33 2021 UTC (2 years ago) by fcambus
Branch: MAIN
CVS Tags: pkgsrc-2021Q3-base, pkgsrc-2021Q3
Changes since 1.3: +2 -2 lines
Diff to previous 1.3 (colored)

binaryen: update to 102.


- 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

Revision 1.3 / (download) - annotate - [select for diffs], Sat Apr 17 20:04:24 2021 UTC (2 years, 5 months ago) by fcambus
Branch: MAIN
CVS Tags: pkgsrc-2021Q2-base, pkgsrc-2021Q2
Changes since 1.2: +2 -2 lines
Diff to previous 1.2 (colored)

binaryen: update to 101.


- `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
- `BinaryenGetNumFunctionTableSegments` is replaced with
- `BinaryenGetFunctionTableSegmentOffset` is replaced with
- `BinaryenGetFunctionTableSegmentLength` is replaced with
- `BinaryenGetFunctionTableSegmentData` is replaced with
- 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.

Revision 1.2 / (download) - annotate - [select for diffs], Thu Mar 4 02:13:13 2021 UTC (2 years, 6 months ago) by fcambus
Branch: MAIN
CVS Tags: pkgsrc-2021Q1-base, pkgsrc-2021Q1
Changes since 1.1: +1 -1 lines
Diff to previous 1.1 (colored)

binaryen: update to 100.


- `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
  - `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`

Revision 1.1 / (download) - annotate - [select for diffs], Wed Feb 17 14:15:46 2021 UTC (2 years, 7 months ago) by fcambus
Branch: MAIN

devel/binaryen: import binaryen-99.

Binaryen is a compiler and toolchain infrastructure library for WebAssembly,
written in C++. It aims to make compiling to WebAssembly easy, fast, and

* Easy: Binaryen has a simple C API in a single header, and can also be used
  from JavaScript. It accepts input in WebAssembly-like form but also accepts
  a general control flow graph for compilers that prefer that.

* Fast: Binaryen's internal IR uses compact data structures and is designed
  for completely parallel codegen and optimization, using all available CPU
  cores. Binaryen's IR also compiles down to WebAssembly extremely easily and
  quickly because it is essentially a subset of WebAssembly.

* Effective: Binaryen's optimizer has many passes (see an overview later
  down) that can improve code size and speed. These optimizations aim to
  make Binaryen powerful enough to be used as a compiler backend by itself.
  One specific area of focus is on WebAssembly-specific optimizations (that
  general-purpose compilers might not do), which you can think of as wasm
  minification, similar to minification for JavaScript, CSS, etc., all of
  which are language-specific.

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.

CVSweb <>