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

Reply via email to