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

Path to Phase 4

Aperta
#198 9 commenti 1 reazione 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
20/100
Tipo di issue
Documentazione
Chiarezza
Da chiarire
Stato di attività
Ferma
Stack tecnologico
javascript, wasm

Direzione di ricerca

Inizia esaminando il branch upstream-rebuild e gli elementi ancora non spuntati negli elenchi TODO Core, JS-API, Interpreter e Misc. L’issue indica come aree da esaminare la prosa della specifica non completata, i vincoli di wait/notify, la formattazione e la generazione di test .wast-to-JS. Il lavoro sarà considerato completato quando i TODO rimanenti saranno risolti e sarà stato determinato se il lavoro aggiornato debba essere unificato con main.

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

Descrizione

The current main branch has become miserably out of date. We now have a rebased version of (most of) the threads specification living in a new branch (and I'm very grateful for @ioannad's invaluable help here). I've also passed over this branch to excise some long-standing bugs (e.g. https://github.com/WebAssembly/threads/issues/195) and other TODOs.

I'm using this issue to track my progress towards getting Threads phase 4-ready, since the only remaining bar facing the proposal's standardisation is full specification text. My intention is to start out doing this work in the upstream-rebuild branch, although I'm sure we'll have a conversation about how to update main at some point.

Core document TODOs:

  • generalise binary encoding to allow LEBs
  • give text descriptions for wait and notify
  • describe behaviour of the wait' (suspend) administrative instruction
  • fix tearing behaviour of float and SIMD non-atomics
  • describe the behaviour of the concurrent host
    • todo: finish writing prose / evaluate alternative formalisations
    • todo: fully remove old host state particle
  • extend configurations to hold multiple threads
  • fix shared memory bounds checks in instantiation
  • rebase in the axiomatic constraints of the relaxed memory model
    • todo: predicates should be coinductive
      • todo: work out why sphinx is rendering negative space weirdly
    • todo: auxiliary functions
    • todo: finish writing prose
  • extend these constraints to describe wait/notify queue behaviour
  • link the above constraints to the actions emitted in the operational semantics
    • todo: syntax for coinductives
  • formatting - add line breaks where the PDF overflows

JS-API document TODOs:

  • check with an expert whether I got the JS-API rebase correct
  • integrate with growable SharedArrayBuffer
  • final inline todos

Interpreter TODOs:

  • rebase the interpreter into the new branch
    • syntax
    • single-thread semantics
    • fix cmpxchg wrapping behaviour (#195)
    • green threads and wait/notify implementations (#194)
  • collect together the tests from the other WIP branches
  • update .wast -> JS test generation tool to handle thread and wait

Misc TODOs:

  • re-unify with main(?)
  • update the spec render
  • check whether any other documents need updating
  • final inline TODO sweep
Lingua principale
WebAssembly
Stelle
767
Fork
54
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Guida per i contributori

Apri la guida per i contributori

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/threads

Tutte le issue di WebAssembly/threads

Issue simili

Altre issue su Compilers

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.