inorder: use m5_hash_map for skedCache

since we dont care about if the cache of instruction schedules is sorted or not,
then the hash map should be faster
This commit is contained in:
Korey Sewell
2011-06-19 21:43:33 -04:00
parent 0b7ca66919
commit 76c60c5f93
2 changed files with 5 additions and 7 deletions

View 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()

View 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