クラス Onikiri::Dumper

#include <Dumper.h>

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

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

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

Public メソッド

void Dump (DUMP_STATE state, OpIterator op, int detail=-1)
 Dumper ()
void DumpOpDependency (const OpIterator producerOp, const OpIterator consumerOp, DumpDependency type=DDT_WAKEUP)
void DumpRawStage (OpIterator op, bool begin, const char *stage, DumpLane lane)
void DumpStallBegin (OpIterator op)
void DumpStallEnd (OpIterator op)
void Finalize ()
void Initialize (PhysicalResourceArray< Core > &coreList, PhysicalResourceArray< Thread > &threadList)
bool IsEnabled ()
void SetCurrentCycle (Thread *thread, s64 cycle)
void SetCurrentInsnCount (Thread *thread, s64 count)
void SetEnabled (bool enabled)
virtual ~Dumper ()

構成

struct  ThreadDumper

説明

Dumper.h49 行で定義されています。


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

Dumper::Dumper (  ) 

Dumper.cpp51 行で定義されています。

00052 {
00053     m_dumpEnabled = false;
00054 }

Dumper::~Dumper (  )  [virtual]

Dumper.cpp56 行で定義されています。

00057 {
00058     ReleaseDumper();
00059 }


関数

void Onikiri::Dumper::Dump ( DUMP_STATE  state,
OpIterator  op,
int  detail = -1 
) [inline]

Dumper.h101 行で定義されています。

参照元 Onikiri::InorderList::Commit()Onikiri::MemOrderManager::DetectAccessOrderViolation()Onikiri::Dispatcher::Dispatch()Onikiri::Renamer::EnterPipeline()Onikiri::InorderIssueSelector::EvaluateSelect()Onikiri::AgeIssueSelector::EvaluateSelect()Onikiri::ExecUnitBase::Execute()Onikiri::Fetcher::Fetch()Onikiri::InorderList::Flush()Onikiri::Renamer::ProcessNOP()Onikiri::BPred::RecoveryFromBPredMiss()Onikiri::Scheduler::Reschedule()Onikiri::InorderList::Retire()Onikiri::InorderSystem::Run()Onikiri::OpDumpSchedulingEvent::Update()Onikiri::OpDumpCommittableEvent::Update()Onikiri::OpDetectLatPredMissEvent::Update()Onikiri::Scheduler::WriteBackBegin().

00102         {
00103             if(!m_dumpEnabled)
00104                 return;
00105             DumpImpl(state, op, detail);
00106         }

Here is the caller graph for this function:

void Onikiri::Dumper::DumpOpDependency ( const OpIterator  producerOp,
const OpIterator  consumerOp,
DumpDependency  type = DDT_WAKEUP 
) [inline]

Dumper.h138 行で定義されています。

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

00142          {
00143             if(!m_dumpEnabled)
00144                 return;
00145             DumpOpDependencyImpl( producerOp, consumerOp, type );
00146         }

Here is the caller graph for this function:

void Onikiri::Dumper::DumpRawStage ( OpIterator  op,
bool  begin,
const char *  stage,
DumpLane  lane 
) [inline]

Dumper.h150 行で定義されています。

00151         {
00152             if(!m_dumpEnabled)
00153                 return;
00154             DumpRawStageImpl( op, begin, stage, lane );
00155         }

void Onikiri::Dumper::DumpStallBegin ( OpIterator  op  )  [inline]

Dumper.h108 行で定義されています。

参照元 Onikiri::Pipeline::BeginStall()Onikiri::OpBuffer::BeginStall()Onikiri::OpBuffer::CheckAndDumpStallBegin()Onikiri::PipelineLatch::DumpStallBegin().

00109         {
00110             if(!m_dumpEnabled)
00111                 return;
00112             DumpStallBeginImpl(op);
00113         }

Here is the caller graph for this function:

void Onikiri::Dumper::DumpStallEnd ( OpIterator  op  )  [inline]

Dumper.h115 行で定義されています。

参照元 Onikiri::PipelineLatch::DumpStallEnd()Onikiri::Pipeline::EndStall()Onikiri::OpBuffer::EndStall().

00116         {
00117             if(!m_dumpEnabled)
00118                 return;
00119             DumpStallEndImpl(op);
00120         }

Here is the caller graph for this function:

void Dumper::Finalize (  ) 

Dumper.cpp137 行で定義されています。

参照先 Onikiri::ParamExchange::ReleaseParam().

参照元 Onikiri::SystemManager::Finalize().

00138 {
00139     for( DumperList::iterator i = m_dumperList.begin();
00140         i != m_dumperList.end();
00141         ++i
00142     ){
00143         i->traceDumper->Finalize();
00144         i->visDumper->Finalize();
00145         i->countDumper->Finalize();
00146     }
00147     ReleaseDumper();
00148     ReleaseParam();
00149 }

関数の呼び出しグラフ:

Here is the caller graph for this function:

void Dumper::Initialize ( PhysicalResourceArray< Core > &  coreList,
PhysicalResourceArray< Thread > &  threadList 
)

Dumper.cpp88 行で定義されています。

参照先 Onikiri::PhysicalResourceArray< T >::GetSize()Onikiri::ParamExchange::LoadParam().

参照元 Onikiri::SystemManager::InitializeResources().

00091  {
00092     LoadParam();
00093 
00094     m_dumpEnabled = false;
00095 
00096     if( m_dumpEachThread ){
00097         for( int i = 0; i < threadList.GetSize(); i++ ){
00098             Thread* thread = threadList[i];
00099             ThreadDumper dumper;
00100             String suffix = "t" + boost::lexical_cast<String>(i);
00101             CreateThreadDumper( &dumper, suffix, coreList );
00102             m_dumperMap[thread] = dumper;
00103         }
00104     }
00105     else if( m_dumpEachCore ){
00106         for( int i = 0; i < coreList.GetSize(); i++ ){
00107             Core* core = coreList[i];
00108 
00109             ThreadDumper dumper;
00110             String suffix = "c" + boost::lexical_cast<String>(i);
00111             CreateThreadDumper( &dumper, suffix, coreList );
00112 
00113             for( int j = 0; j < core->GetThreadCount(); j++ ){
00114                 Thread* thread = core->GetThread(j);
00115                 m_dumperMap[thread] = dumper;
00116             }
00117         }
00118     }
00119     else{
00120         ThreadDumper dumper;
00121         CreateThreadDumper( &dumper, "", coreList );
00122         for( int i = 0; i < threadList.GetSize(); i++ ){
00123             Thread* thread = threadList[i];
00124             m_dumperMap[thread] = dumper;
00125         }
00126     }
00127 }

関数の呼び出しグラフ:

Here is the caller graph for this function:

bool Onikiri::Dumper::IsEnabled (  )  [inline]

Dumper.h96 行で定義されています。

参照元 Onikiri::Pipeline::BeginStall()Onikiri::Pipeline::EndStall()Onikiri::Scheduler::WriteBackEnd().

00097         {
00098             return m_dumpEnabled;
00099         }

Here is the caller graph for this function:

void Onikiri::Dumper::SetCurrentCycle ( Thread thread,
s64  cycle 
) [inline]

Dumper.h122 行で定義されています。

参照元 Onikiri::SimulationSystem::Run()Onikiri::InorderSystem::Run().

00123         {
00124             if(!m_dumpEnabled)
00125                 return;
00126             SetCurrentCycleImpl( thread, cycle );
00127         }

Here is the caller graph for this function:

void Onikiri::Dumper::SetCurrentInsnCount ( Thread thread,
s64  count 
) [inline]

Dumper.h129 行で定義されています。

参照元 Onikiri::SimulationSystem::Run().

00130         {
00131             if(!m_dumpEnabled)
00132                 return;
00133             SetCurrentInsnCountImpl( thread, count );
00134         }

Here is the caller graph for this function:

void Onikiri::Dumper::SetEnabled ( bool  enabled  )  [inline]

Dumper.h157 行で定義されています。

00158         {
00159             SetEnabledImpl( enabled );
00160         }


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