mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 22:17:45 +00:00
AK+Kernel: Avoid double memory clearing of HashTable buckets
Since the allocated memory is going to be zeroed immediately anyway, let's avoid redundantly scrubbing it with MALLOC_SCRUB_BYTE just before that. The latest versions of gcc and Clang can automatically do this malloc + memset -> calloc optimization, but I've seen a couple of places where it failed to be done. This commit also adds a naive kcalloc function to the kernel that doesn't (yet) eliminate the redundancy like the userland does.
This commit is contained in:
parent
cd21e03225
commit
e3eb68dd58
4 changed files with 15 additions and 2 deletions
|
@ -72,6 +72,7 @@ void operator delete[](void* ptrs) noexcept DISALLOW("All deletes in the kernel
|
|||
void operator delete[](void* ptr, size_t) noexcept;
|
||||
|
||||
[[gnu::malloc, gnu::alloc_size(1)]] void* kmalloc(size_t);
|
||||
[[gnu::malloc, gnu::alloc_size(1, 2)]] void* kcalloc(size_t, size_t);
|
||||
|
||||
[[gnu::malloc, gnu::alloc_size(1), gnu::alloc_align(2)]] void* kmalloc_aligned(size_t size, size_t alignment);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue