summaryrefslogtreecommitdiff
path: root/src/cpu/o3/mem_dep_unit_impl.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/cpu/o3/mem_dep_unit_impl.hh')
-rw-r--r--src/cpu/o3/mem_dep_unit_impl.hh13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/cpu/o3/mem_dep_unit_impl.hh b/src/cpu/o3/mem_dep_unit_impl.hh
index 6684e4ff0..376198fc1 100644
--- a/src/cpu/o3/mem_dep_unit_impl.hh
+++ b/src/cpu/o3/mem_dep_unit_impl.hh
@@ -128,6 +128,19 @@ MemDepUnit<MemDepPred, Impl>::regStats()
}
template <class MemDepPred, class Impl>
+bool
+MemDepUnit<MemDepPred, Impl>::isDrained() const
+{
+ bool drained = instsToReplay.empty()
+ && memDepHash.empty()
+ && instsToReplay.empty();
+ for (int i = 0; i < Impl::MaxThreads; ++i)
+ drained = drained && instList[i].empty();
+
+ return drained;
+}
+
+template <class MemDepPred, class Impl>
void
MemDepUnit<MemDepPred, Impl>::drainSanityCheck() const
{