[Vm-dev] Status of Cog-MT?

Esteban Lorenzano estebanlm at gmail.com
Wed Jul 31 14:25:47 UTC 2013


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 :)

> 
>> frank
>> 
>>> Esteban
> 
> 
> 
> -- 
> Best regards,
> Igor Stasenko.



More information about the Vm-dev mailing list