クラス Onikiri::OpWakeUpEvent

#include <WakeUpEvent.h>

Onikiri::OpWakeUpEventに対する継承グラフ

Inheritance graph
[凡例]
Onikiri::OpWakeUpEventのコラボレーション図

Collaboration graph
[凡例]
すべてのメンバ一覧

Public メソッド

virtual void Evaluate ()
 OpWakeUpEvent (Scheduler *scheduler, OpIterator producer)
virtual void Update ()

Protected 変数

bool m_evaluated
OpIterator m_producer
Schedulerm_scheduler

説明

WakeUpEvent.h47 行で定義されています。


コンストラクタとデストラクタ

Onikiri::OpWakeUpEvent::OpWakeUpEvent ( Scheduler scheduler,
OpIterator  producer 
) [inline]

WakeUpEvent.h52 行で定義されています。

参照先 m_evaluatedOnikiri::RP_WAKEUP_EVENTOnikiri::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.h61 行で定義されています。

参照先 Onikiri::Scheduler::EvaluateDependency()Onikiri::Scheduler::GetIndex()m_evaluatedm_producerm_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.h75 行で定義されています。

参照先 ASSERTm_evaluated.

00076         {
00077             ASSERT( m_evaluated );
00078         };


変数

bool Onikiri::OpWakeUpEvent::m_evaluated [protected]

WakeUpEvent.h84 行で定義されています。

参照元 Evaluate()OpWakeUpEvent()Update().

OpIterator Onikiri::OpWakeUpEvent::m_producer [protected]

WakeUpEvent.h83 行で定義されています。

参照元 Evaluate().

Scheduler* Onikiri::OpWakeUpEvent::m_scheduler [protected]

WakeUpEvent.h78 行で定義されています。

参照元 Evaluate().


このクラスの説明は次のファイルから生成されました:
Onikiri2に対してTue Jun 18 15:09:41 2013に生成されました。  doxygen 1.4.7