[Vm-dev] Detecting objects that point to an object

Stefan Marr squeak at stefan-marr.de
Thu Jul 15 12:55:10 UTC 2010


On 15 Jul 2010, at 14:45, Mariano Martinez Peck wrote:
> On Thu, Jul 15, 2010 at 2:42 PM, Rob Withers <reefedjib at yahoo.com> wrote:
>  
> Utilities pointersTo: object
> 
> 
> Thanks Rob. But that implementation does a someObject and then loops with nextObject. Thus, it does a full memory scan. I want to avoid that. So the only way is storing somewhere such pointers or at least a counter I think.
If you need it to be accurate and available all time, you will probably need the basic mechanisms of a reference counting GC.

Best regards
Stefan




>  
> 
> Thanks agian
> 
> mariano
>  
> ----
> http://www.noharmmeansnofoul.org
>  
>  
> 
> From: Mariano Martinez Peck
> Sent: Thursday, July 15, 2010 8:40 AM
> To: Squeak Development Discussion Virtual Machine
> Subject: [Vm-dev] Detecting objects that point to an object
> 
> 
> 
> Hi folks. I need to know the objects (actually, only how many) that are pointing to any object. So...I take an object X, and I want to know how many objects are pointing to X. 
> 
> The only possible I see in Squeak VM is to do a full mark over all objects in memory (or starting by the roots). This is time consuming and I even need (maybe) to do this check (to know how many objects are pointing to an object) for every single object.
> 
> So...is there a faster solution for this? The only thing I can imagine is to modify the object header, maybe create a new type, and add an array with the addresses of the objects that are pointing to that object. Or maybe just a counter that I can increase or decrease ?
> 
> Thanks for any tip. 
> 
> Mariano
> 
> 

-- 
Stefan Marr
Software Languages Lab
Vrije Universiteit Brussel
Pleinlaan 2 / B-1050 Brussels / Belgium
http://soft.vub.ac.be/~smarr
Phone: +32 2 629 2974
Fax:   +32 2 629 3525



More information about the Vm-dev mailing list