diff options
author | Gabe Black <gblack@eecs.umich.edu> | 2009-01-06 22:34:18 -0800 |
---|---|---|
committer | Gabe Black <gblack@eecs.umich.edu> | 2009-01-06 22:34:18 -0800 |
commit | b0ab5c894d84d4522cae3a254158e47ba112909c (patch) | |
tree | 6b4992716c89628ae0860e12d0567b61e4280160 /src/cpu/exetrace.hh | |
parent | 2adc60795b0e21d46f983293b3b71b48ee105c14 (diff) | |
download | gem5-b0ab5c894d84d4522cae3a254158e47ba112909c.tar.xz |
Tracing: Make tracing aware of macro and micro ops.
Diffstat (limited to 'src/cpu/exetrace.hh')
-rw-r--r-- | src/cpu/exetrace.hh | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/cpu/exetrace.hh b/src/cpu/exetrace.hh index 84660432b..e5b22c881 100644 --- a/src/cpu/exetrace.hh +++ b/src/cpu/exetrace.hh @@ -47,11 +47,15 @@ class ExeTracerRecord : public InstRecord { public: ExeTracerRecord(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) { } + void traceInst(StaticInstPtr inst, bool ran); + void dump(); }; @@ -64,7 +68,8 @@ class ExeTracer : public InstTracer InstRecord * getInstRecord(Tick when, ThreadContext *tc, - const StaticInstPtr staticInst, Addr pc) + const StaticInstPtr staticInst, Addr pc, + const StaticInstPtr macroStaticInst = NULL, MicroPC upc = 0) { if (!IsOn(ExecEnable)) return NULL; @@ -76,7 +81,7 @@ class ExeTracer : public InstTracer return NULL; return new ExeTracerRecord(when, tc, - staticInst, pc, tc->misspeculating()); + staticInst, pc, tc->misspeculating(), macroStaticInst, upc); } }; |