changeset af963f55b04e in /z/repo/gem5
details: http://repo.gem5.org/gem5?cmd=changeset;node=af963f55b04e
description:
        inorder: addtl functionaly for inst. skeds
        add find and end functions for inst. schedules
        that can search by stage number

diffstat:

 src/cpu/inorder/resource_sked.cc |  21 +++++++++++++++++++++
 src/cpu/inorder/resource_sked.hh |   6 ++++++
 2 files changed, 27 insertions(+), 0 deletions(-)

diffs (47 lines):

diff -r 85428189024a -r af963f55b04e src/cpu/inorder/resource_sked.cc
--- a/src/cpu/inorder/resource_sked.cc  Sun Jun 19 21:43:34 2011 -0400
+++ b/src/cpu/inorder/resource_sked.cc  Sun Jun 19 21:43:35 2011 -0400
@@ -90,6 +90,27 @@
     return stages[num_stages - 1].end();
 }
 
+ResourceSked::SkedIt
+ResourceSked::end(int stage_num)
+{
+    return stages[stage_num].end();
+}
+
+ResourceSked::SkedIt
+ResourceSked::find(int stage_num, int cmd)
+{
+    SkedIt stage_it = stages[stage_num].begin();
+    SkedIt stage_end = stages[stage_num].end();
+
+    while (stage_it != stage_end) {
+        if ((*stage_it)->cmd == cmd)
+            return stage_it;
+        stage_it++;
+    }
+
+    return stages[stage_num].end();
+}
+
 ScheduleEntry*
 ResourceSked::top()
 {
diff -r 85428189024a -r af963f55b04e src/cpu/inorder/resource_sked.hh
--- a/src/cpu/inorder/resource_sked.hh  Sun Jun 19 21:43:34 2011 -0400
+++ b/src/cpu/inorder/resource_sked.hh  Sun Jun 19 21:43:35 2011 -0400
@@ -111,6 +111,12 @@
     /** Ending Entry of this schedule */
     SkedIt end();
 
+    /** Ending Entry of a specified stage */
+    SkedIt end(int stage_num);
+
+    /** Find a schedule entry based on stage and command */
+    SkedIt find(int stage_num, int cmd);
+
     /** What is the next task for this instruction schedule? */
     ScheduleEntry* top();
 
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to