Hi all, In bug 1528294 and bug 1637884 I intend to ship the WebAssembly bulk-memory-operations and reference-types proposals.
The bulk-memory-operations proposal adds new instructions for common data manipulation operations such as 'memcpy' and 'memset'. WebAssembly code using these instructions can expect better performance than implementing their own versions. The reference-types proposal adds a new class of values, reference types, to the existing primitive types (i32, i64, f32, f64) available to WebAssembly. One of these types is called 'externref' and can hold any JS value. This allows WebAssembly functions to receive JS values as parameters, store them in tables, and return them as results. This can lower the amount of JS glue code required for WebAssembly programs to access the DOM. This proposal is also expected to form the basis of future extensions such as the GC proposal. These proposals are currently hidden behind a pref and have been enabled in Nightly for over a year now. The WebAssembly CG recently has voted to advance both of these proposals to Phase 4, and so we are now good to enable them by default. ## Status in other browsers Chrome shipped the bulk-memory-operations proposal in Chrome 75. Their reference-types implementation is currently behind a flag. ## Tracking bugs * bulk-memory-operations: Bug 1413846 * reference-types: Bug 1508553 ## Specifications * https://github.com/WebAssembly/bulk-memory-operations * https://github.com/WebAssembly/reference-types Let me know if there are any questions. Thanks, Ryan _______________________________________________ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform