Track wasm ref types directly on MIR nodes
Categories
(Core :: JavaScript: WebAssembly, enhancement, P2)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox139 | --- | fixed |
People
(Reporter: bvisness, Assigned: bvisness)
References
(Blocks 3 open bugs)
Details
Attachments
(14 files, 3 obsolete files)
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review |
We can improve the efficiency of wasm casts by tracking types directly in the MIR graph. Doing so would allow us to freely reorder the creation and manipulation of ref values without being constrained by the wasm validation stack as we are today.
| Assignee | ||
Comment 1•1 year ago
|
||
Updated•1 year ago
|
Updated•11 months ago
|
| Assignee | ||
Comment 2•11 months ago
|
||
Depends on D208139
Comment 3•8 months ago
|
||
Comment on attachment 9439807 [details]
Bug 1892721: Make iongraph prettier. r=iain
Revision D230165 was moved to bug 1947314. Setting attachment 9439807 [details] to obsolete.
Updated•8 months ago
|
| Assignee | ||
Comment 4•8 months ago
|
||
| Assignee | ||
Comment 5•8 months ago
|
||
| Assignee | ||
Comment 6•8 months ago
|
||
| Assignee | ||
Comment 7•8 months ago
|
||
| Assignee | ||
Comment 8•8 months ago
|
||
| Assignee | ||
Comment 9•8 months ago
|
||
| Assignee | ||
Comment 10•8 months ago
|
||
| Assignee | ||
Comment 11•8 months ago
|
||
| Assignee | ||
Updated•8 months ago
|
Updated•8 months ago
|
Updated•8 months ago
|
Comment 12•8 months ago
|
||
Comment on attachment 9468679 [details]
Bug 1892721: Track ref types on nulls. r=rhunt
Revision D239767 was moved to bug 1950683. Setting attachment 9468679 [details] to obsolete.
Comment 13•8 months ago
|
||
Comment on attachment 9468680 [details]
Bug 1892721: Track ref types on i31.new. r=rhunt
Revision D239768 was moved to bug 1950683. Setting attachment 9468680 [details] to obsolete.
Comment 14•8 months ago
|
||
Comment on attachment 9468681 [details]
Bug 1892721: Track ref types on new structs and arrays. r=rhunt
Revision D239769 was moved to bug 1950683. Setting attachment 9468681 [details] to obsolete.
Comment 15•8 months ago
|
||
Comment on attachment 9468683 [details]
Bug 1892721: Track ref types on phis. r=rhunt
Revision D239770 was moved to bug 1950683. Setting attachment 9468683 [details] to obsolete.
Comment 16•8 months ago
|
||
Comment on attachment 9468684 [details]
Bug 1892721: Track ref types on wasm parameters. r=rhunt
Revision D239771 was moved to bug 1950683. Setting attachment 9468684 [details] to obsolete.
Comment 17•8 months ago
|
||
Comment on attachment 9468685 [details]
Bug 1892721: Track ref types on any <-> extern conversions. r=rhunt
Revision D239772 was moved to bug 1950683. Setting attachment 9468685 [details] to obsolete.
Comment 18•8 months ago
|
||
Comment on attachment 9468686 [details]
WIP: Bug 1892721: Convert MWasmTrapIfNull to MWasmRefAsNonNull
Revision D239773 was moved to bug 1949849. Setting attachment 9468686 [details] to obsolete.
Updated•7 months ago
|
Updated•7 months ago
|
Updated•7 months ago
|
Updated•7 months ago
|
Updated•7 months ago
|
Updated•7 months ago
|
Comment 20•7 months ago
|
||
Comment on attachment 9468678 [details]
Bug 1892721: Use ref type from input in cast/test operations. r=rhunt
Revision D239766 was moved to bug 1951158. Setting attachment 9468678 [details] to obsolete.
Updated•7 months ago
|
Updated•7 months ago
|
Updated•7 months ago
|
Updated•7 months ago
|
Updated•7 months ago
|
Updated•7 months ago
|
Updated•7 months ago
|
| Assignee | ||
Comment 21•7 months ago
|
||
Depends on D239772
| Assignee | ||
Comment 22•7 months ago
|
||
Depends on D240392
| Assignee | ||
Comment 23•7 months ago
|
||
Depends on D240393
| Assignee | ||
Comment 24•7 months ago
|
||
Depends on D240394
| Assignee | ||
Comment 25•6 months ago
|
||
This adds debug-only checks to ensure that any MIR node that declares a
wasm ref type actually produces values matching that type. This
essentially performs a ref.cast after each operation.
| Assignee | ||
Comment 26•6 months ago
|
||
Because the types in StaticTypeDefs.h were not actually added to the
type contexts for builtin modules, they would not work in cases where,
for example, we try to look up a type's index.
| Assignee | ||
Comment 27•6 months ago
|
||
Also adds a simple foldsTo if the condition is constant. (I'm surprised
we didn't have this in place already.)
Comment 28•6 months ago
|
||
Comment 29•6 months ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/1ce87c043c9e
https://hg.mozilla.org/mozilla-central/rev/150e1c8e4b35
https://hg.mozilla.org/mozilla-central/rev/e82e5ecbaf2e
https://hg.mozilla.org/mozilla-central/rev/e3c914c3f41c
https://hg.mozilla.org/mozilla-central/rev/ee1c3b9b7532
https://hg.mozilla.org/mozilla-central/rev/d86ec5a73d86
https://hg.mozilla.org/mozilla-central/rev/cbeee30d81cd
https://hg.mozilla.org/mozilla-central/rev/29ed6f86d0c9
https://hg.mozilla.org/mozilla-central/rev/2eeecc8ebd44
https://hg.mozilla.org/mozilla-central/rev/1674ea62221f
https://hg.mozilla.org/mozilla-central/rev/8968c113bd92
https://hg.mozilla.org/mozilla-central/rev/6d5115798ab7
https://hg.mozilla.org/mozilla-central/rev/483f296a7cf7
https://hg.mozilla.org/mozilla-central/rev/b904665b1626
Updated•5 months ago
|
Description
•