#include <Dumper.h>
Onikiri::Dumperに対する継承グラフ
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::Dumper | ( | ) |
Dumper::~Dumper | ( | ) | [virtual] |
void Onikiri::Dumper::Dump | ( | DUMP_STATE | state, | |
OpIterator | op, | |||
int | detail = -1 | |||
) | [inline] |
参照元 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().
Here is the caller graph for this function:
void Onikiri::Dumper::DumpOpDependency | ( | const OpIterator | producerOp, | |
const OpIterator | consumerOp, | |||
DumpDependency | type = DDT_WAKEUP | |||
) | [inline] |
参照元 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] |
void Onikiri::Dumper::DumpStallBegin | ( | OpIterator | op | ) | [inline] |
参照元 Onikiri::Pipeline::BeginStall()・Onikiri::OpBuffer::BeginStall()・Onikiri::OpBuffer::CheckAndDumpStallBegin()・Onikiri::PipelineLatch::DumpStallBegin().
Here is the caller graph for this function:
void Onikiri::Dumper::DumpStallEnd | ( | OpIterator | op | ) | [inline] |
参照元 Onikiri::PipelineLatch::DumpStallEnd()・Onikiri::Pipeline::EndStall()・Onikiri::OpBuffer::EndStall().
Here is the caller graph for this function:
void Dumper::Finalize | ( | ) |
Dumper.cpp の 137 行で定義されています。
参照先 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.cpp の 88 行で定義されています。
参照先 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] |
参照元 Onikiri::Pipeline::BeginStall()・Onikiri::Pipeline::EndStall()・Onikiri::Scheduler::WriteBackEnd().
Here is the caller graph for this function:
参照元 Onikiri::SimulationSystem::Run()・Onikiri::InorderSystem::Run().
Here is the caller graph for this function:
参照元 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] |