Leo~

Nice summary of the issues, but I have a few nits to pick....

On Fri, 20 Aug 2004 10:29:28 +0200, Leopold Toetsch <[EMAIL PROTECTED]> wrote:
> a) The mark phase of the garbage collection creates the graph of *all*
> life (reachable) objects[1].
> b) Freezing a PMC creates the graph of reachables from that PMC on (e.g.
> all array items, and subitems if an item is another array...)
> c) The graph of objects created during b) is a subgraph of a), *if* both
> schemes either use depth-first or breadth-first.

I think that (c) may not be correct.  As a breadth first search of (a)
would interject random stuff into the tree that (b) would not.

Consider:  A refs B,C; B refs D, E; C refs F; D refs G

BFS using root of A for (a):
A > B > C > D > E > F > G
Where as a BFS for Freezing B for (b):
B > D > E > G

Also consider: :  A refs B,C; B refs D, E; C refs F; D refs G; E refs A

BFS using root of A for (a):
A > B > C > D > E > F > G
Where as a BFS for Freezing B for (b):
B > D > E > G > A > C > F


Thus I don't think that BFS works.  Now lets consider DFS of both sets.

 A refs C,B; B refs D, E; C refs E; D refs G; E refs A

DFS using root of A for (a):
A > C > E > B > D > G
DFS for freezing B for (b):
B > D > G > E > A > C


It has occurred to me that you might mean the implicit graph of all
objects rather than the explicit linked list of objects that (a) and
(b) create.  I believe that the graph of objects reachable from a node
is a subgraph of the complete graph of object; however, I do not
believe that the spanning trees of each created by DFS and BFS are
subgraphs of eachother.

Hope that made sense,
Matt
-- 
"Computer Science is merely the post-Turing Decline of Formal Systems Theory."
-???

Reply via email to