Sorry...I forgot a detail: the problem is that they were storing
CompiledMethods in a Dictionary, keys. I guess in Pharo 1.0 it works
perfect, but in 1.1 since keys return a Set (that was the changed?), you
miss some methods ;)

Just do

InstructionClient methods size -> 27
InstructionClient methods asSet size -> 21

so...it is not fun :(

solution ? ideas? help ?

Thanks :)


On Tue, May 18, 2010 at 3:35 PM, Mariano Martinez Peck <
[email protected]> wrote:

> Hi folks. I was debugging a problem with Moose and I realized that 2
> different methods can have the same CompiledMethod. This was weird for me. I
> don't know if this is correct or not.
>
> For example, evaluate:
>
> (InstructionClient>>#methodReturnTop) = (InstructionClient>>#doDup)    ->
> true
>
> If you look at
>
> CompiledMethod = aCompiledMethod
>     "Answer whether the receiver implements the same code as
> aCompiledMethod."
>
>     | numLits |
>     self == aCompiledMethod
>         ifTrue: [ ^ true ].
>     self class = aCompiledMethod class
>         ifFalse: [ ^ false ].
>     self size = aCompiledMethod size
>         ifFalse: [ ^ false ].
>     self header = aCompiledMethod header
>         ifFalse: [ ^ false ].
>     self initialPC to: self endPC do: [ :i |
>         (self at: i) = (aCompiledMethod at: i)
>             ifFalse: [ ^ false ] ].
>     (self sameLiteralsAs: aCompiledMethod)
>         ifFalse: [ ^ false ].
>     self halt.
>     ^ true
>
>
> It is returning in the last ^ true.
>
> What was weird for me is that (self sameLiteralsAs: aCompiledMethod)
> returns true also. But if I print both literals:
>
> self literals ->  {#methodReturnTop.
> (#InstructionClient->InstructionClient)}
>
> aCompiledMethod literals ->  {#doDup.
> (#InstructionClient->InstructionClient)}
>
> So...for me they are differnt, but sameLiteralsAs:  is returning true.
> Debugging that, it seems that in that method it is returning in the last ^
> true.
>
> So...any hints? is this the expected behavior ?  or it is a bug ?
>
> Thanks
>
> Mariano
>
>
>
_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to