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