decompiler
1.0.0
|
A description where and how data was loaded from memory. More...
#include <jumptable.hh>
Public Member Functions | |
LoadTable (const Address &ad, int4 sz) | |
Constructor for a single entry table. | |
LoadTable (const Address &ad, int4 sz, int4 nm) | |
Construct a full table. | |
bool | operator< (const LoadTable &op2) const |
Compare this with another table by address. | |
void | saveXml (ostream &s) const |
Save a description of this as an <loadtable> XML tag. More... | |
void | restoreXml (const Element *el, Architecture *glb) |
Read in this table from a <loadtable> XML description. More... | |
Static Public Member Functions | |
static void | collapseTable (vector< LoadTable > &table) |
Collapse a sequence of table descriptions. More... | |
Private Attributes | |
Address | addr |
Starting address of table. | |
int4 | size |
Size of table entry. | |
int4 | num |
Number of entries in table;. | |
Friends | |
class | EmulateFunction |
A description where and how data was loaded from memory.
This is a generic table description, giving the starting address of the table, the size of an entry, and number of entries.
|
static |
Collapse a sequence of table descriptions.
We assume the list of LoadTable entries is sorted and perform an in-place collapse of any sequences into a single LoadTable entry.
table | is the list of entries to collapse |
Referenced by EmulateFunction::collectLoadPoints().
void LoadTable::restoreXml | ( | const Element * | el, |
Architecture * | glb | ||
) |
Read in this table from a <loadtable> XML description.
el | is the root <loadtable> tag |
glb | is the architecture for resolving address space tags |
References addr, Element::getAttributeValue(), Element::getChildren(), num, Address::restoreXml(), and size.
void LoadTable::saveXml | ( | ostream & | s | ) | const |
Save a description of this as an <loadtable> XML tag.
s | is the XML stream to write to |
References a_v_i(), addr, num, Address::saveXml(), and size.