43 #ifndef ETISS_PLUGIN_VVLOGGER_H_
44 #define ETISS_PLUGIN_VVLOGGER_H_
64 std::function<
void(std::ostream &out,
const std::string &field,
uint64_t value)>
writer);
87 std::function<void(std::ostream &out,
const std::string &field,
uint64_t value)>
writer_;
plugins for extensions to code translation and instruction execution
static __inline__ uint64_t
allows to add code to the translation of instructions
holds etiss::instr::VariableInstructionSet instances for different modes.
writes the value of a field before each instruction
std::ofstream out_
file stream for logger.
VariableValueLogger(const std::string &field, const std::string &file, std::function< void(std::ostream &out, const std::string &field, uint64_t value)> writer)
virtual std::string _getPluginName() const
returns the name of the Plugin.
virtual void initCodeBlock(etiss::CodeBlock &block) const
called before instructions are translated for the code block
void writeValue()
Calls the function specified with writer_ to log the variable.
std::function< void(std::ostream &out, const std::string &field, uint64_t value)> writer_
Function which specifies the outout format.
virtual void finalizeInstrSet(etiss::instr::ModedInstructionSet &) const
called after all instructions have been added to allow last changes
std::string field_
Name of the field to log.
Page Table Entry (PTE) defines the composition of Page Frame Number (PFN) and relavant flags.