This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
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~
- References:
- [tree-ssa][ GC, Virtual operands, and GCing between passes
- Re: [tree-ssa][ GC, Virtual operands, and GCing between passes
- Re: [tree-ssa][ GC, Virtual operands, and GCing between passes
- Re: [tree-ssa][ GC, Virtual operands, and GCing between passes
- Re: [tree-ssa][ GC, Virtual operands, and GCing between passes
- Re: [tree-ssa][ GC, Virtual operands, and GCing between passes
- Re: [tree-ssa][ GC, Virtual operands, and GCing between passes