-
Couldn't load subscription status.
- Fork 493
Description
Hello, I'm beginning to study Wasm as a hobby. I think I've found some editorial bugs.
As a first step in learning, I wanted to know what kind of instructions Wasm has, so I searched and found wasm-ops. That chart was a great help, but I noticed it was a bit outdated, so I next tried to create a new chart.
Since I was at it, I thought I'd automate the table creation and started writing a script. But now, as a beginner, I'm a bit confused.
When I generated a table from the instruction list, I realized multiple name inconsistencies within the specification pages themselves.
I found such inconsistencies on (at least) three pages. I believe that each pages provide a comprehensive list of Wasm instructions.
The following are examples of contradiction. I'm not sure which one is correct, but could you fix the inconsistencies?
- 1 contains
end(0x0B), but 3 does not, and 2 does not refer to it ininstr :: =definition - 1 and 3 contain
call_ref(0x14), but 2 does not - 1 contains instructions that end with
{name}_{numtype}_{sx}(likei32.trunc_f32_u), but others contain{name}_{sx}_{numtype}(i32.trunc_u_f32) with the same{name} - 2 says
0xBBisf32.promote_f64but others say it'sf64.promote_f32 - [Update] 2 and Text Format4 categorizes
struct.*/array.*as "Reference Instructions," as the same asref.*, but 3 categorizes them as a separate "Aggregate Instructions"- In addition, Validation5 categorizes them as "Aggregate Reference Instructions" (another different name)
However, I don't believe the above is complete. For example, there seem to be at least three other pages titled "Instructions,"564 but I haven't investigated those yet.
I would appreciate it if they could be corrected.
Footnotes
-
https://webassembly.github.io/spec/core/appendix/index-instructions.html ↩ ↩2 ↩3 ↩4
-
https://webassembly.github.io/spec/core/binary/instructions.html ↩ ↩2 ↩3 ↩4 ↩5
-
https://webassembly.github.io/spec/core/syntax/instructions.html ↩ ↩2 ↩3 ↩4
-
https://webassembly.github.io/spec/core/text/instructions.html ↩ ↩2
-
https://webassembly.github.io/spec/core/valid/instructions.html ↩ ↩2
-
https://webassembly.github.io/spec/core/exec/instructions.html ↩