[Pharo-project] [Ann] Ephemerons for Cog

Alexandre Bergel alexandre.bergel at me.com
Tue May 24 16:25:59 CEST 2011


Good point Toon. This is what HotSpot does actually.

Alexandre


On 24 May 2011, at 09:20, Toon Verwaest wrote:

> 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...
> 
> 
> 

-- 
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.








More information about the Pharo-project mailing list