gem5 v24.0.0.0
|
#include <NetDest.hh>
Public Member Functions | |
NetDest () | |
NetDest (int bit_size) | |
NetDest & | operator= (const Set &obj) |
~NetDest () | |
void | add (MachineID newElement) |
void | addNetDest (const NetDest &netDest) |
void | setNetDest (MachineType machine, const Set &set) |
void | remove (MachineID oldElement) |
void | removeNetDest (const NetDest &netDest) |
void | clear () |
void | broadcast () |
void | broadcast (MachineType machine) |
int | count () const |
bool | isEqual (const NetDest &netDest) const |
NetDest | OR (const NetDest &orNetDest) const |
NetDest | AND (const NetDest &andNetDest) const |
bool | intersectionIsNotEmpty (const NetDest &other_netDest) const |
bool | intersectionIsEmpty (const NetDest &other_netDest) const |
bool | isSuperset (const NetDest &test) const |
bool | isSubset (const NetDest &test) const |
bool | isElement (MachineID element) const |
bool | isBroadcast () const |
bool | isEmpty () const |
std::vector< NodeID > | getAllDest () |
MachineID | smallestElement () const |
MachineID | smallestElement (MachineType machine) const |
void | resize () |
int | getSize () const |
NodeID | elementAt (MachineID index) |
void | print (std::ostream &out) const |
Private Member Functions | |
int | vecIndex (MachineID m) const |
NodeID | bitIndex (NodeID index) const |
Private Attributes | |
std::vector< Set > | m_bits |
Definition at line 45 of file NetDest.hh.
gem5::ruby::NetDest::NetDest | ( | ) |
Definition at line 39 of file NetDest.cc.
References resize().
|
explicit |
|
inline |
Definition at line 55 of file NetDest.hh.
void gem5::ruby::NetDest::add | ( | MachineID | newElement | ) |
Definition at line 45 of file NetDest.cc.
References bitIndex(), getSize(), m_bits, gem5::ruby::MachineID::num, and vecIndex().
Referenced by gem5::ruby::broadcast(), broadcast(), gem5::ruby::garnet::NetworkInterface::flitisizeMessage(), gem5::ruby::AbstractController::init(), gem5::ruby::PersistentTable::persistentRequestLock(), and gem5::ruby::Topology::shortest_path_to_node().
void gem5::ruby::NetDest::addNetDest | ( | const NetDest & | netDest | ) |
Definition at line 52 of file NetDest.cc.
References getSize(), gem5::ArmISA::i, and m_bits.
Definition at line 210 of file NetDest.cc.
References getSize(), gem5::ArmISA::i, and m_bits.
Referenced by gem5::ruby::WeightBased::findRoute().
Definition at line 112 of file NetDest.hh.
References gem5::MipsISA::index.
Referenced by add(), elementAt(), isElement(), and remove().
void gem5::ruby::NetDest::broadcast | ( | ) |
void gem5::ruby::NetDest::broadcast | ( | MachineType | machine | ) |
Definition at line 102 of file NetDest.cc.
References add(), and gem5::ArmISA::i.
void gem5::ruby::NetDest::clear | ( | ) |
Definition at line 85 of file NetDest.cc.
References gem5::ArmISA::i, and m_bits.
Referenced by gem5::ruby::garnet::NetworkInterface::flitisizeMessage().
int gem5::ruby::NetDest::count | ( | ) | const |
Definition at line 128 of file NetDest.cc.
References gem5::ArmISA::i, and m_bits.
Referenced by gem5::ruby::PersistentTable::countReadStarvingForAddress(), gem5::ruby::PersistentTable::countStarvingForAddress(), gem5::ruby::WeightBased::findRoute(), and smallestElement().
Definition at line 138 of file NetDest.cc.
References bitIndex(), gem5::MipsISA::index, m_bits, and vecIndex().
std::vector< NodeID > gem5::ruby::NetDest::getAllDest | ( | ) |
Definition at line 112 of file NetDest.cc.
References gem5::ArmISA::i, isElement(), and m_bits.
Referenced by gem5::ruby::garnet::NetworkInterface::flitisizeMessage().
|
inline |
Definition at line 94 of file NetDest.hh.
References m_bits.
Referenced by add(), addNetDest(), AND(), intersectionIsNotEmpty(), OR(), and removeNetDest().
bool gem5::ruby::NetDest::intersectionIsEmpty | ( | const NetDest & | other_netDest | ) | const |
Referenced by intersectionIsNotEmpty().
bool gem5::ruby::NetDest::intersectionIsNotEmpty | ( | const NetDest & | other_netDest | ) | const |
Definition at line 222 of file NetDest.cc.
References getSize(), gem5::ArmISA::i, intersectionIsEmpty(), and m_bits.
Referenced by gem5::ruby::WeightBased::findRoute(), and gem5::ruby::garnet::RoutingUnit::lookupRoutingTable().
bool gem5::ruby::NetDest::isBroadcast | ( | ) | const |
Definition at line 174 of file NetDest.cc.
References gem5::ArmISA::i, isBroadcast(), and m_bits.
Referenced by isBroadcast(), and gem5::ruby::network_message_to_size().
bool gem5::ruby::NetDest::isElement | ( | MachineID | element | ) | const |
Definition at line 247 of file NetDest.cc.
References bitIndex(), m_bits, gem5::ruby::MachineID::num, and vecIndex().
Referenced by getAllDest(), gem5::ruby::PersistentTable::okToIssueStarving(), gem5::ruby::PersistentTable::persistentRequestLock(), gem5::ruby::PersistentTable::persistentRequestUnlock(), print(), smallestElement(), and smallestElement().
bool gem5::ruby::NetDest::isEmpty | ( | ) | const |
Definition at line 186 of file NetDest.cc.
References gem5::ArmISA::i, isEmpty(), and m_bits.
Referenced by isEmpty(), gem5::ruby::PersistentTable::markEntries(), gem5::ruby::PersistentTable::okToIssueStarving(), and gem5::ruby::PersistentTable::persistentRequestUnlock().
bool gem5::ruby::NetDest::isEqual | ( | const NetDest & | netDest | ) | const |
Definition at line 278 of file NetDest.cc.
References gem5::ArmISA::i, isEqual(), m_bits, and gem5::ArmISA::n.
Referenced by isEqual().
|
inline |
Definition at line 82 of file NetDest.hh.
Referenced by gem5::ruby::PersistentTable::persistentRequestLock(), and gem5::ruby::PersistentTable::persistentRequestUnlock().
bool gem5::ruby::NetDest::isSuperset | ( | const NetDest & | test | ) | const |
Definition at line 234 of file NetDest.cc.
References gem5::ArmISA::i, isSuperset(), and m_bits.
Referenced by isSuperset().
Definition at line 198 of file NetDest.cc.
References getSize(), gem5::ArmISA::i, and m_bits.
void gem5::ruby::NetDest::print | ( | std::ostream & | out | ) | const |
Definition at line 264 of file NetDest.cc.
References gem5::ArmISA::i, isElement(), and m_bits.
Referenced by gem5::ruby::operator<<().
void gem5::ruby::NetDest::remove | ( | MachineID | oldElement | ) |
Definition at line 70 of file NetDest.cc.
References bitIndex(), m_bits, gem5::ruby::MachineID::num, and vecIndex().
Referenced by gem5::ruby::PersistentTable::persistentRequestUnlock().
void gem5::ruby::NetDest::removeNetDest | ( | const NetDest & | netDest | ) |
Definition at line 76 of file NetDest.cc.
References getSize(), gem5::ArmISA::i, and m_bits.
Referenced by gem5::ruby::WeightBased::findRoute(), and gem5::ruby::garnet::NetworkInterface::flitisizeMessage().
void gem5::ruby::NetDest::resize | ( | ) |
Definition at line 253 of file NetDest.cc.
References gem5::ArmISA::i, and m_bits.
Referenced by gem5::ruby::AbstractController::init(), and NetDest().
void gem5::ruby::NetDest::setNetDest | ( | MachineType | machine, |
const Set & | set ) |
Definition at line 61 of file NetDest.cc.
References m_bits, and gem5::ArmISA::set.
MachineID gem5::ruby::NetDest::smallestElement | ( | ) | const |
Definition at line 144 of file NetDest.cc.
References count(), gem5::ArmISA::i, isElement(), m_bits, and panic.
Referenced by gem5::ruby::PersistentTable::findSmallest(), and gem5::ruby::PersistentTable::typeOfSmallest().
MachineID gem5::ruby::NetDest::smallestElement | ( | MachineType | machine | ) | const |
Definition at line 159 of file NetDest.cc.
References isElement(), m_bits, and panic.
|
inlineprivate |
Definition at line 105 of file NetDest.hh.
References gem5::ArmISA::m, and m_bits.
Referenced by add(), elementAt(), isElement(), and remove().
|
private |
Definition at line 114 of file NetDest.hh.
Referenced by add(), addNetDest(), AND(), clear(), count(), elementAt(), getAllDest(), getSize(), intersectionIsNotEmpty(), isBroadcast(), isElement(), isEmpty(), isEqual(), isSuperset(), OR(), print(), remove(), removeNetDest(), resize(), setNetDest(), smallestElement(), smallestElement(), and vecIndex().