diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2019-08-02 14:42:56 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-08-02 14:42:56 +0200 |
commit | 77e409c8790df9ed6e626b57714ed71770d47d66 (patch) | |
tree | 199a699a597620e1f7e597fd0bb71e9f748aad7d /vespamalloc | |
parent | 66b3ee08f3fcc0780c71950a23f1d7239f7836f5 (diff) | |
parent | f1977a78bebfaab64bcf265cbc9220d55b33cd13 (diff) |
Merge pull request #10169 from vespa-engine/toregge/deinline-rarely-called-methods
Deinline rarely called methods.
Diffstat (limited to 'vespamalloc')
-rw-r--r-- | vespamalloc/src/vespamalloc/malloc/globalpool.h | 5 | ||||
-rw-r--r-- | vespamalloc/src/vespamalloc/malloc/globalpool.hpp | 8 | ||||
-rw-r--r-- | vespamalloc/src/vespamalloc/malloc/memblock.h | 4 | ||||
-rw-r--r-- | vespamalloc/src/vespamalloc/malloc/memblock.hpp | 7 |
4 files changed, 19 insertions, 5 deletions
diff --git a/vespamalloc/src/vespamalloc/malloc/globalpool.h b/vespamalloc/src/vespamalloc/malloc/globalpool.h index 6a05d14a901..bc13231bb85 100644 --- a/vespamalloc/src/vespamalloc/malloc/globalpool.h +++ b/vespamalloc/src/vespamalloc/malloc/globalpool.h @@ -27,10 +27,7 @@ public: DataSegment<MemBlockPtrT> & dataSegment() { return _dataSegment; } void enableThreadSupport() __attribute__((noinline)); - static void setParams(size_t alwaysReuseLimit, size_t threadCacheLimit) { - _alwaysReuseLimit = alwaysReuseLimit; - _threadCacheLimit = threadCacheLimit; - } + static void setParams(size_t alwaysReuseLimit, size_t threadCacheLimit); void info(FILE * os, size_t level=0) __attribute__((noinline)); private: diff --git a/vespamalloc/src/vespamalloc/malloc/globalpool.hpp b/vespamalloc/src/vespamalloc/malloc/globalpool.hpp index 5cc172750c5..c954c1aae26 100644 --- a/vespamalloc/src/vespamalloc/malloc/globalpool.hpp +++ b/vespamalloc/src/vespamalloc/malloc/globalpool.hpp @@ -35,6 +35,14 @@ void AllocPoolT<MemBlockPtrT>::enableThreadSupport() } template <typename MemBlockPtrT> +void +AllocPoolT<MemBlockPtrT>::setParams(size_t alwaysReuseLimit, size_t threadCacheLimit) +{ + _alwaysReuseLimit = alwaysReuseLimit; + _threadCacheLimit = threadCacheLimit; +} + +template <typename MemBlockPtrT> typename AllocPoolT<MemBlockPtrT>::ChunkSList * AllocPoolT<MemBlockPtrT>::getFree(SizeClassT sc) { diff --git a/vespamalloc/src/vespamalloc/malloc/memblock.h b/vespamalloc/src/vespamalloc/malloc/memblock.h index 85dd725749c..118fb0e046c 100644 --- a/vespamalloc/src/vespamalloc/malloc/memblock.h +++ b/vespamalloc/src/vespamalloc/malloc/memblock.h @@ -45,7 +45,7 @@ public: static size_t unAdjustSize(size_t sz) { return sz; } static void dumpInfo(size_t level); static void dumpFile(FILE * fp) { _logFile = fp; } - static void bigBlockLimit(size_t lim) { _bigBlockLimit = lim; } + static void bigBlockLimit(size_t lim); static void setFill(uint8_t ) { } static bool verifySizeClass(int sc) { (void) sc; return true; } static size_t getMinSizeForAlignment(size_t align, size_t sz) { @@ -60,6 +60,8 @@ private: }; typedef MemBlockT<5, 20> MemBlock; +template <> void MemBlock::dumpInfo(size_t level); +extern template class MemBlockT<5, 20>; } diff --git a/vespamalloc/src/vespamalloc/malloc/memblock.hpp b/vespamalloc/src/vespamalloc/malloc/memblock.hpp index e6df3bcc67e..57b5a8cac51 100644 --- a/vespamalloc/src/vespamalloc/malloc/memblock.hpp +++ b/vespamalloc/src/vespamalloc/malloc/memblock.hpp @@ -29,6 +29,13 @@ MemBlockT<MinSizeClassC, MaxSizeClassMultiAllocC>::logBigBlock(size_t exact, siz } template <size_t MinSizeClassC, size_t MaxSizeClassMultiAllocC> +void +MemBlockT<MinSizeClassC, MaxSizeClassMultiAllocC>::bigBlockLimit(size_t lim) +{ + _bigBlockLimit = lim; +} + +template <size_t MinSizeClassC, size_t MaxSizeClassMultiAllocC> FILE * MemBlockT<MinSizeClassC, MaxSizeClassMultiAllocC>::_logFile = stderr; template <size_t MinSizeClassC, size_t MaxSizeClassMultiAllocC> size_t MemBlockT<MinSizeClassC, MaxSizeClassMultiAllocC>::_bigBlockLimit = 0x80000000; |