58 return (uint32_t)(pc.pc() + disp);
69 Addr target = pc + disp;
72 if (symtab && (it = symtab->
find(target)) != symtab->
end())
95 if (symtab && (it = symtab->
find(targetAddr)) != symtab->
end())
106 return (uint32_t)(pc.pc() + disp);
113 std::stringstream
ss;
117 ss <<
bo <<
", " <<
bi <<
", ";
119 Addr target = pc + disp;
122 if (symtab && (it = symtab->
find(target)) != symtab->
end())
140 std::stringstream
ss;
144 ss <<
bo <<
", " <<
bi <<
", ";
147 if (symtab && (it = symtab->
find(targetAddr)) != symtab->
end())
159 return regVal & 0xfffffffc;
166 std::stringstream
ss;
170 ss <<
bo <<
", " <<
bi <<
", ";
void ccprintf(cp::Print &print)
PowerISA::PCState branchTarget(const PowerISA::PCState &pc) const override
std::string * cachedDisassembly
String representation of disassembly (lazily evaluated via disassemble()).
std::string generateDisassembly(Addr pc, const Loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
int8_t _numSrcRegs
See numSrcRegs().
virtual RegVal readIntReg(RegIndex reg_idx) const =0
const char * mnemonic
Base mnemonic (e.g., "add").
const Loader::SymbolTable * cachedSymtab
Cached symbol table pointer from last disassembly.
const_iterator end() const
ThreadContext is the external interface to all thread state for anything outside of the CPU...
std::string generateDisassembly(Addr pc, const Loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
PowerISA::PCState branchTarget(ThreadContext *tc) const override
Return the target address for an indirect branch (jump).
std::string generateDisassembly(Addr pc, const Loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
PowerISA::PCState branchTarget(const PowerISA::PCState &pc) const override
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
PowerISA::PCState branchTarget(const PowerISA::PCState &pc) const override
PowerISA::PCState branchTarget(const PowerISA::PCState &pc) const override
SymbolVector::const_iterator const_iterator
RegId _srcRegIdx[MaxInstSrcRegs]
See srcRegIdx().
const_iterator find(Addr address) const
std::string generateDisassembly(Addr pc, const Loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
Addr cachedPC
Cached program counter from last disassembly.
std::string generateDisassembly(Addr pc, const Loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
const std::string & disassemble(Addr pc, const Loader::SymbolTable *symtab) const
Return string representation of disassembled instruction.
GenericISA::DelaySlotPCState< MachInst > PCState
std::string generateDisassembly(Addr pc, const Loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.