[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