summaryrefslogtreecommitdiff
path: root/src/mem/ruby/network/garnet/flexible-pipeline/flit.hh
diff options
context:
space:
mode:
authorNathan Binkert <nate@binkert.org>2010-06-10 23:17:07 -0700
committerNathan Binkert <nate@binkert.org>2010-06-10 23:17:07 -0700
commitdd133c7b24aba128546d24e6042b0e0d46673aaf (patch)
tree60f82f2f2b708a0fdb6967a7bf1262b435b5e6e0 /src/mem/ruby/network/garnet/flexible-pipeline/flit.hh
parent3df84fd8a0ce3959c0deb4c206d910fc0d050f47 (diff)
downloadgem5-dd133c7b24aba128546d24e6042b0e0d46673aaf.tar.xz
ruby: get rid of PrioHeap and use STL
One big difference is that PrioHeap puts the smallest element at the top of the heap, whereas stl puts the largest element on top, so I changed all comparisons so they did the right thing. Some usage of PrioHeap was simply changed to a std::vector, using sort at the right time, other usage had me just use the various heap functions in the stl.
Diffstat (limited to 'src/mem/ruby/network/garnet/flexible-pipeline/flit.hh')
-rw-r--r--src/mem/ruby/network/garnet/flexible-pipeline/flit.hh23
1 files changed, 10 insertions, 13 deletions
diff --git a/src/mem/ruby/network/garnet/flexible-pipeline/flit.hh b/src/mem/ruby/network/garnet/flexible-pipeline/flit.hh
index 1cc8806e9..5aa01c5e7 100644
--- a/src/mem/ruby/network/garnet/flexible-pipeline/flit.hh
+++ b/src/mem/ruby/network/garnet/flexible-pipeline/flit.hh
@@ -52,6 +52,16 @@ public:
flit_type get_type();
void print(std::ostream& out) const;
+ static bool
+ greater(flit* n1, flit* n2)
+ {
+ if (n1->get_time() == n2->get_time())
+ //ASSERT(n1->flit_id != n2->flit_id);
+ return (n1->get_id() > n2->get_id());
+ else
+ return (n1->get_time() > n2->get_time());
+ }
+
private:
/************Data Members*************/
int m_id;
@@ -64,19 +74,6 @@ private:
};
-inline extern bool node_less_then_eq(flit* n1, flit* n2);
-
-inline extern
-bool node_less_then_eq(flit* n1, flit* n2)
-{
- if (n1->get_time() == n2->get_time()) {
-// ASSERT(n1->flit_id != n2->flit_id);
- return (n1->get_id() <= n2->get_id());
- } else {
- return (n1->get_time() <= n2->get_time());
- }
-}
-
inline std::ostream&
operator<<(std::ostream& out, const flit& obj)
{