O3: Get rid of the raw ExtMachInst constructor on DynInsts.
authorGabe Black <gblack@eecs.umich.edu>
Tue, 2 Aug 2011 18:51:16 +0000 (11:51 -0700)
committerGabe Black <gblack@eecs.umich.edu>
Tue, 2 Aug 2011 18:51:16 +0000 (11:51 -0700)
This constructor assumes that the ExtMachInst can be decoded directly into a
StaticInst that's useful to execute. With the advent of microcoded
instructions that's no longer true.

src/cpu/base_dyn_inst.hh
src/cpu/base_dyn_inst_impl.hh
src/cpu/o3/dyn_inst.hh
src/cpu/o3/dyn_inst_impl.hh
src/cpu/ozone/dyn_inst_impl.hh

index f0d36cc837c90849be65b76ff2698e9fb1cf0e2c..18a178c4a90d79e2724ca67262f4d304db6e21ce 100644 (file)
@@ -380,16 +380,6 @@ class BaseDynInst : public FastAlloc, public RefCounted
     BaseDynInst(StaticInstPtr staticInst, TheISA::PCState pc,
                 TheISA::PCState predPC, InstSeqNum seq_num, ImplCPU *cpu);
 
-    /** BaseDynInst constructor given a binary instruction.
-     *  @param inst The binary instruction.
-     *  @param _pc The PC state for the instruction.
-     *  @param _predPC The predicted next PC state for the instruction.
-     *  @param seq_num The sequence number of the instruction.
-     *  @param cpu Pointer to the instruction's CPU.
-     */
-    BaseDynInst(TheISA::ExtMachInst inst, TheISA::PCState pc,
-                TheISA::PCState predPC, InstSeqNum seq_num, ImplCPU *cpu);
-
     /** BaseDynInst constructor given a StaticInst pointer.
      *  @param _staticInst The StaticInst for this BaseDynInst.
      */
index 226291e1df30908125e3ac13bcc899b171933b99..bae0479124b56e732af260957fef20ef60d77da7 100644 (file)
@@ -89,21 +89,6 @@ BaseDynInst<Impl>::BaseDynInst(StaticInstPtr _staticInst,
     initVars();
 }
 
-template <class Impl>
-BaseDynInst<Impl>::BaseDynInst(TheISA::ExtMachInst inst,
-                               TheISA::PCState _pc, TheISA::PCState _predPC,
-                               InstSeqNum seq_num, ImplCPU *cpu)
-  : staticInst(inst, _pc.instAddr()), traceData(NULL), cpu(cpu)
-{
-    seqNum = seq_num;
-
-    pc = _pc;
-    predPC = _predPC;
-    predTaken = false;
-
-    initVars();
-}
-
 template <class Impl>
 BaseDynInst<Impl>::BaseDynInst(StaticInstPtr &_staticInst)
     : staticInst(_staticInst), traceData(NULL)
index 5fe1b26094cac76c1120e725bdf56b7a4a280924..dc2d32eac2ce3ba417f3cdbd3fa6fe7771c5d6d5 100644 (file)
@@ -90,11 +90,6 @@ class BaseO3DynInst : public BaseDynInst<Impl>
                   TheISA::PCState pc, TheISA::PCState predPC,
                   InstSeqNum seq_num, O3CPU *cpu);
 
-    /** BaseDynInst constructor given a binary instruction. */
-    BaseO3DynInst(ExtMachInst inst,
-                  TheISA::PCState pc, TheISA::PCState predPC,
-                  InstSeqNum seq_num, O3CPU *cpu);
-
     /** BaseDynInst constructor given a static inst pointer. */
     BaseO3DynInst(StaticInstPtr &_staticInst);
 
index 9216c5fa7e24746b7235707e9f7c575d6e0f9bfa..44b35325369c4b6bd68e4e0aa6879b4819845560 100644 (file)
@@ -52,15 +52,6 @@ BaseO3DynInst<Impl>::BaseO3DynInst(StaticInstPtr staticInst,
     initVars();
 }
 
-template <class Impl>
-BaseO3DynInst<Impl>::BaseO3DynInst(ExtMachInst inst,
-                                   TheISA::PCState pc, TheISA::PCState predPC,
-                                   InstSeqNum seq_num, O3CPU *cpu)
-    : BaseDynInst<Impl>(inst, pc, predPC, seq_num, cpu)
-{
-    initVars();
-}
-
 template <class Impl>
 BaseO3DynInst<Impl>::BaseO3DynInst(StaticInstPtr &_staticInst)
     : BaseDynInst<Impl>(_staticInst)
index 002b39fa26d9c4275d37f7651e4508c7c53fada0..5eb8ea8daf86508e5c7c9819751c85b74c2f22d9 100644 (file)
@@ -46,14 +46,6 @@ OzoneDynInst<Impl>::OzoneDynInst(OzoneCPU *cpu)
     initInstPtrs();
 }
 
-template <class Impl>
-OzoneDynInst<Impl>::OzoneDynInst(ExtMachInst inst, Addr PC, Addr Pred_PC,
-                                 InstSeqNum seq_num, OzoneCPU *cpu)
-    : BaseDynInst<Impl>(inst, PC, Pred_PC, seq_num, cpu)
-{
-    initInstPtrs();
-}
-
 template <class Impl>
 OzoneDynInst<Impl>::OzoneDynInst(StaticInstPtr _staticInst)
     : BaseDynInst<Impl>(_staticInst)