Simplify switches and flags for features that have shipped
Categories
(Core :: JavaScript: WebAssembly, enhancement, P2)
Tracking
()
Tracking | Status | |
---|---|---|
firefox81 | --- | fixed |
People
(Reporter: rhunt, Assigned: rhunt)
Details
Attachments
(3 files)
We've now shipped bulk-memory/reference-types/multi-value, and still have a bunch of compile flags and runtime switches for controlling the features that we should be able to remove now.
Comment 1•5 years ago
|
||
Since some features are not implemented yet in Cranelift, we still need to keep a runtime shell flag / about:config option to be able to disable them, otherwise we can't properly test Cranelift anymore.
At this point, reftypes and SIMD are not supported in Cranelift (new backend, which means aarch64 right now but will be extended to x64 too soon enough), but everything else is. Reftypes are close to land in Cranelift, see also bug 1633721.
Assignee | ||
Comment 2•5 years ago
|
||
(In reply to Benjamin Bouvier [:bbouvier] from comment #1)
Since some features are not implemented yet in Cranelift, we still need to keep a runtime shell flag / about:config option to be able to disable them, otherwise we can't properly test Cranelift anymore.
At this point, reftypes and SIMD are not supported in Cranelift (new backend, which means aarch64 right now but will be extended to x64 too soon enough), but everything else is. Reftypes are close to land in Cranelift, see also bug 1633721.
Okay, and looking through the other proposals it doesn't look like threads (i.e atomics) are implemented either? So we should just be able to make simplifications bulk-memory/multi-value for now.
Assignee | ||
Comment 3•5 years ago
|
||
The pref will have no effect if the compile-flag isn't set, but this can confuse
some users who will see the pref in about:config.
Assignee | ||
Comment 4•5 years ago
|
||
Bulk memory is now enabled for all compilers and platforms, so let's remove the
configuration machinery for it.
Depends on D83422
Assignee | ||
Comment 5•5 years ago
|
||
This commit adds a test that tracks all experimental wasm features and asserts
that if they are enabled, then we must be in nightly. Each feature is also
given a small feature detection module that will fail to compile when it's
not enabled for extra protection.
Depends on D83423
Comment 6•5 years ago
|
||
It sounded like Julian (?) was going to do CL atomics, at least for arm64, but we probably also need x64 before removing the switch - not sure. In general, once a switch is gone the bar for enabling a new architecture for Cranelift will be higher.
Comment 8•5 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/83c8b8ce71a8
https://hg.mozilla.org/mozilla-central/rev/9961de8d65f8
https://hg.mozilla.org/mozilla-central/rev/f3792719ddb6
Description
•