|
ETISS 0.11.2
ExtendableTranslatingInstructionSetSimulator(version0.11.2)
|
abstract description of needed or affected register bits. More...
#include <CodePart.h>

Public Member Functions | |
| RegisterPart () | |
| RegisterPart (const std::string &name, unsigned registerWidth, etiss::uintMax bits=(uintMax)((intMax) -1)) | |
| RegisterPart (const RegisterPart &cpy) | |
| bool | matches (const RegisterPart &rp) const |
| check for equality | |
| bool | contains (const RegisterPart &rp) const |
| check if passed RegisterPart is a subset of relevant bits of the same register | |
| void | applyShadow (const RegisterPart &rp) const |
| this is not a const function in the usual sense. | |
| void | merge (const RegisterPart &rp) const |
| this is not a const function in the usual sense. | |
| void | intersect (const RegisterPart &rp) const |
| this is not a const function in the usual sense. | |
| bool | maskedBy (const RegisterPart &rp) const |
| const std::string & | getName () const |
| const etiss::uintMax & | getAffectedBits () const |
| const unsigned & | getRegisterWidth () const |
| bool | isEmpty () const |
| true if unnamed or no relevant bits | |
| bool | operator< (const RegisterPart &other) const |
| bool | operator== (const RegisterPart &other) const |
| same as matches(const RegisterPart & other) | |
Private Attributes | |
| std::string | name |
| etiss::uintMax | bits |
| unsigned | regWidth |
abstract description of needed or affected register bits.
due to special behaviour of this class when used in a set (RegisterSet) not all const functions have const character. use with caution.
@TODO For consitency width's should really be size_t
Definition at line 37 of file CodePart.h.
|
inline |
Definition at line 40 of file CodePart.h.
|
inline |
| name | register name should be same as defined by the respective etiss::CPUArch instance. |
| registerWidth | the register width in bits. must be consistet with the name and the context (e.g. cpu1 and cpu2 are allowed to have the same register with different widths). |
| bits | relevant bits of the register (->register part). |
Definition at line 47 of file CodePart.h.
|
inline |
Definition at line 57 of file CodePart.h.
|
inline |
this is not a const function in the usual sense.
Definition at line 104 of file CodePart.h.
|
inline |
check if passed RegisterPart is a subset of relevant bits of the same register
Definition at line 86 of file CodePart.h.
References bits, isEmpty(), name, and regWidth.
Referenced by maskedBy().


|
inline |
Definition at line 127 of file CodePart.h.
References bits.
|
inline |
Definition at line 126 of file CodePart.h.
References name.
Referenced by etiss::RegisterSet::lex_compare::operator()().

|
inline |
Definition at line 128 of file CodePart.h.
References regWidth.
|
inline |
this is not a const function in the usual sense.
Definition at line 120 of file CodePart.h.
|
inline |
true if unnamed or no relevant bits
Definition at line 132 of file CodePart.h.
Referenced by etiss::RegisterSet::add(), contains(), matches(), and operator<().

|
inline |
Definition at line 125 of file CodePart.h.
References contains().

|
inline |
check for equality
Definition at line 68 of file CodePart.h.
References bits, isEmpty(), name, and regWidth.
Referenced by operator==().


|
inline |
this is not a const function in the usual sense.
Definition at line 112 of file CodePart.h.
|
inline |
|
inline |
same as matches(const RegisterPart & other)
Definition at line 151 of file CodePart.h.
References matches().

|
mutableprivate |
Definition at line 155 of file CodePart.h.
Referenced by applyShadow(), contains(), getAffectedBits(), intersect(), isEmpty(), matches(), merge(), operator<(), RegisterPart(), and RegisterPart().
|
private |
Definition at line 154 of file CodePart.h.
Referenced by applyShadow(), contains(), getName(), intersect(), isEmpty(), matches(), merge(), operator<(), RegisterPart(), and get_metrics.MemRange::stats().
|
private |
Definition at line 156 of file CodePart.h.
Referenced by contains(), getRegisterWidth(), matches(), operator<(), RegisterPart(), and RegisterPart().