gem5 v24.0.0.0
|
ProbePointArg generates a point for the class of Arg. More...
#include <probe.hh>
Public Member Functions | |
ProbePointArg (ProbeManager *manager, std::string name) | |
bool | hasListeners () const |
Informs whether any listeners are attached to this probe. | |
void | addListener (ProbeListener *l) override |
adds a ProbeListener to this ProbePoints notify list. | |
void | removeListener (ProbeListener *l) override |
remove a ProbeListener from this ProbePoints notify list. | |
void | notify (const Arg &arg) |
called at the ProbePoint call site, passes arg to each listener. | |
Public Member Functions inherited from gem5::ProbePoint | |
ProbePoint (ProbeManager *manager, const std::string &name) | |
virtual | ~ProbePoint () |
std::string | getName () const |
Private Attributes | |
std::vector< ProbeListenerArgBase< Arg > * > | listeners |
The attached listeners. | |
Additional Inherited Members | |
Protected Attributes inherited from gem5::ProbePoint | |
const std::string | name |
ProbePointArg generates a point for the class of Arg.
As ProbePointArgs talk directly to ProbeListenerArgs of the same type, we can store the vector of ProbeListeners as their Arg type (and not as base type).
Methods are provided to addListener, removeListener and notify.
|
inline |
|
inlineoverridevirtual |
adds a ProbeListener to this ProbePoints notify list.
l | the ProbeListener to add to the notify list. |
Implements gem5::ProbePoint.
Definition at line 288 of file probe.hh.
References gem5::MipsISA::l, and gem5::ProbePointArg< Arg >::listeners.
|
inline |
Informs whether any listeners are attached to this probe.
This can be used to avoid performing costly tasks needed by the probe when nobody is listening.
Definition at line 281 of file probe.hh.
References gem5::ProbePointArg< Arg >::listeners.
|
inline |
called at the ProbePoint call site, passes arg to each listener.
arg | the argument to pass to each listener. |
Definition at line 313 of file probe.hh.
References gem5::MipsISA::l, and gem5::ProbePointArg< Arg >::listeners.
Referenced by gem5::o3::Fetch::finishTranslation(), gem5::o3::Fetch::recvReqRetry(), and gem5::BaseCPU::updateCycleCounters().
|
inlineoverridevirtual |
remove a ProbeListener from this ProbePoints notify list.
l | the ProbeListener to remove from the notify list. |
Implements gem5::ProbePoint.
Definition at line 302 of file probe.hh.
References gem5::MipsISA::l, and gem5::ProbePointArg< Arg >::listeners.
|
private |
The attached listeners.
Definition at line 266 of file probe.hh.
Referenced by gem5::ProbePointArg< Arg >::addListener(), gem5::ProbePointArg< Arg >::hasListeners(), gem5::ProbePointArg< Arg >::notify(), and gem5::ProbePointArg< Arg >::removeListener().