Closed Bug 1774829 Opened 2 years ago Closed 2 years ago

Remove runtime types

Categories

(Core :: JavaScript: WebAssembly, task, P3)

task

Tracking

()

RESOLVED FIXED
105 Branch
Tracking Status
firefox105 --- fixed

People

(Reporter: rhunt, Assigned: rhunt)

References

(Blocks 1 open bug)

Details

Attachments

(3 files)

Rtt's (or runtime types) were removed via vote in the CG. We should remove them from our type system/validation/compilation. Some instructions will need to be removed, and others will be renamed/reworked. I'm not sure what source we should use for this yet, the spec of V8's design document.

We will still want to keep them in our object representation though, as they will likely come back some day.

This commit updates our decoding/validation for the removal of runtime
types. This means that instructions that produce rtt values are now
removed. Instructions that consumed rtt values, such as struct.new_with_rtt
are renamed and no longer take rtt values. There is no agreed upon
spec for the renames, but the validation of the instructions is generally
agreed upon.

Most churn comes from the removal of ValType::Rtt. Tests are updated in
a later commit.

This commit depends on a pending change in upstream wasm-tools [1]. A
commit to update our vendored version will be added before this lands.

[1] https://github.com/bytecodealliance/wasm-tools/pull/677

Assignee: nobody → rhunt
Status: NEW → ASSIGNED

I have this implemented. This depends on updating wasm-tools, which I've started in [1].

[1] https://github.com/bytecodealliance/wasm-tools/pull/677

This commit updates our test suite for the change to
remove runtime types.

Depends on D151405

Attachment #9285341 - Attachment description: Bug 1774829 - wasm: Vendor latest wast crate, update wasm-smith too to minimize duplications. r?yury → Bug 1774829 - wasm: Vendor latest wast crate. r?yury
Pushed by rhunt@eqrion.net:
https://hg.mozilla.org/integration/autoland/rev/97f176456412
wasm: Vendor latest wast crate. r=yury,glandium,supply-chain-reviewers
https://hg.mozilla.org/integration/autoland/rev/16a5861aad34
wasm: Update to latest text format version that removes runtime types. r=yury
https://hg.mozilla.org/integration/autoland/rev/9e7c08379840
wasm: Update tests for removing runtime types. r=yury
Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 105 Branch
You need to log in before you can comment on or make changes to this bug.