[Vm-dev] I don't understand the GC root table

Stefan Marr squeak at stefan-marr.de
Mon Sep 26 12:06:26 UTC 2011


On 26 Sep 2011, at 13:22, Andreas Raab wrote:

> The rootTable is used during incremental GC. Its contents are those objects in old space that are roots for objects in new space (see ObjectMemory>>beRootIfOld:). It has nothing to do with the (global) roots of the interpreter; in fact the root table is cleared right at the beginning of fullGC (see senders of #clearRootsTable). The global roots are explicitly enumerated in Interpreter>>markAndTraceInterpreterOops.

Not sure whether it is worthwhile to change such details, but I belief the standard terminology would be 'remembered set'. At least that is the typical name for recorded references between different object sets maintained separately, AFAIK.

And it could avoid confusion.

Best regards

Stefan Marr
Software Languages Lab
Vrije Universiteit Brussel
Pleinlaan 2 / B-1050 Brussels / Belgium
Phone: +32 2 629 2974
Fax:   +32 2 629 3525

More information about the Vm-dev mailing list