Potential bug in becomeForward:, need help!
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