merged everythin into one project
This commit is contained in:
50
dram/src/simulation/MemoryManager.cpp
Normal file
50
dram/src/simulation/MemoryManager.cpp
Normal file
@@ -0,0 +1,50 @@
|
||||
/*
|
||||
* MemoryManager.cpp
|
||||
*
|
||||
* Created on: Mar 16, 2014
|
||||
* Author: robert
|
||||
*/
|
||||
|
||||
#include "MemoryManager.h"
|
||||
#include <iostream>
|
||||
|
||||
using namespace std;
|
||||
|
||||
MemoryManager::MemoryManager(): numberOfAllocations(0), numberOfFrees(0)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
MemoryManager::~MemoryManager()
|
||||
{
|
||||
for(gp* payload: freePayloads)
|
||||
{
|
||||
delete payload;
|
||||
numberOfFrees++;
|
||||
}
|
||||
cout << "Memory Manager: Number of allocated payloads: " << numberOfAllocations << std::endl;
|
||||
cout << "Memory Manager: Number of freed payloads: " << numberOfFrees << std::endl;
|
||||
|
||||
}
|
||||
|
||||
gp* MemoryManager::allocate()
|
||||
{
|
||||
//if(freePayloads.empty())
|
||||
//{
|
||||
//numberOfAllocations++;
|
||||
return new gp(this);
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// gp* result = freePayloads.back();
|
||||
// freePayloads.pop_back();
|
||||
// return result;
|
||||
// }
|
||||
}
|
||||
|
||||
void MemoryManager::free(gp* payload)
|
||||
{
|
||||
payload->reset(); //clears all extensions
|
||||
freePayloads.push_back(payload);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user