This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: RFC - Alternatives to gengtype
Quoting Joern Rennecke <joern.rennecke@embecosm.com>:
P.S.:
If we need more than one operation, or mark-things-live when copying
during normal operation causes too much overhead, we could select
operations
to be performed by the copy constructor by adjusting some global state
(need not literally be a global variable - it might be a static member
variable in some class).
This can also make the mark-operation cheaper, as we could make it
just do the marking.
And, to tackle GC roots, we could have another templated class to wrap
pointers to GC-able pointers that, in addition, has a constructor that
registers the address the pointer is going to be stored in. if the
previous contents are zero.
We'll have to have a check to avoid creating duplicates if a GC root is
initialized more than once.
Thus, we can get completely get rid of gengtype - the special GC semantics
will be expressed in C++ by the types used.
The gengtype code might get re-used for a final time to help find and rewrite
all the GTY constructs we got in our current code base.