Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!cornell!uw-beaver!rice!flora!boehm From: boehm@flora.rice.edu (Hans Boehm) Newsgroups: comp.lang.c++ Subject: Re: Pointer to Boehms GC wanted Summary: How to get GC source Message-ID: <4056@kalliope.rice.edu> Date: 27 Jun 89 20:07:21 GMT References: <6590166@hplsla.HP.COM> <9522@alice.UUCP> <592@astbe.UUCP> <2888@helios.ee.lbl.gov> Sender: usenet@rice.edu Reply-To: boehm@flora.rice.edu (Hans Boehm) Organization: Rice University, Houston Lines: 35 The garbage collector has been sent for posting to comp.sources.unix. I do not know where it is in that queue. In the meantime it can be obtained by anonymous ftp from titan.rice.edu:~ftp/public/gc.shar.0[12] or by sending the following two messages to archive-server@rice.edu: send public gc.shar.01 send public gc.shar.02 I believe the problem that Jim Adcock recently wrote about is tracable to essentially infinite recursion in the program itself. The collector happened to be the piece of code that actually exceeded the stack limit. (I'm sure lots of people will correct me if I'm wrong ...) The collector is not completely portable, though it comes reasonably close, at least for machines with 32 bit pointers. You do still need to specify constants like the starting address of the stack, and a few others. On some machines you need to specify a few lines of assembly code to mark from certain registers. It currently runs on VAXen, some HP machines, SUNs, PC/RTs, MIPS M/120s and a few others. The approach does work much better in sparsely populated address spaces. It works fine on an 80386 based Sequent machine. I suspect it won't work very well in an MS-DOS environment with 16 bit pointers. (As distributed, it won't work at all in this environment, for several reasons.) There are currently no hooks for invoking destructors or the like. All that is supplied are malloc and free replacements and a number of hooks for performance tuning. This collector is copyrighted, but the restrictions imposed are rather liberal. They are not intended to prevent redistribution. Hans-J. Boehm boehm@rice.edu