Hi Robert:
On 22 Oct 2015, at 15:11, Robert Withers <robert.w.withers@gmail.com> 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/