diff options
author | Gabe Black <gblack@eecs.umich.edu> | 2011-08-14 04:08:14 -0700 |
---|---|---|
committer | Gabe Black <gblack@eecs.umich.edu> | 2011-08-14 04:08:14 -0700 |
commit | ec204f003cfc79fb0da6fe1e6121c4a9bc18c781 (patch) | |
tree | 0dace96c76ab2cf8777ab64f8ca98a90d76a5a83 /src/cpu/o3 | |
parent | a81d4a8fcd603f3ef61aadb4ca581f4f1ffff087 (diff) | |
download | gem5-ec204f003cfc79fb0da6fe1e6121c4a9bc18c781.tar.xz |
O3: Add a pointer to the macroop for a microop in the dyninst.
Diffstat (limited to 'src/cpu/o3')
-rw-r--r-- | src/cpu/o3/dyn_inst.hh | 4 | ||||
-rw-r--r-- | src/cpu/o3/dyn_inst_impl.hh | 8 | ||||
-rw-r--r-- | src/cpu/o3/fetch_impl.hh | 2 |
3 files changed, 8 insertions, 6 deletions
diff --git a/src/cpu/o3/dyn_inst.hh b/src/cpu/o3/dyn_inst.hh index dc2d32eac..399240d69 100644 --- a/src/cpu/o3/dyn_inst.hh +++ b/src/cpu/o3/dyn_inst.hh @@ -86,12 +86,12 @@ class BaseO3DynInst : public BaseDynInst<Impl> public: /** BaseDynInst constructor given a binary instruction. */ - BaseO3DynInst(StaticInstPtr staticInst, + BaseO3DynInst(StaticInstPtr staticInst, StaticInstPtr macroop, TheISA::PCState pc, TheISA::PCState predPC, InstSeqNum seq_num, O3CPU *cpu); /** BaseDynInst constructor given a static inst pointer. */ - BaseO3DynInst(StaticInstPtr &_staticInst); + BaseO3DynInst(StaticInstPtr _staticInst, StaticInstPtr _macroop); /** Executes the instruction.*/ Fault execute(); diff --git a/src/cpu/o3/dyn_inst_impl.hh b/src/cpu/o3/dyn_inst_impl.hh index 44b353253..eceb0b49f 100644 --- a/src/cpu/o3/dyn_inst_impl.hh +++ b/src/cpu/o3/dyn_inst_impl.hh @@ -45,16 +45,18 @@ template <class Impl> BaseO3DynInst<Impl>::BaseO3DynInst(StaticInstPtr staticInst, + StaticInstPtr macroop, TheISA::PCState pc, TheISA::PCState predPC, InstSeqNum seq_num, O3CPU *cpu) - : BaseDynInst<Impl>(staticInst, pc, predPC, seq_num, cpu) + : BaseDynInst<Impl>(staticInst, macroop, pc, predPC, seq_num, cpu) { initVars(); } template <class Impl> -BaseO3DynInst<Impl>::BaseO3DynInst(StaticInstPtr &_staticInst) - : BaseDynInst<Impl>(_staticInst) +BaseO3DynInst<Impl>::BaseO3DynInst(StaticInstPtr _staticInst, + StaticInstPtr _macroop) + : BaseDynInst<Impl>(_staticInst, _macroop) { initVars(); } diff --git a/src/cpu/o3/fetch_impl.hh b/src/cpu/o3/fetch_impl.hh index d186768d8..c635a1b30 100644 --- a/src/cpu/o3/fetch_impl.hh +++ b/src/cpu/o3/fetch_impl.hh @@ -1097,7 +1097,7 @@ DefaultFetch<Impl>::buildInst(ThreadID tid, StaticInstPtr staticInst, // Create a new DynInst from the instruction fetched. DynInstPtr instruction = - new DynInst(staticInst, thisPC, nextPC, seq, cpu); + new DynInst(staticInst, curMacroop, thisPC, nextPC, seq, cpu); instruction->setTid(tid); instruction->setASID(tid); |