Re: Adding garbage collection to C++

kelvin@kickapoo.cs.iastate.edu (Kelvin Don Nilsen)
Thu, 13 Aug 1992 10:26:37 GMT

          From comp.compilers

Related articles
Adding garbage collection to C++ Dain.Samples@UC.EDU (1992-08-11)
Re: Adding garbage collection to C++ tmb@arolla.idiap.ch (1992-08-12)
Re: Adding garbage collection to C++ mw@ki.fht-mannheim.de (1992-08-13)
Re: Adding garbage collection to C++ kelvin@kickapoo.cs.iastate.edu (1992-08-13)
Re: Adding garbage collection to C++ fjh@cs.mu.OZ.AU (1992-08-14)
Re: Adding garbage collection to C++ jos@and.nl (1992-08-14)
Re: Adding garbage collection to C++ henry@zoo.toronto.edu (1992-08-14)
Re: Adding garbage collection to C++ bill@amber.ssd.csd.harris.com (1992-08-14)
Re: Adding garbage collection to C++ pardo@cs.washington.edu (1992-08-15)
Re: Adding garbage collection to C++ tmb@idiap.ch (1992-08-17)
[7 later articles]
| List of all articles for this month |
Newsgroups: comp.compilers
From: kelvin@kickapoo.cs.iastate.edu (Kelvin Don Nilsen)
Organization: Iowa State University, Ames IA
Date: Thu, 13 Aug 1992 10:26:37 GMT
References: 92-08-044 92-08-052
Keywords: C++, GC

>[I'd be interested how you trace through unions containing pointers. -John]


We have implemented copying garbage collection for the C++ language
standard, making only a few minor restrictions on normal C++ usage. We
are able, for example, to compile Gnu groff by fixing fewer than five
"sloppy" programming tricks. We handle unions that may contain either
pointers or raw seething bits by adding an explicit tag to distinguish
between the two. Each assignment to one of these unions incurs the cost
of updating the tag. We do not check the tag on reads. Further, we do
not update the tag if the union is known always to contain pointers, or
always to contain raw seething bits.


Kelvin Nilsen/Dept. of Computer Science/Iowa State University/Ames, IA 50011
  (515) 294-2259 kelvin@cs.iastate.edu uunet!kelvin@cs.iastate.edu
--


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.