On 31 July 2013 16:25, Esteban Lorenzano estebanlm@gmail.com wrote:
On Jul 31, 2013, at 4:16 PM, Igor Stasenko siguctua@gmail.com wrote:
On 31 July 2013 15:09, Frank Shearar frank.shearar@gmail.com wrote:
On 31 July 2013 13:42, Esteban Lorenzano estebanlm@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)