On Tue, May 1, 2012 at 10:05 PM, Igor Stasenko <[email protected]> wrote:
> On 1 May 2012 21:45, Mariano Martinez Peck <[email protected]> wrote: > > > > > > On Tue, May 1, 2012 at 9:22 PM, Francisco Garau < > [email protected]> > > wrote: > >> > >> Your code snippet is comparing the associations. The below one evaluates > >> to true: > >> > >> (Smalltalk globals associationAt: #ScriptLoader) value > >> == > >> ((SmalltalkImage >> #shrinkToCore) literalAt: 4) value > >> > > > > Yes, but the literals of CompiledMethod that refer to classes should have > > the SAME association as Smalltalk globals. In fact, that's the reason > why we > > have: > > > indeed. > The question is what leads to creation of multiple associations > pointing to same global? > Exactly. I can easily fix it with a Compiler recompileAll. But the main question is if we have a bug or something that could let us in that state. > > > Association >> #literalEqual: otherLiteral > > "Answer true if the receiver and otherLiteral represent the same > > literal. > > Variable bindings are literally equals only if identical. > > This is how variable sharing works, by preserving identity and > changing > > only the value." > > ^self == otherLiteral > > > > instead of the Object implementation. > > > > > >> > >> On 1 May 2012 17:52, Mariano Martinez Peck <[email protected]> > wrote: > >>> > >>> (Smalltalk globals associationAt: #ScriptLoader) == ((SmalltalkImage >> > >>> #shrinkToCore) literalAt: 4) > >>> gives false when it should be true. If I do a Compiler recompileAll it > >>> gets fixed. So, my question is, is that normal? how could that happen? > >>> is there any real problem behind? > >>> > >>> anyway, can we do a recompileAll for the moment? > >>> > >>> thanks! > >>> > >>> -- > >>> Mariano > >>> http://marianopeck.wordpress.com > >>> > >> > > > > > > > > -- > > Mariano > > http://marianopeck.wordpress.com > > > > > > -- > Best regards, > Igor Stasenko. > > -- Mariano http://marianopeck.wordpress.com
