|
OpenASIP 2.2
|
#include <Guard.hh>


Public Member Functions | |
| PortGuard (bool inverted, FUPort &port, Bus &parentBus) | |
| PortGuard (const ObjectState *state, Bus &parentBus) | |
| virtual | ~PortGuard () |
| bool | isEqual (const Guard &guard) const |
| bool | isOpposite (const Guard &guard) const |
| FUPort * | port () const |
| virtual void | copyTo (Bus &parentBus) const |
| ObjectState * | saveState () const |
| void | loadState (const ObjectState *state) |
Public Member Functions inherited from TTAMachine::Guard | |
| virtual | ~Guard () |
| virtual Bus * | parentBus () const |
| virtual void | setParentBus (Bus *parentBus) |
| virtual bool | isInverted () const |
| virtual bool | isMoreRestrictive (const Guard &guard) const |
| virtual bool | isLessRestrictive (const Guard &guard) const |
| virtual bool | isDisjoint (const Guard &guard) const |
Public Member Functions inherited from Serializable | |
| virtual | ~Serializable () |
Static Public Attributes | |
| static const std::string | OSNAME_PORT_GUARD = "portguard" |
| ObjectState name for PortGuard ObjectState. | |
| static const std::string | OSKEY_FU = "fu" |
| ObjectState attribute key for function unit name. | |
| static const std::string | OSKEY_PORT = "port" |
| ObjectState attribute key for port name. | |
Static Public Attributes inherited from TTAMachine::Guard | |
| static const std::string | OSNAME_GUARD = "guard" |
| ObjectState name for guard. | |
| static const std::string | OSKEY_INVERTED = "inverted" |
| ObjectState attribute key for inverted feature. | |
Private Attributes | |
| FUPort * | port_ |
| Port from which the condition term is taken. | |
Additional Inherited Members | |
Protected Member Functions inherited from TTAMachine::Guard | |
| Guard (bool inverted, Bus *parentBus) | |
| Guard (const ObjectState *state, Bus &parentBus) | |
Protected Member Functions inherited from TTAMachine::SubComponent | |
| SubComponent () | |
| virtual | ~SubComponent () |
Protected Member Functions inherited from TTAMachine::MachinePart | |
| MachinePart () | |
| virtual | ~MachinePart () |
Guard where the condition term is taken from the value of an output port of a FunctionUnit.
Constructor.
| inverted | Incates whether the condition term is inverted. |
| port | Port from which the condition term is taken. |
| parentBus | Parent bus component of the guard. |
| IllegalRegistration | If the given port is not registered to the same machine as the given parent bus. |
| ComponentAlreadyExists | If the parent bus already has an equal guard. |
Definition at line 196 of file Guard.cc.
References TTAMachine::Bus::addGuard(), TTAMachine::Component::ensureRegistration(), TTAMachine::Guard::parentBus(), TTAMachine::BaseFUPort::parentUnit(), and port().

| TTAMachine::PortGuard::PortGuard | ( | const ObjectState * | state, |
| Bus & | parentBus | ||
| ) |
Constructor.
Loads its state from the given ObjectState instance.
| state | The ObjectState instance. |
| parentBus | Parent bus of the guard. |
| ObjectStateLoadingException | If the reference to the function unit port cannot be resolved or if the given ObjectState instance is invalid. |
Definition at line 215 of file Guard.cc.
References TTAMachine::Bus::addGuard(), loadState(), TTAMachine::Component::name(), TTAMachine::Port::name(), TTAMachine::Guard::parentBus(), TTAMachine::BaseFUPort::parentUnit(), port(), Texts::TextGenerator::text(), and MOMTextGenerator::TXT_EQUAL_PORT_GUARDS.

|
virtual |
|
inlinevirtual |
Implements TTAMachine::Guard.
Definition at line 109 of file Guard.hh.
References TTAMachine::Guard::isInverted(), TTAMachine::Guard::parentBus(), and port_.

|
virtual |
Returns true if the guard is equal with the given guard.
| guard | The other guard. |
Implements TTAMachine::Guard.
Definition at line 246 of file Guard.cc.
References TTAMachine::Guard::isInverted(), and port().

|
virtual |
Returns true if the guard is opposite with the given guard, ie. always if one is executed, another is not executed.
| guard | The other guard. |
Implements TTAMachine::Guard.
Definition at line 268 of file Guard.cc.
References TTAMachine::Guard::isInverted(), and port().

|
virtual |
Loads its state from the given ObjectState instance.
| state | The ObjectState instance. |
| ObjectStateLoadingException | If the given ObjectState instance is invalid or if the reference to the function unit port cannot be resolved. |
Reimplemented from TTAMachine::Guard.
Definition at line 312 of file Guard.cc.
References Exception::errorMessage(), TTAMachine::Machine::functionUnitNavigator(), TTAMachine::Machine::Navigator< ComponentType >::item(), TTAMachine::Guard::loadState(), TTAMachine::Component::machine(), TTAMachine::Component::name(), ObjectState::name(), TTAMachine::FunctionUnit::operationPort(), OSKEY_FU, OSKEY_PORT, OSNAME_PORT_GUARD, TTAMachine::Guard::parentBus(), port(), port_, ObjectState::stringAttribute(), and Texts::TextGenerator::text().
Referenced by PortGuard().

| FUPort * TTAMachine::PortGuard::port | ( | ) | const |
Referenced by CodeCompressorPlugin::addBitsForGuardField(), BEMGenerator::addEncodings(), MachineStateBuilder::buildMachineState(), UtilizationStats::calculateForInstruction(), BEMValidator::checkGuardField(), TTAMachine::FunctionUnit::cleanupGuards(), TTAMachine::FUPort::cleanupGuards(), DefaultDecoderGenerator::completeDecoderBlock(), DefaultDecoderGenerator::containsSimilarGuard(), TTAProgram::ProgramWriter::createCodeSection(), POMDisassembler::createGuard(), TTAProgram::CodeGenerator::createInverseGuard(), DefaultDecoderGenerator::findGuard(), TTAProgram::TPEFProgramFactory::findGuard(), MachineConnectivityCheck::findPossibleDestinationPorts(), ProgramOperation::fuFromOutMove(), CompiledSimCodeGenerator::generateGuardCondition(), CompiledSimCodeGenerator::generateGuardRead(), DefaultDecoderGenerator::guardPortName(), ProgramOperation::hwopFromOutMove(), isEqual(), isOpposite(), loadState(), BFLateBypassGuard::operator()(), BFEarlyGuardBypass::operator()(), ProgramOperation::outputIndexFromGuard(), PortGuard(), PortGuard(), MachineResourceManager::rFPortOrFUIndexReference(), MachineInfo::supportsPortGuardedJump(), and BusDialog::updateGuardLists().
|
virtual |
Saves the contents to an ObjectState object.
Reimplemented from TTAMachine::Guard.
Definition at line 289 of file Guard.cc.
References TTAMachine::Component::name(), TTAMachine::Port::name(), OSKEY_FU, OSKEY_PORT, OSNAME_PORT_GUARD, TTAMachine::BaseFUPort::parentUnit(), port_, TTAMachine::Guard::saveState(), ObjectState::setAttribute(), and ObjectState::setName().

|
static |
ObjectState attribute key for function unit name.
Definition at line 119 of file Guard.hh.
Referenced by ADFSerializer::busToMachine(), ADFSerializer::busToMDF(), loadState(), and saveState().
|
static |
ObjectState attribute key for port name.
Definition at line 121 of file Guard.hh.
Referenced by ADFSerializer::busToMachine(), ADFSerializer::busToMDF(), loadState(), and saveState().
|
static |
ObjectState name for PortGuard ObjectState.
Definition at line 117 of file Guard.hh.
Referenced by ADFSerializer::busToMachine(), ADFSerializer::busToMDF(), TTAMachine::Bus::loadState(), loadState(), and saveState().
|
private |
Port from which the condition term is taken.
Definition at line 125 of file Guard.hh.
Referenced by copyTo(), loadState(), and saveState().