[llvm-commits] CVS: reopt/lib/TraceCache/MemoryManager.cpp

Brian Gaeke gaeke at cs.uiuc.edu
Fri Apr 23 15:35:08 PDT 2004


Changes in directory reopt/lib/TraceCache:

MemoryManager.cpp updated: 1.13 -> 1.14

---
Log message:

Refactor redundant code into the initialize() method.
Make all three constructors share it.


---
Diffs of the changes:  (+18 -34)

Index: reopt/lib/TraceCache/MemoryManager.cpp
diff -u reopt/lib/TraceCache/MemoryManager.cpp:1.13 reopt/lib/TraceCache/MemoryManager.cpp:1.14
--- reopt/lib/TraceCache/MemoryManager.cpp:1.13	Wed Nov 19 16:51:51 2003
+++ reopt/lib/TraceCache/MemoryManager.cpp	Fri Apr 23 15:34:01 2004
@@ -30,47 +30,31 @@
 
 using namespace llvm;
 
-MemoryManager::MemoryManager(){
-  uint64_t memAlign = (uint64_t)(intptr_t)&FirstTraceFunction;
-  if(memAlign % 32){
-    memAlign -= (memAlign % 32);
-    memAlign += 32;
+void MemoryManager::initialize () {
+  uint64_t unalignedStart = (uint64_t)(intptr_t)startOfMemoryArea;
+  memStart = unalignedStart;
+  // Align it to a 32-byte boundary
+  if (memStart % 32) {
+    memStart -= (memStart % 32);
+    memStart += 32;
   }
-
-  memStart = memAlign;
-  memEnd = (uint64_t)(intptr_t)&FirstTraceFunction+globalMemSize*4;
-
-  memorySize = globalMemSize;
-
+  memEnd = unalignedStart + memorySize * 4;
   freeMemList.push_back(std::make_pair(memStart, memEnd));
 }
 
-MemoryManager::MemoryManager(unsigned int memSize){
-  uint64_t memAlign = (uint64_t)(intptr_t)&FirstTraceFunction;
-  if(memAlign % 32){
-    memAlign -= (memAlign % 32);
-    memAlign += 32;
-  }
-
-  memorySize = memSize;
-
-  memStart = memAlign;
-  memEnd = (uint64_t)(intptr_t)&FirstTraceFunction+memSize*4;
-  freeMemList.push_back(std::make_pair(memStart, memEnd));
+MemoryManager::MemoryManager ()
+  : memorySize (globalMemSize), startOfMemoryArea (FirstTraceFunction) {
+  initialize ();
 }
 
-MemoryManager::MemoryManager(void (*dfunc)(), unsigned int memSize){
-  uint64_t memAlign = (uint64_t)(intptr_t)dfunc;
-  if(memAlign % 32){
-    memAlign -= (memAlign % 32);
-    memAlign += 32;
-  }
-
-  memorySize = memSize;
+MemoryManager::MemoryManager (unsigned int memSize)
+  : memorySize (memSize), startOfMemoryArea (FirstTraceFunction) {
+  initialize ();
+}
 
-  memStart = memAlign;
-  memEnd = (uint64_t)(intptr_t)dfunc+memSize*4;
-  freeMemList.push_back(std::make_pair(memStart, memEnd));
+MemoryManager::MemoryManager (void (*dummyFunctionPtr) (), unsigned int memSize)
+  : memorySize (memSize), startOfMemoryArea (dummyFunctionPtr) {
+  initialize ();
 }
 
 //allocate the first free memory





More information about the llvm-commits mailing list