Skip to content

feat!: Upgrade to Binaryen v126#272

Open
spotandjake wants to merge 2 commits intograin-lang:mainfrom
spotandjake:spotandjake/126
Open

feat!: Upgrade to Binaryen v126#272
spotandjake wants to merge 2 commits intograin-lang:mainfrom
spotandjake:spotandjake/126

Conversation

@spotandjake
Copy link
Member

Full Diff: WebAssembly/binaryen@version_125...version_126

Ocaml Summary:

  • Feature.relaxed_atomics was implented
  • The following passes were added Passes.gsi_desc_cast, Passes.remove_relaxed_simd, Passes.strip_toolchain_annotations
  • Passes.jspi was removed.
  • Internally Binaryen.arrayref was exposed directly through the js api
  • Internally module.updateMaps() is now provided by the js api allowing us to properly handle Module.update_maps through jsoo compilations
    Disregarded Change Summary:
  • MemoryOrder was added throughout the atomics api however since we do not implement the atomics api no changes have been made to binaryen.ml
  • More TableRef api functions were exposed through the js api however since we don't currently implement the api for tablerefs these are not being added in this pr we should open an issue before merging this to implement that api.
  • BinaryenReturnCallRef was added to the c api along with module.call_ref and module.return_call_ref in the js api however these are being left to the gc pr
  • The Call_ref api was imlemented however we are leaving this as well to the gc pr.

Full Diff: WebAssembly/binaryen@version_124...version_125

Summary: No c or js api changes just some passes changed.
Full Diff: WebAssembly/binaryen@version_125...version_126

Ocaml Summary:
* `Feature.relaxed_atomics` was implented
* The following passes were added `Passes.gsi_desc_cast`, `Passes.remove_relaxed_simd`, `Passes.strip_toolchain_annotations`
* `Passes.jspi` was removed.
*  Internally `Binaryen.arrayref` was exposed directly through the js api
* Internally `module.updateMaps()` is now provided by the js api allowing us to properly handle `Module.update_maps` through jsoo compilations
Disregarded Change Summary:
* MemoryOrder was added throughout the atomics api however since we do not implement the atomics api no changes have been made to binaryen.ml
* More `TableRef` api functions were exposed through the js api however since we don't currently implement the api for tablerefs these are not being added in this pr we should open an issue before merging this to implement that api.
* `BinaryenReturnCallRef` was added to the c api along with `module.call_ref` and `module.return_call_ref` in the js api however these are being left to the gc pr
* The `Call_ref` api was imlemented however we are leaving this as well to the gc pr.
@spotandjake spotandjake self-assigned this Mar 7, 2026
@spotandjake spotandjake added the Binaryen Upgrade Issues or pull requests relating to a binaryen version upgrade. label Mar 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Binaryen Upgrade Issues or pull requests relating to a binaryen version upgrade.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant