[Vm-dev] Re: [squeak-dev] New Cog VMs available

Denis Kudriashov 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
>
> General:
>
> 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
> add
> operation will apply to 16-bit variables is false on clang.  So on x86 and
> x64
> use inline assembly with gcc and clang since this is known to work.
> Improve the doSignalSemaphores code in sqExternalSemaphores.c so that the
> tide
> variables are initialized at the right point and so there's only one copy
> of
> 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
> of
> 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,
> make
> the UUIDPlugin external in all Squeak Spur VMs.
>
>
> Plugins:
> Make FFI load symbol fail after (when find function fails).
> In Pharo, we allow to load global functions (so we can control world
> windows
> through FFI).
>
> LargeIntegersPlugin:
>
> 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:
>
>
> Slang:
> Beware: sending abs to an unsigned int will re-interpret the int as signed
> and
> will generate C compiler warnings.  The new version uses SQABS and SQLABS
> macros
> 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...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20160330/5d9d451e/attachment.htm


More information about the Vm-dev mailing list