Attempt to fix memory leak
Some checks failed
Tests / Clang total: 1305, passed: 1305
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / SIMD fallback total: 1305, passed: 1305
Tests / 32-bit versions total: 1305, passed: 1305
Tests / Release [gcc] total: 1305, passed: 1305
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
weaselab/conflict-set/pipeline/head There was a failure building this commit
Some checks failed
Tests / Clang total: 1305, passed: 1305
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / SIMD fallback total: 1305, passed: 1305
Tests / 32-bit versions total: 1305, passed: 1305
Tests / Release [gcc] total: 1305, passed: 1305
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
weaselab/conflict-set/pipeline/head There was a failure building this commit
This commit is contained in:
@@ -606,6 +606,14 @@ template <class T> struct BoundedFreeListAllocator {
|
|||||||
VALGRIND_MAKE_MEM_NOACCESS(freeList, sizeof(T) + p->partialKeyCapacity);
|
VALGRIND_MAKE_MEM_NOACCESS(freeList, sizeof(T) + p->partialKeyCapacity);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BoundedFreeListAllocator() = default;
|
||||||
|
|
||||||
|
BoundedFreeListAllocator(const BoundedFreeListAllocator &) = delete;
|
||||||
|
BoundedFreeListAllocator &
|
||||||
|
operator=(const BoundedFreeListAllocator &) = delete;
|
||||||
|
BoundedFreeListAllocator(BoundedFreeListAllocator &&) = delete;
|
||||||
|
BoundedFreeListAllocator &operator=(BoundedFreeListAllocator &&) = delete;
|
||||||
|
|
||||||
~BoundedFreeListAllocator() {
|
~BoundedFreeListAllocator() {
|
||||||
for (void *iter = freeList; iter != nullptr;) {
|
for (void *iter = freeList; iter != nullptr;) {
|
||||||
VALGRIND_MAKE_MEM_DEFINED(iter, sizeof(Node));
|
VALGRIND_MAKE_MEM_DEFINED(iter, sizeof(Node));
|
||||||
@@ -2994,7 +3002,8 @@ struct __attribute__((visibility("hidden"))) ConflictSet::Impl {
|
|||||||
oldestVersionFullPrecision = oldestExtantVersion = oldestVersionAtGcBegin =
|
oldestVersionFullPrecision = oldestExtantVersion = oldestVersionAtGcBegin =
|
||||||
newestVersionFullPrecision = oldestVersion;
|
newestVersionFullPrecision = oldestVersion;
|
||||||
|
|
||||||
allocators = {};
|
allocators.~NodeAllocators();
|
||||||
|
new (&allocators) NodeAllocators();
|
||||||
|
|
||||||
removalKeyArena = Arena{};
|
removalKeyArena = Arena{};
|
||||||
removalKey = {};
|
removalKey = {};
|
||||||
|
Reference in New Issue
Block a user