memory defragmentation

Godmar Back gback at
Tue Feb 16 12:29:36 PST 1999

> At 09:52 AM 2/16/99 -0700, you wrote:
> >> Correct me if I am wrong. What actually bother me is that kaffe use a free
> >> list to keep track of free memory block. After allocating and reclaiming
> >> memory blocks, the free block will not be contiguous and this might be the
> >> problem for large objets to fit in. Or did I miss something?
> >> 
> >
> >I don't think the primitive lists are a problem.  They are defragmented
> >in that adjacent pieces are spliced together upon free.  At least that's 
> >what Jason told me the last time I talked to him about that, and that's 
> >also what a quick look at gc-mem.c:gc_primitive_free shows.
> >Do you see any problems with that?
> >
> >	- Godmar
> >
> I know the free block will be merged with its free neighbors once it is
> freed. Will it be possible that a large block can not be allocated in the
> heap because each free block on the list is too small, even though total
> free memory size is large enough? 

You're right.  This fragmentation problem is not currently addressed.

	- Godmar

More information about the kaffe mailing list