diff options
author | Korey Sewell <ksewell@umich.edu> | 2010-01-31 18:28:59 -0500 |
---|---|---|
committer | Korey Sewell <ksewell@umich.edu> | 2010-01-31 18:28:59 -0500 |
commit | 0b29c2d057d2d6f4f8b9b7853da91bcb283e805c (patch) | |
tree | e594abc10fc92baaed872fe7139153bd5a86ffcf /src/cpu/inorder/resources/use_def.hh | |
parent | ffa9ecb1fa71f1fe89a65975b2c558e312bbfbc8 (diff) | |
download | gem5-0b29c2d057d2d6f4f8b9b7853da91bcb283e805c.tar.xz |
inorder: ctxt switch stats
- m5 line enforcement on use_def.cc,hh
Diffstat (limited to 'src/cpu/inorder/resources/use_def.hh')
-rw-r--r-- | src/cpu/inorder/resources/use_def.hh | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/cpu/inorder/resources/use_def.hh b/src/cpu/inorder/resources/use_def.hh index 6c76d8ab5..41d758dd7 100644 --- a/src/cpu/inorder/resources/use_def.hh +++ b/src/cpu/inorder/resources/use_def.hh @@ -68,8 +68,12 @@ class UseDefUnit : public Resource { virtual void squash(DynInstPtr inst, int stage_num, InstSeqNum squash_seq_num, ThreadID tid); + void updateAfterContextSwitch(DynInstPtr inst, ThreadID tid); + const InstSeqNum maxSeqNum; + void regStats(); + protected: RegDepMap *regDepMap[ThePipeline::MaxThreads]; @@ -84,14 +88,18 @@ class UseDefUnit : public Resource { InstSeqNum floatRegSize[ThePipeline::MaxThreads]; + Stats::Average uniqueRegsPerSwitch; + std::map<unsigned, bool> uniqueRegMap; + public: class UseDefRequest : public ResourceRequest { public: typedef ThePipeline::DynInstPtr DynInstPtr; public: - UseDefRequest(UseDefUnit *res, DynInstPtr inst, int stage_num, int res_idx, - int slot_num, unsigned cmd, int use_def_idx) + UseDefRequest(UseDefUnit *res, DynInstPtr inst, int stage_num, + int res_idx, int slot_num, unsigned cmd, + int use_def_idx) : ResourceRequest(res, inst, stage_num, res_idx, slot_num, cmd), useDefIdx(use_def_idx) { } |