[Vm-dev] Re: [squeak-dev] New Cog VMs available
eliot.miranda at gmail.com
Wed Mar 30 05:58:12 UTC 2016
On Tue, Mar 29, 2016 at 7:10 PM, Levente Uzonyi <leves at caesar.elte.hu>
> Hi Eliot,
> I think something went wrong with those semaphores. Connecting to a Socket
> seems to wait for the full 45 seconds timeout with this VM. To reproduce,
> just try opening any remote MC repository. This happens with
> cogspur64linuxht. I haven't tried any other versions yet.
OK, thanks. This is 64-bits only thank goodness. I don't see the problem
with the 32-bit system.
There's another issue with WideStrings where, #at: (primitive 63) fails for
> a few instances. This issue is present in 3643 as well. To reproduce it,
> open the Monticello Browser, select the Multilingual package, select the
> Trunk repository and press Changes. You'll see that two methods are
> reported to have changed (even though they haven't). Selecting any of them
> will pop up a debugger with the primitive failure. The common symptom is
> that #basicAt: will work for the index, for which #at: fails, and it will
> return the number 16rD80000FF.
And I take it this is 64-bits too, right?
> On Tue, 29 Mar 2016, Eliot Miranda wrote:
> ... 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 x64
>> 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 and
>> 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