[Pharo-project] Bug in #pointsTo: ?

Levente Uzonyi leves at elte.hu
Fri Jan 6 16:10:07 CET 2012


On Fri, 6 Jan 2012, Mariano Martinez Peck wrote:

> On Fri, Jan 6, 2012 at 2:59 PM, Stéphane Ducasse
> <stephane.ducasse at inria.fr>wrote:
>
>>
>> On Jan 6, 2012, at 2:46 PM, Levente Uzonyi wrote:
>>
>>> Of course, but I'd check for the class equality first, because it's
>> faster (yeah, i know you turned off inlining of #class, but Cog doesn't
>> care about that ;)).
>
>
> Ok, makes sense.
>
>
>> Another thing that you should add (besides tests of course) is
>> SmallInteger >> #pointsTo: which should return false.
>
>
> Ok.
>
>
>> Also make sure that pointer tracing tools use #pointsTo:. In Squeak I
>> found that some of them "reinvented" this method?
>>
>>
> I found a problem with the PointerFinder:
> http://forum.world.st/Help-pointersTo-broken-and-fix-but-I-don-t-understand-why-it-fixes-td4244097.html
> However, I still don't understand why it works if I use #instVarsInclude:
> and doesn't with  #pointsTo:

IIUC your problem is that MethodContext instances show up as objects which 
point to your object. And in fact (i think, but didn't check) they do 
point to your object, because the sender of those MethodContexts is the 
Date object. I think it only depends on when GC will happen. If the GC 
kicks in too late, then PointerFinder will find those transient objects 
and they will be listed.


Levente

>
>
> Do you mean what I understand :)? that some tools compiled methods? :)
>>
>> Stef
>>
>>
>
>
> -- 
> Mariano
> http://marianopeck.wordpress.com
>


More information about the Pharo-project mailing list