bool isQuiesce() const { return staticInst->isQuiesce(); }
bool isIprAccess() const { return staticInst->isIprAccess(); }
bool isUnverifiable() const { return staticInst->isUnverifiable(); }
- bool isMacroOp() const { return staticInst->isMacroOp(); }
- bool isMicroOp() const { return staticInst->isMicroOp(); }
+ bool isMacroop() const { return staticInst->isMacroop(); }
+ bool isMicroop() const { return staticInst->isMicroop(); }
bool isDelayedCommit() const { return staticInst->isDelayedCommit(); }
- bool isLastMicroOp() const { return staticInst->isLastMicroOp(); }
- bool isFirstMicroOp() const { return staticInst->isFirstMicroOp(); }
+ bool isLastMicroop() const { return staticInst->isLastMicroop(); }
+ bool isFirstMicroop() const { return staticInst->isFirstMicroop(); }
bool isMicroBranch() const { return staticInst->isMicroBranch(); }
/** Temporarily sets this instruction as a serialize before instruction. */
seqNum = seq_num;
bool nextIsMicro =
- staticInst->isMicroOp() && !staticInst->isLastMicroOp();
+ staticInst->isMicroop() && !staticInst->isLastMicroop();
PC = inst_PC;
microPC = inst_MicroPC;
Addr pred_PC, Addr pred_NPC,
Addr pred_MicroPC,
InstSeqNum seq_num, ImplCPU *cpu)
- : staticInst(inst), traceData(NULL), cpu(cpu)
+ : staticInst(inst, inst_PC), traceData(NULL), cpu(cpu)
{
seqNum = seq_num;
bool nextIsMicro =
- staticInst->isMicroOp() && !staticInst->isLastMicroOp();
+ staticInst->isMicroop() && !staticInst->isLastMicroop();
PC = inst_PC;
microPC = inst_MicroPC;
bool predict_taken;
if (!inst->isControl()) {
- if (inst->isMicroOp() && !inst->isLastMicroOp()) {
+ if (inst->isMicroop() && !inst->isLastMicroop()) {
next_MicroPC++;
} else {
next_PC = next_NPC;
predecoder.moreBytes(fetch_PC, fetch_PC, 0, inst);
ext_inst = predecoder.getExtMachInst();
- staticInst = StaticInstPtr(ext_inst);
- if (staticInst->isMacroOp())
+ staticInst = StaticInstPtr(ext_inst, fetch_PC);
+ if (staticInst->isMacroop())
macroop = staticInst;
}
do {
if (macroop) {
- staticInst = macroop->fetchMicroOp(fetch_MicroPC);
- if (staticInst->isLastMicroOp())
+ staticInst = macroop->fetchMicroop(fetch_MicroPC);
+ if (staticInst->isLastMicroop())
macroop = NULL;
}
}
++numInst;
- } while (staticInst->isMicroOp() &&
- !staticInst->isLastMicroOp() &&
+ } while (staticInst->isMicroop() &&
+ !staticInst->isLastMicroop() &&
numInst < fetchWidth);
offset += instSize;
}
// We will use a nop in order to carry the fault.
ext_inst = TheISA::NoopMachInst;
- StaticInstPtr staticInst = new StaticInst(ext_inst);
// Create a new DynInst from the dummy nop.
- DynInstPtr instruction = new DynInst(staticInst,
- fetch_PC, fetch_NPC,
- next_PC, next_NPC,
+ DynInstPtr instruction = new DynInst(ext_inst,
+ fetch_PC, fetch_NPC, fetch_MicroPC,
+ next_PC, next_NPC, next_MicroPC,
inst_seq, cpu);
- instruction->setPredTarg(next_PC, next_NPC);
+ instruction->setPredTarg(next_PC, next_NPC, 1);
instruction->setTid(tid);
instruction->setASID(tid);