New Cog VMs available

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

New Cog VMs available

Eliot Miranda-2
...at http://www.mirandabanda.org/files/Cog/VM/VM.r3095/.

CogVM binaries as per VMMaker.oscog-eem.890/r3095

Fix line-buffered input in sqFilePluginBasicPrims.c when buffer size > 1.
fread cannot be relied upon to answer lines.

Fix bug in Cogit>>lookup:for:methodAndErrorSelectorInto: which if cogging a
method found through an MNU would set the cog method's selector to the original
selector that was not understood instead of #doesNotUnderstand:.

Fix the description of the blockonwarn flag (not blockonwarning).

Spur:
Fix one-way become for classes with and without copyHash, primarily by fixing
allInstances.  One-way become for classes causes duplicates in the class table
(either that or an allInstances scan would be needed as part of the become to
change instances referring to the deleted class index, which would be slow).
So allInstances must be able to cope with duplicates.  Hence split it into a
fast path common case when the class in question is not duplicated, and a slower
path when it is.  Make both the marking phase of GC and allInstances check for
and eliminate refereces to duplicate entries at wrong/obsolete class indices.

Fix markAndShouldScan: to not scan the pun classes of non-objects on the heap
such as implicit receiver caches and Sista counters.

Eliminate the classTableBitmap premature optimization.  All the information we
need is in the cassTable and the class's hashes therein.

Change pinObject: to answer 0 on failure and the (possibly moved) object on
success.  Much easier than having to check and follow forwarding pointer.
The changes to platforms/Cross/plugins/FilePlugin/sqFilePluginBasicPrims.c
in r3092 in a Spur MT VM depend on this.
--
best,
Eliot


Reply | Threaded
Open this post in threaded view
|

Re: New Cog VMs available

Frank Shearar-3
On 4 October 2014 01:17, Eliot Miranda <[hidden email]> wrote:
> ...at http://www.mirandabanda.org/files/Cog/VM/VM.r3095/.

Updated in CI!

frank

Reply | Threaded
Open this post in threaded view
|

Re: [Vm-dev] New Cog VMs available

Karl Ramberg
In reply to this post by Eliot Miranda-2
The cogspurwin-14.39.3095 vm crashes when I run 

1 to: 50 do:[: i | Browser open]

Crash dump attached.

Karl

On Sat, Oct 4, 2014 at 2:17 AM, Eliot Miranda <[hidden email]> wrote:
 
...at http://www.mirandabanda.org/files/Cog/VM/VM.r3095/.

CogVM binaries as per VMMaker.oscog-eem.890/r3095

Fix line-buffered input in sqFilePluginBasicPrims.c when buffer size > 1.
fread cannot be relied upon to answer lines.

Fix bug in Cogit>>lookup:for:methodAndErrorSelectorInto: which if cogging a
method found through an MNU would set the cog method's selector to the original
selector that was not understood instead of #doesNotUnderstand:.

Fix the description of the blockonwarn flag (not blockonwarning).

Spur:
Fix one-way become for classes with and without copyHash, primarily by fixing
allInstances.  One-way become for classes causes duplicates in the class table
(either that or an allInstances scan would be needed as part of the become to
change instances referring to the deleted class index, which would be slow).
So allInstances must be able to cope with duplicates.  Hence split it into a
fast path common case when the class in question is not duplicated, and a slower
path when it is.  Make both the marking phase of GC and allInstances check for
and eliminate refereces to duplicate entries at wrong/obsolete class indices.

Fix markAndShouldScan: to not scan the pun classes of non-objects on the heap
such as implicit receiver caches and Sista counters.

Eliminate the classTableBitmap premature optimization.  All the information we
need is in the cassTable and the class's hashes therein.

Change pinObject: to answer 0 on failure and the (possibly moved) object on
success.  Much easier than having to check and follow forwarding pointer.
The changes to platforms/Cross/plugins/FilePlugin/sqFilePluginBasicPrims.c
in r3092 in a Spur MT VM depend on this.
--
best,
Eliot





crash.dmp (24K) Download Attachment