gem5 v24.1.0.1
|
#include <NetDest.hh>
Public Member Functions | |
NetDest () | |
NetDest (RubySystem *ruby_system) | |
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 |
void | setRubySystem (RubySystem *rs) |
Private Member Functions | |
int | vecIndex (MachineID m) const |
NodeID | bitIndex (NodeID index) const |
int | MachineType_base_count (const MachineType &obj) |
int | MachineType_base_number (const MachineType &obj) |
Private Attributes | |
std::vector< Set > | m_bits |
RubySystem * | m_ruby_system = nullptr |
Definition at line 47 of file NetDest.hh.
gem5::ruby::NetDest::NetDest | ( | ) |
Definition at line 41 of file NetDest.cc.
gem5::ruby::NetDest::NetDest | ( | RubySystem * | ruby_system | ) |
Definition at line 45 of file NetDest.cc.
References resize().
|
explicit |
|
inline |
Definition at line 58 of file NetDest.hh.
void gem5::ruby::NetDest::add | ( | MachineID | newElement | ) |
Definition at line 52 of file NetDest.cc.
References bitIndex(), getSize(), m_bits, gem5::ruby::MachineID::num, and vecIndex().
Referenced by broadcast(), gem5::ruby::AbstractController::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 60 of file NetDest.cc.
References getSize(), gem5::ArmISA::i, and m_bits.
Definition at line 239 of file NetDest.cc.
References getSize(), gem5::ArmISA::i, m_bits, and m_ruby_system.
Referenced by gem5::ruby::WeightBased::findRoute().
Definition at line 117 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 116 of file NetDest.cc.
References add(), gem5::ArmISA::i, m_ruby_system, and MachineType_base_count().
void gem5::ruby::NetDest::clear | ( | ) |
Definition at line 98 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 147 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 159 of file NetDest.cc.
References bitIndex(), gem5::MipsISA::index, m_bits, and vecIndex().
std::vector< NodeID > gem5::ruby::NetDest::getAllDest | ( | ) |
Definition at line 128 of file NetDest.cc.
References gem5::ArmISA::i, isElement(), m_bits, m_ruby_system, and MachineType_base_number().
Referenced by gem5::ruby::garnet::NetworkInterface::flitisizeMessage().
|
inline |
Definition at line 97 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 252 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 200 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 279 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 213 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 314 of file NetDest.cc.
References gem5::ArmISA::i, isEqual(), m_bits, and gem5::ArmISA::n.
Referenced by isEqual().
|
inline |
Definition at line 85 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 265 of file NetDest.cc.
References gem5::ArmISA::i, isSuperset(), and m_bits.
Referenced by isSuperset().
|
private |
Definition at line 326 of file NetDest.cc.
References m_ruby_system, and gem5::ruby::RubySystem::MachineType_base_count().
Referenced by broadcast(), and resize().
|
private |
Definition at line 333 of file NetDest.cc.
References m_ruby_system, and gem5::ruby::RubySystem::MachineType_base_number().
Referenced by getAllDest().
Definition at line 226 of file NetDest.cc.
References getSize(), gem5::ArmISA::i, m_bits, and m_ruby_system.
void gem5::ruby::NetDest::print | ( | std::ostream & | out | ) | const |
Definition at line 299 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 81 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 88 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 286 of file NetDest.cc.
References gem5::ArmISA::i, m_bits, m_ruby_system, and MachineType_base_count().
Referenced by gem5::ruby::AbstractController::init(), NetDest(), and setRubySystem().
void gem5::ruby::NetDest::setNetDest | ( | MachineType | machine, |
const Set & | set | ||
) |
Definition at line 70 of file NetDest.cc.
References m_bits, m_ruby_system, and gem5::ArmISA::set.
|
inline |
Definition at line 104 of file NetDest.hh.
References m_ruby_system, resize(), and gem5::ArmISA::rs.
Referenced by gem5::ruby::AbstractController::init().
MachineID gem5::ruby::NetDest::smallestElement | ( | ) | const |
Definition at line 166 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 182 of file NetDest.cc.
References isElement(), m_bits, m_ruby_system, and panic.
|
inlineprivate |
Definition at line 110 of file NetDest.hh.
References gem5::ArmISA::m, and m_bits.
Referenced by add(), elementAt(), isElement(), and remove().
|
private |
Definition at line 119 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().
|
private |
Definition at line 122 of file NetDest.hh.
Referenced by AND(), broadcast(), getAllDest(), MachineType_base_count(), MachineType_base_number(), OR(), resize(), setNetDest(), setRubySystem(), and smallestElement().