changeset a1f59a213b35 in /z/repo/gem5
details: http://repo.gem5.org/gem5?cmd=changeset;node=a1f59a213b35
description:
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
diffstat:
src/cpu/inorder/cpu.cc | 8 +++-----
src/cpu/inorder/cpu.hh | 4 ++--
2 files changed, 5 insertions(+), 7 deletions(-)
diffs (40 lines):
diff -r 89071b71691e -r a1f59a213b35 src/cpu/inorder/cpu.cc
--- a/src/cpu/inorder/cpu.cc Fri Jun 17 12:20:11 2011 -0500
+++ b/src/cpu/inorder/cpu.cc Sun Jun 19 21:43:33 2011 -0400
@@ -358,10 +358,8 @@
{
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 @@
skedCache.clear();
}
-std::map<InOrderCPU::SkedID, ThePipeline::RSkedPtr> InOrderCPU::skedCache;
+m5::hash_map<InOrderCPU::SkedID, ThePipeline::RSkedPtr> InOrderCPU::skedCache;
RSkedPtr
InOrderCPU::createFrontEndSked()
diff -r 89071b71691e -r a1f59a213b35 src/cpu/inorder/cpu.hh
--- a/src/cpu/inorder/cpu.hh Fri Jun 17 12:20:11 2011 -0500
+++ b/src/cpu/inorder/cpu.hh Sun Jun 19 21:43:33 2011 -0400
@@ -300,9 +300,9 @@
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
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev