From 6b63af31c23ae02a4d9f6d3ea69fe27fc219701a Mon Sep 17 00:00:00 2001 From: whh8b <whh8b@git.zephyr-software.com> Date: Fri, 24 Oct 2014 17:35:19 +0000 Subject: [PATCH] Add options support to MemorySpace_t --- include/memory_space.h | 7 ++++++- src/memory_space.cpp | 11 ++++++----- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/include/memory_space.h b/include/memory_space.h index 2270c63..8133d21 100644 --- a/include/memory_space.h +++ b/include/memory_space.h @@ -31,10 +31,13 @@ #ifndef memory_space_h #define memory_space_h +class Options_t; + class MemorySpace_t { public: - MemorySpace_t() { } + MemorySpace_t():m_opts(NULL) { } + MemorySpace_t(Options_t *opts):m_opts(opts) { } // range operatations void SplitFreeRange(RangeAddress_t addr); @@ -50,8 +53,10 @@ class MemorySpace_t int GetRangeCount(); + void PrintMemorySpace(std::ostream &out); protected: std::list<Range_t> free_ranges; // keep ordered + Options_t *m_opts; }; #endif diff --git a/src/memory_space.cpp b/src/memory_space.cpp index 562160f..903cf4a 100644 --- a/src/memory_space.cpp +++ b/src/memory_space.cpp @@ -59,7 +59,7 @@ void MemorySpace_t::MergeFreeRange(RangeAddress_t addr) * one byte smaller! */ Range_t nnr(addr, r.GetEnd()); - if (true) //if(m_opts.GetVerbose()) + if(m_opts != NULL && m_opts->GetVerbose()) { printf("Expanded range:\n"); printf("from: %p to %p\n", (void*)r.GetStart(), (void*)r.GetEnd()); @@ -76,7 +76,7 @@ void MemorySpace_t::MergeFreeRange(RangeAddress_t addr) * bigger */ Range_t nnr(r.GetStart(), addr); - if (true) //if(m_opts.GetVerbose()) + if(m_opts != NULL && m_opts->GetVerbose()) { printf("Expanded range:\n"); printf("from: %p to %p\n", (void*)r.GetStart(), (void*)r.GetEnd()); @@ -126,11 +126,12 @@ void MemorySpace_t::MergeFreeRange(RangeAddress_t addr) * merge. */ 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("1: %p to %p\n", (void*)r.GetStart(), (void*)r.GetEnd()); - printf("2: %p to %p\n", (void*)nr.GetStart(), (void*)nr.GetEnd()); + printf("r: %p to %p\n", (void*)r.GetStart(), (void*)r.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.erase(it); -- GitLab