From: Dan Gohman Date: Thu, 27 Aug 2009 01:25:57 +0000 (+0000) Subject: Initialize the PoisonMemory member before initializing X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=5b78d50cadf5df4948e8e5798a3e08e0ccf4cb06;p=oota-llvm.git Initialize the PoisonMemory member before initializing members that call methods that read the PoisonMemory member. This fixes potential spurious (though probably otherwise harmless) poising of unused memory, and fixes the associated valgrind error. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80192 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/ExecutionEngine/JIT/JITMemoryManager.cpp b/lib/ExecutionEngine/JIT/JITMemoryManager.cpp index e750768d250..474843f0662 100644 --- a/lib/ExecutionEngine/JIT/JITMemoryManager.cpp +++ b/lib/ExecutionEngine/JIT/JITMemoryManager.cpp @@ -556,16 +556,16 @@ void JITSlabAllocator::Deallocate(MemSlab *Slab) { } DefaultJITMemoryManager::DefaultJITMemoryManager() - : LastSlab(0, 0), - BumpSlabAllocator(*this), - StubAllocator(DefaultSlabSize, DefaultSizeThreshold, BumpSlabAllocator), - DataAllocator(DefaultSlabSize, DefaultSizeThreshold, BumpSlabAllocator) { - + : #ifdef NDEBUG - PoisonMemory = false; + PoisonMemory(false), #else - PoisonMemory = true; + PoisonMemory(true), #endif + LastSlab(0, 0), + BumpSlabAllocator(*this), + StubAllocator(DefaultSlabSize, DefaultSizeThreshold, BumpSlabAllocator), + DataAllocator(DefaultSlabSize, DefaultSizeThreshold, BumpSlabAllocator) { // Allocate space for code. sys::MemoryBlock MemBlock = allocateNewSlab(DefaultCodeSlabSize);