aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp
diff options
context:
space:
mode:
authoraleexfi <aleexfi@yandex-team.com>2023-01-10 00:35:59 +0300
committeraleexfi <aleexfi@yandex-team.com>2023-01-10 00:35:59 +0300
commit7ade5ad16d098a48b1586948baae4f9b2fa1dbb5 (patch)
tree0729c2775c7396df1652e638da561be3d88c8b2f /library/cpp
parent2d79b278f2265d09c965faf97288acceb21da600 (diff)
downloadydb-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.txt1
-rw-r--r--library/cpp/yt/malloc/CMakeLists.linux-aarch64.txt1
-rw-r--r--library/cpp/yt/malloc/CMakeLists.linux.txt1
-rw-r--r--library/cpp/yt/malloc/dummy_malloc.cpp17
-rw-r--r--library/cpp/yt/malloc/malloc.cpp13
-rw-r--r--library/cpp/yt/memory/chunked_memory_pool-inl.h3
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);