global variables as structure in VM.

Tim Rowledge tim at
Fri Apr 5 18:54:34 UTC 2002

John M McIntosh <johnmci at> is claimed by the authorities to have written:

> It seems back in 1999 I coded up some changes to coerce the 
> definition of VM global variables into a structure and then of course 
> refer to the variables as foo->whatever.
This would potentially be very nice for any ARM (or indeed ARM-like)
processors - you should see the code involved in using globals :-(

I actually tried something of the sort on an early all-assmebler vm,
using an ugly hack that kept all the bytecode addresses, global vars (or
addreses in some cases) and primitive addresses in a single table just
next to the object table. This meant the base address of this humungous
table was worth keeping in a register (actually a pointer to somewhere
in the middle, so that the OT was convenient as positive offests and
therest as negative). I don't think it ever ran, but it still seems like
a quite good idea to me. But then again, I'm just strange.

And as Dean mentioned, it would surely help with getting some motion on
an EPOC port which has sort of stalled. Diego got a basic system running
but I haven't been able to get any response from him for a while so
maybe he lost interest when Psion announced they were dropping making
handhelds? Given that the Active Book used to de very nicely on a 8MHz
ARM2 we really ought to be able to make something work on a 30-40MHz
ARM7/8 machine even if morphic is too much for it.


Tim Rowledge, tim at,
Any given program will expand to fill available memory.

More information about the Squeak-dev mailing list