Potential bug in becomeForward:, need help!
Chris Muller
afunkyobject at yahoo.com
Sat May 18 18:42:45 UTC 2002
Hi Randal, none of my proxies can understand #hash. I didn't want to have to
deal with knowing which Sets to rehash.
>From my understanding of what Bob said, every object in Squeak is represented
by a "buffer" in memory, which holds information about it. It's class pointer,
its instance variable pointers, and its identityHash value.
Well, when you tell anObject to becomeForward: anotherObject, anotherObject
seems to be getting its identityHash value changed. I consider this a real
problem because it is effectively changing the object-identity of the target
object. Only the RECEIVER is supposed to have its identity changed.
And the identity of any Symbol should *never* change within the same image
session.
--- "Randal L. Schwartz" <merlyn at stonehenge.com> wrote:
> >>>>> "Chris" == Chris Muller <afunkyobject at yahoo.com> writes:
>
>
> Chris> Ehh, do you think it would work? For added safety, maybe it would be
> worth the
> Chris> cost to verify what we find respondsTo: #rehash..
>
> It would seem the problem is that #hash is being processed locally,
> rather than being forwarded to the real object. Can't #hash
> be trapped and handled specially? How in the world is the IdentitySet
> getting the hash value of the forwarder instead of the final object?
>
> --
> Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095
> <merlyn at stonehenge.com> <URL:http://www.stonehenge.com/merlyn/>
> Perl/Unix/security consulting, Technical writing, Comedy, etc. etc.
> See PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training!
__________________________________________________
Do You Yahoo!?
LAUNCH - Your Yahoo! Music Experience
http://launch.yahoo.com
More information about the Squeak-dev
mailing list
|