mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 15:47:44 +00:00
Kernel: Add kfree_sized(), kfree() with a known allocation size
C++14 gave us sized operator delete, but we haven't been taking advantage of it. Let's get to a point where it can help us by adding kfree_sized(void*, size_t).
This commit is contained in:
parent
98080497d2
commit
d38b4e4665
2 changed files with 11 additions and 4 deletions
|
@ -270,6 +270,12 @@ void* kmalloc(size_t size)
|
||||||
return ptr;
|
return ptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void kfree_sized(void* ptr, size_t size)
|
||||||
|
{
|
||||||
|
(void)size;
|
||||||
|
return kfree(ptr);
|
||||||
|
}
|
||||||
|
|
||||||
void kfree(void* ptr)
|
void kfree(void* ptr)
|
||||||
{
|
{
|
||||||
if (!ptr)
|
if (!ptr)
|
||||||
|
@ -333,9 +339,9 @@ void operator delete(void* ptr) noexcept
|
||||||
return kfree(ptr);
|
return kfree(ptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
void operator delete(void* ptr, size_t) noexcept
|
void operator delete(void* ptr, size_t size) noexcept
|
||||||
{
|
{
|
||||||
return kfree(ptr);
|
return kfree_sized(ptr, size);
|
||||||
}
|
}
|
||||||
|
|
||||||
void operator delete[](void* ptr) noexcept
|
void operator delete[](void* ptr) noexcept
|
||||||
|
@ -343,9 +349,9 @@ void operator delete[](void* ptr) noexcept
|
||||||
return kfree(ptr);
|
return kfree(ptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
void operator delete[](void* ptr, size_t) noexcept
|
void operator delete[](void* ptr, size_t size) noexcept
|
||||||
{
|
{
|
||||||
return kfree(ptr);
|
return kfree_sized(ptr, size);
|
||||||
}
|
}
|
||||||
|
|
||||||
void get_kmalloc_stats(kmalloc_stats& stats)
|
void get_kmalloc_stats(kmalloc_stats& stats)
|
||||||
|
|
|
@ -42,6 +42,7 @@ void kmalloc_init();
|
||||||
|
|
||||||
void* krealloc(void*, size_t);
|
void* krealloc(void*, size_t);
|
||||||
void kfree(void*);
|
void kfree(void*);
|
||||||
|
void kfree_sized(void*, size_t);
|
||||||
|
|
||||||
struct kmalloc_stats {
|
struct kmalloc_stats {
|
||||||
size_t bytes_allocated;
|
size_t bytes_allocated;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue