From: Andreas Hansson Date: Mon, 7 Jan 2013 18:05:38 +0000 (-0500) Subject: base: Simplify the AddrRangeMap by removing unused code X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e0d93fde993126a2147648586f2fa0526412d841;p=gem5.git base: Simplify the AddrRangeMap by removing unused code This patch cleans up the AddrRangeMap in preparation for the addition of interleaving by removing unused code. The non-const editions of find are never used, and hence the duplication is not needed. --- diff --git a/src/base/addr_range_map.hh b/src/base/addr_range_map.hh index 1992c5e48..e38e25702 100644 --- a/src/base/addr_range_map.hh +++ b/src/base/addr_range_map.hh @@ -68,32 +68,10 @@ class AddrRangeMap const_iterator find(const AddrRange &r) const { - const_iterator i; - - i = tree.upper_bound(r); - - if (i == tree.begin()) { - if (i->first.intersects(r)) - return i; - else - // Nothing could match, so return end() - return tree.end(); - } - - --i; - - if (i->first.intersects(r)) - return i; - - return tree.end(); - } - - iterator - find(const AddrRange &r) - { - iterator i; + if (tree.empty()) + return tree.end(); - i = tree.upper_bound(r); + const_iterator i = tree.upper_bound(r); if (i == tree.begin()) { if (i->first.intersects(r)) @@ -117,23 +95,13 @@ class AddrRangeMap return find(RangeSize(r, 1)); } - iterator - find(const Addr &r) - { - return find(RangeSize(r, 1)); - } - bool - intersect(const AddrRange &r) + intersect(const AddrRange &r) const { - iterator i; - i = find(r); - if (i != tree.end()) - return true; - return false; + return find(r) != tree.end(); } - iterator + const_iterator insert(const AddrRange &r, const V& d) { if (intersect(r)) @@ -142,12 +110,6 @@ class AddrRangeMap return tree.insert(std::make_pair(r, d)).first; } - std::size_t - erase(Addr k) - { - return tree.erase(k); - } - void erase(iterator p) { diff --git a/src/mem/physical.cc b/src/mem/physical.cc index ef1f7159e..ae5da82fd 100644 --- a/src/mem/physical.cc +++ b/src/mem/physical.cc @@ -325,7 +325,8 @@ PhysicalMemory::unserialize(Checkpoint* cp, const string& section) arrayParamIn(cp, section, "lal_addr", lal_addr); arrayParamIn(cp, section, "lal_cid", lal_cid); for(size_t i = 0; i < lal_addr.size(); ++i) { - AddrRangeMap::iterator m = addrMap.find(lal_addr[i]); + AddrRangeMap::const_iterator m = + addrMap.find(lal_addr[i]); m->second->addLockedAddr(LockedAddr(lal_addr[i], lal_cid[i])); }