summaryrefslogtreecommitdiff
path: root/src/cpu/exetrace.hh
diff options
context:
space:
mode:
authorNathan Binkert <binkertn@umich.edu>2007-02-13 00:59:01 -0800
committerNathan Binkert <binkertn@umich.edu>2007-02-13 00:59:01 -0800
commitd8c7ebf904e49d0ebf62099c35af0705de3c3f81 (patch)
tree87829f7c0855d1032b5672b6611aa8c896b450d9 /src/cpu/exetrace.hh
parentd7c1436a448ac4f477f658964af6c5b82eb9fcb2 (diff)
downloadgem5-d8c7ebf904e49d0ebf62099c35af0705de3c3f81.tar.xz
Merge all of the execution trace configuration stuff into
the traceflags infrastructure. InstExec is now just Exec and all of the command line options are now trace options. --HG-- extra : convert_revision : 4adfa9dfbb32622d30ef4e63c06c7d87da793c8f
Diffstat (limited to 'src/cpu/exetrace.hh')
-rw-r--r--src/cpu/exetrace.hh45
1 files changed, 9 insertions, 36 deletions
diff --git a/src/cpu/exetrace.hh b/src/cpu/exetrace.hh
index 95a142f3c..be10b4a6a 100644
--- a/src/cpu/exetrace.hh
+++ b/src/cpu/exetrace.hh
@@ -137,30 +137,6 @@ class InstRecord
void setRegs(const IntRegFile &regs);
void dump();
-
- enum InstExecFlagBits {
- TRACE_MISSPEC = 0,
- PRINT_TICKS,
- PRINT_OP_CLASS,
- PRINT_THREAD_NUM,
- PRINT_RESULT_DATA,
- PRINT_EFF_ADDR,
- PRINT_INT_REGS,
- PRINT_FETCH_SEQ,
- PRINT_CP_SEQ,
- PRINT_REG_DELTA,
- PC_SYMBOL,
- INTEL_FORMAT,
- LEGION_LOCKSTEP,
- NUM_BITS
- };
-
- static std::vector<bool> flags;
- static std::string trace_system;
-
- static void setParams();
-
- static bool traceMisspec() { return flags[TRACE_MISSPEC]; }
};
@@ -174,22 +150,19 @@ InstRecord::setRegs(const IntRegFile &regs)
regs_valid = true;
}
-inline
-InstRecord *
-getInstRecord(Tick when, ThreadContext *tc,
- const StaticInstPtr staticInst,
+inline InstRecord *
+getInstRecord(Tick when, ThreadContext *tc, const StaticInstPtr staticInst,
Addr pc)
{
- if (DTRACE(InstExec) &&
- (InstRecord::traceMisspec() || !tc->misspeculating())) {
- return new InstRecord(when, tc, staticInst, pc,
- tc->misspeculating());
- }
-
- return NULL;
-}
+ if (!IsOn(ExecEnable))
+ return NULL;
+ if (!IsOn(ExecSpeculative) && tc->misspeculating())
+ return NULL;
+ return new InstRecord(when, tc, staticInst, pc, tc->misspeculating());
}
+/* namespace Trace */ }
+
#endif // __EXETRACE_HH__