Adding a new imediate type

Peter Crowther Peter at ozzard.org
Mon Jan 2 11:51:35 UTC 2006


> From: [...] Joerg Beekmann
> Can anyone comment on how much work would be involved in
> 1) Adding a new 32bit field to the object header

Nasty.  I tried it back in the 2.2 days, and failed.  My biggest problem
was getting the garbage collector stable.

> 2) Adding a new immediate type like integer, presumable by adding 
> another tag bit.

Also nasty - there aren't any more tag bits, and tweaking with the
header format also involves the GC.  If you're going to do this, look at
the compact classes instead and see whether you can make yours compact.
Last I looked, I think there were a couple of spares.  Note that changes
to compact classes did *not* involve image format or VM changes last I
looked.

> Do these tasks involve 
> tracking down a bunch of constants and then rebuilding everything, 
> tedious but a with a known path to follow. Or will this 
> involve much more.

Much, much more.

		- Peter



More information about the Squeak-dev mailing list