Open
Description
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. #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 LEBsgive text descriptions forwait
andnotify
describe behaviour of thewait'
(suspend) administrative instructionfix tearing behaviour of float and SIMD non-atomicsdescribe 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 threadsfix shared memory bounds checks in instantiationrebase in the axiomatic constraints of the relaxed memory modeltodo: 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 semanticstodo: 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 correctintegrate with growable SharedArrayBuffer- final inline todos
Interpreter TODOs:
rebase the interpreter into the new branchcollect together the tests from the other WIP branches- update
.wast
->JS
test generation tool to handlethread
andwait
Misc TODOs:
- re-unify with main(?)
update the spec render- check whether any other documents need updating
- final inline TODO sweep
Metadata
Metadata
Assignees
Labels
No labels