Update table and reftypes instructions to spec encodings
Categories
(Core :: JavaScript: WebAssembly, enhancement, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox67 | --- | fixed |
People
(Reporter: lth, Assigned: lth)
References
Details
Attachments
(2 files)
Assignee | ||
Comment 1•6 years ago
|
||
Assignee | ||
Updated•6 years ago
|
Assignee | ||
Updated•6 years ago
|
Assignee | ||
Comment 2•6 years ago
|
||
Blocks (in part) the bulk memory proposal because that proposal requires an opcode for ref.func to implement passive element segments, and that opcode is probably going to be 0xD2, and we have taken 0xD2 for ref.eq in our prototype implementation.
Assignee | ||
Updated•6 years ago
|
Assignee | ||
Comment 3•6 years ago
|
||
Current opcode proposals here: https://github.com/WebAssembly/reference-types/blob/master/interpreter/binary/decode.ml#L446
0xd0 == ref_null
0xd1 == ref_is_null
0xd2 == ref_func
and here: https://github.com/WebAssembly/reference-types/blob/master/interpreter/binary/decode.ml#L268
0x25 == table_get
0x26 == table_set
There are no proposed opcodes yet for table.grow
, table.fill
, table.size
, ref.eq
Assignee | ||
Comment 4•6 years ago
|
||
Concrete proposal for encodings filed here: https://github.com/WebAssembly/reference-types/issues/29
Assignee | ||
Comment 5•6 years ago
|
||
Our initial prototype of the generalized table operations used a flag
byte optionally followed by a table index, and we used opcodes that
were at hand.
The agreed encoding does not use a flag byte, and some opcodes have
changed. So let's update SpiderMonkey.
Assignee | ||
Comment 6•6 years ago
|
||
Since the encoding of in-flight operations for the reftypes and GC
proposals have changed, we must update the gc-feature opt-in version
number (that's why it's there); this requires a small validator change.
Alas this means a large number of test cases must also be updated.
Depends on D19794
Assignee | ||
Comment 7•6 years ago
|
||
I'll spin off updating MaxTable as its own bug.
Comment 9•6 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/c7065bf19f4a
https://hg.mozilla.org/mozilla-central/rev/03c225b8ccfc
Description
•