<div dir="ltr">Thank&#39;s Eliot for good work.<div><br></div><div>Is it possible that new lock primitives from Ben was integrated too?</div></div><div class="gmail_extra"><br><div class="gmail_quote">2016-03-29 20:59 GMT+02:00 Eliot Miranda <span dir="ltr">&lt;<a href="mailto:eliot.miranda@gmail.com" target="_blank">eliot.miranda@gmail.com</a>&gt;</span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>... at <a href="http://www.mirandabanda.org/files/Cog/VM/VM.r3663" target="_blank">http://www.mirandabanda.org/files/Cog/VM/VM.r3663</a></div><div><br></div><div><br></div><div>CogVM binaries as per VMMaker.oscog-eem.1746/r3663<br></div><div><br></div><div>General:</div><div><br></div><div>Fix loss of signals to e.g. a socket&#39;s readSemaphore when data available:</div><div>Fix a bug in sqAtomicOps.h where the assumption that the intrinsic atomic add</div><div>operation will apply to 16-bit variables is false on clang.  So on x86 and x64</div><div>use inline assembly with gcc and clang since this is known to work.</div><div>Improve the doSignalSemaphores code in sqExternalSemaphores.c so that the tide</div><div>variables are initialized at the right point and so there&#39;s only one copy of</div><div>the signalling code.</div><div><br></div><div>Allow primitiveUtcWithOffset to accept an optional parameter with an</div><div>array or object with two or more slots to store UTC posix microseconds</div><div>and time zone offset in seconds. Compatibility with VMM trunk.</div><div><br></div><div>Add a Smalltalk epoch version of it, primitiveUtcAndTimezoneOffset,</div><div>and give it primitive #244.</div><div><br></div><div>Fix signed/unsigned arithmetic issues in 64-bit microsecond clock code.</div><div>This fixes the bug whereby</div><div><span style="white-space:pre-wrap">        </span>Time localMicrosecondClock - Time utcMicrosecondClock // 1000000</div><div>would answer something with an odd second, a multiple of 3600 plus 1.</div><div><br></div><div>General Integer conversion routines:</div><div>Several clean ups to integer conversion routines.</div><div><br></div><div>Simplify bit operations using positiveMachineIntegerValueOf:/</div><div>positiveMachineIntegerFor: rather than doing 32/64 bits dissertation.</div><div><br></div><div><br></div><div>Spur Cogit:</div><div>Rewrote identity primitive to check for forwarders only when the identity of</div><div>objects is different.  The previous version would crash if the argument was a</div><div>forwarder to an immediate.</div><div><br></div><div>Spur VMs:</div><div>Now that UUIDs are created with purely image-based code in Squeak trunk, make</div><div>the UUIDPlugin external in all Squeak Spur VMs.</div><div><br></div><div><br></div><div>Plugins:</div><div>Make FFI load symbol fail after (when find function fails). </div><div>In Pharo, we allow to load global functions (so we can control world windows</div><div>through FFI). </div><div><br></div><div>LargeIntegersPlugin:</div><div><br></div><div>Finish 1st round of LargeIntegers refactoring</div><div><br></div><div>- simplify the left and right shift</div><div>- use as much unsigned arithmetic as possible</div><div>- homogenize type declaration within the plugin</div><div>- remove unused digitOf:at:</div><div><br></div><div><br></div><div>Slang:</div><div>Beware: sending abs to an unsigned int will re-interpret the int as signed and</div><div>will generate C compiler warnings.  The new version uses SQABS and SQLABS macros</div><div>on sqInt and sqLong vars, and fabs and fabsf on double and float args,</div><div>respectively, and llabs on long long, __int64 vars.</div><div><br></div><div><br></div><div>Mac OS X:</div><div>Unswap the Squeak and Newspeak localized strings</div><div><br></div><div><div dir="ltr"><div><span style="font-size:small;border-collapse:separate"><div>_,,,^..^,,,_<br></div><div>best, Eliot</div></span></div></div></div>
</div>
<br><br>
<br></blockquote></div><br></div>