diff options
author | aleexfi <aleexfi@yandex-team.com> | 2023-01-10 00:35:59 +0300 |
---|---|---|
committer | aleexfi <aleexfi@yandex-team.com> | 2023-01-10 00:35:59 +0300 |
commit | 7ade5ad16d098a48b1586948baae4f9b2fa1dbb5 (patch) | |
tree | 0729c2775c7396df1652e638da561be3d88c8b2f /library/cpp | |
parent | 2d79b278f2265d09c965faf97288acceb21da600 (diff) | |
download | ydb-7ade5ad16d098a48b1586948baae4f9b2fa1dbb5.tar.gz |
Add nallocx impl on windows; Remove dependence on allocator coz it doesn't work
Diffstat (limited to 'library/cpp')
-rw-r--r-- | library/cpp/yt/malloc/CMakeLists.darwin.txt | 1 | ||||
-rw-r--r-- | library/cpp/yt/malloc/CMakeLists.linux-aarch64.txt | 1 | ||||
-rw-r--r-- | library/cpp/yt/malloc/CMakeLists.linux.txt | 1 | ||||
-rw-r--r-- | library/cpp/yt/malloc/dummy_malloc.cpp | 17 | ||||
-rw-r--r-- | library/cpp/yt/malloc/malloc.cpp | 13 | ||||
-rw-r--r-- | library/cpp/yt/memory/chunked_memory_pool-inl.h | 3 |
6 files changed, 16 insertions, 20 deletions
diff --git a/library/cpp/yt/malloc/CMakeLists.darwin.txt b/library/cpp/yt/malloc/CMakeLists.darwin.txt index 60ae2a46b3..ead9e4e1e4 100644 --- a/library/cpp/yt/malloc/CMakeLists.darwin.txt +++ b/library/cpp/yt/malloc/CMakeLists.darwin.txt @@ -14,5 +14,4 @@ target_link_libraries(cpp-yt-malloc PUBLIC ) target_sources(cpp-yt-malloc PRIVATE ${CMAKE_SOURCE_DIR}/library/cpp/yt/malloc/malloc.cpp - ${CMAKE_SOURCE_DIR}/library/cpp/yt/malloc/dummy_malloc.cpp ) diff --git a/library/cpp/yt/malloc/CMakeLists.linux-aarch64.txt b/library/cpp/yt/malloc/CMakeLists.linux-aarch64.txt index 172e050130..a0caaae28b 100644 --- a/library/cpp/yt/malloc/CMakeLists.linux-aarch64.txt +++ b/library/cpp/yt/malloc/CMakeLists.linux-aarch64.txt @@ -15,5 +15,4 @@ target_link_libraries(cpp-yt-malloc PUBLIC ) target_sources(cpp-yt-malloc PRIVATE ${CMAKE_SOURCE_DIR}/library/cpp/yt/malloc/malloc.cpp - ${CMAKE_SOURCE_DIR}/library/cpp/yt/malloc/dummy_malloc.cpp ) diff --git a/library/cpp/yt/malloc/CMakeLists.linux.txt b/library/cpp/yt/malloc/CMakeLists.linux.txt index 172e050130..a0caaae28b 100644 --- a/library/cpp/yt/malloc/CMakeLists.linux.txt +++ b/library/cpp/yt/malloc/CMakeLists.linux.txt @@ -15,5 +15,4 @@ target_link_libraries(cpp-yt-malloc PUBLIC ) target_sources(cpp-yt-malloc PRIVATE ${CMAKE_SOURCE_DIR}/library/cpp/yt/malloc/malloc.cpp - ${CMAKE_SOURCE_DIR}/library/cpp/yt/malloc/dummy_malloc.cpp ) diff --git a/library/cpp/yt/malloc/dummy_malloc.cpp b/library/cpp/yt/malloc/dummy_malloc.cpp deleted file mode 100644 index 4a35758cab..0000000000 --- a/library/cpp/yt/malloc/dummy_malloc.cpp +++ /dev/null @@ -1,17 +0,0 @@ -#include "malloc.h" - -#include <util/system/compiler.h> - -//////////////////////////////////////////////////////////////////////////////// - -Y_WEAK extern "C" size_t nallocx(size_t size, int /*flags*/) noexcept -{ - return size; -} - -Y_WEAK extern "C" size_t malloc_usable_size(void* /*ptr*/) noexcept -{ - return 0; -} - -//////////////////////////////////////////////////////////////////////////////// diff --git a/library/cpp/yt/malloc/malloc.cpp b/library/cpp/yt/malloc/malloc.cpp index abb04e60f9..2455970b71 100644 --- a/library/cpp/yt/malloc/malloc.cpp +++ b/library/cpp/yt/malloc/malloc.cpp @@ -1,11 +1,24 @@ #include "malloc.h" +#include <util/system/compiler.h> #include <util/system/platform.h> #include <stdlib.h> //////////////////////////////////////////////////////////////////////////////// +Y_WEAK extern "C" size_t nallocx(size_t size, int /*flags*/) noexcept +{ + return size; +} + +#ifndef _win_ +Y_WEAK extern "C" size_t malloc_usable_size(void* /*ptr*/) noexcept +{ + return 0; +} +#endif + void* aligned_malloc(size_t size, size_t alignment) { #if defined(_win_) diff --git a/library/cpp/yt/memory/chunked_memory_pool-inl.h b/library/cpp/yt/memory/chunked_memory_pool-inl.h index 267c3e9221..58a0cefcc2 100644 --- a/library/cpp/yt/memory/chunked_memory_pool-inl.h +++ b/library/cpp/yt/memory/chunked_memory_pool-inl.h @@ -29,10 +29,13 @@ TDerived* TAllocationHolder::Allocate(size_t size, TRefCountedTypeCookie cookie) { auto requestedSize = sizeof(TDerived) + size; auto* ptr = ::malloc(requestedSize); + +#ifndef _win_ auto allocatedSize = ::malloc_usable_size(ptr); if (allocatedSize) { size += allocatedSize - requestedSize; } +#endif auto* instance = static_cast<TDerived*>(ptr); |