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

Reply via email to