changeset e399b6c18b76 in /z/repo/gem5
details: http://repo.gem5.org/gem5?cmd=changeset;node=e399b6c18b76
description:
        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.

diffstat:

 src/base/addr_range_map.hh |  52 ++++++---------------------------------------
 src/mem/physical.cc        |   3 +-
 2 files changed, 9 insertions(+), 46 deletions(-)

diffs (93 lines):

diff -r 10a84dceab25 -r e399b6c18b76 src/base/addr_range_map.hh
--- a/src/base/addr_range_map.hh        Mon Jan 07 13:05:38 2013 -0500
+++ b/src/base/addr_range_map.hh        Mon Jan 07 13:05:38 2013 -0500
@@ -68,32 +68,10 @@
     const_iterator
     find(const AddrRange &r) const
     {
-        const_iterator i;
+        if (tree.empty())
+            return tree.end();
 
-        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;
-
-        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 @@
         return find(RangeSize(r, 1));
     }
 
-    iterator
-    find(const Addr &r)
+    bool
+    intersect(const AddrRange &r) const
     {
-        return find(RangeSize(r, 1));
+        return find(r) != tree.end();
     }
 
-    bool
-    intersect(const AddrRange &r)
-    {
-        iterator i;
-        i = find(r);
-        if (i != tree.end())
-            return true;
-        return false;
-    }
-
-    iterator
+    const_iterator
     insert(const AddrRange &r, const V& d)
     {
         if (intersect(r))
@@ -142,12 +110,6 @@
         return tree.insert(std::make_pair(r, d)).first;
     }
 
-    std::size_t
-    erase(Addr k)
-    {
-        return tree.erase(k);
-    }
-
     void
     erase(iterator p)
     {
diff -r 10a84dceab25 -r e399b6c18b76 src/mem/physical.cc
--- a/src/mem/physical.cc       Mon Jan 07 13:05:38 2013 -0500
+++ b/src/mem/physical.cc       Mon Jan 07 13:05:38 2013 -0500
@@ -325,7 +325,8 @@
     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<AbstractMemory*>::iterator m = addrMap.find(lal_addr[i]);
+        AddrRangeMap<AbstractMemory*>::const_iterator m =
+            addrMap.find(lal_addr[i]);
         m->second->addLockedAddr(LockedAddr(lal_addr[i], lal_cid[i]));
     }
 
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to