64 bit images (was Re: [squeak-dev] The Trunk: Collections-dtl.268.mcz)

John M McIntosh johnmci at smalltalkconsulting.com
Fri Jan 1 21:08:24 UTC 2010


Morning. 

So in order to use a 64bit image on a 32bit machine running a 32bit VM you 
need to build a VM that is for 32bit machines but is configured to use 64bit image. 

In order to build that with the isqueak.org VM tree you have to change the SQ_VI_BYTES_PER_WORD to 8

#define SQ_VI_BYTES_PER_WORD 8

Then compile for 32bit powerpc using the SqueakPureObjc64*64. 
Normally that is configured for 64 bit intel only, so you'll have to fiddle a bit. 

I've done that and put it as 

experimental/64bit/64bitImage*32bitVMPowerPC/Squeak 32/64 5.1b1 PowerPC.app.zip

in the regular places via 
http://smalltalkconsulting.com/squeak.html


I note there is a fair amount of 
warning: implicit conversion shortens 64-bit value into a 32-bit value
technically those should be cross checked and changed to cast the sqInt aka (long long) to the target (long/NSInteger) 
The issue here is that a sqInt value which is a long long and typically a 32bit integer value is being assigned to a NSInteger (long). 
Other places are where a long long is passed as a  void* pointer, so it's being converted from 64bit to a 32bits void *

But I'll leave those fixes & cross checks  as an exercise for the user... 

The VM doesn't have any plugins.  I think the only plugin that you could compile is for FreeType. Existing plugins will not work 
because they are being passed long long values from squeak where they are expecting a long value. 


On 2010-01-01, at 10:32 AM, Edgar J. De Cleene wrote:

> 
> 
> 
> On 1/1/10 2:43 PM, "David T. Lewis" <lewis at mail.msen.com> wrote:
> 
>> The original 64-bit image that Dan and Ian created is this:
>> http://squeakvm.org/squeak64/dist3/Squeak64-3.8g-6548.image.tar.gz
>> 
>> but unfortunately this image can no longer be run on current Squeak VMs.
>> The reason is that some changes were made to the VM that broke backward
>> compatibility.
>> 
>> There is another version of the same image here:
>> http://squeakvm.org/squeak64/sq64-dtl.zip
> Sure it's the same ?
> 
> Squeak64-3.8g-6548.image.
> I could run this image with a Unix powerpc-apple-darwin7.8.0 and not with
> John , suppose is the http://squeakvm.org, but noty sure.
> 
> sq64-dtl. image. Not run
> 
> 
> My trouble is my old G4 QuickSilver only runs Tiger (10.4), not Leopard
> (10.5) or Snow Leopard (10.6).
> 
> For the rest, I try to follow your advice, many thanks.
> 
> For the record, I put again the bike photos in
> http://190.193.83.211/~admin/MotosAntiguas/
> 
> I remember you like it....
> 
> Be patient, cable modem is sloooow
> 
> Edgar
> 
> 
> 
> 
> 

--
===========================================================================
John M. McIntosh <johnmci at smalltalkconsulting.com>   Twitter:  squeaker68882
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
===========================================================================







More information about the Squeak-dev mailing list