Re: Proposed addition of malloc_size_np()



John-Mark Gurney wrote:
Jason Evans wrote this message on Sat, Mar 25, 2006 at 00:23 -0800:

have to store the precise allocation request size; it can instead round the request size up internally, then treat the allocation as being of this rounded up size. By vaguely specifying the return value of malloc_size_np(), we grant the malloc implementation freedom as to whether the size is precisely what was specified during allocation, or some rounded up value.

I had no intention of suggesting that malloc_size_np() should extend existing allocations, nor change the return value depending on the current state of memory following the allocation pointed to by ptr.

Ok, so what you are saying is that the function returns the size of
the bucket (if any) that the memory was allocated from... But even
though this function may return a larger value, the program is not
allowed to use extra space, and it's only useful for further
allocations of the same size?

I'm saying that malloc_size_np() returns the size of the allocation, to the best of the allocator's knowledge. If you malloc(17), and malloc_size_np() returns 32 for that allocation, then you can treat it as a 32-byte allocation. However, the malloc implementation could conceivably return any value >=17.

Jason
_______________________________________________
freebsd-arch@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-arch
To unsubscribe, send any mail to "freebsd-arch-unsubscribe@xxxxxxxxxxx"



Relevant Pages