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<[email protected]> 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 ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
