[Squeak-e] Programming the VM

Andreas Raab andreas.raab at gmx.de
Tue Feb 4 22:45:31 CET 2003


Cees,

[Finally back home...]

> Last thing I heard was that there were some changes necessary for
> various things, and that 3.5 would be the version where this would, as
> far as possible, would all be collected so that we'd have a break in
> image file format only once.

I don't remember this discussion (but then I've been busy) but I thought the
"big changes" were within VI4.

> I've already been thinking about the implications GC-wise and space
> wise. Probably some compression is possible and necessary. 90% of all
> objects, certainly in the beginning, will point to a default
> environment. A bit indicating whether there's additional environment
> info could save a lot of space and time. A second bit might indicate
> whether a short or long environment pointer is used (6-8 bit 
> index in a table vs. 32 bit pointer).

This seems both, too complex (in terms of object header encoding - the three
different object header formats we have are already pretty complex to
handle) as well as overly simplified (who is to say that 6-8bits are
enough?!).

> Anyway, the discussion *might* be premature; however, before 
> diving into options it would be nice to know how feasible they are.
> So I fear that we need to discuss ways *how* to make this happen 
> more-or-less in parallel with the discussion *what* exactly we want
> to make happen (e.g., what do we want to point to).

Okay, for the slow-witted like me - can someone please restate what this
extra pointer would be good for?! I can see various ways of "making it
happen" (with more or less complex designs) but it would really help me if I
would understand why we actually need "some extra pointer per object".

Cheers,
  - Andreas



More information about the Squeak-e mailing list