Re: taking bets on a new collector
David Gadbois <[email protected]> Fri, 15 Aug 2003 10:06:10 -0500
| Newsgroups | gmane.comp.programming.garbage-collection.general |
|---|---|
| Message-ID | <[email protected]> |
> Date: Thu, 14 Aug 2003 11:40:44 -0700 (PDT) > From: Tom Lord <[email protected]> > > Memory is divided into aligned "pages", each page containing > 256 pointer-sized words of memory management header, and > 3840 words of object storage (for a total of 4096 words). > The page size could be multiplied by any power of 2, but it would > be difficult to make it smaller. I highly recommend segregating the per-page meta information out in a way that is locality sensitive. For example, keep the queue of MARKED pages separate so that the flip operation does not have to go back out and touch the scanned pages again. Also, if there is a way to put the GC bits in the objects themselves, that would lessen the likelyhood of having to read from two cache lines in the event of a write. Though it is a tradeoff for a mark-and-sweep collector on write rate versus sweep rate. Keeping the meta info separate would also greatly simplify the task of supporting objects bigger than 256 words: You could interpose a layer of abstraction where the GC operates on regions of contiguous pages. --David Gadbois