New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

馃洡 Garbage collection #1079

jfbastien opened this Issue May 25, 2017 · 0 comments


None yet
3 participants

jfbastien commented May 25, 2017

This is a tracking issue for a post-MVP feature
It will be updated as the issue progresses.

Topic Garbage collection
Champion Andreas Rossberg (@rossberg-chromium)
Status In progress
Phase Feature proposal
Linked issues #985 #919 #733 #715 #484 #289 #238
Linked repositories


To realize the high-level goals of (1) integrating well with the existing Web platform and (2) supporting languages other than C++, WebAssembly needs to be able to:

  • reference DOM and other Web API objects directly from WebAssembly code;
  • call Web APIs (passing primitives or DOM/GC/Web API objects) directly from WebAssembly without calling through JavaScript; and
  • efficiently allocate and manipulate GC objects directly from WebAssembly code.

An important constraint is that, while WebAssembly should allow tight integration with the Web, it should not bake in details or Web standards dependencies that prevent execution in a
non-Web embedding. This suggests a design (called opaque reference types below) that hides the details of JavaScript and WebIDL behind Web-embedding-specific builtin modules. On the other hand, WebAssembly can define a set of native GC primitives that allowed portable GC code to be written regardless of the host environment.

@WebAssembly WebAssembly locked and limited conversation to collaborators May 25, 2017

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.