65 block.
fileglobalCode().insert(
"extern void PrintInstruction_print(const char *,uint64_t);");
78 ss <<
"PrintInstruction_print(\"";
80 ss <<
"0x" << std::hex << std::setfill(
'0') << std::setw(16) << ic.
current_address_ <<
": ";
86 ss <<
"\",cpu->instructionPointer);\n";
100 return "PrintInstruction";
contains neccesary interfaces for instruction translation.
void PrintInstruction_print(const char *c, uint64_t addr)
contains a simple plugin to print instructions
__device__ __2f16 float c
static __inline__ uint64_t
std::set< std::string > & fileglobalCode()
@ PREINITIALDEBUGRETURNING
void append(const CodePart &part, CodePart::TYPE type)
this class contains parameters that persist in between instruction lookpus/translation within a trans...
uint64_t current_address_
start address of current instruction
holds etiss::instr::Instruction instances and handles automatic instruction tree creation.
void foreach(std::function< void(Instruction &)> func)
holds information and translation callbacks for an instruction.
bool addCallback(std::function< bool(BitArray &, etiss::CodeSet &, InstructionContext &)> callback, uint32_t builtinGroups, const std::set< uint32_t > &groups=std::set< uint32_t >())
std::string printASM(BitArray &)
holds etiss::instr::VariableInstructionSet instances for different modes.
void foreach(std::function< void(VariableInstructionSet &)> call)
holds etiss::instr::InstructionSet instances with different bit widths.
void foreach(std::function< void(InstructionSet &)> func)
virtual void * getPluginHandle()
called to get the handle that is available in translated code via getPoinerCode()....
virtual void finalizeInstrSet(etiss::instr::ModedInstructionSet &) const
called after all instructions have been added to allow last changes
virtual void initCodeBlock(etiss::CodeBlock &block) const
called before instructions are translated for the code block
virtual std::string _getPluginName() const