mirror of
https://github.com/RGBCube/serenity
synced 2025-07-02 22:32:12 +00:00
AK+LibC: Implement malloc_good_size() and use it for Vector/HashTable
This implements the macOS API malloc_good_size() which returns the true allocation size for a given requested allocation size. This allows us to make use of all the available memory in a malloc chunk. For example, for a malloc request of 35 bytes our malloc would internally use a chunk of size 64, however the remaining 29 bytes would be unused. Knowing the true allocation size allows us to request more usable memory that would otherwise be wasted and make that available for Vector, HashTable and potentially other callers in the future.
This commit is contained in:
parent
4ab9d8736b
commit
f89e8fb71a
7 changed files with 24 additions and 1 deletions
|
@ -277,6 +277,11 @@ void* krealloc(void* ptr, size_t new_size)
|
|||
return g_kmalloc_global->m_heap.reallocate(ptr, new_size);
|
||||
}
|
||||
|
||||
size_t kmalloc_good_size(size_t size)
|
||||
{
|
||||
return size;
|
||||
}
|
||||
|
||||
void* operator new(size_t size) noexcept
|
||||
{
|
||||
return kmalloc(size);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue