summaryrefslogtreecommitdiffstats
path: root/vespamalloc
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@online.no>2022-05-31 13:39:14 +0200
committerTor Egge <Tor.Egge@online.no>2022-05-31 13:39:14 +0200
commitebbf3c89030caedfa694f1ce6a77c94eab76762a (patch)
tree0f69e5b41e0ce07e03e741c459a8056af9e53360 /vespamalloc
parentda8c0d839fb45fddd4b59efa5a469d0b7e948d3f (diff)
Use clang attribute to turn off optimization when compiling with clang.
Diffstat (limited to 'vespamalloc')
-rw-r--r--vespamalloc/src/vespamalloc/malloc/load_as_huge.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/vespamalloc/src/vespamalloc/malloc/load_as_huge.cpp b/vespamalloc/src/vespamalloc/malloc/load_as_huge.cpp
index a5d595a8486..8494689ba85 100644
--- a/vespamalloc/src/vespamalloc/malloc/load_as_huge.cpp
+++ b/vespamalloc/src/vespamalloc/malloc/load_as_huge.cpp
@@ -29,8 +29,13 @@ mmap_huge(size_t sz) {
size_t round_huge_down(size_t v) { return v & ~(HUGEPAGE_SIZE - 1); }
size_t round_huge_up(size_t v) { return round_huge_down(v + (HUGEPAGE_SIZE - 1)); }
+#ifdef __clang__
+void
+non_optimized_non_inlined_memcpy(void *dest_in, const void *src_in, size_t n) __attribute__((noinline, optnone)) ;
+#else
void
non_optimized_non_inlined_memcpy(void *dest_in, const void *src_in, size_t n) __attribute__((noinline, optimize(1))) ;
+#endif
// Simple memcpy replacement to avoid calling code in other dso.
void