Good question! The first toolchain to support custom descriptors is j2cl <https://github.com/google/j2cl>, which is an open source Java-to-JS/Wasm compiler developed by Google. Developers will enable the feature via an option <https://github.com/google/j2cl/commit/a8cdfa7aa36d4c46e8b794139a38ccefcd99e5fb#diff-be4e99d1c21ff16eff4ab47ef7d35d297118d455e283f292745218a53d853553R147-R151> passed to the compiler. We hope that once the feature is available via an origin trial, other toolchains will be motivated to start experimenting with it as well.
Note that in the initial experiments we don't expect toolchains to expose any new developer-facing functionality based on this feature. The use of custom descriptors will only be an internal implementation detail in the compiler that results in less memory usage at runtime. Later experimentation will additionally enable the JS interop features built on top of custom descriptors, and it will vary from toolchain to toolchain whether this enables new developer-facing functionality or enables a performance improvement in existing functionality. Also note that this feature will generally only be usable from managed-memory languages that compile to WasmGC such as Java, Kotlin, and Dart. It's unlikely that C/C++/Rust and similar languages will ever make use of custom descriptors. On Wed, Aug 13, 2025 at 12:24 PM Daniel Bratell <bratel...@gmail.com> wrote: > I might have missed it, but how is this new feature going to be used by > web developers? Do you have custom C compiler for the experiment? And do > you need to do something in C to enable it? Or whatever language people > prefer. > > /Daniel > On 2025-08-13 20:04, Thomas Lively wrote: > > Yes, apologies. The explainer link should be the same as the specification > link: > https://github.com/WebAssembly/custom-descriptors/blob/main/proposals/custom-descriptors/Overview.md > > On Wed, Aug 13, 2025 at 7:58 AM Daniel Bratell <bratel...@gmail.com> > wrote: > >> The explainer link is dead, but maybe it was meant to be the same as the >> Specification link? >> >> /Daniel >> On 2025-08-12 00:50, 'Thomas Lively' via blink-dev wrote: >> >> Contact emails tliv...@google.com, ecmzieg...@chromium.org, >> jkumme...@chromium.org >> >> Explainer >> https://github.com/WebAssembly/custom-descriptors/blob/main/proposals/custom-rtts/Overview.md >> <https://github.com/WebAssembly/custom-rtts/blob/main/proposals/custom-rtts/Overview.md> >> >> Specification >> https://github.com/WebAssembly/custom-descriptors/blob/main/proposals/custom-descriptors/Overview.md >> >> Summary >> >> Allows WebAssembly to store data associated with source-level types more >> efficiently in new "custom descriptor" objects. These custom descriptors >> can be configured with prototypes for the WebAssembly objects of that >> source-level type. This allows methods to be installed on a WebAssembly >> object's prototype chain and called directly from JS using normal method >> call syntax. The prototypes and methods can be configured declaratively >> using an imported builtin function. >> >> >> Blink component Blink>JavaScript>WebAssembly >> <https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3EJavaScript%3EWebAssembly%22> >> >> TAG review None >> >> TAG review status Pending >> >> Origin Trial documentation link >> https://github.com/WebAssembly/custom-descriptors/blob/main/proposals/custom-descriptors/Overview.md >> >> Risks >> >> >> Interoperability and Compatibility >> >> None >> >> >> *Gecko*: No signal >> >> *WebKit*: No signal >> >> *Web developers*: No signals >> >> *Other signals*: >> >> WebView application risks >> >> Does this intent deprecate or change behavior of existing APIs, such that >> it has potentially high risk for Android WebView-based applications? >> >> None >> >> >> Goals for experimentation >> Initially we are looking to measure real-world performance, heap usage, >> and OOM rate impact of just the core Wasm part of the proposal. We want to >> verify that heap usage and OOM rates will decrease as expected and that the >> performance impact is negligible. If we do measure a performance impact, >> that will inform additional optimization work we would need to do in the >> implementation. Notably, the JS interop features of the proposal are out of >> scope for this initial experimentation. They will likely be evaluated in >> follow-on experiments. >> >> >> Ongoing technical constraints >> >> None. >> >> >> Debuggability >> >> None >> >> >> Will this feature be supported on all six Blink platforms (Windows, Mac, >> Linux, ChromeOS, Android, and Android WebView)? No >> >> Is this feature fully tested by web-platform-tests >> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md> >> ? No >> >> Flag name on about://flags None >> >> Finch feature name None >> >> Non-finch justification None >> >> Requires code in //chrome? False >> >> Estimated milestones >> Origin trial desktop first 141 >> Origin trial desktop last 147 >> >> Link to entry on the Chrome Platform Status >> https://chromestatus.com/feature/6024844719947776?gate=5062088692858880 >> >> This intent message was generated by Chrome Platform Status >> <https://chromestatus.com/>. >> -- >> You received this message because you are subscribed to the Google Groups >> "blink-dev" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to blink-dev+unsubscr...@chromium.org. >> To view this discussion visit >> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAJZD_EWidxA-LogDRBnDVM9cOMbu3OX3_3onqCZcSLVJm7%3DnvA%40mail.gmail.com >> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAJZD_EWidxA-LogDRBnDVM9cOMbu3OX3_3onqCZcSLVJm7%3DnvA%40mail.gmail.com?utm_medium=email&utm_source=footer> >> . >> >> -- You received this message because you are subscribed to the Google Groups "blink-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscr...@chromium.org. To view this discussion visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAJZD_EUC9rpqgjKR7QYC5jZ9OgdLJ4%2BVNW088%2BCbGOr9McnykQ%40mail.gmail.com.