diff options
author | Clint Smullen <cws3k@cs.virginia.edu> | 2008-11-10 11:51:18 -0800 |
---|---|---|
committer | Clint Smullen <cws3k@cs.virginia.edu> | 2008-11-10 11:51:18 -0800 |
commit | 1adfe5c7f3368c4225ff685ddcd66b6280c7599f (patch) | |
tree | 8732797923445ea09d9eac84ff371a33cef2d171 /src/cpu/o3 | |
parent | 9c49bc7b00aa24b0488a83039ae8762d8f8094c5 (diff) | |
download | gem5-1adfe5c7f3368c4225ff685ddcd66b6280c7599f.tar.xz |
O3CPU: Make the instcount debugging stuff per-cpu.
This is to prevent the assertion from firing if you have a large multicore.
Also make sure that it's not compiled in when NDEBUG is defined
Diffstat (limited to 'src/cpu/o3')
-rw-r--r-- | src/cpu/o3/base_dyn_inst.cc | 4 | ||||
-rw-r--r-- | src/cpu/o3/cpu.cc | 3 | ||||
-rw-r--r-- | src/cpu/o3/cpu.hh | 5 |
3 files changed, 8 insertions, 4 deletions
diff --git a/src/cpu/o3/base_dyn_inst.cc b/src/cpu/o3/base_dyn_inst.cc index 3cf89e1b6..510109d8a 100644 --- a/src/cpu/o3/base_dyn_inst.cc +++ b/src/cpu/o3/base_dyn_inst.cc @@ -34,7 +34,3 @@ // Explicit instantiation template class BaseDynInst<O3CPUImpl>; - -template <> -int -BaseDynInst<O3CPUImpl>::instcount = 0; diff --git a/src/cpu/o3/cpu.cc b/src/cpu/o3/cpu.cc index 26c155262..7320d5638 100644 --- a/src/cpu/o3/cpu.cc +++ b/src/cpu/o3/cpu.cc @@ -159,6 +159,9 @@ FullO3CPU<Impl>::FullO3CPU(DerivO3CPUParams *params) itb(params->itb), dtb(params->dtb), tickEvent(this), +#ifndef NDEBUG + instcount(0), +#endif removeInstsThisCycle(false), fetch(this, params), decode(this, params), diff --git a/src/cpu/o3/cpu.hh b/src/cpu/o3/cpu.hh index c60c20d55..d24e8c383 100644 --- a/src/cpu/o3/cpu.hh +++ b/src/cpu/o3/cpu.hh @@ -576,6 +576,11 @@ class FullO3CPU : public BaseO3CPU void dumpInsts(); public: +#ifndef NDEBUG + /** Count of total number of dynamic instructions in flight. */ + int instcount; +#endif + /** List of all the instructions in flight. */ std::list<DynInstPtr> instList; |