diff options
author | Ali Saidi <Ali.Saidi@ARM.com> | 2012-06-05 01:23:09 -0400 |
---|---|---|
committer | Ali Saidi <Ali.Saidi@ARM.com> | 2012-06-05 01:23:09 -0400 |
commit | 6df196b71e058b2c827e1027416155ac8ec8cf9f (patch) | |
tree | e2adf25e5628078f8e7c7d89c97130c8962e0ab0 /src/cpu/base_dyn_inst_impl.hh | |
parent | aec7a4411683d8b10684f8f70093bcbbc2de8b55 (diff) | |
download | gem5-6df196b71e058b2c827e1027416155ac8ec8cf9f.tar.xz |
O3: Clean up the O3 structures and try to pack them a bit better.
DynInst is extremely large the hope is that this re-organization will put the
most used members close to each other.
Diffstat (limited to 'src/cpu/base_dyn_inst_impl.hh')
-rw-r--r-- | src/cpu/base_dyn_inst_impl.hh | 22 |
1 files changed, 5 insertions, 17 deletions
diff --git a/src/cpu/base_dyn_inst_impl.hh b/src/cpu/base_dyn_inst_impl.hh index 05f9b7767..663159b94 100644 --- a/src/cpu/base_dyn_inst_impl.hh +++ b/src/cpu/base_dyn_inst_impl.hh @@ -60,13 +60,12 @@ BaseDynInst<Impl>::BaseDynInst(StaticInstPtr _staticInst, StaticInstPtr _macroop, TheISA::PCState _pc, TheISA::PCState _predPC, InstSeqNum seq_num, ImplCPU *cpu) - : staticInst(_staticInst), macroop(_macroop), traceData(NULL), cpu(cpu) + : staticInst(_staticInst), cpu(cpu), traceData(NULL), macroop(_macroop) { seqNum = seq_num; pc = _pc; predPC = _predPC; - predTaken = false; initVars(); } @@ -74,7 +73,7 @@ BaseDynInst<Impl>::BaseDynInst(StaticInstPtr _staticInst, template <class Impl> BaseDynInst<Impl>::BaseDynInst(StaticInstPtr _staticInst, StaticInstPtr _macroop) - : staticInst(_staticInst), macroop(_macroop), traceData(NULL) + : staticInst(_staticInst), traceData(NULL), macroop(_macroop) { seqNum = 0; initVars(); @@ -86,25 +85,14 @@ BaseDynInst<Impl>::initVars() { memData = NULL; effAddr = 0; - effAddrValid = false; physEffAddr = 0; - - translationStarted = false; - translationCompleted = false; - possibleLoadViolation = false; - hitExternalSnoop = false; - - isUncacheable = false; - reqMade = false; readyRegs = 0; - recordResult = true; - status.reset(); - eaCalcDone = false; - memOpDone = false; - predicate = true; + instFlags.reset(); + instFlags[RecordResult] = true; + instFlags[Predicate] = true; lqIdx = -1; sqIdx = -1; |