|
decompiler 1.0.0
|
Container of OptimizeRecords for possibly overlapping temporary registers. More...
Public Member Functions | |
| void | clear (void) |
| Clear all records. | |
| void | set (OptimizeRecord &rec) |
| Add a new record to the collection. More... | |
| void | getDefinitions (vector< OptimizeRecord * > &result, uintb offset, int4 size) |
| Get any definitions overlapping the given range. More... | |
| map< uintb, OptimizeRecord >::const_iterator | begin (void) const |
| Get starting iterator to all records. | |
| map< uintb, OptimizeRecord >::const_iterator | end (void) const |
| Get ending iterator to all records. | |
Private Member Functions | |
| map< uintb, OptimizeRecord >::iterator | lesserIter (uintb offset) |
| Get last record less than the given offset. More... | |
Static Private Member Functions | |
| static uintb | endOf (map< uintb, OptimizeRecord >::iterator &iter) |
| Get ending offset record. | |
Private Attributes | |
| map< uintb, OptimizeRecord > | recs |
| Map from unique space offset to OptimizeRecord. | |
Container of OptimizeRecords for possibly overlapping temporary registers.
| void ghidra::ConsistencyChecker::UniqueState::getDefinitions | ( | vector< OptimizeRecord * > & | result, |
| uintb | offset, | ||
| int4 | size | ||
| ) |
Get any definitions overlapping the given range.
| result | holds all the overlapping records |
| offset | is the start of the given range |
| size | is the number of bytes in the range |
Referenced by ghidra::ConsistencyChecker::examineVn(), and ghidra::ConsistencyChecker::optimizeGather2().
|
private |
Get last record less than the given offset.
| offset | is the given offset |
| void ghidra::ConsistencyChecker::UniqueState::set | ( | OptimizeRecord & | rec | ) |
Add a new record to the collection.
Any overlaps with the new record are merged, maintaining a disjoint collection of records
| rec | is the record to add |
References ghidra::ConsistencyChecker::OptimizeRecord::offset, and ghidra::ConsistencyChecker::OptimizeRecord::size.
Referenced by ghidra::ConsistencyChecker::examineVn().