#include <WakeUpEvent.h>
Onikiri::OpWakeUpEventに対する継承グラフ
Public メソッド | |
virtual void | Evaluate () |
OpWakeUpEvent (Scheduler *scheduler, OpIterator producer) | |
virtual void | Update () |
Protected 変数 | |
bool | m_evaluated |
OpIterator | m_producer |
Scheduler * | m_scheduler |
WakeUpEvent.h の 47 行で定義されています。
Onikiri::OpWakeUpEvent::OpWakeUpEvent | ( | Scheduler * | scheduler, | |
OpIterator | producer | |||
) | [inline] |
WakeUpEvent.h の 52 行で定義されています。
参照先 m_evaluated・Onikiri::RP_WAKEUP_EVENT・Onikiri::EventBaseImplement::SetPriority().
00052 : 00053 m_scheduler ( scheduler ), 00054 m_producer ( producer ) 00055 { 00056 // A 'Wakeup' priority must be higher than that of 'Select'. 00057 SetPriority( RP_WAKEUP_EVENT ); 00058 m_evaluated = false; 00059 }
関数の呼び出しグラフ:
virtual void Onikiri::OpWakeUpEvent::Evaluate | ( | ) | [inline, virtual] |
Onikiri::EventBaseImplementを再定義しています。
WakeUpEvent.h の 61 行で定義されています。
参照先 Onikiri::Scheduler::EvaluateDependency()・Onikiri::Scheduler::GetIndex()・m_evaluated・m_producer・m_scheduler.
00062 { 00063 m_evaluated = true; 00064 00065 int index = m_scheduler->GetIndex(); 00066 for( int i = 0; i < m_producer->GetDstRegNum(); ++i ){ 00067 if( m_producer->GetDstPhyReg(i)->GetReadiness( index ) ){ 00068 return; // This dependency is already set to true and consumers are woke up. 00069 } 00070 } 00071 00072 m_scheduler->EvaluateDependency( m_producer ); 00073 }
関数の呼び出しグラフ:
virtual void Onikiri::OpWakeUpEvent::Update | ( | ) | [inline, virtual] |
Onikiri::EventBaseImplementを実装しています。
WakeUpEvent.h の 75 行で定義されています。
参照先 ASSERT・m_evaluated.
00076 { 00077 ASSERT( m_evaluated ); 00078 };
bool Onikiri::OpWakeUpEvent::m_evaluated [protected] |
OpIterator Onikiri::OpWakeUpEvent::m_producer [protected] |
Scheduler* Onikiri::OpWakeUpEvent::m_scheduler [protected] |