Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Inconsistencies across multiple pages of instruction lists

Aperta
#2,020 3 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
35/100
Tipo di issue
Documentazione
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
wasm
Ambito
documentation

Direzione di ricerca

Inizia confrontando le sei pagine collegate della specifica WebAssembly relative alle istruzioni: Index of Instructions, Binary Format, Structure, Validation, Execution e Text Format. Confronta tra loro i nomi delle istruzioni riportati, l’opcode 0xBB e le etichette delle categorie, quindi determina quali siano le forme autorevoli. Il lavoro è completato quando gli elenchi delle istruzioni e le classificazioni sono coerenti nelle pagine referenziate.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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.

  1. Index of Instructions^1
  2. Instructions in Binary Format section^2
  3. Instructions in Structure section^3

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 in instr :: = definition
  • ^1 and ^3 contain call_ref (0x14), but ^2 does not
  • ^1 contains instructions that end with {name}_{numtype}_{sx} (like i32.trunc_f32_u), but others contain {name}_{sx}_{numtype} (i32.trunc_u_f32) with the same {name}
  • ^2 says 0xBB is f32.promote_f64 but others say it's f64.promote_f32
  • [Update] ^2 and Text Format^6 categorizes struct.*/array.* as "Reference Instructions," as the same as ref.*, but ^3 categorizes them as a separate "Aggregate Instructions"
    • In addition, Validation^4 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,"^4^6 but I haven't investigated those yet.

I would appreciate it if they could be corrected.

Lingua principale
WebAssembly
Stelle
3.5k
Fork
540
Merge medio
1g 10h
PR unite (30g)
16

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di WebAssembly/spec

Tutte le issue di WebAssembly/spec

Issue simili

Altre issue su Documentation

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.