decompiler  1.0.0
Public Member Functions | Static Public Member Functions | Private Attributes | Friends | List of all members
LoadTable Class Reference

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
 

Detailed Description

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.

Member Function Documentation

void LoadTable::collapseTable ( vector< LoadTable > &  table)
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.

Parameters
tableis 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.

Parameters
elis the root <loadtable> tag
glbis 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.

Parameters
sis the XML stream to write to

References a_v_i(), addr, num, Address::saveXml(), and size.


The documentation for this class was generated from the following files: