[Vm-dev] Status of Cog-MT?

Igor Stasenko siguctua at gmail.com
Wed Jul 31 14:37:44 UTC 2013


On 31 July 2013 16:25, Esteban Lorenzano <estebanlm at gmail.com> wrote:
>
>
> On Jul 31, 2013, at 4:16 PM, Igor Stasenko <siguctua at gmail.com> wrote:
>
>>
>> On 31 July 2013 15:09, Frank Shearar <frank.shearar at gmail.com> wrote:
>>>
>>> On 31 July 2013 13:42, Esteban Lorenzano <estebanlm at gmail.com> wrote:
>>>>
>>>> Hi Eliot,
>>>>
>>>> I've seen that you are consistently maintaining the MT version of the Cog, so I wonder what is his status.
>>>> Is it usable?
>>>
>>> I'm not Eliot, obviously :), but I run all the external package test
>>> suites for Squeak against Cog MT (in addition to running them against
>>> Cog and the Interpreter VM).
>>>
>>> I've not seen any problems, apart from some log spam of the form
>>> "warning: VM parameter 48 indicates Process doesn't have threadId; VM
>>> will not thread".
>>>
>>
>> that's what you should change in image, before VM can start using
>> threading features:
>>
>> Link subclass: #Process
>>       instanceVariableNames: 'suspendedContext priority myList threadId
>> errorHandler name env'
>>       classVariableNames: 'PSKeys PSKeysSema'
>>       poolDictionaries: ''
>>       category: 'Kernel-Processes'
>>
>> And then:
>>
>> VirtualMachine class>>processHasThreadIdInstVar: aBoolean
>>       "The threaded VM needs to know if the 4th inst var of Process
>>        is threadId which it uses to control process-to-thread binding.
>>        This flag persists across snapshots, stored in the image header."
>>       aBoolean ifTrue: [self assert: (Process instVarNames at: 4) ='threadId'].
>>       self parameterAt: 48 put: ((self parameterAt: 48) bitClear: 1) +
>> (aBoolean asBit)
>>
>> this is in Pharo for a while now.
>> But we don't using CogitMT still.
>
> yes, but I would like to think about it, that's why I asked :)
>
yes, me too.. (my reply was not an answer to your question for sure)



-- 
Best regards,
Igor Stasenko.


More information about the Vm-dev mailing list