Status: Accepted
Owner: nicolas....(a)gmail.com
Labels: Type-Enhancement Priority-Low
New issue 96 by nicolas....(a)gmail.com: Using >> (bitShift:) instead of pow
(raisedTo:)
http://code.google.com/p/cog/issues/detail?id=96
By virtue of SLANG translation, interpreterAllocationReserveBytes uses
pow((double)2,(double)n) to answer an int, wouldn't it better to just use a
bit shift?
2^n <=> 1<<n, up to n=31
I doubt we reserve more than that, the result is signed anyway.
And this would remove yet another warning.
Attachments:
interpreterAllocationReserveBytes.st 2.0 KB
Updates:
Status: Accepted
Cc: esteba...(a)gmail.com
Comment #1 on issue 72 by sean.p.d...(a)gmail.com: Don't open an Dialog on
Mac in headless mode
http://code.google.com/p/cog/issues/detail?id=72
This is even more important now with the MBP retina. A "headless" cog image
always forces the GPU to discrete mode, draining the battery. I often use
headless (e.g. for Jenkins jobs and web scrapers) and in addition to the
distraction of the unneeded window popping up, the switch to the power
hogging GPU for no reason is even more of a drag.
Comment #5 on issue 44 by siguc...(a)gmail.com: Ephemerons integration
http://code.google.com/p/cog/issues/detail?id=44
Eliot proposed to change implementation to use separate object format for
Ephemerons.
Comment #6 on issue 92 by nicolas....(a)gmail.com: 3 LargeInteger arithmetic
primitive bugs with minimum signed 64 bit value
http://code.google.com/p/cog/issues/detail?id=92
As long as SmallInteger minVal negated (2^30) fits on 32 bits, there would
be no such problem in SmallInteger primitives.
AFAICT, 0 - INT_MIN like problem was only in LargeInt primitives, and those
are not jitted.
However, JIT is clever and for example in genPrimitiveAdd avoid shifting
the SmallInteger tag (genShiftAwaySmallIntegerTagsInScratchReg:), and just
remove it from one of operands (genRemoveSmallIntegerTagsInScratchReg:) so
as to directly produce a tagged integer. Thus, testing if the result fits
in 31 bit SmallInteger, become as simple as testing for 32 bit overflow...
Testing for overflow is much simpler than in C, see senders of
#JumpOverflow:
Note that genPrimitiveDivide use another strategy for testing overflow case
of (SmallInteger minVal/-1).
Esteban Lorenzano uploaded a new version of CMakeVMMaker to project VM Maker:
http://source.squeak.org/VMMaker/CMakeVMMaker-EstebanLorenzano.185.mcz
==================== Summary ====================
Name: CMakeVMMaker-EstebanLorenzano.185
Author: EstebanLorenzano
Time: 31 October 2012, 6:10:07.411 pm
UUID: 6700c266-3165-4d58-a72d-f6b52b215bc2
Ancestors: CMakeVMMaker-IgorStasenko.184
- configuration for system info plugin in mac
=============== Diff against CMakeVMMaker-IgorStasenko.184 ===============
Item was added:
+ ----- Method: CogFamilyCocoaIOSConfig>>configureSystemInfoPlugin: (in category 'plugin extra rules') -----
+ configureSystemInfoPlugin: maker
+ maker includeDirectories: '${platformsDir}/Cross/plugins/SystemInfoPlugin'.
+ maker addPlatformSources: #('sqSystemInfo.m' ).!
On 26 October 2012 21:17, Stéphane Ducasse <stephane.ducasse(a)inria.fr> wrote:
> Thanks a lot igor!
> I love the noise of burning servers under the pressure of integration scripts.
> At least we achieved that part :)
Well, to build VM and all 3-rd party libs from scratch it takes 1 hour
and 5 minutes on slave..
a bit too much to my taste.. perhaps we will need to rearrange jobs to
build thirdparty libs separately,
because they don't change that often.
> Stef
>
>
> On Oct 26, 2012, at 2:47 AM, Igor Stasenko wrote:
>
>> Hi there,
>>
>> There are new updated Cog VMs built by Jenkins. The changes are mostly
>> related to Windows builds:
>>
>> [1] Cog VM includes SSL plugin which uses OpenSSL library. (Tested
>> versus Zodiac , seems working fine).
>>
>> [2] A new version of Cog+NativeBoost for windows also bundled with
>> Cairo library.
>>
>> Here the list of all extra dll's which you can find in .zip file:
>>
>> "freetype library + freetype plugin"
>> FT2Plugin.dll
>> libfreetype-6.dll
>>
>> "FFI"
>> SqueakFFIPrims.dll
>>
>> "openSSL library + SqueakSSL plugin"
>> SqueakSSL.dll
>> libeay32.dll
>> ssleay32.dll
>>
>> "cairo library and its dependencies"
>> libcairo-2.dll
>> libpixman-1-0.dll
>> libpng-3.dll
>> zlib1.dll
>>
>>
>> Please, also note new downloads location:
>>
>> [1] http://pharo.gforge.inria.fr/ci/vm/cog/
>> [2] http://pharo.gforge.inria.fr/ci/vm/nbcog/
>>
>> While you can still download VMs directly from jenkins server
>> (https://ci.lille.inria.fr/pharo/view/Cog/),
>> the new location is _recommended_ place for downloading artefacts
>> built by Jenkins server:
>> - first, the interface is simple and straightforward
>> - second, it is not going to disappear with a puff of smoke (in case
>> of any problems related to jenkins & other build infrastructure)
>>
>> The new artifacts will appear in archive, every time jenkins
>> successfully finish corresponding job(s).
>> You can look at (http://pharo.gforge.inria.fr/ci/) to see what else is
>> stored there.
>>
>> --
>> Best regards,
>> Igor Stasenko.
>>
>
>
--
Best regards,
Igor Stasenko.
Hi there,
There are new updated Cog VMs built by Jenkins. The changes are mostly
related to Windows builds:
[1] Cog VM includes SSL plugin which uses OpenSSL library. (Tested
versus Zodiac , seems working fine).
[2] A new version of Cog+NativeBoost for windows also bundled with
Cairo library.
Here the list of all extra dll's which you can find in .zip file:
"freetype library + freetype plugin"
FT2Plugin.dll
libfreetype-6.dll
"FFI"
SqueakFFIPrims.dll
"openSSL library + SqueakSSL plugin"
SqueakSSL.dll
libeay32.dll
ssleay32.dll
"cairo library and its dependencies"
libcairo-2.dll
libpixman-1-0.dll
libpng-3.dll
zlib1.dll
Please, also note new downloads location:
[1] http://pharo.gforge.inria.fr/ci/vm/cog/
[2] http://pharo.gforge.inria.fr/ci/vm/nbcog/
While you can still download VMs directly from jenkins server
(https://ci.lille.inria.fr/pharo/view/Cog/),
the new location is _recommended_ place for downloading artefacts
built by Jenkins server:
- first, the interface is simple and straightforward
- second, it is not going to disappear with a puff of smoke (in case
of any problems related to jenkins & other build infrastructure)
The new artifacts will appear in archive, every time jenkins
successfully finish corresponding job(s).
You can look at (http://pharo.gforge.inria.fr/ci/) to see what else is
stored there.
--
Best regards,
Igor Stasenko.
Status: Accepted
Owner: camillob...(a)gmail.com
Labels: Type-Defect Priority-Medium
New issue 103 by camillob...(a)gmail.com: Mac VM Strange Bash Argument
Expansion
http://code.google.com/p/cog/issues/detail?id=103
Cog handles command line arguments inconsistently under mac:
cogVM Foo.image *
=> OK, normal expansion happening, `Smalltalk arguments` contains the names
of all the files in the directory
cogVM Foo.image "*"
=> FAIL! `Smalltalk arguments` contains the very same files again
cogVM Foo.image \*
=> FAIL! `Smalltalk arguments` contains the very same files again
cogVM Foo.image "\*"
=> `Smalltalk arguments` contains a single string '\*'
I expected the same arguments as when doing an echo
echo * => prints all files
echo "*" => prints *
echo \* => prints *
so somewhere there must happen a strange additional expansion (at least in
the Mac VM)