<div dir="ltr"><div>... at <a href="http://www.mirandabanda.org/files/Cog/VM/VM.r3354">http://www.mirandabanda.org/files/Cog/VM/VM.r3354</a></div><div><br></div><div>CogVM binaries as per VMMaker.oscog-eem.1318/r3354</div><div><br></div><div>Cogit:</div><div>Fix the performance regression on x86 in r3308 VMMaker.oscog-eem.1178 through</div><div>the use of XCHG instruction in CogIA32Compiler&gt;&gt;genPushRegisterArgsForNumArgs:.</div><div>Since SendNumArgsReg is not live with small arity sends it can replace TempReg.</div><div><br></div><div>Spur:</div><div>Fix bad C bug in nextInSortedFreeListLink:given:.  The result</div><div>type must be usqInt, otherwise the list can be wrongly</div><div>terminated and the second compaction pass can segfault.</div><div><br></div><div>Change printFreeChunk:isNextChunk: to printFreeChunk:printAsTreeNode:, and use</div><div>it to implement printSortedFreeList.</div><div><br></div><div>Firm up the checkTraversableSortedFreeList assert routine to check that</div><div>the list is traversable from lastFreeChunk, not just firstFreeChunk.  Make</div><div>checkTraversableSortedFreeList robust in presence of empty sorted free list.</div><div><br></div><div>Slang:</div><div>Make promoteArithmeticTypes:and: obey C99&#39;s promotion rules more closely in an</div><div>effort to generate more stable sources.  Types were flipping between sqInt &amp;</div><div>usqInt for variables that were assigned both types, so that one generation</div><div>would produce one type and a subsequent one another (Set/Dictionary hashing?).</div><div>-- <br></div><div class="gmail_signature">best,<div>Eliot</div></div>
</div>