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

David T. Lewis lewis at mail.msen.com
Sun Jan 3 02:46:08 UTC 2010


John, one additional note.

The SystemTracer changesets currently in circulation have an obsolete
implementation of SystemDictionary>>wordSize.The original 64-bit
Squeak used vmParameterAt: 27 for the VM to answer its word size,
but this was later changed to vmParameter at: 40. This is the reason
that the original "dist3" 64-bit image does not work on current VMs.

You will want to revert #wordSize back to a current version
so that it uses vmParameter at: 40.

This issue will go away when we implement the cached #wordSize fixes
discussed separately (http://bugs.squeak.org/view.php?id=7430), but
I wanted to mention it because I spotted the obsolete method in the
System-Tracing2forPharo.cs change set.

Dave

On Fri, Jan 01, 2010 at 01:08:24PM -0800, John M McIntosh wrote:
> 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