... at http://www.mirandabanda.org/files/Cog/VM/VM.r3056/.

CogVM binaries as per VMMaker.oscog-eem.832/r3056
Add the time zone to the version info on Mac OS X and Win32.

Fix bug in assigning parameter 55 (growth ratio at which to do a global GC).

Add vmParameter 52 to answer the capacity of the root table
(in Spur a.k.a. the rememberedSet).

In the wake of the inlining change below (see Slang:), split
lookupInMethodCacheSel:classTag: into inlineLookupInMethodCacheSel:classTag:,
and use the inline version in internalFindNewMethod.

Fix printStringOf: (used in e.g. frame print) to not print crs
that would cause previous info to be overwritten.

Spur:
Fix bug with class table management and two-way become. ��Because two-way become
may do an in-place swap obj1 & obj2 in SpurMemoryManager>>doBecome:and:copyHash:
may not be forwarded after the inner become. ��Hence they should not be followed
if not forwarded. ��The bug manifested as Object's identityHash changing:
superclass is the first slot in a class. Following an unforwarded subclass of
object yields Object. ��Setting the hash bits of the followed object smashes
Object's identityHash. ��Thanks to Stephane Rollandin for finding the bug.

More rationalization of the class table management post become. ��Now no post
become scan of the class table is necessary at all.

Add vm parameter 53 to answer the number of segments.

Move the rememberedSet into a pinned object in oldSpace. ��Allow it to grow
on demand, starting at 1k entries, doubling on each grow. ��Make sure to abort
if the attempt to grow the remembered set fails. ��Try to grow by another 1k
slots if doubling fails, then abort.

Revise markAndTrace: given that markAndShouldScan: is inlined within it (see
Slang changes below). ��Move the ephemeron processing into markAndShouldScan:
out of the now unused numStringSlotsOf:ephemeronInactiveIf: circumlocution.
Add activeAndDeferredScan: and numStrongSlotsOfInephemeral: in place of the
double negative inactiveOrFailedToDeferScan: and hence inline
numStrongSlotsOfInephemeral:. ��Increase the traceImmediatelySlotLimit. ��These
changes plus the 2 repeats for compaction speed up global GC by at least x2.

Change the defaultEdenBytes to 4Mb.

Allow the number of compaction passes to vary, 2 on GC, 3 on GC for snapshot.

Slang:
Add support for inlining into the condition of ifTrue:/ifFalse:
when it is marked as inline. Transform
expr1 ifTrue:/ifFalse: [^expr2]
by inlining ^expr2 into expr1. ��Transform
expr ifTrue:/ifFalse: [statements]
by replacing ^boolean occurrences in expr with gotos.
--
Aloha,
Eliot