[Vm-dev] Re: [Pharo-dev] [squeak-dev] Process>>isSusended

Eliot Miranda eliot.miranda at gmail.com
Fri Feb 19 05:54:36 UTC 2016


Hi David,


> On Feb 18, 2016, at 8:09 PM, David T. Lewis <lewis at mail.msen.com> wrote:
> 
> 
>> On Thu, Feb 18, 2016 at 10:03:47PM -0500, David T. Lewis wrote:
>>> On Thu, Feb 18, 2016 at 01:22:28PM -0800, Eliot Miranda wrote:
>>> Hi All,
>>> 
>>>   we have a serious misunderstanding in current versions of Squeak's and
>>> Pharo's Process>>isSuspended.
>>> 
>>> Squeak's version reads
>>> 
>>> isSuspended
>>> ^myList isNil
>>> 
>>> Pharo's reads
>>> 
>>> isSuspended
>>> ^myList isNil or: [ myList isEmpty ]
>>> 
>>> Process's myList holds the list a process is on when it is not running.
>>> There is only one running process at any one time, Processor
>>> activeProcess.  The active process's myList is always nil, so Squeak's and
>>> Pharo's are both wrong for the active process.
>>> 
>>> Processor activeProcess isSuspended => true (!!!)
>> 
>> This was working correctly as of Squeak4.6, but not in Squeak5.0.15113.image.
> 
> Correcting myself, the difference in behavior is related to the VM. Using
> a Squeak 4.6 image and comparing Cog versus interpreter VM:
> 
> Processor activeProcess isSuspended ==> true "Cog"
> Processor activeProcess isSuspended ==> false "interpreter VM"
> 
> I think there were some process scheduling improvements introduced in Cog, and
> maybe the image needs to be adjusted accordingly?

As far as myList maintenance Cig merely preserves the semantics in Andres' Interpreter VM fork at Qwaq, so credit for the improvements go to him.  I'll try to remember to compare the VMMaker.oscog and VMMaker Interpreter and move the fixes across.

> 
> Dave 


_,,,^..^,,,_ (phone)


More information about the Vm-dev mailing list