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

CogVM binaries as per VMMaker.oscog-eem.1318/r3354

Cogit:
Fix the performance regression on x86 in r3308 VMMaker.oscog-eem.1178 through
the use of XCHG instruction in CogIA32Compiler>>genPushRegisterArgsForNumArgs:.
Since SendNumArgsReg is not live with small arity sends it can replace TempReg.

Spur:
Fix bad C bug in nextInSortedFreeListLink:given:.�� The result
type must be usqInt, otherwise the list can be wrongly
terminated and the second compaction pass can segfault.

Change printFreeChunk:isNextChunk: to printFreeChunk:printAsTreeNode:, and use
it to implement printSortedFreeList.

Firm up the checkTraversableSortedFreeList assert routine to check that
the list is traversable from lastFreeChunk, not just firstFreeChunk.�� Make
checkTraversableSortedFreeList robust in presence of empty sorted free list.

Slang:
Make promoteArithmeticTypes:and: obey C99's promotion rules more closely in an
effort to generate more stable sources.�� Types were flipping between sqInt &
usqInt for variables that were assigned both types, so that one generation
would produce one type and a subsequent one another (Set/Dictionary hashing?).
--��
best,
Eliot