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]

Re: an experiment with garbage collection


Richard Henderson:
   Having been annoyed by obstacks one too many times, I decided to
   try and do something about it.  There now exists a branch of EGCS
   in the CVS tree tagged `egcs_gc_branch'.  On it, you will find a
   fledgeling attempt to replace all of the stupid obstack nonsense
   with an actual garbage collector.

Why not use the Boehm-Weiser conservative collector?
It might work as a drop-in (on supported platforms),
and provide state-of-the-art conservative GC to GCC...

http://reality.sgi.com/employees/boehm_mti/gc.html

As for obstacks, there's a robust "cord" package written by Boehm that provides
similar functionality (and more), and interacts nicely with the GC.

The advantage of using it rather than writing your own GC,
is that it's already fairly debugged, supports a wide range of platforms,
and offers debugging facilities to track down memory allocation problems.
It can work almost as an malloc drop-in, and is multi-threading compliant
on many platforms (not linuxthreads yet, though Fergus Henderson
of Mercury fame is working on it).

It's free software, though not GPL (kind of BSD license).
It could easily be bundled together with GCC.

## Faré | VN: þ£ng-Vû Bân   | Join the TUNES project!  http://www.tunes.org/ ##
## FR: François-René Rideau |    TUNES is a Useful, Not Expedient System     ##
## Reflection&Cybernethics  | Project for a Free Reflective Computing System ##
As far as natural selection applies to the human world, we don't ever get to
"let nature decide", because we ARE part of that nature that decides. Hence,
any claim to "let the nature decide" is just a fallacy to promote one point
of view against others.


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