Ghidra 11.3.2
Ghidra internal decompiler documentation.
|
A feature representing 1 or more stand-alone copies in a basic block. More...
#include <signature.hh>
Public Member Functions | |
CopySignature (const BlockBasic *b, hashword h) | |
Constructor. | |
virtual void | encode (Encoder &encoder) const |
virtual void | printOrigin (ostream &s) const |
Restore this feature from the given stream. | |
![]() | |
Signature (hashword h) | |
Constructor. | |
uint4 | getHash (void) const |
Get the underyling 32-bit hash of the feature. | |
void | print (ostream &s) const |
Print the feature hash and a brief description of this feature to the given stream. | |
int4 | compare (const Signature *op2) const |
Compare two features. | |
virtual | ~Signature (void) |
Destructor. | |
virtual void | decode (Decoder &decoder) |
Encode this feature to the given stream. | |
Private Attributes | |
const BlockBasic * | bl |
The basic block containing the COPY. | |
Additional Inherited Members | |
![]() | |
static bool | comparePtr (Signature *a, Signature *b) |
Compare two Signature pointers via their underlying hash values. | |
A feature representing 1 or more stand-alone copies in a basic block.
A COPY operation is considered stand-alone if either a constant or a function input is copied into a location that is then not read directly by the function. These COPYs are incorporated into a single feature, which encodes the number and type of COPYs but does not encode the order in which they occur within the block.
|
virtual |
The hash value is encoded to the stream, along with any descriptive information about how the feature was formed.
encoder | is the stream encoder |
Reimplemented from ghidra::Signature.
References bl, ghidra::Encoder::closeElement(), ghidra::Signature::getHash(), ghidra::FlowBlock::getIndex(), ghidra::Encoder::openElement(), ghidra::Encoder::writeSignedInteger(), and ghidra::Encoder::writeUnsignedInteger().
|
virtual |
Restore this feature from the given stream.
Print a brief description of this feature to the given stream
Reimplemented from ghidra::Signature.
References bl, and ghidra::BlockBasic::printHeader().