./devel/binaryen, Compiler and toolchain infrastructure library for WebAssembly

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 100, Package name: binaryen-100, Maintainer: fcambus

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

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


Master sites:

SHA1: 864152df2164b59e0c8e7d46a94e9152d8dce343
RMD160: 37692d610db1c341bdd2d83efbd78642cdc394b4
Filesize: 3604.856 KB

Version history: (Expand)


CVS history: (Expand)


   2021-03-04 03:13:13 by Frederic Cambus | Files touched by this commit (3) | Package updated
Log message:
binaryen: update to 100.

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`
   2021-02-17 15:15:46 by Frederic Cambus | Files touched by this commit (4)
Log message:
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
effective.

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