Wasm reftypes are default-on in Nightly

94 views
Skip to first unread message

Lars Hansen

unread,
Mar 7, 2019, 4:07:09 AM3/7/19
to dev-tech-js-engine-internals
After a lot of heavy lifting by Julian, we now have support for wasm stack
maps in both Baldr (wasm ion) and Rabaldr (wasm baseline), and I just
pushed the patches to enable this feature. Essentially, this allows wasm
to manipulate references to JS objects - pass them and return them, store
them in locals and globals and tables. Wasm has no operations on the
objects but can at least talk about them (and test them for null). This is
a big deal for interacting safely with JS and the browser from wasm
programs.

A couple of notes about that:

- What we don't have is much content that uses this functionality yet, so
there's a risk of some turbulence as problems are ironed out. It should be
possible to configure with --disable-wasm-reftypes to turn the feature off,
in a pinch.

- We still have one compiler (namely cranelift) that does not support wasm
reference types, so test cases in wasm/gc will start failing for that
compiler and will need to be updated to not run when that compiler is
selected.

--lars
Reply all
Reply to author
Forward
0 new messages