X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fcpu%2Flegiontrace.cc;h=b94b8f5fef7abfded6415696162cbb1df7b632f8;hb=072f78471d11c31b6009beb572296f704912d0f7;hp=75d30c89496014ac8bd0200126828948adbb4d93;hpb=c3d41a2def15cdaf2ac3984315f452dacc6a0884;p=gem5.git diff --git a/src/cpu/legiontrace.cc b/src/cpu/legiontrace.cc index 75d30c894..b94b8f5fe 100644 --- a/src/cpu/legiontrace.cc +++ b/src/cpu/legiontrace.cc @@ -42,13 +42,12 @@ #include #include -#include "arch/sparc/predecoder.hh" +#include "arch/sparc/decoder.hh" #include "arch/sparc/registers.hh" #include "arch/sparc/utility.hh" #include "arch/tlb.hh" #include "base/socket.hh" #include "cpu/base.hh" -#include "cpu/decode.hh" #include "cpu/legiontrace.hh" #include "cpu/static_inst.hh" #include "cpu/thread_context.hh" @@ -146,7 +145,6 @@ Trace::LegionTraceRecord::dump() { ostream &outs = Trace::output(); - static TheISA::Predecoder predecoder(NULL); // Compare bool compared = false; bool diffPC = false; @@ -423,15 +421,13 @@ Trace::LegionTraceRecord::dump() << staticInst->disassemble(m5Pc, debugSymbolTable) << endl; - predecoder.setTC(thread); - predecoder.moreBytes(m5Pc, m5Pc, shared_data->instruction); + TheISA::Decoder *decoder = thread->getDecoderPtr(); + decoder->moreBytes(m5Pc, m5Pc, shared_data->instruction); - assert(predecoder.extMachInstReady()); + assert(decoder->instReady()); PCState tempPC = pc; - StaticInstPtr legionInst = - thread->getDecoderPtr()->decode( - predecoder.getExtMachInst(tempPC), lgnPc); + StaticInstPtr legionInst = decoder->decode(tempPC); outs << setfill(' ') << setw(15) << " Legion Inst: " << "0x" << setw(8) << setfill('0') << hex @@ -539,7 +535,7 @@ Trace::LegionTraceRecord::dump() } if (diffTlb) { printColumnLabels(outs); - char label[8]; + char label[9]; for (int x = 0; x < 64; x++) { if (shared_data->itb[x] != ULL(0xFFFFFFFFFFFFFFFF) ||