4 ms·
It’s certainly possible, but I worry that weird things can happen when doing something as “simple” as defining a property if another thread is messing with the
by aardvark179 3mo ago
It’s certainly possible, but I worry that weird things can happen when doing something as “simple” as defining a property if another thread is messing with the prototype chain. Even thread safe property maps can’t entirely save you because operations that need to go up the prototype chain are not and cannot be atomic.
- sroussey 3mo agoThis won’t work well without a few other things, like structs https://tc39.es/proposal-structs/ https://tc39.es/proposal-structs/
- pizlonator 3mo agoStructs aren’t necessary for my proposal to work well
- pizlonator 3mo agoMy blog post explains how to make prototype chain operations work in the presence of threads
- aardvark179 3mo agoOkay. I gave it another read and I think we agree in general, but maybe disagree on how much memory model strangeness is acceptable, and how wide the gap between, “The behaviour can be understood by a developer,” and, “it should be possible to write a sequential JS program that creates an indistinguishable heap,” is likely to be. The lower level bits round the object model etc. all look very solid. Although structs may not be necessary to make JS concurrent their limitations might help in reducing where memory model strangeness could creep in.