WebAssembly / shared-everything-threads

A draft proposal for spawning threads in WebAssembly
Other
44 stars 1 forks source link

Update Overview.md with feedback from 1/23/2024 meeting #35

Closed tlively closed 10 months ago

tlively commented 10 months ago
conrad-watt commented 10 months ago

@rossberg is having a separate instruction for eq on shared references the right approach? We had some vague "principal types" reasoning for it in the meeting.

conrad-watt commented 10 months ago

I'm actually having some second thoughts about my proposed change to waitqueue. I'm starting to feel like you would rather have a parameterised waitqueue T type where T is some subtype of eq rather than just waitqueue with an eqref inside. In particular with the waitqueue I floated, the CAS-loop strategy for implementing i31 atomic arithmetic requires a downcast with each loop iteration. Being able to define waitqueue i31 would avoid this.

So the conservative thing might be to stick with waitqueue i32 for now, since I think one might want a parameterised type for waitqueue with a reference inside.

rossberg commented 10 months ago

Shouldn't struct/array.atomic.set be valid for i8 and i16 as well?