summaryrefslogtreecommitdiff
path: root/src/cpu/o3
diff options
context:
space:
mode:
authorSteve Reinhardt <steve.reinhardt@amd.com>2009-09-26 10:50:50 -0700
committerSteve Reinhardt <steve.reinhardt@amd.com>2009-09-26 10:50:50 -0700
commit4bec4702e9338735f58f0769f853ddff3657850e (patch)
treec15bdf7765304a113de4bbe152e91b8253694760 /src/cpu/o3
parentf67963078883cdb62094ca187a40a79d773251a7 (diff)
downloadgem5-4bec4702e9338735f58f0769f853ddff3657850e.tar.xz
O3: Add flag to control whether faulting instructions are traced.
When enabled, faulting instructions appear in the trace twice (once when they fault and again when they're re-executed). This flag is set by the Exec compound flag for backwards compatibility.
Diffstat (limited to 'src/cpu/o3')
-rw-r--r--src/cpu/o3/commit_impl.hh8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/cpu/o3/commit_impl.hh b/src/cpu/o3/commit_impl.hh
index aa0f79272..cb5f23814 100644
--- a/src/cpu/o3/commit_impl.hh
+++ b/src/cpu/o3/commit_impl.hh
@@ -1076,9 +1076,11 @@ DefaultCommit<Impl>::commitHead(DynInstPtr &head_inst, unsigned inst_num)
commitStatus[tid] = TrapPending;
if (head_inst->traceData) {
- head_inst->traceData->setFetchSeq(head_inst->seqNum);
- head_inst->traceData->setCPSeq(thread[tid]->numInst);
- head_inst->traceData->dump();
+ if (DTRACE(ExecFaulting)) {
+ head_inst->traceData->setFetchSeq(head_inst->seqNum);
+ head_inst->traceData->setCPSeq(thread[tid]->numInst);
+ head_inst->traceData->dump();
+ }
delete head_inst->traceData;
head_inst->traceData = NULL;
}