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

Igor Stasenko siguctua at gmail.com
Mon Jul 19 14:35:58 UTC 2010


Mariano, can you tell us, why you need to know, how many objects pointing to
a specific one?
The reference counting is well known solution to this, but it is less
effective than garbage collection
(in terms of memory management), since you have to touch the counters
at each memory write.

On 19 July 2010 12:55, Mariano Martinez Peck <marianopeck at gmail.com> wrote:
>
> Ok...thanks for the answers...I think I will have to go in another way. But anyway, thanks
>
> mariano
>
> On Thu, Jul 15, 2010 at 6:43 PM, Andreas Raab <andreas.raab at gmx.de> wrote:
>>
>> On 7/15/2010 5:40 AM, Mariano Martinez Peck wrote:
>>>
>>> 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 ?
>>
>> That's called "reference counting". It's not supported in Squeak.
>>
>> Cheers,
>>  - Andreas
>
>
>



-- 
Best regards,
Igor Stasenko AKA sig.


More information about the Vm-dev mailing list