[Vm-dev] Re: [ANN] 7061 = Squeak 3.9 final

tim Rowledge tim at rowledge.org
Tue Sep 26 01:57:44 UTC 2006

On 25-Sep-06, at 5:57 PM, David Griswold wrote:

> Sorry, I'm not familiar with the Squeak VM, but why does Slang  
> translate
> into untagged C arithmetic?
Dave, Slang _is_ the simulator effectively. It's just the Smalltalk  
code written in a pidgin sorta-C that can be executed to simulate the  
VM. Since it's just Smalltalk (albeit rather uglified Smalltalk) we  
just get to use the obvious integer overflow capabilities without  
thinking about it. Well, much. It does bop us on the nose  
occasionally when we forget that it will be turned into C.

Last case I can remember is when trying to make it possible to have  
64 bit filepointers but still manage on OSs that don't use them.

We use the bottom bit as the tag for SmallInt and leave the bottom  
two 0 for oops so there is no fiddling to extract addresses. There  
have been occasional attempts to use the second tag bit for an extra  
immediate but so far no change has been adopted. The latest VM code  
is (we think) clean for 64bit machines but a number of the vm plugins  
are not yet reworked and some platform specific code may still assume  
32bit machines.

I have to doubt that 64bit  integers would be fast on all new  
machines. A substantial subset of 'all new machines' use ARM  
processors and they're still 32bit...... :-)

tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim
Attitudes are contagious. Mine might kill you

More information about the Vm-dev mailing list