On Mar 28, 2013, at 6:59 AM, Tudor Girba tudor@tudorgirba.com wrote:
Hi,
One of the Moose test runs a visualization that manipulates CompiledMethods, and it runs into an error when trying to find an entry inside a dictionary that has compiled methods as keys. In the end, I managed to isolate the problem that can be reproduced by:
- Download the moose image:
https://ci.inria.fr/moose/job/moose-latest-dev-4.8/lastSuccessfulBuild/artif...
- Execute:
(MooseIncomingQueryResult>>#selectDependencies:) = (MooseOutgoingInvocationQueryResult>>#selectDependencies:).
It seems it is a Pharo problem, or something related to these particular methods. Would anyone be interested in looking into this?
Yes, equality just check that the byte code is the same. Historically this is the behavior as methods did not know their class nor their selector, at some point they where then including this information for #=, but the latest does not.
We should change it, Methods now contain the information in which class they are installed in and it should be taken into account for =
There is already a case:
https://pharo.fogbugz.com/f/cases/7222
Marcus