[Pharo-project] Problem with CompiledMethodTrailer

Igor Stasenko siguctua at gmail.com
Mon May 9 04:06:38 EDT 2011


On 9 May 2011 10:03, Henrik Sperre Johansen
<henrik.s.johansen at veloxit.no> wrote:
> On 09.05.2011 09:36, Mariano Martinez Peck wrote:
>
> On Mon, May 9, 2011 at 6:14 AM, Igor Stasenko <siguctua at gmail.com> wrote:
>>
>> On 9 May 2011 00:52, Mariano Martinez Peck <marianopeck at gmail.com> wrote:
>> > Hi guys, Maybe it is too late and I am not seeing something obvious...so
>> > another look is really appreciated. If I do:
>> >
>> > (CompiledMethod allInstances select:  [:each | each trailer kind =
>> > #VarLengthSourcePointer] ) first
>> > ---> (CodeLoader class>>#initialize "a CompiledMethod(311951360)")
>> >
>> > But then:
>> >
>> > (CodeLoader class >> #initialize) trailer kind
>> > ----> #SourcePointer
>> >
>> > WHYYY??  why it is answering #SourcePointer instead of
>> > #VarLengthSourcePointer  ??
>> >
>> > grrr how can that be possible???  It happens the same to each of the
>> > CompiledMethods I select as #VarLengthSourcePointer.  When I then ask
>> > the
>> > #kind  they always answer #SourcePointer  instead of
>> > #VarLengthSourcePointer
>> >
>> is it same compiled methods?
>> Because it is absolutely normal if they using different source pointer.
>>
>
> I didn't understand your question. Yes, it is exactly the same
> CompiledMethod.
>
> He's asking if they ARE the same
>
> (CodeLoader class >> #initialize) == (CompiledMethod allInstances select:
> [:each | each trailer kind = #VarLengthSourcePointer] ) first) ?

yeah.. and in my image these are not the same.
So, a better question to ask, is why there are multiple instances of
same method hanging in image :)

>
> Just because the CompiledMethds class and selector matches so its
> printstring will be 'SomeClass>>#someSelector', does not necessarily mean it
> is the one currently installed in the method dictionary.
>
> Cheers,
> Henry
>
>



-- 
Best regards,
Igor Stasenko AKA sig.




More information about the Pharo-dev mailing list