This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


On Thu, Dec 11, 2003 at 06:13:00PM -0500, Andrew MacLeod wrote:
> > - A future compacting collector will not work if you do this.
> 
> Why not? Its still just an arbitrary vector of size N...

Because the objects that you've internal pointers to will move.

Anyway, yer screwed by a compacting collector anyway, since 
unless you want to slow down your collector significantly, you
can't have pointers into the *middle* of objects at all.

For now the best solution would seem to be "void *defs_p" and
cast to the proper pointer type when you use it.  If the GC
marker can't deal with "void *", then it needs to be fixed.

If we ever implement a compacting collector, we'll have to 
come up with some other way to represent this.  Possibly we
could do something with either paths down from the statement,
or <tree,operand> pairs.



r~


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]