Hi Robert: > On 22 Oct 2015, at 15:11, Robert Withers <[email protected]> wrote: > > My thoughts in the VM are to add a pool to the stack and the queue of an > event-loop. For processes/continuations what are waiting for a signal, they > are not scheduled into the queue. I believe that this model is a good one for > a single-image-threaded execution machinery: a scheduling event-loop. This is > pure intuition.
There is no need for changing the VM, it is already doing that. When a process is blocked on a semaphore, it is not on the scheduler queue, but on the semaphore, and will only be scheduled once the semaphore has been signaled. Pharo/Smalltalk brings all the basics for implementing the model, except any form of strong guarantee for isolation between vats. But that’s the usual restriction with libraries, so, shouldn’t come as a surprise. (Also, Smalltalk’s classes really do not play well with vats. What about their state for instance?) Best regards Stefan > > Best, > Robert > >> Stef -- Stefan Marr Johannes Kepler Universität Linz http://stefan-marr.de/research/
