[Pharo-project] [Ann] Ephemerons for Cog

Toon Verwaest toon.verwaest at gmail.com
Tue May 24 09:20:43 EDT 2011


On 05/24/2011 02:57 PM, Igor Stasenko wrote:
> On 24 May 2011 14:46, Chris Cunnington<smalltalktelevision at gmail.com>  wrote:
>> "But if the dependents are stored in some global dictionary from model to
>> sequence of dependents then the
>> reference from the global dictionary keeps both the model and the dependents
>> alive."
>>
>> When I hear "global dictionary" I think of a namespace. Perhaps namespaces
>> could add efficiency to the GC.
>>
> I don't see how this could improve anything.
> During full GC, it has to mark all reachable objects, because those
> which won't be marked will be reclaimed.
>
> So, how presence of namespaces could make GC faster?
If you know up-front that the namespace doesn't disappear, you could 
separate those objects from the rest of the objects (in a separate heap) 
and avoid marking/sweeping altogether. Basically a multi-heap 
generational GC; with namespaces rather than just generations based on age.
Pointers going from one heap to another would have to go over a handle 
table, as is usual...






More information about the Pharo-dev mailing list