changeset 333350e4e334 in /z/repo/gem5
details: http://repo.gem5.org/gem5?cmd=changeset;node=333350e4e334
description:
cpu: commit probe notification on every microop or macroop
The ppCommit should notify the attached listener every time the cpu
commits
a microop or non microcoded insturction. The listener can then decide
whether it will process only the last microop (eg. SimPoint probe).
Committed by: Nilay Vaish <[email protected]>
diffstat:
src/cpu/simple/atomic.cc | 5 +----
src/cpu/simple/probes/simpoint.cc | 3 +++
2 files changed, 4 insertions(+), 4 deletions(-)
diffs (28 lines):
diff -r a6fe75e8296b -r 333350e4e334 src/cpu/simple/atomic.cc
--- a/src/cpu/simple/atomic.cc Tue Jan 20 08:12:45 2015 -0500
+++ b/src/cpu/simple/atomic.cc Tue Jan 20 14:15:27 2015 -0600
@@ -580,10 +580,7 @@
// keep an instruction count
if (fault == NoFault) {
countInst();
- if (!curStaticInst->isMicroop() ||
- curStaticInst->isLastMicroop()) {
- ppCommit->notify(std::make_pair(thread,
curStaticInst));
- }
+ ppCommit->notify(std::make_pair(thread, curStaticInst));
}
else if (traceData && !DTRACE(ExecFaulting)) {
delete traceData;
diff -r a6fe75e8296b -r 333350e4e334 src/cpu/simple/probes/simpoint.cc
--- a/src/cpu/simple/probes/simpoint.cc Tue Jan 20 08:12:45 2015 -0500
+++ b/src/cpu/simple/probes/simpoint.cc Tue Jan 20 14:15:27 2015 -0600
@@ -79,6 +79,9 @@
SimpleThread* thread = p.first;
const StaticInstPtr &inst = p.second;
+ if (inst->isMicroop() && !inst->isLastMicroop())
+ return;
+
if (!currentBBVInstCount)
currentBBV.first = thread->pcState().instAddr();
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev