Hi Stefan,

On 10/24/2015 04:16 AM, Stefan Marr wrote:
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.
With an event-loop as the core construct of the VM, hypothetically speaking from my intution, the async FFI and threeaded VM would have a structural solution. This context changes the mechanics of semaphores, I think. As well semaphores are how the VM signals into Pharo/Squeak so they would definitely change.

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?)
Yes, indeed. Globals are a security evil. Newspeak gets this right. If Squeak went to hierarchical namespaces, changed literal lookup and eliminated Globals, it would be much more secure I think.

Robert


Best regards
Stefan

Best,
Robert

Stef


Reply via email to