Legion actually writes to tl-1 in the data structure, so we need to compare correctly
authorAli Saidi <saidi@eecs.umich.edu>
Mon, 4 Dec 2006 23:22:55 +0000 (18:22 -0500)
committerAli Saidi <saidi@eecs.umich.edu>
Mon, 4 Dec 2006 23:22:55 +0000 (18:22 -0500)
--HG--
extra : convert_revision : 60fef1bd5dc03d7b107150dba922dd4a3f51626f

src/cpu/exetrace.cc

index 2ef89c57d9552d298ec4c1526b1879ee42a05df7..f135afc63257c0511b55cf6047519180d0398d4a 100644 (file)
@@ -338,19 +338,19 @@ Trace::InstRecord::dump(ostream &outs)
                     for (int i = 1; i <= MaxTL; i++) {
                         thread->setMiscReg(MISCREG_TL, i);
                         if (thread->readMiscReg(MISCREG_TPC) !=
-                                shared_data->tpc[i])
+                                shared_data->tpc[i-1])
                             diffTpc = true;
                         if (thread->readMiscReg(MISCREG_TNPC) !=
-                                shared_data->tnpc[i])
+                                shared_data->tnpc[i-1])
                             diffTnpc = true;
                         if (thread->readMiscReg(MISCREG_TSTATE) !=
-                                shared_data->tstate[i])
+                                shared_data->tstate[i-1])
                             diffTstate = true;
                         if (thread->readMiscReg(MISCREG_TT) !=
-                                shared_data->tt[i])
+                                shared_data->tt[i-1])
                             diffTt = true;
                         if (thread->readMiscReg(MISCREG_HTSTATE) !=
-                                shared_data->htstate[i])
+                                shared_data->htstate[i-1])
                             diffHtstate = true;
                     }
                     thread->setMiscReg(MISCREG_TL, oldTl);
@@ -527,19 +527,19 @@ Trace::InstRecord::dump(ostream &outs)
                             thread->setMiscReg(MISCREG_TL, i);
                             printRegPair(outs, "Tpc",
                                     thread->readMiscReg(MISCREG_TPC),
-                                    shared_data->tpc[i]);
+                                    shared_data->tpc[i-1]);
                             printRegPair(outs, "Tnpc",
                                     thread->readMiscReg(MISCREG_TNPC),
-                                    shared_data->tnpc[i]);
+                                    shared_data->tnpc[i-1]);
                             printRegPair(outs, "Tstate",
                                     thread->readMiscReg(MISCREG_TSTATE),
-                                    shared_data->tstate[i]);
+                                    shared_data->tstate[i-1]);
                             printRegPair(outs, "Tt",
                                     thread->readMiscReg(MISCREG_TT),
-                                    shared_data->tt[i]);
+                                    shared_data->tt[i-1]);
                             printRegPair(outs, "Htstate",
                                     thread->readMiscReg(MISCREG_HTSTATE),
-                                    shared_data->htstate[i]);
+                                    shared_data->htstate[i-1]);
                         }
                         thread->setMiscReg(MISCREG_TL, oldTl);
                         outs << endl;