| 
    decompiler
    1.0.0
    
   | 
 
A base class for operations that access volatile memory. More...
#include <userop.hh>
  
Public Member Functions | |
| VolatileOp (Architecture *g, const string &nm, int4 ind) | |
| Constructor.  | |
  Public Member Functions inherited from UserPcodeOp | |
| UserPcodeOp (Architecture *g, const string &nm, int4 ind) | |
| Construct from name and index.  | |
| const string & | getName (void) const | 
| Get the low-level name of the p-code op.  | |
| int4 | getIndex (void) const | 
| Get the constant id of the op.  | |
| virtual | ~UserPcodeOp (void) | 
| Destructor.  | |
| virtual string | getOperatorName (const PcodeOp *op) const | 
| Get the symbol representing this operation in decompiled code.  More... | |
| virtual void | restoreXml (const Element *el)=0 | 
| Restore the detailed description from an XML stream.  More... | |
Static Protected Member Functions | |
| static string | appendSize (const string &base, int4 size) | 
| Append a suffix to a string encoding a specific size.  More... | |
Additional Inherited Members | |
  Protected Attributes inherited from UserPcodeOp | |
| string | name | 
| Low-level name of p-code operator.  | |
| int4 | useropindex | 
| Index passed in the CALLOTHER op.  | |
| Architecture * | glb | 
| Architecture owning the user defined op.  | |
A base class for operations that access volatile memory.
The decompiler models volatile memory by converting any direct read or write of the memory to a function that accesses the memory. This class and its derived classes model such functions. Within the p-code control-flow, dedicated user defined ops serve as a placeholder for the (possibly unknown) effects of modifying/accessing the memory and prevent accidental constant propagation.
      
  | 
  staticprotected | 
Append a suffix to a string encoding a specific size.
This allows a single user defined operator to have multiple symbol names based on the size of its operands in context.
| base | is the string to append the suffix to | 
| size | is the size to encode expressed as the number of bytes | 
Referenced by VolatileReadOp::getOperatorName(), and VolatileWriteOp::getOperatorName().
 1.8.15