summaryrefslogtreecommitdiff
path: root/src/cpu/legiontrace.hh
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2009-01-06 22:34:18 -0800
committerGabe Black <gblack@eecs.umich.edu>2009-01-06 22:34:18 -0800
commitb0ab5c894d84d4522cae3a254158e47ba112909c (patch)
tree6b4992716c89628ae0860e12d0567b61e4280160 /src/cpu/legiontrace.hh
parent2adc60795b0e21d46f983293b3b71b48ee105c14 (diff)
downloadgem5-b0ab5c894d84d4522cae3a254158e47ba112909c.tar.xz
Tracing: Make tracing aware of macro and micro ops.
Diffstat (limited to 'src/cpu/legiontrace.hh')
-rw-r--r--src/cpu/legiontrace.hh11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/cpu/legiontrace.hh b/src/cpu/legiontrace.hh
index 97193ff1a..9962063e4 100644
--- a/src/cpu/legiontrace.hh
+++ b/src/cpu/legiontrace.hh
@@ -46,8 +46,10 @@ class LegionTraceRecord : public InstRecord
{
public:
LegionTraceRecord(Tick _when, ThreadContext *_thread,
- const StaticInstPtr &_staticInst, Addr _pc, bool spec)
- : InstRecord(_when, _thread, _staticInst, _pc, spec)
+ const StaticInstPtr _staticInst, Addr _pc, bool spec,
+ const StaticInstPtr _macroStaticInst = NULL, MicroPC _upc = 0)
+ : InstRecord(_when, _thread, _staticInst, _pc, spec,
+ _macroStaticInst, _upc)
{
}
@@ -63,13 +65,14 @@ class LegionTrace : public InstTracer
LegionTraceRecord *
getInstRecord(Tick when, ThreadContext *tc,
- const StaticInstPtr staticInst, Addr pc)
+ const StaticInstPtr staticInst, Addr pc,
+ const StaticInstPtr macroStaticInst = NULL, MicroPC upc = 0)
{
if (tc->misspeculating())
return NULL;
return new LegionTraceRecord(when, tc,
- staticInst, pc, tc->misspeculating());
+ staticInst, pc, tc->misspeculating(), macroStaticInst, upc);
}
};