A plan for 3.8/4.0... (insert drumroll here)

Alan Grimes alangrimes at starpower.net
Sat Apr 3 08:57:19 UTC 2004


Jimmie Houchin wrote:

> >>>>Since many machines already and, apparently, many more will be 
> using AMD64, I don't see any reason to put any special effort into the 
> Itanic [sic]. Whatever is done for other platforms will automagicly 
> work. GCC will compile code that uses "int64" on any platform wheather 
> it be the 64 bit G5 or my dual athlon...
> <<<<


> I do think it would be nice if Squeak was at least 64bit clean even if 
> a "true" 64bit port didn't advantage significantly. However I would be 
> pleased if it did boost performance.

> I can't compile Squeak on my machine without dropping down into a 
> special 32bit environment for explicit 32bit compiles.


 From hacking on the interpreter for the last week (it's now 3:43 AM), I 
can tell you that the culprit is the fact that Squeak uses 32-bit *int* 
values as pointers.

I _THINK_ there is a relatively trivial way to solve this.

1. The macros at the top of interp.c will need to be changed to 
something like:

#define longAt (foo) (char*)(foo+imageBase)

and then somewhere else a global "imageBase" will need to be created and 
accurately reflect the current value of the array containing the image 
offset. The rest of the code should run correctly with (possibly) a few 
minor exceptions that should be easy to fix...

As for me, I've spent the day and night trying to debug a problem I 
introduced into the garbage collector.

So far I've been trying to debug it on the binary level... Just now I 
tried to put my entire base image into itself via InterpreterSimulator.

I followed the instructions in the class coment and got a message not 
understood error from Bitmap, I fixed it by the following change in 
interpreter simulator:

---------------------------
sqGrowMemory: oldLimit By: delta

    memory _ memory class new: (delta + memory size) withAll: memory.
    ^ memory size * 4
----------------------------------------


But this fails too, stack dump sent seperately, I think...



More information about the Squeak-dev mailing list