diff options
author | Brad Beckmann <Brad.Beckmann@amd.com> | 2010-01-31 22:28:13 -0800 |
---|---|---|
committer | Brad Beckmann <Brad.Beckmann@amd.com> | 2010-01-31 22:28:13 -0800 |
commit | 4e00cc9900ec4f61899ee5be0c5b3827487e91f5 (patch) | |
tree | 372809113645b16ab99adb5c4b81d7f3512780e5 /src/cpu/inorder/resources/use_def.hh | |
parent | deb97742c7ada2008ec79aaf1791f7db3c6a2b06 (diff) | |
parent | 04466ab4ca04a4e1e195a6f68423792b2553dadb (diff) | |
download | gem5-4e00cc9900ec4f61899ee5be0c5b3827487e91f5.tar.xz |
merge
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) { } |