the one to the left seems like broken. it not ends with return self. On 9 May 2011 11:22, Mariano Martinez Peck <marianopeck@gmail.com> wrote:
On Mon, May 9, 2011 at 10:53 AM, Mariano Martinez Peck <marianopeck@gmail.com> wrote:
On Mon, May 9, 2011 at 10:27 AM, Nicolas Cellier <nicolas.cellier.aka.nice@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....
More data: there are only these kind of compiled methods in the dev image. Not in core.
In addition, if I do: ScriptLoader new cleanUpForRelease, then inspect ((CompiledMethod allInstances select:Â [:each | each trailer kind = #VarLengthSourcePointer] ) )
and then I click on the first element in the inspector.... VM CRASH!!! with both, InterpreterVM and CogVM.
I can see the difference in the trailer of the CMs (I attach screenshot), but still cannot find who is pointing to that weird instances :(
grrr... thanks for the help
thanks
It may be possible that CompiledMethod>>printString is lying to you...
Nicolas
2011/5/9 Mariano Martinez Peck <marianopeck@gmail.com>:
On Mon, May 9, 2011 at 6:14 AM, Igor Stasenko <siguctua@gmail.com> wrote:
On 9 May 2011 00:52, Mariano Martinez Peck <marianopeck@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
-- Mariano http://marianopeck.wordpress.com
-- Best regards, Igor Stasenko AKA sig.