ETISS 0.8.0
Extendable Translating Instruction Set Simulator (version 0.8.0)
|
A list of CodeSets. More...
#include <CodePart.h>
Classes | |
class | Line |
equivalent of a translated instruction More... | |
Public Member Functions | |
CodeBlock (etiss::uint64 startindex) | |
void | reserve (int num) |
Line & | get (unsigned index) |
Line & | append (etiss::uint64 addr) |
unsigned | length () const |
std::set< std::string > & | fileglobalCode () |
std::set< std::string > & | functionglobalCode () |
void | toCode (std::stringstream &out, const std::string &funcname, std::set< std::string > *fileglobalcode) |
Private Attributes | |
std::vector< Line > | lines_ |
etiss::uint64 | startindex_ |
etiss::uint64 | endaddress_ |
std::set< std::string > | fileglobal_code |
std::set< std::string > | functionglobal_code |
Friends | |
class | Translation |
A list of CodeSets.
this structure corresponds to the content of the switch statement of the translated block where one CodeSet is one translates instruction is one section after a case label.
e.g.: switch (instructionpointer){ case 0: { ... // CodeSet number 0 } case 1: { ... // CodeSet number 1 } }
Definition at line 569 of file CodePart.h.
|
inline |
Definition at line 595 of file CodePart.h.
|
inline |
Definition at line 598 of file CodePart.h.
References lines_.
Referenced by etiss::Translation::translateBlock().
|
inline |
Definition at line 604 of file CodePart.h.
References fileglobal_code.
Referenced by etiss::plugin::gdb::Server::finalizeCodeBlock(), etiss::Translation::getBlock(), etiss::plugin::InstructionAccurateCallback::initCodeBlock(), etiss::plugin::InstructionSpecificAddressCallback::initCodeBlock(), etiss::plugin::PrintInstruction::initCodeBlock(), etiss::plugin::VariableValueLogger::initCodeBlock(), RV32IMACFDArch::initCodeBlock(), and RV64IMACFDArch::initCodeBlock().
|
inline |
Definition at line 605 of file CodePart.h.
References functionglobal_code.
Referenced by etiss::Translation::getBlock(), etiss::plugin::InstructionSpecificAddressCallback::initCodeBlock(), RV32IMACFDArch::initCodeBlock(), and RV64IMACFDArch::initCodeBlock().
|
inline |
Definition at line 597 of file CodePart.h.
References lines_.
|
inline |
Definition at line 603 of file CodePart.h.
References lines_.
|
inline |
Definition at line 596 of file CodePart.h.
References lines_.
Referenced by etiss::Translation::translateBlock().
void CodeBlock::toCode | ( | std::stringstream & | out, |
const std::string & | funcname, | ||
std::set< std::string > * | fileglobalcode | ||
) |
Definition at line 146 of file CodePart.cpp.
References etiss::FATALERROR, fileglobal_code, functionglobal_code, lines_, etiss::log(), and startindex_.
Referenced by etiss::Translation::getBlock().
|
friend |
Definition at line 571 of file CodePart.h.
|
private |
Definition at line 611 of file CodePart.h.
Referenced by etiss::Translation::getBlock(), and etiss::Translation::translateBlock().
|
private |
Definition at line 612 of file CodePart.h.
Referenced by fileglobalCode(), and toCode().
|
private |
Definition at line 613 of file CodePart.h.
Referenced by functionglobalCode(), and toCode().
|
private |
|
private |
Definition at line 610 of file CodePart.h.
Referenced by etiss::Translation::getBlock(), toCode(), and etiss::Translation::translateBlock().