[gclist] Prior work?
Henry G. Baker
Wed, 9 Feb 2000 10:10:40 -0800 (PST)
> rather than using a generic scan function that
> interprets tags at runtime, statically emit a specialized scan function
> based on the static type info known at compile time. I'm wondering what
> the performance tradesoffs are.
> There was a paper about the SmallEiffel system at ISMM'98 (Compiler
> Support to Customize the Mark and Sweep Algorithm, Dominique Colnet,
> Philippe Coucaud and Olivier Zendra) that had good results both in
> memory footprint and GC time. It has some interesting references,
> People have tried this from time to time, particularly where tags are
> not an option, like C++. Look for "tagless" or "tag-free" collection.
> Basically, it sounds good if you have the type info. Should be faster
> than interpreting the tags. Make sure you control the recursion,
> Pekka P. Pirinen
> Adaptive Memory Management Group, Harlequin Limited
I have effectively used this scheme in C++, but the idea is much, much
older. I think it may go back to the very first OO+GC languages, and
I think that Stefan Arnborg may have invented it.
www/ftp directory URL: