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?).
--��