Page MenuHomeSolus

Update binaryen to 102
Needs ReviewPublic

Authored by YakoYakoYokuYoku on Tue, Oct 5, 10:00 PM.


Group Reviewers
Triage Team


  • v102:
    • Add BinaryenUpdateMaps to the C API.
    • Adds a TrapsNeverHappen mode. 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. 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.
  • 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.
    • 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.
  • 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.
    • New APIs have been added to add and manipulate multiple tables in a module.

Signed-off-by: Martin Reboredo <>

Test Plan

Built an OpenGL example with emscripten.

Diff Detail

R4920 binaryen
No Linters Available
No Unit Test Coverage
Build Status
Buildable 1941
Build 1941: arc lint + arc unit