aboutsummaryrefslogtreecommitdiffstats
path: root/lib/ExecutionEngine/JIT/JITMemoryManager.cpp
diff options
context:
space:
mode:
authorReid Kleckner <reid@kleckner.net>2009-08-21 21:03:57 +0000
committerReid Kleckner <reid@kleckner.net>2009-08-21 21:03:57 +0000
commit4f2c6f1de4ca7b4f64fedc08a8b61249e2edb9d3 (patch)
tree634944a488e2aec43a5a5becffae59912a8097d6 /lib/ExecutionEngine/JIT/JITMemoryManager.cpp
parent8446276f4b086edd69bf329e88a2047dafc8a31f (diff)
downloadexternal_llvm-4f2c6f1de4ca7b4f64fedc08a8b61249e2edb9d3.zip
external_llvm-4f2c6f1de4ca7b4f64fedc08a8b61249e2edb9d3.tar.gz
external_llvm-4f2c6f1de4ca7b4f64fedc08a8b61249e2edb9d3.tar.bz2
Fix a bug where the DWARF emitter in the JIT was not initializing alignment
bytes. libgcc doesn't seem to mind, but if you pass this DWARF to GDB, it doesn't like it. Also make the JIT memory manager to initialize it's memory to garbage in debug mode, so that it's easier to find bugs like these in the future. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79674 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/ExecutionEngine/JIT/JITMemoryManager.cpp')
-rw-r--r--lib/ExecutionEngine/JIT/JITMemoryManager.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/ExecutionEngine/JIT/JITMemoryManager.cpp b/lib/ExecutionEngine/JIT/JITMemoryManager.cpp
index f40e67d..57dd458 100644
--- a/lib/ExecutionEngine/JIT/JITMemoryManager.cpp
+++ b/lib/ExecutionEngine/JIT/JITMemoryManager.cpp
@@ -650,6 +650,10 @@ sys::MemoryBlock DefaultJITMemoryManager::allocateNewSlab(size_t size) {
}
LastSlab = B;
++NumSlabs;
+ // Initialize the slab to garbage when debugging.
+ if (PoisonMemory) {
+ memset(B.base(), 0xCD, B.size());
+ }
return B;
}