[gclist] Precise GC's performance

Antony Hosking hosking@cs.purdue.edu
Thu, 29 Feb 1996 17:06:18 -0500 (EST)


Following up on this topic of accurate versus conservative collection, I'll
put in a blatant plug for some work a student of mine and I are currently
doing.  We have resurrected (and extended) the original work of Diwan et al
[PLDI'92] on accurate GC for the now-defunct UMass GNU Modula-3 effort.  We've
taken that original design and much of the gcc-backend code, modified the SRC
M3 front-end to emit the necessary type information, and extended the gcc
backend to handle certain complications of modern RISC architectures, so that
we can now accurately collect several significant Modula-3 programs (e.g.,
m3browser).  We're still in debugging mode so I won't say we handle all the
programs we've tried (moreover, unsafe programs can break the accurate
collector by hiding pointers, etc., though I'm sure they could be rewritten to
cooperate without too much trouble).  In any case, we should very shortly be
in a position where we can run direct comparison of accurate copying versus
Bartlett-style mostly-copying conservative roots collection, for gcc-optimized
Modula-3 programs, with hard results expected in late spring.

On a side note, the recent bugs we've been encountering, mostly arising as a
result of the generation of derived pointers through VAR parameters and
compiler temporaries, may be of interest to others...  We should probably sit
down and write up descriptions of them, sometime...  For now, we are still
very much up to our necks in the code...

-- 
Antony Hosking, Asst. Professor	| Voice:(317) 494-6001
Department of Computer Sciences	| Fax:	(317) 494-0739
Purdue University		| Email:hosking@cs.purdue.edu
West Lafayette, IN 47907-1398	| http://www.cs.purdue.edu/people/hosking