Skip to content

Commit e6f91b7

Browse files
vlntbtequdev
authored andcommitted
Intrusive SHAMap smart pointers for efficient memory use and lock-free synchronization (#5152)
The main goal of this optimisation is memory reduction in SHAMapTreeNodes by introducing intrusive pointers instead of standard std::shared_ptr and std::weak_ptr.
1 parent 80b6aec commit e6f91b7

32 files changed

+4297
-746
lines changed

CMakeLists.txt

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,18 @@ endif()
2121
project (xrpl)
2222
set(Boost_NO_BOOST_CMAKE ON)
2323

24+
if(CMAKE_CXX_COMPILER_ID MATCHES "GNU")
25+
# GCC-specific fixes
26+
add_compile_options(-Wno-unknown-pragmas -Wno-subobject-linkage)
27+
# -Wno-subobject-linkage can be removed when we upgrade GCC version to at least 13.3
28+
elseif(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
29+
# Clang-specific fixes
30+
add_compile_options(-Wno-unknown-warning-option) # Ignore unknown warning options
31+
elseif(MSVC)
32+
# MSVC-specific fixes
33+
add_compile_options(/wd4068) # Ignore unknown pragmas
34+
endif()
35+
2436
# make GIT_COMMIT_HASH define available to all sources
2537
find_package(Git)
2638
if(Git_FOUND)

0 commit comments

Comments
 (0)