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