WebAssembly / WebAssembly/binaryen

Support GC to non-GC conversion

Open
#4,590 4 comments 12 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
WebAssembly
Stars
8.6k
Forks
885
Avg merge
1d 19h
Merged PRs (30d)
69

Description

Hi,

As far as I know, a few GCed languages/platform are working on WASM support by leveraging the GC proposal:

C#/.NET could be a candidate as well but per @SteveSandersonMS feedback it seems it is not using the GC proposal yet.

For now only V8 supports Wasm GC, while Wasm engines with great WASI support like Wamstime does not support it.
Since GC is not straightforward to implement for Wasm engines, I am wondering if Binaryen could implement behind a flag GC to non GC conversion in order to ease adoption of GCed languages with WASI for Cloud/Edge use cases. I guess that would include typed function references emulation.

Would such kind of compatibility conversion make sense as part of Binaryen?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

This issue does not name files, tests, or an entry point. Start by investigating Binaryen's support for Wasm GC and typed function references, then compare the requested conversion with the GC proposal and WASI engine constraints. Done would require a defined compatibility scope, implementation plan, and agreed validation criteria.

Written by the indexing model from the issue text.

Assessment

Tech stack
wasm
Domain
compilers
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.