Make the predecoder an object with it's own switched header file. Start adding predecoding functionality to x86.
src/arch/SConscript:
src/arch/alpha/utility.hh:
src/arch/mips/utility.hh:
src/arch/sparc/utility.hh:
src/cpu/base.hh:
src/cpu/o3/fetch.hh:
src/cpu/o3/fetch_impl.hh:
src/cpu/simple/atomic.cc:
src/cpu/simple/base.cc:
src/cpu/simple/base.hh:
src/cpu/static_inst.hh:
src/arch/alpha/predecoder.hh:
src/arch/mips/predecoder.hh:
src/arch/sparc/predecoder.hh:
Make the predecoder an object with it's own switched header file.
--HG--
extra : convert_revision : 77206e29089130e86b97164c30022a062699ba86
This commit is contained in:
@@ -103,6 +103,7 @@ DefaultFetch<Impl>::IcachePort::recvRetry()
|
||||
template<class Impl>
|
||||
DefaultFetch<Impl>::DefaultFetch(Params *params)
|
||||
: branchPred(params),
|
||||
predecoder(NULL),
|
||||
decodeToFetchDelay(params->decodeToFetchDelay),
|
||||
renameToFetchDelay(params->renameToFetchDelay),
|
||||
iewToFetchDelay(params->iewToFetchDelay),
|
||||
@@ -1117,9 +1118,10 @@ DefaultFetch<Impl>::fetch(bool &status_change)
|
||||
inst = TheISA::gtoh(*reinterpret_cast<TheISA::MachInst *>
|
||||
(&cacheData[tid][offset]));
|
||||
|
||||
//unsigned int result =
|
||||
TheISA::predecode(ext_inst, fetch_PC, inst,
|
||||
cpu->thread[tid]->getTC());
|
||||
predecoder.setTC(cpu->thread[tid]->getTC());
|
||||
predecoder.moreBytes(fetch_PC, 0, inst);
|
||||
|
||||
ext_inst = predecoder.getExtMachInst();
|
||||
|
||||
// Create a new DynInst from the instruction fetched.
|
||||
DynInstPtr instruction = new DynInst(ext_inst,
|
||||
|
||||
Reference in New Issue
Block a user