クラス Onikiri::Pipeline

#include <Pipeline.h>

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

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

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

Public メソッド

virtual void AddUpperPipelineNode (PipelineNodeIF *node)
virtual void BeginStall ()
void EnableDumpStall (bool enable)
virtual void EndStall ()
virtual void EnterPipeline (OpIterator op, int time, PipelineNodeIF *lowerNode)
virtual void ExitPipeline (OpIterator op, PipelineNodeIF *lowerNode)
virtual void Flush (OpIterator op)
virtual int GetOpCount ()
 Pipeline ()
virtual void Retire (OpIterator op)
virtual ~Pipeline ()

Protected 型

typedef pool_list< OpIteratorList

Protected 変数

bool m_enableDumpStall
List m_opList
std::vector< PipelineNodeIF * > m_upperPipelineNodes

説明

Pipeline.h42 行で定義されています。


型定義

typedef pool_list<OpIterator> Onikiri::Pipeline::List [protected]

Pipeline.h67 行で定義されています。


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

Pipeline::Pipeline (  ) 

Pipeline.cpp68 行で定義されています。

00068                    :
00069     m_enableDumpStall(true)
00070 {
00071 }

Pipeline::~Pipeline (  )  [virtual]

Pipeline.cpp73 行で定義されています。

00074 {
00075 }


関数

void Pipeline::AddUpperPipelineNode ( PipelineNodeIF node  )  [virtual]

Pipeline.cpp99 行で定義されています。

参照先 m_upperPipelineNodes.

参照元 Onikiri::PipelineNodeBase::AddLowerPipeline()Onikiri::PipelineNodeBase::PipelineNodeBase().

00100 {
00101     m_upperPipelineNodes.push_back( node );
00102 }

Here is the caller graph for this function:

void Pipeline::BeginStall (  )  [virtual]

Onikiri::ClockedResourceBaseを再定義しています。

Pipeline.cpp119 行で定義されています。

参照先 Onikiri::Dumper::DumpStallBegin()Onikiri::g_dumperOnikiri::Dumper::IsEnabled()m_enableDumpStallm_opList.

00120 {
00121     if( !g_dumper.IsEnabled() || !m_enableDumpStall )
00122         return;
00123 
00124     for( List::iterator i = m_opList.begin(); i != m_opList.end(); ++i ){
00125         g_dumper.DumpStallBegin( *i );
00126     }
00127 }

関数の呼び出しグラフ:

void Pipeline::EnableDumpStall ( bool  enable  ) 

Pipeline.cpp140 行で定義されています。

参照先 m_enableDumpStall.

参照元 Onikiri::Scheduler::Initialize().

00141 {
00142     m_enableDumpStall = enable;
00143 }

Here is the caller graph for this function:

void Pipeline::EndStall (  )  [virtual]

Onikiri::ClockedResourceBaseを再定義しています。

Pipeline.cpp129 行で定義されています。

参照先 Onikiri::Dumper::DumpStallEnd()Onikiri::g_dumperOnikiri::Dumper::IsEnabled()m_enableDumpStallm_opList.

00130 {
00131     if( !g_dumper.IsEnabled() || !m_enableDumpStall )
00132         return;
00133 
00134     for( List::iterator i = m_opList.begin(); i != m_opList.end(); ++i ){
00135         g_dumper.DumpStallEnd( *i );
00136     }
00137 }

関数の呼び出しグラフ:

void Pipeline::EnterPipeline ( OpIterator  op,
int  time,
PipelineNodeIF lowerNode 
) [virtual]

Pipeline.cpp78 行で定義されています。

参照先 Onikiri::PooledIntrusivePtrObject< T, PtrT >::Construct()m_opList.

参照元 Onikiri::Dispatcher::Dispatch()Onikiri::Renamer::EnterPipeline()Onikiri::Fetcher::EnterPipeline().

00079 {
00080     m_opList.push_back( op );
00081     EventPtr evnt( OpPipelineProcessEndEvent::Construct( op, this, lowerNode ) );
00082     if( time == 0 ){
00083         evnt->Update();
00084     }
00085     else{
00086         op->AddEvent( evnt, this, time );
00087     }
00088 }

関数の呼び出しグラフ:

Here is the caller graph for this function:

void Pipeline::ExitPipeline ( OpIterator  op,
PipelineNodeIF lowerNode 
) [virtual]

Pipeline.cpp90 行で定義されています。

参照先 Onikiri::PipelineNodeIF::ExitUpperPipeline()m_opListm_upperPipelineNodes.

参照元 OpPipelineProcessEndEvent::Update().

00091 {
00092     lowerNode->ExitUpperPipeline( op );
00093     for( size_t i = 0; i < m_upperPipelineNodes.size(); i++ ){
00094         m_upperPipelineNodes[i]->ExitLowerPipeline( op );
00095     }
00096     m_opList.remove( op );
00097 }

関数の呼び出しグラフ:

Here is the caller graph for this function:

void Pipeline::Flush ( OpIterator  op  )  [virtual]

Pipeline.cpp114 行で定義されています。

参照先 m_opList.

参照元 Onikiri::PipelineNodeBase::Flush().

00115 {
00116     m_opList.remove( op );
00117 }

Here is the caller graph for this function:

int Pipeline::GetOpCount (  )  [virtual]

Pipeline.cpp104 行で定義されています。

参照先 m_opList.

00105 {
00106     return (int)m_opList.size();
00107 }

void Pipeline::Retire ( OpIterator  op  )  [virtual]

Pipeline.cpp109 行で定義されています。

参照先 m_opList.

参照元 Onikiri::PipelineNodeBase::Retire().

00110 {
00111     m_opList.remove( op );
00112 }

Here is the caller graph for this function:


変数

bool Onikiri::Pipeline::m_enableDumpStall [protected]

Pipeline.h63 行で定義されています。

参照元 BeginStall()EnableDumpStall()EndStall().

List Onikiri::Pipeline::m_opList [protected]

Pipeline.h68 行で定義されています。

参照元 BeginStall()EndStall()EnterPipeline()ExitPipeline()Flush()GetOpCount()Retire().

std::vector<PipelineNodeIF*> Onikiri::Pipeline::m_upperPipelineNodes [protected]

Pipeline.h65 行で定義されています。

参照元 AddUpperPipelineNode()ExitPipeline().


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