[tree-ssa][ GC, Virtual operands, and GCing between passes

Andrew MacLeod amacleod@redhat.com
Thu Dec 11 17:17:00 GMT 2003


On Thu, 2003-12-11 at 11:59, Geoff Keating wrote:
> Andrew MacLeod <amacleod@redhat.com> writes:
> 
> > I have array of pointers to trees.
> > 
> > so 
> > 
> > tree **defs;
> 
> That's an array of pointers to pointers to trees.  'tree' is a pointer
> to a tree.
> 

Depends on how you descibe it. 'tree' is a pointer to a tree
structure/union so  Its an array of pointers to pointers to tree
structures, yes, but an array of pointers to trees seemed like a
sufficient description to me... 

regardless, Its a cache of all the operand pointers in the stmt. So its
a list of pointers to trees so we can access/change them easily without
hunting for them. thus 'tree **'.

So all the trees will get marked when the stmt is marked. Since the
vector is part of the stmt annotation, if the stmt operands are not
marked, the annotation/vector will not get marked either. If the stmt is
marked, I need the vector to be marked, but none of the components.

So I need the tree ** vector to be treated as if is an array of
interegers or something, no marking of anything in it.

Im about to punt on it anyway and manage those vectors myself since GC
doesnt seem to want to deal with them nicely.

Andrew



More information about the Gcc mailing list