mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-04-22 04:25:13 +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
Notes:
sideshowbarker
2024-07-18 09:20:26 +09:00
Author: https://github.com/awesomekling Commit: https://github.com/SerenityOS/serenity/commit/d38b4e46655
2 changed files with 11 additions and 4 deletions
|
@ -270,6 +270,12 @@ void* kmalloc(size_t size)
|
|||
return ptr;
|
||||
}
|
||||
|
||||
void kfree_sized(void* ptr, size_t size)
|
||||
{
|
||||
(void)size;
|
||||
return kfree(ptr);
|
||||
}
|
||||
|
||||
void kfree(void* ptr)
|
||||
{
|
||||
if (!ptr)
|
||||
|
@ -333,9 +339,9 @@ void operator delete(void* ptr) noexcept
|
|||
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
|
||||
|
@ -343,9 +349,9 @@ void operator delete[](void* ptr) noexcept
|
|||
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)
|
||||
|
|
|
@ -42,6 +42,7 @@ void kmalloc_init();
|
|||
|
||||
void* krealloc(void*, size_t);
|
||||
void kfree(void*);
|
||||
void kfree_sized(void*, size_t);
|
||||
|
||||
struct kmalloc_stats {
|
||||
size_t bytes_allocated;
|
||||
|
|
Loading…
Add table
Reference in a new issue