----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: http://reviews.m5sim.org/r/47/#review68 -----------------------------------------------------------
OK, looking a little closer I see that Impl is also used to get the DynInst type... but many of the methods called on DynInst (isUncondControl(), isCall(), isReturn()) are also StaticInst methods, and some of the others (like readPC()) are just used for DPRINTFs (and how is readPC() different from the PC that's passed in?). The only exception I see is seqNum. I would suggest passing in a StaticInstPtr instead of a DynInstPtr, and add another argument for seqNum. This makes the predictor much more independent of the CPU model. Then I'm pretty sure you can get rid of the template. I actually got started down this path looking at how you had to add an include of static_inst.hh for the warm() method, and wondering how the bpred got away without knowing what a static inst was prior to this... - Steve On 2010-07-09 18:08:18, Timothy Jones wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > http://reviews.m5sim.org/r/47/ > ----------------------------------------------------------- > > (Updated 2010-07-09 18:08:18) > > > Review request for Default. > > > Summary > ------- > > BranchPred: Take the branch predictor out of O3CPU and make it a stand-alone > SimObject. This then allows the same branch predictor to be shared amongst > several CPUs. > > This patch is unfinished. I would like to take the branch predictor out of > the inorder CPU as well, but want comments on whether this is the best > approach to take first. > > > Diffs > ----- > > src/cpu/o3/O3CPU.py 249f174e6f37 > src/cpu/o3/SConscript 249f174e6f37 > src/cpu/o3/bpred_unit.hh 249f174e6f37 > src/cpu/o3/bpred_unit.cc 249f174e6f37 > src/cpu/o3/bpred_unit_impl.hh 249f174e6f37 > src/cpu/o3/cpu_builder.cc 249f174e6f37 > src/cpu/o3/cpu_policy.hh 249f174e6f37 > src/cpu/o3/fetch.hh 249f174e6f37 > src/cpu/o3/fetch_impl.hh 249f174e6f37 > src/cpu/pred/BaseBPredUnit.py PRE-CREATION > src/cpu/pred/SConscript 249f174e6f37 > src/cpu/pred/base.hh PRE-CREATION > src/cpu/pred/base.cc PRE-CREATION > src/cpu/pred/bpred_unit.hh PRE-CREATION > src/cpu/pred/bpred_unit.cc PRE-CREATION > src/cpu/pred/bpred_unit_impl.hh PRE-CREATION > src/cpu/pred/builder.cc PRE-CREATION > > Diff: http://reviews.m5sim.org/r/47/diff > > > Testing > ------- > > > Thanks, > > Timothy > > _______________________________________________ m5-dev mailing list m5-dev@m5sim.org http://m5sim.org/mailman/listinfo/m5-dev