From fc9ce229819c232e8960fe14e14157ab2befd43c Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Fri, 28 May 2021 09:33:14 +0200 Subject: Kernel: Use KString for Region names Replace the AK::String used for Region::m_name with a KString. This seems beneficial across the board, but as a specific data point, it reduces time spent in sys$set_mmap_name() by ~50% on test-js. :^) --- Kernel/KBuffer.h | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'Kernel/KBuffer.h') diff --git a/Kernel/KBuffer.h b/Kernel/KBuffer.h index f49dd51d88..f9ffd3999a 100644 --- a/Kernel/KBuffer.h +++ b/Kernel/KBuffer.h @@ -27,7 +27,7 @@ namespace Kernel { class KBufferImpl : public RefCounted { public: - static RefPtr try_create_with_size(size_t size, Region::Access access, const char* name = "KBuffer", AllocationStrategy strategy = AllocationStrategy::Reserve) + static RefPtr try_create_with_size(size_t size, Region::Access access, StringView name = "KBuffer", AllocationStrategy strategy = AllocationStrategy::Reserve) { auto region = MM.allocate_kernel_region(page_round_up(size), name, access, strategy); if (!region) @@ -35,7 +35,7 @@ public: return adopt_ref_if_nonnull(new KBufferImpl(region.release_nonnull(), size, strategy)); } - static RefPtr try_create_with_bytes(ReadonlyBytes bytes, Region::Access access, const char* name = "KBuffer", AllocationStrategy strategy = AllocationStrategy::Reserve) + static RefPtr try_create_with_bytes(ReadonlyBytes bytes, Region::Access access, StringView name = "KBuffer", AllocationStrategy strategy = AllocationStrategy::Reserve) { auto region = MM.allocate_kernel_region(page_round_up(bytes.size()), name, access, strategy); if (!region) @@ -45,12 +45,12 @@ public: return adopt_ref_if_nonnull(new KBufferImpl(region.release_nonnull(), bytes.size(), strategy)); } - static RefPtr create_with_size(size_t size, Region::Access access, const char* name, AllocationStrategy strategy = AllocationStrategy::Reserve) + static RefPtr create_with_size(size_t size, Region::Access access, StringView name, AllocationStrategy strategy = AllocationStrategy::Reserve) { return try_create_with_size(size, access, name, strategy); } - static RefPtr copy(const void* data, size_t size, Region::Access access, const char* name) + static RefPtr copy(const void* data, size_t size, Region::Access access, StringView name) { auto buffer = create_with_size(size, access, name, AllocationStrategy::AllocateNow); if (!buffer) @@ -104,7 +104,7 @@ public: { } - [[nodiscard]] static OwnPtr try_create_with_size(size_t size, Region::Access access = Region::Access::Read | Region::Access::Write, const char* name = "KBuffer", AllocationStrategy strategy = AllocationStrategy::Reserve) + [[nodiscard]] static OwnPtr try_create_with_size(size_t size, Region::Access access = Region::Access::Read | Region::Access::Write, StringView name = "KBuffer", AllocationStrategy strategy = AllocationStrategy::Reserve) { auto impl = KBufferImpl::try_create_with_size(size, access, name, strategy); if (!impl) @@ -112,7 +112,7 @@ public: return adopt_own(*new KBuffer(impl.release_nonnull())); } - [[nodiscard]] static OwnPtr try_create_with_bytes(ReadonlyBytes bytes, Region::Access access = Region::Access::Read | Region::Access::Write, const char* name = "KBuffer", AllocationStrategy strategy = AllocationStrategy::Reserve) + [[nodiscard]] static OwnPtr try_create_with_bytes(ReadonlyBytes bytes, Region::Access access = Region::Access::Read | Region::Access::Write, StringView name = "KBuffer", AllocationStrategy strategy = AllocationStrategy::Reserve) { auto impl = KBufferImpl::try_create_with_bytes(bytes, access, name, strategy); if (!impl) @@ -120,12 +120,12 @@ public: return adopt_own(*new KBuffer(impl.release_nonnull())); } - [[nodiscard]] static KBuffer create_with_size(size_t size, Region::Access access = Region::Access::Read | Region::Access::Write, const char* name = "KBuffer", AllocationStrategy strategy = AllocationStrategy::Reserve) + [[nodiscard]] static KBuffer create_with_size(size_t size, Region::Access access = Region::Access::Read | Region::Access::Write, StringView name = "KBuffer", AllocationStrategy strategy = AllocationStrategy::Reserve) { return KBuffer(KBufferImpl::create_with_size(size, access, name, strategy)); } - [[nodiscard]] static KBuffer copy(const void* data, size_t size, Region::Access access = Region::Access::Read | Region::Access::Write, const char* name = "KBuffer") + [[nodiscard]] static KBuffer copy(const void* data, size_t size, Region::Access access = Region::Access::Read | Region::Access::Write, StringView name = "KBuffer") { return KBuffer(KBufferImpl::copy(data, size, access, name)); } @@ -146,7 +146,7 @@ public: [[nodiscard]] const KBufferImpl& impl() const { return *m_impl; } [[nodiscard]] RefPtr take_impl() { return move(m_impl); } - KBuffer(const ByteBuffer& buffer, Region::Access access = Region::Access::Read | Region::Access::Write, const char* name = "KBuffer") + KBuffer(const ByteBuffer& buffer, Region::Access access = Region::Access::Read | Region::Access::Write, StringView name = "KBuffer") : m_impl(KBufferImpl::copy(buffer.data(), buffer.size(), access, name)) { } -- cgit v1.2.3