[Pharo-project] Problem with CompiledMethodTrailer

Henrik Sperre Johansen henrik.s.johansen at veloxit.no
Mon May 9 10:03:38 CEST 2011


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 
> <mailto:siguctua at gmail.com>> wrote:
>
>     On 9 May 2011 00:52, Mariano Martinez Peck <marianopeck at gmail.com
>     <mailto: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) ?

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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gforge.inria.fr/pipermail/pharo-project/attachments/20110509/a5f08cdc/attachment.htm>


More information about the Pharo-project mailing list