[llvm-commits] CVS: reopt/include/reopt/MemoryManager.h

Brian Gaeke gaeke at cs.uiuc.edu
Fri Apr 23 15:37:01 PDT 2004


Changes in directory reopt/include/reopt:

MemoryManager.h updated: 1.6 -> 1.7

---
Log message:

Spiff this header file up, with documentation and whatnot.
Add the private initialize() method and startOfMemoryArea pointer.


---
Diffs of the changes:  (+51 -13)

Index: reopt/include/reopt/MemoryManager.h
diff -u reopt/include/reopt/MemoryManager.h:1.6 reopt/include/reopt/MemoryManager.h:1.7
--- reopt/include/reopt/MemoryManager.h:1.6	Wed Nov 19 16:51:42 2003
+++ reopt/include/reopt/MemoryManager.h	Fri Apr 23 15:35:52 2004
@@ -31,28 +31,66 @@
 
 namespace llvm {
 
+/// This is the assumed size of the FirstTraceFunction in words.
+///
 static const int globalMemSize = 10000;
 
+/// MemoryManager - Performs simple memory management for the trace cache.
+///
 class MemoryManager{
  private:
+  /// memStart, memEnd - Start and end addresses (respectively) of the
+  /// area managed by this memory manager.
+  ///
   uint64_t memStart, memEnd;
+
+  /// memorySize - Total size in 32-bit words of the area managed by
+  /// this memory manager.
+  ///
   unsigned int memorySize;
+
   std::list<std::pair<uint64_t, uint64_t> > freeMemList;
 
+  /// "Dummy function" pointer pointing to space in the text section reserved
+  /// for use by *this* MemoryManager.
+  ///
+  void (*startOfMemoryArea)();
+
+  /// Common constructor code lives in this function.
+  ///
+  void initialize ();
+
  public:
-  //Memory management
-  //Ctor: using default memory manager function as space
-  MemoryManager(); //Constructor
-  //make sure memsize is < number of instructions in dumyFunc
-  MemoryManager(unsigned int memSize); //Constructor
-
-  //Ctor: Using user provided function for space. The size of memory
-  //is assumed as memSize. Must ensure the provided function >= memSize bytes
-  MemoryManager(void (*dfunc)(), unsigned int memSize);
-
-  int getMemSize(){ return memorySize; }
-  uint64_t getMemory(int sz); //return a pointer to memory of size sz
-  void freeTraceMemory(uint64_t toRemove, int size);//size is no if instructions
+  /// Constructor - using default dummy function ("FirstTraceFunction")
+  /// as space.
+  ///
+  MemoryManager ();
+
+  /// Constructor - using default dummy function ("FirstTraceFunction")
+  /// as space.  Make sure memSize is less than the number of 32-bit
+  /// words available in the dummy function.
+  ///
+  MemoryManager (unsigned int memSize);
+
+  /// Constructor - using user-provided function for space.  Make sure
+  /// memSize is less than the number of 32-bit words available in the
+  /// dummy function.
+  ///
+  MemoryManager (void (*dummyFunctionPtr) (), unsigned int memSize);
+
+  /// getMemSize - returns the total size in 32-bit words of the area
+  /// managed by this memory manager.
+  ///
+  int getMemSize() { return memorySize; }
+
+  /// getMemory - Return a pointer to memory of size sz. sz is
+  /// expressed as a number of 32-bit words.
+  ///
+  uint64_t getMemory (int sz);
+
+  /// freeTraceMemory - size is expressed as a number of 32-bit words.
+  ///
+  void freeTraceMemory (uint64_t toRemove, int size);
 };
 
 } // end namespace llvm





More information about the llvm-commits mailing list