クラス Onikiri::InorderList

#include <InorderList.h>

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

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

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

Public メソッド

 BEGIN_PARAM_PATH (GetResultPath()) InorderList()
 BEGIN_PARAM_PATH (GetParamPath()) PARAM_ENTRY("@Capacity"
bool CanAllocate (int ops)
virtual void ChangeSimulationMode (PhysicalResourceNode::SimulationMode mode)
void Commit (OpIterator op)
OpIterator ConstructOp (const OpInitArgs &args)
void DestroyOp (OpIterator op)
int FlushBackward (OpIterator startOp)
OpIterator GetBackOp ()
int GetCapacity () const
OpIterator GetCommittedFrontOp ()
OpIterator GetFrontOp ()
OpIterator GetFrontOpOfSamePC (OpIterator op)
OpIterator GetNextIndexOp (OpIterator op)
OpIterator GetNextPCOp (OpIterator op)
OpNotifierGetNotifier () const
OpIterator GetPrevIndexOp (OpIterator op)
OpIterator GetPrevPCOp (OpIterator op)
s64 GetRetiredInsns () const
s64 GetRetiredInstructionCount () const
s64 GetRetiredOps () const
void Initialize (InitPhase phase)
bool IsEmpty ()
 PARAM_ENTRY ("@RemoveOpsOnCommit", m_removeOpsOnCommit)
void PopBack ()
void PushBack (OpIterator op)
void Retire (OpIterator op)
virtual ~InorderList ()

Public 変数

 m_capacity

Static Public 変数

static HookPoint< InorderLists_opFlushHook

Protected メソッド

void Flush (OpIterator op)
void NotifyCommit (OpIterator op)
void NotifyFlush (OpIterator op)
void NotifyRetire (OpIterator op)

Protected 変数

CacheSystemm_cacheSystem
int m_capacity
CheckpointMasterm_checkpointMaster
OpList m_committedList
Corem_core
Dispatcherm_dispatcher
Fetcherm_fetcher
OpList m_inorderList
MemDepPredIFm_memDepPred
MemOrderManagerm_memOrderManager
PhysicalResourceNode::SimulationMode m_mode
OpNotifierm_notifier
OpArraym_opArray
RegDepPredIFm_regDepPred
bool m_removeOpsOnCommit
Renamerm_renamer
s64 m_retiredInsns
s64 m_retiredOps
Retirerm_retirer
Threadm_thread

説明

InorderList.h60 行で定義されています。


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

InorderList::~InorderList (  )  [virtual]

InorderList.cpp89 行で定義されています。

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

00090 {
00091     ReleaseParam();
00092 }

関数の呼び出しグラフ:


関数

Onikiri::InorderList::BEGIN_PARAM_PATH ( GetResultPath()   ) 

Onikiri::InorderList::BEGIN_PARAM_PATH ( GetParamPath()   ) 

bool InorderList::CanAllocate ( int  ops  ) 

InorderList.cpp307 行で定義されています。

参照先 m_capacitym_committedListm_inorderListm_removeOpsOnCommitOnikiri::OpList::size().

参照元 Onikiri::Fetcher::CanFetch().

00308 {
00309     int current = (int)m_inorderList.size();
00310     if( !m_removeOpsOnCommit ){
00311         current += (int)m_committedList.size();
00312     }
00313     return ops + current <= m_capacity; 
00314 }

関数の呼び出しグラフ:

Here is the caller graph for this function:

virtual void Onikiri::InorderList::ChangeSimulationMode ( PhysicalResourceNode::SimulationMode  mode  )  [inline, virtual]

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

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

参照先 m_mode.

00151         {
00152             m_mode = mode;
00153         }

void InorderList::Commit ( OpIterator  op  ) 

InorderList.cpp317 行で定義されています。

参照先 ASSERTOnikiri::DS_COMMITOnikiri::Dumper::Dump()Onikiri::OpList::front()Onikiri::g_dumperm_committedListm_inorderListm_modeNotifyCommit()Onikiri::OpStatus::OS_COMITTINGOnikiri::OpList::pop_front()Onikiri::OpList::push_back()Onikiri::PhysicalResourceNode::SM_SIMULATION.

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

00318 {
00319     if( m_mode == SM_SIMULATION ){
00320         ASSERT( 
00321             m_inorderList.front() == op, 
00322             "The front of a raw inorder list and the committed op are inconsistent. The committed op:\n%s", 
00323             op->ToString().c_str() 
00324         );
00325 
00326         g_dumper.Dump( DS_COMMIT, op );
00327         NotifyCommit( op );
00328         op->SetStatus( OpStatus::OS_COMITTING );
00329 
00330         // Move to the committed list.
00331         m_inorderList.pop_front();
00332         m_committedList.push_back( op );
00333     }
00334 }

関数の呼び出しグラフ:

Here is the caller graph for this function:

OpIterator InorderList::ConstructOp ( const OpInitArgs args  ) 

InorderList.cpp136 行で定義されています。

参照先 Onikiri::OpArray::CreateOp()m_opArray.

参照元 Onikiri::Fetcher::Fetch()Onikiri::InorderSystem::Run().

00137 {
00138     OpIterator op = m_opArray->CreateOp();
00139     op->Initialize(args);
00140 
00141     return op;
00142 }

関数の呼び出しグラフ:

Here is the caller graph for this function:

void InorderList::DestroyOp ( OpIterator  op  ) 

InorderList.cpp145 行で定義されています。

参照先 m_opArrayOnikiri::OpArray::ReleaseOp().

参照元 FlushBackward()Retire()Onikiri::InorderSystem::Run().

00146 {
00147     m_opArray->ReleaseOp(op);
00148 }

関数の呼び出しグラフ:

Here is the caller graph for this function:

void InorderList::Flush ( OpIterator  op  )  [protected]

InorderList.cpp397 行で定義されています。

参照先 Onikiri::DS_FLUSHOnikiri::Dumper::Dump()Onikiri::g_dumperHOOK_SECTION_OPNotifyFlush()Onikiri::OpStatus::OS_FLUSHEDs_opFlushHook.

参照元 FlushBackward().

00398 {
00399     HOOK_SECTION_OP( s_opFlushHook, op )
00400     {
00401         g_dumper.Dump( DS_FLUSH, op );
00402         NotifyFlush( op );
00403         op->SetStatus( OpStatus::OS_FLUSHED );
00404     }
00405 }

関数の呼び出しグラフ:

Here is the caller graph for this function:

int InorderList::FlushBackward ( OpIterator  startOp  ) 

InorderList.cpp368 行で定義されています。

参照先 DestroyOp()Flush()GetBackOp()Onikiri::OpIterator::IsNull()PopBack().

参照元 Onikiri::Recoverer::RecoverBPredMiss()Onikiri::Recoverer::RecoverByRefetch().

00369 {
00370     // ~XtFb`
00371     if( startOp.IsNull() ){
00372         return 0;
00373     }
00374 
00375     // back()  startOp Flush
00376     int flushedInsns = 0;
00377     while( true ){
00378         OpIterator op = GetBackOp();
00379         Flush( op );
00380         flushedInsns++;
00381         
00382         PopBack();
00383 
00384         bool end = ( op == startOp ) ? true : false;
00385 
00386         // op 
00387         DestroyOp( op );
00388 
00389         if( end ){
00390             break;
00391         }
00392     }
00393 
00394     return flushedInsns;
00395 }

関数の呼び出しグラフ:

Here is the caller graph for this function:

OpIterator InorderList::GetBackOp (  ) 

InorderList.cpp187 行で定義されています。

参照先 Onikiri::OpList::back()Onikiri::OpList::empty()m_inorderList.

参照元 FlushBackward().

00188 {
00189     if(m_inorderList.empty())
00190         return OpIterator(0);
00191     else
00192         return m_inorderList.back();
00193 }

関数の呼び出しグラフ:

Here is the caller graph for this function:

int Onikiri::InorderList::GetCapacity (  )  const [inline]

InorderList.h130 行で定義されています。

00130 { return m_capacity; }

OpIterator InorderList::GetCommittedFrontOp (  ) 

InorderList.cpp168 行で定義されています。

参照先 Onikiri::OpList::empty()Onikiri::OpList::front()m_committedList.

参照元 Onikiri::Retirer::CheckCommitCounters()Onikiri::Fetcher::IsSerializingRequired().

00169 {
00170     if( m_committedList.empty() ){
00171         return OpIterator(0);
00172     }
00173     
00174     return m_committedList.front();
00175 }

関数の呼び出しグラフ:

Here is the caller graph for this function:

OpIterator InorderList::GetFrontOp (  ) 

InorderList.cpp177 行で定義されています。

参照先 Onikiri::OpList::empty()Onikiri::OpList::front()m_inorderList.

参照元 Onikiri::Retirer::CheckCommitCounters()Onikiri::Retirer::EvaluateCommit()GetFrontOpOfSamePC()GetPrevIndexOp()Onikiri::Fetcher::IsSerializingRequired().

00178 {
00179     if( m_inorderList.empty() ){
00180         return OpIterator(0);
00181     }
00182     
00183     return m_inorderList.front();
00184 }

関数の呼び出しグラフ:

Here is the caller graph for this function:

OpIterator InorderList::GetFrontOpOfSamePC ( OpIterator  op  ) 

InorderList.cpp289 行で定義されています。

参照先 GetFrontOp()GetNextIndexOp()GetPrevPCOp()Onikiri::OpIterator::IsNull().

参照元 Onikiri::Retirer::CanCommitInsn()Onikiri::Recoverer::RecoverByRefetch().

00290 {
00291     OpIterator previousOp = GetPrevPCOp(op);
00292 
00293     if( ! previousOp.IsNull() ) {
00294         return GetNextIndexOp(previousOp);
00295     }else {
00296         return GetFrontOp();
00297     }
00298 }

関数の呼び出しグラフ:

Here is the caller graph for this function:

OpIterator InorderList::GetNextIndexOp ( OpIterator  op  ) 

InorderList.cpp222 行で定義されています。

参照先 Onikiri::OpList::back()Onikiri::OpList::get_iterator()m_inorderList.

参照元 Onikiri::Retirer::CanCommitInsn()Onikiri::Retirer::EvaluateCommit()GetFrontOpOfSamePC()GetNextPCOp()Onikiri::Recoverer::RecoverByRescheduleAll()Onikiri::Recoverer::RecoverByRescheduleNotFinished().

00223 {
00224     if(m_inorderList.back() == op) {
00225         return OpIterator(0);
00226     }
00227 
00228     return *(++m_inorderList.get_iterator(op));
00229 }

関数の呼び出しグラフ:

Here is the caller graph for this function:

OpIterator InorderList::GetNextPCOp ( OpIterator  op  ) 

InorderList.cpp267 行で定義されています。

参照先 GetNextIndexOp()Onikiri::OpIterator::IsNull().

参照元 Onikiri::Recoverer::GetRecoveryStartOp()Onikiri::Recoverer::RecoverBPredMiss().

00268 {
00269 
00270     OpIterator next = GetNextIndexOp(op);
00271 
00272     //  No == 0 T
00273     while( (!next.IsNull()) && (next->GetNo() != 0) ) {
00274         next = GetNextIndexOp(next);
00275     }
00276 
00277     return next;
00278 }

関数の呼び出しグラフ:

Here is the caller graph for this function:

OpNotifier* Onikiri::InorderList::GetNotifier (  )  const [inline]

InorderList.h145 行で定義されています。

参照先 m_notifier.

00145 { return m_notifier; }

OpIterator InorderList::GetPrevIndexOp ( OpIterator  op  ) 

InorderList.cpp204 行で定義されています。

参照先 Onikiri::OpList::get_iterator()GetFrontOp()m_inorderList.

参照元 GetPrevPCOp()Onikiri::PerfectMemDepPred::Resolve().

00205 {
00206     if( GetFrontOp() == op ){
00207         return OpIterator(0);
00208     }
00209 
00210     return *(--m_inorderList.get_iterator(op));
00211 }

関数の呼び出しグラフ:

Here is the caller graph for this function:

OpIterator InorderList::GetPrevPCOp ( OpIterator  op  ) 

InorderList.cpp241 行で定義されています。

参照先 GetPrevIndexOp()Onikiri::OpIterator::IsNull().

参照元 GetFrontOpOfSamePC()Onikiri::Recoverer::RecoverByRefetch().

00242 {
00243     int opNo = op->GetNo();
00244     
00245     OpIterator prev = op;
00246 
00247     // opNo + 1  GetPrevIndexOp OPC
00248     //  op3  1Aop4 2
00249     for(int i = 0; i <= opNo; ++i) {
00250         prev = GetPrevIndexOp(prev);
00251         
00252         if( prev.IsNull() ) {
00253             break;
00254         }
00255     }
00256     return prev;
00257 }

関数の呼び出しグラフ:

Here is the caller graph for this function:

s64 Onikiri::InorderList::GetRetiredInsns (  )  const [inline]

InorderList.h147 行で定義されています。

参照先 m_retiredInsns.

00147 { return m_retiredInsns;    }

s64 Onikiri::InorderList::GetRetiredInstructionCount (  )  const [inline]

InorderList.h133 行で定義されています。

参照先 m_retiredOps.

00133 { return m_retiredOps; }

s64 Onikiri::InorderList::GetRetiredOps (  )  const [inline]

InorderList.h146 行で定義されています。

参照先 m_retiredOps.

00146 { return m_retiredOps;  }

void InorderList::Initialize ( InitPhase  phase  ) 

InorderList.cpp94 行で定義されています。

参照先 Onikiri::Core::GetCacheSystem()Onikiri::Core::GetDispatcher()Onikiri::Core::GetFetcher()Onikiri::Fetcher::GetFetchWidth()Onikiri::Thread::GetMemDepPred()Onikiri::Thread::GetMemOrderManager()Onikiri::Core::GetOpArray()Onikiri::Thread::GetRegDepPred()Onikiri::Core::GetRenamer()Onikiri::Core::GetRetirer()Onikiri::PhysicalResourceNode::INIT_POST_CONNECTIONOnikiri::PhysicalResourceNode::INIT_PRE_CONNECTIONOnikiri::ParamExchange::LoadParam()m_cacheSystemm_capacitym_checkpointMasterm_committedListm_corem_dispatcherm_fetcherm_inorderListm_memDepPredm_memOrderManagerm_notifierm_opArraym_regDepPredm_renamerm_retirerm_threadOnikiri::OpList::resize()THROW_RUNTIME_ERROR.

00095 {
00096     if(phase == INIT_PRE_CONNECTION){
00097         LoadParam();
00098     }
00099     else if(phase == INIT_POST_CONNECTION){
00100         if( m_core == 0 ) {
00101             THROW_RUNTIME_ERROR("core not set.");
00102         }
00103         if( m_checkpointMaster == 0 ) {
00104             THROW_RUNTIME_ERROR("CheckpointMaster not set.");
00105         }
00106         if( m_thread == 0 ) {
00107             THROW_RUNTIME_ERROR("thread not set.");
00108         }
00109 
00110         m_opArray     = m_core->GetOpArray();
00111         m_notifier    = new OpNotifier();
00112         
00113         m_inorderList.resize( *m_opArray );
00114         m_committedList.resize( *m_opArray );
00115 
00116         m_memOrderManager = m_thread->GetMemOrderManager();
00117         m_regDepPred = m_thread->GetRegDepPred();
00118         m_memDepPred = m_thread->GetMemDepPred();
00119 
00120         m_fetcher    = m_core->GetFetcher();
00121         m_dispatcher = m_core->GetDispatcher();
00122         m_renamer    = m_core->GetRenamer();
00123         m_retirer    = m_core->GetRetirer();
00124 
00125         m_cacheSystem = m_core->GetCacheSystem();
00126 
00127         if( m_fetcher->GetFetchWidth() > m_capacity ){
00128             THROW_RUNTIME_ERROR( "The capacity of InOrderList is too small. It must be larger than fetch width." );
00129         }
00130     }
00131 }

関数の呼び出しグラフ:

bool InorderList::IsEmpty (  ) 

InorderList.cpp301 行で定義されています。

参照先 Onikiri::OpList::empty()m_committedListm_inorderList.

参照元 Onikiri::Fetcher::CanFetch()Onikiri::Retirer::CheckCommitCounters()Onikiri::Fetcher::Evaluate()Onikiri::Fetcher::IsSerializingRequired().

00302 {
00303     return m_inorderList.empty() && m_committedList.empty();
00304 }

関数の呼び出しグラフ:

Here is the caller graph for this function:

void InorderList::NotifyCommit ( OpIterator  op  )  [protected]

InorderList.cpp407 行で定義されています。

参照先 Onikiri::Renamer::Commit()Onikiri::PipelineNodeBase::Commit()Onikiri::Fetcher::Commit()Onikiri::MemDepPredIF::Commit()Onikiri::DepPredIF::Commit()Onikiri::CacheSystem::Commit()Onikiri::MemOrderManager::Commit()Onikiri::CheckpointMaster::Commit()m_cacheSystemm_checkpointMasterm_dispatcherm_fetcherm_memDepPredm_memOrderManagerm_notifierm_regDepPredm_renamerOnikiri::OpNotifier::NotifyCommit().

参照元 Commit().

00408 {
00409     // `FbN|CgR~bg
00410     if( op->GetBeforeCheckpoint() ) {
00411         m_checkpointMaster->Commit(op->GetBeforeCheckpoint());
00412     }
00413     if( op->GetAfterCheckpoint() ) {
00414         m_checkpointMaster->Commit(op->GetAfterCheckpoint());
00415     }
00416 
00417     // CacheSystem must be retired after that of MemOrderManager,
00418     // because CacheSystem uses cache access results of stores 
00419     // set by MemOrderManager.
00420     m_memOrderManager->Commit( op );
00421     m_cacheSystem->Commit( op );    
00422 
00423     m_regDepPred->Commit(op);
00424     m_memDepPred->Commit(op);
00425 
00426     m_fetcher->Commit(op);
00427     m_dispatcher->Commit(op);
00428     m_renamer->Commit(op);
00429     if( op->GetScheduler() != 0 ) {
00430         op->GetScheduler()->Commit(op);
00431     }
00432 
00433     m_notifier->NotifyCommit( op );
00434 }

関数の呼び出しグラフ:

Here is the caller graph for this function:

void InorderList::NotifyFlush ( OpIterator  op  )  [protected]

InorderList.cpp456 行で定義されています。

参照先 Onikiri::MemDepPredIF::Flush()Onikiri::DepPredIF::Flush()Onikiri::PipelineNodeBase::Flush()Onikiri::Dispatcher::Flush()Onikiri::Retirer::Flush()Onikiri::MemOrderManager::Flush()Onikiri::CacheSystem::Flush()Onikiri::CheckpointMaster::Flush()m_cacheSystemm_checkpointMasterm_dispatcherm_fetcherm_memDepPredm_memOrderManagerm_notifierm_regDepPredm_renamerm_retirerOnikiri::OpNotifier::NotifyFlush().

参照元 Flush().

00457 {
00458     if( op->GetAfterCheckpoint() ){
00459         m_checkpointMaster->Flush( op->GetAfterCheckpoint() );
00460     }
00461     if( op->GetBeforeCheckpoint() ){
00462         m_checkpointMaster->Flush( op->GetBeforeCheckpoint() );
00463     }
00464 
00465     op->CancelEvent();
00466     op->ClearEvent();
00467     if( op->GetScheduler() ){
00468         op->GetScheduler()->Flush( op );
00469     }
00470 
00471     m_cacheSystem->Flush( op );
00472     m_memOrderManager->Flush( op );
00473     m_retirer->Flush( op );
00474     m_dispatcher->Flush( op );
00475     m_renamer->Flush( op );
00476     m_fetcher->Flush( op );
00477     m_regDepPred->Flush(op);
00478     m_memDepPred->Flush(op);
00479 
00480     op->DissolveSrcReg();   // src  dependency `
00481     op->DissolveSrcMem();
00482 
00483     m_notifier->NotifyFlush( op );
00484 }

関数の呼び出しグラフ:

Here is the caller graph for this function:

void InorderList::NotifyRetire ( OpIterator  op  )  [protected]

InorderList.cpp437 行で定義されています。

参照先 m_cacheSystemm_dispatcherm_fetcherm_memOrderManagerm_renamerOnikiri::PipelineNodeBase::Retire()Onikiri::Dispatcher::Retire()Onikiri::MemOrderManager::Retire()Onikiri::CacheSystem::Retire().

参照元 Retire().

00438 {
00439     op->ClearEvent();
00440 
00441     if( op->GetScheduler() ){
00442         op->GetScheduler()->Retire( op );
00443     }
00444 
00445     m_cacheSystem->Retire( op );
00446     m_memOrderManager->Retire( op );
00447     m_dispatcher->Retire( op );
00448     m_renamer->Retire( op );
00449     m_fetcher->Retire( op );
00450 
00451     // src  dependency `
00452     op->DissolveSrcReg();
00453     op->DissolveSrcMem();
00454 }

関数の呼び出しグラフ:

Here is the caller graph for this function:

Onikiri::InorderList::PARAM_ENTRY ( "@RemoveOpsOnCommit"  ,
m_removeOpsOnCommit   
)

void InorderList::PopBack (  ) 

InorderList.cpp160 行で定義されています。

参照先 m_inorderListOnikiri::OpList::pop_back().

参照元 FlushBackward().

00161 {
00162     m_inorderList.pop_back();
00163 }

関数の呼び出しグラフ:

Here is the caller graph for this function:

void InorderList::PushBack ( OpIterator  op  ) 

InorderList.cpp153 行で定義されています。

参照先 m_inorderListOnikiri::OpList::push_back().

参照元 Onikiri::Fetcher::Fetch().

00154 {
00155     // Gg
00156     m_inorderList.push_back(op);
00157 }

関数の呼び出しグラフ:

Here is the caller graph for this function:

void InorderList::Retire ( OpIterator  op  ) 

InorderList.cpp336 行で定義されています。

参照先 DestroyOp()Onikiri::DS_RETIREOnikiri::Dumper::Dump()Onikiri::OpList::empty()Onikiri::OpList::front()Onikiri::g_dumperm_committedListm_modem_retiredInsnsm_retiredOpsNotifyRetire()Onikiri::OpStatus::OS_RETIREDOnikiri::OpList::pop_front()Onikiri::PhysicalResourceNode::SM_SIMULATION.

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

00337 {
00338     bool headOp = op->GetNo() == 0; // This op is a head of divided micro ops or not.
00339 
00340     if( m_mode == SM_SIMULATION ){
00341         g_dumper.Dump( DS_RETIRE, op );
00342         op->SetStatus( OpStatus::OS_RETIRED );
00343 
00344         for( OpIterator i = m_committedList.front();
00345              i->GetStatus() == OpStatus::OS_RETIRED;
00346         ){
00347             m_committedList.pop_front();
00348             NotifyRetire( i );
00349             DestroyOp( i );
00350             
00351             if( m_committedList.empty() ){
00352                 break;
00353             }
00354 
00355             i = m_committedList.front();
00356         }
00357     }
00358 
00359     if( headOp ){
00360         ++m_retiredInsns;
00361     }
00362     m_retiredOps++;
00363 }

関数の呼び出しグラフ:

Here is the caller graph for this function:


変数

CacheSystem* Onikiri::InorderList::m_cacheSystem [protected]

InorderList.h178 行で定義されています。

参照元 Initialize()NotifyCommit()NotifyFlush()NotifyRetire().

int Onikiri::InorderList::m_capacity [protected]

InorderList.h188 行で定義されています。

Onikiri::InorderList::m_capacity

InorderList.h70 行で定義されています。

参照元 CanAllocate()Initialize().

CheckpointMaster* Onikiri::InorderList::m_checkpointMaster [protected]

InorderList.h168 行で定義されています。

参照元 Initialize()NotifyCommit()NotifyFlush().

OpList Onikiri::InorderList::m_committedList [protected]

InorderList.h182 行で定義されています。

参照元 CanAllocate()Commit()GetCommittedFrontOp()Initialize()IsEmpty()Retire().

Core* Onikiri::InorderList::m_core [protected]

InorderList.h167 行で定義されています。

参照元 Initialize().

Dispatcher* Onikiri::InorderList::m_dispatcher [protected]

InorderList.h176 行で定義されています。

参照元 Initialize()NotifyCommit()NotifyFlush()NotifyRetire().

Fetcher* Onikiri::InorderList::m_fetcher [protected]

InorderList.h174 行で定義されています。

参照元 Initialize()NotifyCommit()NotifyFlush()NotifyRetire().

OpList Onikiri::InorderList::m_inorderList [protected]

InorderList.h181 行で定義されています。

参照元 CanAllocate()Commit()GetBackOp()GetFrontOp()GetNextIndexOp()GetPrevIndexOp()Initialize()IsEmpty()PopBack()PushBack().

MemDepPredIF* Onikiri::InorderList::m_memDepPred [protected]

InorderList.h173 行で定義されています。

参照元 Initialize()NotifyCommit()NotifyFlush().

MemOrderManager* Onikiri::InorderList::m_memOrderManager [protected]

InorderList.h171 行で定義されています。

参照元 Initialize()NotifyCommit()NotifyFlush()NotifyRetire().

PhysicalResourceNode::SimulationMode Onikiri::InorderList::m_mode [protected]

InorderList.h186 行で定義されています。

参照元 ChangeSimulationMode()Commit()Retire().

OpNotifier* Onikiri::InorderList::m_notifier [protected]

InorderList.h170 行で定義されています。

参照元 GetNotifier()Initialize()NotifyCommit()NotifyFlush().

OpArray* Onikiri::InorderList::m_opArray [protected]

InorderList.h184 行で定義されています。

参照元 ConstructOp()DestroyOp()Initialize().

RegDepPredIF* Onikiri::InorderList::m_regDepPred [protected]

InorderList.h172 行で定義されています。

参照元 Initialize()NotifyCommit()NotifyFlush().

bool Onikiri::InorderList::m_removeOpsOnCommit [protected]

InorderList.h189 行で定義されています。

参照元 CanAllocate().

Renamer* Onikiri::InorderList::m_renamer [protected]

InorderList.h175 行で定義されています。

参照元 Initialize()NotifyCommit()NotifyFlush()NotifyRetire().

s64 Onikiri::InorderList::m_retiredInsns [protected]

InorderList.h193 行で定義されています。

参照元 GetRetiredInsns()Retire().

s64 Onikiri::InorderList::m_retiredOps [protected]

InorderList.h192 行で定義されています。

参照元 GetRetiredInstructionCount()GetRetiredOps()Retire().

Retirer* Onikiri::InorderList::m_retirer [protected]

InorderList.h177 行で定義されています。

参照元 Initialize()NotifyFlush().

Thread* Onikiri::InorderList::m_thread [protected]

InorderList.h169 行で定義されています。

参照元 Initialize().

HookPoint< InorderList > Onikiri::InorderList::s_opFlushHook [static]

InorderList.h156 行で定義されています。

参照元 Flush()Onikiri::SampleHookModule::Initialize().


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