[Vm-dev] Re: [squeak-dev] New Cog VMs available
dionisiydk at gmail.com
Tue Mar 29 22:17:19 UTC 2016
Thank's Eliot for good work.
Is it possible that new lock primitives from Ben was integrated too?
2016-03-29 20:59 GMT+02:00 Eliot Miranda <eliot.miranda at gmail.com>:
> ... at http://www.mirandabanda.org/files/Cog/VM/VM.r3663
> CogVM binaries as per VMMaker.oscog-eem.1746/r3663
> Fix loss of signals to e.g. a socket's readSemaphore when data available:
> Fix a bug in sqAtomicOps.h where the assumption that the intrinsic atomic
> operation will apply to 16-bit variables is false on clang. So on x86 and
> use inline assembly with gcc and clang since this is known to work.
> Improve the doSignalSemaphores code in sqExternalSemaphores.c so that the
> variables are initialized at the right point and so there's only one copy
> the signalling code.
> Allow primitiveUtcWithOffset to accept an optional parameter with an
> array or object with two or more slots to store UTC posix microseconds
> and time zone offset in seconds. Compatibility with VMM trunk.
> Add a Smalltalk epoch version of it, primitiveUtcAndTimezoneOffset,
> and give it primitive #244.
> Fix signed/unsigned arithmetic issues in 64-bit microsecond clock code.
> This fixes the bug whereby
> Time localMicrosecondClock - Time utcMicrosecondClock // 1000000
> would answer something with an odd second, a multiple of 3600 plus 1.
> General Integer conversion routines:
> Several clean ups to integer conversion routines.
> Simplify bit operations using positiveMachineIntegerValueOf:/
> positiveMachineIntegerFor: rather than doing 32/64 bits dissertation.
> Spur Cogit:
> Rewrote identity primitive to check for forwarders only when the identity
> objects is different. The previous version would crash if the argument
> was a
> forwarder to an immediate.
> Spur VMs:
> Now that UUIDs are created with purely image-based code in Squeak trunk,
> the UUIDPlugin external in all Squeak Spur VMs.
> Make FFI load symbol fail after (when find function fails).
> In Pharo, we allow to load global functions (so we can control world
> through FFI).
> Finish 1st round of LargeIntegers refactoring
> - simplify the left and right shift
> - use as much unsigned arithmetic as possible
> - homogenize type declaration within the plugin
> - remove unused digitOf:at:
> Beware: sending abs to an unsigned int will re-interpret the int as signed
> will generate C compiler warnings. The new version uses SQABS and SQLABS
> on sqInt and sqLong vars, and fabs and fabsf on double and float args,
> respectively, and llabs on long long, __int64 vars.
> Mac OS X:
> Unswap the Squeak and Newspeak localized strings
> best, Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Vm-dev