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 @@
#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
......@@ -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);
......
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