Potential bug in becomeForward:, need help!

Avi Bryant avi at beta4.com
Sat May 18 20:46:32 UTC 2002

On Sat, 18 May 2002, Chris Muller wrote:

> All the atomics, SmallIntegers, nil, true, false, etc. have special-value oids,
> so they will never be becomed to..
> But as for Symbols, it can't be done with my implementation.  Since Symbols are
> of arbitrary size, they have to have their own buffer in the database.  When a
> domain object is referencing a symbol in the database, the buffer only has the
> oid of the symbol object.  It can't KNOW its a symbol unless it reads its
> buffer off the disk to check its class id.

Couldn't you have a special range of oids (ie, a bit flag somewhere in the
oid) marking it as a symbol?  Presumably this is what you mean when you
say SmallIntegers have special-value oids.  You would still have to read
the buffer to find out what symbol it was, but you would know from the oid
range that it was a Symbol and that you should read it in immediately.

More information about the Squeak-dev mailing list