[Gc] Atomic page-sized blocks

David Jones dej at inode.org
Thu Feb 26 14:07:36 PST 2004


In order to debug memory use in my application, I am traversing the collected 
heap (using GC_apply_to_all_blocks()) and testing each object using 
GC_is_marked().

I am coming across several objects allocated pointer-free, each 4096 bytes 
long, my page size.  I cannot find where in my application I am allocating 
them - I am using the debug versions of GC_malloc_*() and all my other 
objects are tracing back properly.

Does the collector use zeroed pages interally for some reason, say, awaiting 
redeployment for future allocations?  Strange that they are marked, though.  
Is GC_is_marked() reliable for objects bigger than a page?

I am seeing 10-20% of my heap space taken by these objects, so I am interested 
in tracking them down.



More information about the Gc mailing list