aboutsummaryrefslogtreecommitdiff
path: root/kernel/src/memory/operators.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/src/memory/operators.cpp')
-rw-r--r--kernel/src/memory/operators.cpp13
1 files changed, 8 insertions, 5 deletions
diff --git a/kernel/src/memory/operators.cpp b/kernel/src/memory/operators.cpp
index 57e31e6..c786b53 100644
--- a/kernel/src/memory/operators.cpp
+++ b/kernel/src/memory/operators.cpp
@@ -2,13 +2,16 @@
#include "kernel/memory.hpp"
+#include <kstd/units>
+
#include <cstddef>
#include <new>
[[nodiscard]] auto operator new(std::size_t size, std::align_val_t alignment, std::nothrow_t const &) noexcept -> void *
{
auto & allocator = kernel::memory::get_heap_allocator();
- return allocator.allocate(size, alignment);
+ return allocator.allocate(static_cast<kstd::units::bytes>(size),
+ static_cast<kstd::units::bytes>(static_cast<std::size_t>(alignment)));
}
[[nodiscard]] auto operator new(std::size_t size, std::align_val_t alignment) -> void *
@@ -83,9 +86,9 @@ auto operator delete[](void * pointer) noexcept -> void
::operator delete(pointer);
}
-auto operator delete[](void * pointer, std::size_t) noexcept -> void
+auto operator delete[](void * pointer, std::size_t size) noexcept -> void
{
- ::operator delete(pointer);
+ ::operator delete(pointer, size);
}
auto operator delete[](void * pointer, std::align_val_t) noexcept -> void
@@ -93,7 +96,7 @@ auto operator delete[](void * pointer, std::align_val_t) noexcept -> void
::operator delete(pointer);
}
-auto operator delete[](void * pointer, std::size_t, std::align_val_t) noexcept -> void
+auto operator delete[](void * pointer, std::size_t size, std::align_val_t) noexcept -> void
{
- ::operator delete(pointer);
+ ::operator delete(pointer, size);
}