[llvm-commits] [llvm] r54152 - /llvm/trunk/lib/ExecutionEngine/JIT/JITMemoryManager.cpp

Evan Cheng evan.cheng at apple.com
Tue Jul 29 00:38:32 PDT 2008


Author: evancheng
Date: Tue Jul 29 02:38:32 2008
New Revision: 54152

URL: http://llvm.org/viewvc/llvm-project?rev=54152&view=rev
Log:
Fix for PR2578. Do not split off a block whose size is less than FreeRangeHeader::getMinBlockSize(). Patch by Damien.

Modified:
    llvm/trunk/lib/ExecutionEngine/JIT/JITMemoryManager.cpp

Modified: llvm/trunk/lib/ExecutionEngine/JIT/JITMemoryManager.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/ExecutionEngine/JIT/JITMemoryManager.cpp?rev=54152&r1=54151&r2=54152&view=diff

==============================================================================
--- llvm/trunk/lib/ExecutionEngine/JIT/JITMemoryManager.cpp (original)
+++ llvm/trunk/lib/ExecutionEngine/JIT/JITMemoryManager.cpp Tue Jul 29 02:38:32 2008
@@ -202,6 +202,9 @@
   assert(ThisAllocated && getBlockAfter().PrevAllocated &&
          "Cannot deallocate part of an allocated block!");
 
+  // Don't allow blocks to be trimmed below minimum required size
+  NewSize = std::max<uint64_t>(FreeRangeHeader::getMinBlockSize(), NewSize);
+
   // Round up size for alignment of header.
   unsigned HeaderAlign = __alignof(FreeRangeHeader);
   NewSize = (NewSize+ (HeaderAlign-1)) & ~(HeaderAlign-1);





More information about the llvm-commits mailing list