summaryrefslogtreecommitdiff
path: root/cpu/cpu_exec_context.cc
diff options
context:
space:
mode:
authorKevin Lim <ktlim@umich.edu>2006-03-07 22:21:39 -0500
committerKevin Lim <ktlim@umich.edu>2006-03-07 22:21:39 -0500
commit7712232e556c93204f78807194417e5b13d91cbe (patch)
tree9a49d1b3dd73b01d933943de12e7778b8b64253c /cpu/cpu_exec_context.cc
parent97c4a84985b0f9168f60f28d5cc96be448eef4fa (diff)
downloadgem5-7712232e556c93204f78807194417e5b13d91cbe.tar.xz
Fixes to allow the ExecContext to be used for profiling.
cpu/base.cc: Change to be calls through the ExecContext instead of accessing the profile object directly. cpu/cpu_exec_context.cc: Add functions to clear and sample the profile object. cpu/cpu_exec_context.hh: Add functions to clear and sample the profile object. These are not the most flexible functions; it might be better to eventually move the quiesce, profile, and store conditional stuff out of ExecContext so they don't clutter the interface. cpu/exec_context.hh: Include functions to support using the profile object to clear itself and take samples. --HG-- extra : convert_revision : 40849915fd51303673451515debb9ecdc7afb8c8
Diffstat (limited to 'cpu/cpu_exec_context.cc')
-rw-r--r--cpu/cpu_exec_context.cc15
1 files changed, 15 insertions, 0 deletions
diff --git a/cpu/cpu_exec_context.cc b/cpu/cpu_exec_context.cc
index 74b609764..683d07787 100644
--- a/cpu/cpu_exec_context.cc
+++ b/cpu/cpu_exec_context.cc
@@ -137,6 +137,21 @@ CPUExecContext::EndQuiesceEvent::description()
{
return "End Quiesce Event.";
}
+
+void
+CPUExecContext::profileClear()
+{
+ if (profile)
+ profile->clear();
+}
+
+void
+CPUExecContext::profileSample()
+{
+ if (profile)
+ profile->sample(profileNode, profilePC);
+}
+
#endif
void