ggreen@cod.NOSC.MIL (George W. Green) (05/25/91)
Can someone point me to any papers or books on garbage collecting, and implementations in C++? Thanks in advance, George Green, ggreen@nosc.mil
daniel@terra.ucsc.edu (Daniel Edelson) (05/27/91)
In article <3091@cod.NOSC.MIL> ggreen@cod.NOSC.MIL (George W. Green) writes: > >Can someone point me to any papers or books on garbage >collecting, and implementations in C++? > >Thanks in advance, > >George Green, ggreen@nosc.mil Two approaches are discussed in the most recent Usenix C++ conference proceedings. One uses smart pointers and one eschews smart pointers in favor of lighter-weight encapsulated pointers that maintain reference counts. For a copy call the Usenix Association in Berkeley, Calif. Bartlett has a collector that he has made available over anonymous ftp. I'm not sure what machine it can be obtained from. Also Boehm has a collector that has been made available. I also am not sure where to get that. Would someone care to post that information? If there are other general, purpose collectors for C++ for which information is available, I would very much like to hear about them. --- Daniel Edelson | ``Recycle your garbage. Please don't daniel@cis.ucsc.edu, or | make me come and copy after you.'' uunet!ucscc!terra!daniel |
bartlett@decwrl.dec.com (Joel Bartlett) (05/29/91)
The C++ garbage collector that has been used for the last year within Digital Equipment Corporation's Western Research Laboratory is available for public ftp. The collector provides compacting garbage collection for C++ without any changes to the C++ compiler or runtime system and with a minimum of machine specific code (< 20 lines). Collection is done by a generational, "mostly-copying" collector. The system is available for anonymous ftp from 'gatekeeper.dec.com' [16.1.0.2]. The Scheme->C files are in '/pub/DEC/CCgc'. Those files include: 26nov90.tar.Z initial release. This includes support for Digital VAX and DECstation systems running ULTRIX. README copyright notice and overview A technical report describing a generational, compacting garbage collector for C++ is available from Digital's Western Research Lab. For instructions on how to order a hard copy report or have the Postscript e-mailed to you, send a message to our technical report server at Wrl-Techreports@decwrl.dec.com with the word "help" in the subject line. Joel Bartlett bartlett@decwrl.dec.com
boehm@parc.xerox.com (Hans Boehm) (05/29/91)
A recent version of our collector can be obtained from arisia.xeroc.com:~ftp/pub/gc.tar.Z A much more elaborate version derived from this collector is part of the Xerox Portable Common Runtime system. Both collectors do not move objects, and do not require information about the layout of objects in the heap. They present a "malloc" style interface, and are not taylored to C++. (Most of the known clients are written in either C or Cedar.) Bartlett's collector is a copying compacting collector, and thus differs in all of the above respects. Both approaches have their advantages and disadvantages. The PCR collector relies on PCR threads and on the ability to intercept certain system calls. The current PCR package is significantly more difficult to bring up (especially on a nonSPARC machine) than the stand-alone collector. PCR also gives you threads and dynamic loading. The PCR collector is generational and largely concurrent. The simple version is neither. (But on a SPARCstation 2 with only a couple of megabytes of live data, interactive response should be OK with either one. With 30 MB of live data on a 16 MB machine, you want the PCR version. The PCR generational collector exhibits MUCH more local reference behavior.) The simple collector is described in Boehm & Weiser, "Garbage Collection in an Uncooperative Environment", Software Practice & Experience, Sept. 88. Some of the modifications incorporated into the PCR collector are described in Boehm, Demers, Shenker, "Mostly Parallel Garbage Collection", to appear in the SIGPLAN PLDI '91 proceedings. Hans (boehm@xerox.com)
Joel.Bartlett@sunbrk.FidoNet.Org (Joel Bartlett) (05/29/91)
Reply-To: bartlett@decwrl.dec.com (Joel Bartlett) The C++ garbage collector that has been used for the last year within Digital Equipment Corporation's Western Research Laboratory is available for public ftp. The collector provides compacting garbage collection for C++ without any changes to the C++ compiler or runtime system and with a minimum of machine specific code (< 20 lines). Collection is done by a generational, "mostly-copying" collector. The system is available for anonymous ftp from 'gatekeeper.dec.com' [16.1.0.2]. The Scheme->C files are in '/pub/DEC/CCgc'. Those files include: 26nov90.tar.Z initial release. This includes support for Digital VAX and DECstation systems running ULTRIX. README copyright notice and overview A technical report describing a generational, compacting garbage collector for C++ is available from Digital's Western Research Lab. For instructions on how to order a hard copy report or have the Postscript e-mailed to you, send a message to our technical report server at Wrl-Techreports@decwrl.dec.com with the word "help" in the subject line. Joel Bartlett bartlett@decwrl.dec.com * Origin: Seaeast - Fidonet<->Usenet Gateway - sunbrk (1:343/15.0)