ETISS 0.8.0
Extendable Translating Instruction Set Simulator (version 0.8.0)
|
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 More... | |
bool | contains (const RegisterPart &rp) const |
check if passed RegisterPart is a subset of relevant bits of the same register More... | |
void | applyShadow (const RegisterPart &rp) const |
this is not a const function in the usual sense. More... | |
void | merge (const RegisterPart &rp) const |
this is not a const function in the usual sense. More... | |
void | intersect (const RegisterPart &rp) const |
this is not a const function in the usual sense. More... | |
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 More... | |
bool | operator< (const RegisterPart &other) const |
bool | operator== (const RegisterPart &other) const |
same as matches(const RegisterPart & other) More... | |
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 75 of file CodePart.h.
|
inline |
Definition at line 78 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 85 of file CodePart.h.
|
inline |
Definition at line 95 of file CodePart.h.
|
inline |
this is not a const function in the usual sense.
Definition at line 142 of file CodePart.h.
|
inline |
check if passed RegisterPart is a subset of relevant bits of the same register
Definition at line 124 of file CodePart.h.
References bits, isEmpty(), name, and regWidth.
Referenced by maskedBy().
|
inline |
Definition at line 165 of file CodePart.h.
References bits.
|
inline |
Definition at line 164 of file CodePart.h.
References name.
Referenced by etiss::RegisterSet::lex_compare::operator()().
|
inline |
Definition at line 166 of file CodePart.h.
References regWidth.
|
inline |
this is not a const function in the usual sense.
Definition at line 158 of file CodePart.h.
|
inline |
true if unnamed or no relevant bits
Definition at line 170 of file CodePart.h.
Referenced by etiss::RegisterSet::add(), contains(), matches(), and operator<().
|
inline |
Definition at line 163 of file CodePart.h.
References contains().
|
inline |
check for equality
Definition at line 106 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 150 of file CodePart.h.
|
inline |
|
inline |
same as matches(const RegisterPart & other)
Definition at line 189 of file CodePart.h.
References matches().
|
mutableprivate |
Definition at line 193 of file CodePart.h.
Referenced by applyShadow(), contains(), getAffectedBits(), intersect(), isEmpty(), matches(), merge(), operator<(), and RegisterPart().
|
private |
Definition at line 192 of file CodePart.h.
Referenced by applyShadow(), contains(), getName(), intersect(), isEmpty(), matches(), merge(), operator<(), RegisterPart(), and get_metrics.MemRange::stats().
|
private |
Definition at line 194 of file CodePart.h.
Referenced by contains(), getRegisterWidth(), matches(), operator<(), and RegisterPart().