Switch to the final opcode encodings
Categories
(Core :: JavaScript: WebAssembly, task, P2)
Tracking
()
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.
Assignee | ||
Updated•2 years ago
|
Assignee | ||
Comment 2•2 years ago
|
||
WIP at wasm-tools https://github.com/bytecodealliance/wasm-tools/pull/1204
Assignee | ||
Comment 3•2 years ago
|
||
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
Assignee | ||
Comment 4•2 years ago
|
||
Assignee | ||
Comment 5•2 years ago
|
||
The GC V5 support will be removed by this bug as well.
Assignee | ||
Comment 6•2 years ago
|
||
Updated•2 years ago
|
Assignee | ||
Comment 7•2 years ago
|
||
We no longer need the --wasm-final-types flag after that, so might as well do removal of that at the same time
Assignee | ||
Updated•2 years ago
|
Comment 9•2 years ago
|
||
bugherder |
Updated•2 years ago
|
Comment 10•2 years ago
|
||
Comment 11•2 years ago
|
||
bugherder |
Assignee | ||
Comment 12•2 years ago
|
||
The bug 1854011 is in flight. Closing this one as complete.
Description
•