Skip to content
Snippets Groups Projects
Commit 6b63af31 authored by whh8b's avatar whh8b
Browse files

Add options support to MemorySpace_t

parent 72be3987
No related branches found
No related tags found
No related merge requests found
...@@ -31,10 +31,13 @@ ...@@ -31,10 +31,13 @@
#ifndef memory_space_h #ifndef memory_space_h
#define memory_space_h #define memory_space_h
class Options_t;
class MemorySpace_t class MemorySpace_t
{ {
public: public:
MemorySpace_t() { } MemorySpace_t():m_opts(NULL) { }
MemorySpace_t(Options_t *opts):m_opts(opts) { }
// range operatations // range operatations
void SplitFreeRange(RangeAddress_t addr); void SplitFreeRange(RangeAddress_t addr);
...@@ -50,8 +53,10 @@ class MemorySpace_t ...@@ -50,8 +53,10 @@ class MemorySpace_t
int GetRangeCount(); int GetRangeCount();
void PrintMemorySpace(std::ostream &out);
protected: protected:
std::list<Range_t> free_ranges; // keep ordered std::list<Range_t> free_ranges; // keep ordered
Options_t *m_opts;
}; };
#endif #endif
...@@ -59,7 +59,7 @@ void MemorySpace_t::MergeFreeRange(RangeAddress_t addr) ...@@ -59,7 +59,7 @@ void MemorySpace_t::MergeFreeRange(RangeAddress_t addr)
* one byte smaller! * one byte smaller!
*/ */
Range_t nnr(addr, r.GetEnd()); Range_t nnr(addr, r.GetEnd());
if (true) //if(m_opts.GetVerbose()) if(m_opts != NULL && m_opts->GetVerbose())
{ {
printf("Expanded range:\n"); printf("Expanded range:\n");
printf("from: %p to %p\n", (void*)r.GetStart(), (void*)r.GetEnd()); printf("from: %p to %p\n", (void*)r.GetStart(), (void*)r.GetEnd());
...@@ -76,7 +76,7 @@ void MemorySpace_t::MergeFreeRange(RangeAddress_t addr) ...@@ -76,7 +76,7 @@ void MemorySpace_t::MergeFreeRange(RangeAddress_t addr)
* bigger * bigger
*/ */
Range_t nnr(r.GetStart(), addr); Range_t nnr(r.GetStart(), addr);
if (true) //if(m_opts.GetVerbose()) if(m_opts != NULL && m_opts->GetVerbose())
{ {
printf("Expanded range:\n"); printf("Expanded range:\n");
printf("from: %p to %p\n", (void*)r.GetStart(), (void*)r.GetEnd()); printf("from: %p to %p\n", (void*)r.GetStart(), (void*)r.GetEnd());
...@@ -126,11 +126,12 @@ void MemorySpace_t::MergeFreeRange(RangeAddress_t addr) ...@@ -126,11 +126,12 @@ void MemorySpace_t::MergeFreeRange(RangeAddress_t addr)
* merge. * merge.
*/ */
Range_t merged_range(std::min(r.GetStart(), nr.GetStart()), std::max(r.GetEnd(), nr.GetEnd())); Range_t merged_range(std::min(r.GetStart(), nr.GetStart()), std::max(r.GetEnd(), nr.GetEnd()));
if (true) //if(m_opts.GetVerbose()) if(m_opts != NULL && m_opts->GetVerbose())
{ {
printf("Merged two ranges:\n"); printf("Merged two ranges:\n");
printf("1: %p to %p\n", (void*)r.GetStart(), (void*)r.GetEnd()); printf("r: %p to %p\n", (void*)r.GetStart(), (void*)r.GetEnd());
printf("2: %p to %p\n", (void*)nr.GetStart(), (void*)nr.GetEnd()); printf("nr: %p to %p\n", (void*)nr.GetStart(), (void*)nr.GetEnd());
printf("to: %p to %p\n", (void*)merged_range.GetStart(), (void*)merged_range.GetEnd());
} }
free_ranges.insert(it, merged_range); free_ranges.insert(it, merged_range);
free_ranges.erase(it); free_ranges.erase(it);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment