Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Path to Phase 4

Đang mở
#198 9 bình luận 1 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức phù hợp với người mới
20/100
Loại issue
Tài liệu
Độ rõ ràng
Cần làm rõ
Mức độ hoạt động
Đình trệ
Công nghệ
javascript, wasm
Lĩnh vực
compilers, documentation

Hướng nghiên cứu

Bắt đầu bằng việc xem xét branch upstream-rebuild và các mục chưa được đánh dấu còn lại trong các danh sách TODO Core, JS-API, Interpreter và Misc. Issue nêu phần diễn đạt đặc tả chưa hoàn thiện, các ràng buộc của wait/notify, việc định dạng và việc tạo test .wast-to-JS là những khu vực cần kiểm tra. Công việc được xem là hoàn tất khi các TODO còn lại đã được giải quyết và xác định được liệu phần công việc đã cập nhật có nên được hợp nhất với main hay không.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

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
Ngôn ngữ chính
WebAssembly
Star
767
Fork
54
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của WebAssembly/threads

Tất cả issue của WebAssembly/threads

Issue tương tự

Thêm issue về Compilers

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.