Closed Bug 1845374 Opened 2 years ago Closed 2 years ago

Switch to the final opcode encodings

Categories

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

task

Tracking

()

RESOLVED FIXED

People

(Reporter: rhunt, Assigned: yury)

References

(Blocks 1 open bug)

Details

Attachments

(2 files)

The final encodings are being discussed here. We will need to make the breaking change to switch to them at some point. If we have a release we're trying to target, such as 119, it probably makes sense to make the switch towards the start of the nightly cycle so that our users can test it. We should also try to match what V8 does to minimize frustration for users.

Do you have ETA for this?

Assignee: nobody → ydelendik

Summary of changes to be done

Types

nullref: 0x65->0x71
arrayref: 0x66->0x6a
structref: 0x67->0x6b
nullfuncref: 0x68->0x73
nullexternref: 0x69->0x72
i31ref: 0x6a->0x6c
ref $t: 0x6b->0x64
ref null $t: 0x6c->0x63
i16: 0x79->0x77
i8: 0x7a->0x78

Instructions

ref.as_non_null: 0xd3->0xd4
br_on_null: 0xd4->0xd5
ref.eq: 0xd5->0xd3

struct.get: 0xfb03->0xfb02
struct.get_s: 0xfb04->0xfb03
struct.get_u: 0xfb05->0xfb04
struct.set: 0xfb06->0xfb05
struct.new: 0xfb07->0xfb00
struct.new_default: 0xfb08->0xfb01
array.fill: 0xfb0f->0xfb10
array.get: 0xfb13->0xfb0b
array.get_s: 0xfb14->0xfb0c
array.get_u: 0xfb15->0xfb0d
array.set: 0xfb16->0xfb0e
array.copy: 0xfb18->0xfb11
array.len: 0xfb19->0xfb0f
array.new_fixed: 0xfb1a->0xfb08
array.new: 0xfb1b->0xfb06
array.new_default: 0xfb1c->0xfb07
array.new_data: 0xfb1d->0xfb09
array.new_elem: 0xfb1f->0xfb0a
i31.new: 0xfb20->0xfb1c
i31.get_s: 0xfb21->0xfb1d
i31.get_u: 0xfb22->0xfb1e
ref.test: 0xfb40->0xfb14
ref.cast: 0xfb41->0xfb16
ref.test null: 0xfb48->0xfb15
ref.cast null: 0xfb49->0xfb17
br_on_cast: 0xfb4e->0xfb18
br_on_cast_fail: 0xfb4f->0xfb19
array.init_data: 0xfb54->0xfb12
array.init_elem: 0xfb55->0xfb13
extern.internalize: 0xfb70->0xfb1a
extern.externalize: 0xfb71->0xfb1b

Depends on: 1853430

The GC V5 support will be removed by this bug as well.

Attachment #9353451 - Attachment description: WIP: Bug 1845374 - Switch binary encoding for GC proposal. → WIP: Bug 1845374 - Switch binary encoding for GC proposal. r?rhunt

We no longer need the --wasm-final-types flag after that, so might as well do removal of that at the same time

Keywords: leave-open
Attachment #9353451 - Attachment description: WIP: Bug 1845374 - Switch binary encoding for GC proposal. r?rhunt → Bug 1845374 - Switch binary encoding for GC proposal. r?rhunt
Depends on: 1854011
Pushed by ydelendik@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/e84c7d5ce393 Switch binary encoding for GC proposal. r=rhunt

The bug 1854011 is in flight. Closing this one as complete.

Status: NEW → RESOLVED
Closed: 2 years ago
Keywords: leave-open
Resolution: --- → FIXED
Depends on: 1856733
No longer depends on: 1856733
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: