Closed Bug 1774829 Opened 2 years ago Closed 2 years ago

Remove runtime types


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




105 Branch
Tracking Status
firefox105 --- fixed


(Reporter: rhunt, Assigned: rhunt)


(Blocks 1 open bug)



(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.


Assignee: nobody → rhunt

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


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
wasm: Vendor latest wast crate. r=yury,glandium,supply-chain-reviewers
wasm: Update to latest text format version that removes runtime types. r=yury
wasm: Update tests for removing runtime types. r=yury
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.