[Pharo-project] Problem with CompiledMethodTrailer

Mariano Martinez Peck marianopeck at gmail.com
Mon May 9 10:53:25 CEST 2011


On Mon, May 9, 2011 at 10:27 AM, Nicolas Cellier <
nicolas.cellier.aka.nice at gmail.com> wrote:

> Hi Mariano,
> you should try these two things before repeating yourself:
>
> (CompiledMethod allInstances select:  [:each | each trailer kind =
> #VarLengthSourcePointer] ) first trailer kind.
>
> | temp |
> temp := (CompiledMethod allInstances select:  [:each | each trailer
> kind = #VarLengthSourcePointer] ) first.
> temp == (temp methodClass >> temp selector)
>
>
Thanks Nicolas. Yes,  in fact all of you were right. They are not the same
CM instance. They are different.
It is wierd that they are only present in Pharo1.3:


((CompiledMethod allInstances select:  [:each | each trailer kind =
#VarLengthSourcePointer] ) ) size
->>>   11

And in Pharo 1.2, cero and and 1.1.1, 2.

I am trying to inspect pointers to them to see who is pointing to them...but
I cannot find anything :(

I will continue....

thanks



It may be possible that CompiledMethod>>printString is lying to you...
>
> Nicolas
>
> 2011/5/9 Mariano Martinez Peck <marianopeck at gmail.com>:
> >
> >
> > 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.
> > Look, if I do:
> >
> > (CompiledMethod allInstances select:  [:each | each trailer kind =
> > #VarLengthSourcePointer] ) first
> >
> > I get
> > ---> (CodeLoader class>>#initialize "a CompiledMethod(311951360)")
> >
> > So...it means that such CompiledMethod answers #VarLengthSourcePointer
> when
> > send "trailer kind". Ok?
> >
> > But immediatly after, if I ask the trailer kind to the SAME compiled
> method:
> >
> > (CodeLoader class >> #initialize) trailer kind
> >
> > I get
> > ----> #SourcePointer
> >
> > WHYYY??  why it is answering #SourcePointer instead of
> > #VarLengthSourcePointer  ??
> >
> >>
> >> > thanks in advance,
> >> >
> >> > --
> >> > Mariano
> >> > http://marianopeck.wordpress.com
> >> >
> >> >
> >>
> >>
> >>
> >> --
> >> Best regards,
> >> Igor Stasenko AKA sig.
> >>
> >
> >
> >
> > --
> > Mariano
> > http://marianopeck.wordpress.com
> >
> >
>
>


-- 
Mariano
http://marianopeck.wordpress.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gforge.inria.fr/pipermail/pharo-project/attachments/20110509/4dcfcd02/attachment.htm>


More information about the Pharo-project mailing list