[Gc] Regarding Data structures
hans.boehm at hp.com
Thu Feb 26 09:49:02 PST 2004
I assume you looked at
Everything is allocated in chunks whose size is a multiple of HBLKSIZE,
and which are aligned to HBLKSIZE.
Small objects are allocated by dividing a HBLKSIZE-sized chunk into equal
There is a separate data structure, the two level tree, which maps each
chunk to a corresponding header. The lookup is done by taking different
pieces of a block address (typically 10 or 12 bits at a time) and using
it to index into nodes at one level of a tree. This is very similar to
how the virtual-to-physical address mapping is handled on most hardware.
If this still isn't clear, more specific questions would be helpful in
clarifying the text on the web page.
> -----Original Message-----
> From: gc-bounces at napali.hpl.hp.com
> [mailto:gc-bounces at napali.hpl.hp.com]On Behalf Of vasantha selvi
> Sent: Thursday, February 26, 2004 1:35 AM
> To: gc at napali.hpl.hp.com
> Subject: [Gc] Regarding Data structures
> I tried to get a highlevel picture of the datastructures
> used for mainting
> memory\heap by the gc.
> I refered "Two-Level Trees Structure for Fast Pointer" but
> still I am able
> to get the clear relationship between pointers and all the
> Still I have big question on how the heap is split into
> different sized blocks and how it mapping is done.
> Please any could help me out with some more references docs
> or can u urself
> give some brief explanation of the total data structure.
> Awaiting for ue valuable responses,
> Contact brides & grooms FREE!
> Only on www.shaadi.com. Register now!
> Gc mailing list
> Gc at linux.hpl.hp.com
More information about the Gc