Boehm, Hans | 8 Feb 16:56
Picon
Favicon

RE: about bitmap marking

[Copying response to gc mailing list.]

 

6.8 is old at this point, but this hasn’t changed much in 7.2alpha6.

 

The collector always stores mark bits in a map off to the side.  When I last looked at this ages ago, that seemed to be a clear win.  We need to look up a page descriptor for the object being marked in any case.  Thus the overhead is smaller than it would probably be for a non-conservative collector.  Having the mark bit in the object, or even on the same page, would mean accessing pages containing pointer-free objects during a GC.  In my experience, in well-tuned applications, a large fraction of the heap is pointer-free.  The GC could often touch twice as many pages during a GC with the mark bits in the objects.

 

An ancient version of the GC stored mark bits at the beginning of each page.  That potentially  causes other cache-related problems.  All mark bits contend for a small fraction of the cache.

 

The GC allocates memory from a free-list, but free-lists are built only a page at a time, when needed.  Building the free-list will force memory into the cache, but the hope is that it will still be there when the object is allocated by the client.

 

Hans

 

From: lijun [mailto:lijun-E8mQNyieTr9F8jW2Upzce+ga9YzINl48@public.gmane.org]
Sent: Tuesday, February 07, 2012 7:26 PM
To: Boehm, Hans; boehm-HInyCGIudOg@public.gmane.org
Subject: about bitmap marking

 

Dear Boehm:

 

I'm sorry about my poor English.

 

I would like to hear about boehm gc.

 

Boehm gc(gc6.8) uses Bitmap marking as default?

 

In Boehm gc, bitmap marking rules out storing mark-bits in object headers?(move mark-bits to other area)

 

Does Boehm gc get memory area from a freelist when allocate memory?

 

I'm waiting for your reply eagerly.

 

Best regards.

 

 

Li Jun

Univ. of Tsukuba

_______________________________________________
Gc mailing list
Gc@...
http://www.hpl.hp.com/hosted/linux/mail-archives/gc/

Gmane