[PATCH] D13156: Fix performance problem in long-running SectionMemoryManagers

Philip Reames via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 29 05:50:55 PDT 2015


reames added a subscriber: reames.

================
Comment at: include/llvm/ExecutionEngine/SectionMemoryManager.h:87
@@ -86,2 +86,3 @@
   struct MemoryGroup {
+      SmallVector<sys::MemoryBlock, 16> PendingMem;
       SmallVector<sys::MemoryBlock, 16> AllocatedMem;
----------------
Comment explaining purpose?

================
Comment at: lib/ExecutionEngine/SectionMemoryManager.cpp:169
@@ -161,3 +168,3 @@
   for (MemoryGroup *Group : {&CodeMem, &RWDataMem, &RODataMem})
     for (sys::MemoryBlock &Block : Group->AllocatedMem)
       sys::Memory::releaseMappedMemory(Block);
----------------
I think you need to extend the destructor to handle the case where the memory manager is destructed before finalization.  


Repository:
  rL LLVM

http://reviews.llvm.org/D13156





More information about the llvm-commits mailing list