From 563e19d1fd151fe222af2455536d8239f5c6d3dc Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Tue, 27 Mar 2018 01:20:05 -0700 Subject: arch: cpu: Make the ExtMachInst type a template argument in InstMap. This doesn't completely hide the ISA specific ExtMachInst type inside the ISAs since it still gets applied in arch/generic, but it at least pulls it into the arch directory. Change-Id: Ic2188d59696530d7ecafdff0785d71867182701d Reviewed-on: https://gem5-review.googlesource.com/9403 Reviewed-by: Andreas Sandberg Maintainer: Gabe Black --- src/arch/x86/decoder.cc | 2 +- src/arch/x86/decoder.hh | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) (limited to 'src/arch/x86') diff --git a/src/arch/x86/decoder.cc b/src/arch/x86/decoder.cc index 835d5e25d..54701bb73 100644 --- a/src/arch/x86/decoder.cc +++ b/src/arch/x86/decoder.cc @@ -681,7 +681,7 @@ Decoder::InstCacheMap Decoder::instCacheMap; StaticInstPtr Decoder::decode(ExtMachInst mach_inst, Addr addr) { - DecodeCache::InstMap::iterator iter = instMap->find(mach_inst); + auto iter = instMap->find(mach_inst); if (iter != instMap->end()) return iter->second; diff --git a/src/arch/x86/decoder.hh b/src/arch/x86/decoder.hh index a60aa469a..3630ea8c8 100644 --- a/src/arch/x86/decoder.hh +++ b/src/arch/x86/decoder.hh @@ -229,8 +229,9 @@ class Decoder typedef std::unordered_map AddrCacheMap; AddrCacheMap addrCacheMap; - DecodeCache::InstMap *instMap; - typedef std::unordered_map InstCacheMap; + DecodeCache::InstMap *instMap; + typedef std::unordered_map< + CacheKey, DecodeCache::InstMap *> InstCacheMap; static InstCacheMap instCacheMap; public: @@ -277,7 +278,7 @@ class Decoder if (imIter != instCacheMap.end()) { instMap = imIter->second; } else { - instMap = new DecodeCache::InstMap; + instMap = new DecodeCache::InstMap; instCacheMap[m5Reg] = instMap; } } -- cgit v1.2.3