inorder: use m5_hash_map for skedCache
authorKorey Sewell <ksewell@umich.edu>
Mon, 20 Jun 2011 01:43:33 +0000 (21:43 -0400)
committerKorey Sewell <ksewell@umich.edu>
Mon, 20 Jun 2011 01:43:33 +0000 (21:43 -0400)
since we dont care about if the cache of instruction schedules is sorted or not,
then the hash map should be faster

src/cpu/inorder/cpu.cc
src/cpu/inorder/cpu.hh

index 97748deba1e3e4fd489a37641b1a1e669534fb72..bb9b5c3c6893a721602e2b8b7415bf197dc9d18c 100644 (file)
@@ -358,10 +358,8 @@ InOrderCPU::~InOrderCPU()
 {
     delete resPool;
 
-    std::map<SkedID, ThePipeline::RSkedPtr>::iterator sked_it =
-        skedCache.begin();
-    std::map<SkedID, ThePipeline::RSkedPtr>::iterator sked_end =
-        skedCache.end();
+    SkedCacheIt sked_it = skedCache.begin();
+    SkedCacheIt sked_end = skedCache.end();
 
     while (sked_it != sked_end) {
         delete (*sked_it).second;
@@ -370,7 +368,7 @@ InOrderCPU::~InOrderCPU()
     skedCache.clear();
 }
 
-std::map<InOrderCPU::SkedID, ThePipeline::RSkedPtr> InOrderCPU::skedCache;
+m5::hash_map<InOrderCPU::SkedID, ThePipeline::RSkedPtr> InOrderCPU::skedCache;
 
 RSkedPtr
 InOrderCPU::createFrontEndSked()
index af2fa5ced8c13fdc690f490cc520d78cf4a8b43b..c4a38d071bf8e71b82bc65c09138b3b6234055dc 100644 (file)
@@ -300,9 +300,9 @@ class InOrderCPU : public BaseCPU
     typedef uint32_t SkedID;
 
     /** Cache of Instruction Schedule using the instruction's name as a key */
-    static std::map<SkedID, ThePipeline::RSkedPtr> skedCache;
+    static m5::hash_map<SkedID, ThePipeline::RSkedPtr> skedCache;
 
-    typedef std::map<SkedID, ThePipeline::RSkedPtr>::iterator SkedCacheIt;
+    typedef m5::hash_map<SkedID, ThePipeline::RSkedPtr>::iterator SkedCacheIt;
 
     /** Initialized to last iterator in map, signifying a invalid entry
         on map searches