diff options
Diffstat (limited to 'src/cpu/exetrace.hh')
-rw-r--r-- | src/cpu/exetrace.hh | 45 |
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 ®s); 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 ®s) 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__ |