[Pharo-project] Cog VMMaker.oscog-eem.114/r2485
Hi All, please find new VMs in http://www.mirandabanda.org/files/Cog/VM/VM.r2485/. These fix a couple of long-standing bugs. One is a rare crash in GC on copying a compiled method, caused by the VM not making sure that a copy of a method that has been compiled to machine code is an independent copy. The other is a potential bug in GC with become where a become causes some machine code methods to gain references to young objects but the VM forgets to include these methods in the young referrers (those machine code methods that refer to young objects). -- best, Eliot
Hi All, and now http://www.mirandabanda.org/files/Cog/VM/VM.r2486 includes Igor's rule 41 code in the BitBltPlugin, and includes a real multi-threaded linux VM. The one in r2485 is only single-threaded due to a regression in a build script. On Sun, Aug 7, 2011 at 10:55 PM, Eliot Miranda <eliot.miranda@gmail.com>wrote:
Hi All,
please find new VMs in http://www.mirandabanda.org/files/Cog/VM/VM.r2485/. These fix a couple of long-standing bugs. One is a rare crash in GC on copying a compiled method, caused by the VM not making sure that a copy of a method that has been compiled to machine code is an independent copy. The other is a potential bug in GC with become where a become causes some machine code methods to gain references to young objects but the VM forgets to include these methods in the young referrers (those machine code methods that refer to young objects). -- best, Eliot
-- best, Eliot
On 8 August 2011 22:49, Eliot Miranda <eliot.miranda@gmail.com> wrote:
Hi All,   and now http://www.mirandabanda.org/files/Cog/VM/VM.r2486 includes Igor's rule 41 code in the BitBltPlugin, and includes a real multi-threaded linux VM.  The one in r2485 is only single-threaded due to a regression in a build script.
Correction: rule 41 code in the BitBltPlugin is not mine. :) I just took an effort to integrate already existing work made by other(s). I had to change the methods in order to replace _ with := for assignments and also use annotations <..foo.. > instead of 'self foo:..' that's why those methods stamped by my name. But i didn't changed any semantics, just made sure it works.
On Sun, Aug 7, 2011 at 10:55 PM, Eliot Miranda <eliot.miranda@gmail.com> wrote:
Hi All, Â Â please find new VMs in http://www.mirandabanda.org/files/Cog/VM/VM.r2485/. Â These fix a couple of long-standing bugs. Â One is a rare crash in GC on copying a compiled method, caused by the VM not making sure that a copy of a method that has been compiled to machine code is an independent copy. Â The other is a potential bug in GC with become where a become causes some machine code methods to gain references to young objects but the VM forgets to include these methods in the young referrers (those machine code methods that refer to young objects). -- best, Eliot
-- best, Eliot
-- Best regards, Igor Stasenko AKA sig.
On 8 August 2011 07:55, Eliot Miranda <eliot.miranda@gmail.com> wrote:
Hi All, Â Â please find new VMs in http://www.mirandabanda.org/files/Cog/VM/VM.r2485/. Â These fix a couple of long-standing bugs. Â One is a rare crash in GC on copying a compiled method, caused by the VM not making sure that a copy of a method that has been compiled to machine code is an independent copy. Â The other is a potential bug in GC with become where a become causes some machine code methods to gain references to young objects but the VM forgets to include these methods in the young referrers (those machine code methods that refer to young objects).
Yes, and i think this would be a first version(s) of Cog VMs, which could be titled as 'stable'. Because the bug, which Eliot fixed are really vicious and were plagued us for more than half of year. (i preparing an update on jenkins build server, we will see how well it goes after the fix). Because now we having a test jobs on jenkins which running tests for newly built VMs (but i will write more details in separate post). -- Best regards, Igor Stasenko AKA sig.
participants (2)
-
Eliot Miranda -
Igor Stasenko