クラス Onikiri::OpClass

#include <OpClass.h>

すべてのメンバ一覧

Public メソッド

OpClassCode::OpClassCode GetCode () const
bool IsAddr () const
bool IsBranch () const
bool IsCall () const
bool IsConditionalBranch () const
bool IsFloat () const
bool IsIFConversion () const
bool IsIndirectJump () const
bool IsInt () const
bool IsLoad () const
bool IsMem () const
bool IsNop () const
bool IsReturn () const
bool IsStore () const
bool IsSubroutine () const
bool IsSyscall () const
bool IsUnconditionalBranch () const
 OpClass (OpClassCode::OpClassCode code)
const std::string ToString () const
 ~OpClass ()

Static Public メソッド

static int GetMaxCode ()


説明

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


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

Onikiri::OpClass::OpClass ( OpClassCode::OpClassCode  code  )  [inline]

OpClass.h77 行で定義されています。

参照先 Onikiri::OpClassCode::IsAddr()Onikiri::OpClassCode::IsBranch()Onikiri::OpClassCode::IsCall()Onikiri::OpClassCode::IsConditionalBranch()Onikiri::OpClassCode::IsFloat()Onikiri::OpClassCode::IsIFConversion()Onikiri::OpClassCode::IsIndirectJump()Onikiri::OpClassCode::IsInt()Onikiri::OpClassCode::IsLoad()Onikiri::OpClassCode::IsMem()Onikiri::OpClassCode::IsNop()Onikiri::OpClassCode::IsReturn()Onikiri::OpClassCode::IsStore()Onikiri::OpClassCode::IsSubroutine()Onikiri::OpClassCode::IsSyscall()Onikiri::OpClassCode::IsUnconditionalBranch().

00077                                                : m_code(code)
00078         {
00079             m_opClassBits = 0;
00080             m_opClassBits |= OpClassCode::IsBranch( code )              ? MASK_BRANCH : 0;
00081             m_opClassBits |= OpClassCode::IsConditionalBranch( code )   ? MASK_CONDITIONAL_BRANCH : 0;
00082             m_opClassBits |= OpClassCode::IsUnconditionalBranch( code ) ? MASK_UNCONDITIONAL_BRANCH : 0;
00083             m_opClassBits |= OpClassCode::IsIndirectJump( code )        ? MASK_INDIRECT_JUMP : 0;
00084             m_opClassBits |= OpClassCode::IsCall( code )                ? MASK_CALL      : 0;
00085             m_opClassBits |= OpClassCode::IsReturn( code )              ? MASK_RETURN    : 0;
00086             m_opClassBits |= OpClassCode::IsSubroutine( code )          ? MASK_SUBROUTINE : 0;
00087             m_opClassBits |= OpClassCode::IsMem( code )                 ? MASK_MEM      : 0;
00088             m_opClassBits |= OpClassCode::IsLoad( code )                ? MASK_LOAD     : 0;
00089             m_opClassBits |= OpClassCode::IsStore( code )               ? MASK_STORE    : 0;
00090             m_opClassBits |= OpClassCode::IsAddr( code )                ? MASK_ADDR     : 0;
00091             m_opClassBits |= OpClassCode::IsInt( code )                 ? MASK_INT      : 0;
00092             m_opClassBits |= OpClassCode::IsFloat( code )               ? MASK_FLOAT    : 0;
00093             m_opClassBits |= OpClassCode::IsIFConversion( code )        ? MASK_IFCONV   : 0;
00094             m_opClassBits |= OpClassCode::IsSyscall( code )             ? MASK_SYSCALL  : 0;
00095             m_opClassBits |= OpClassCode::IsNop( code )                 ? MASK_NOP      : 0;
00096         }

関数の呼び出しグラフ:

Onikiri::OpClass::~OpClass (  )  [inline]

OpClass.h98 行で定義されています。

00098 {}


関数

OpClassCode::OpClassCode Onikiri::OpClass::GetCode (  )  const [inline]

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

参照元 Onikiri::MemExecUnit::GetLatency()Onikiri::ExecUnitBase::GetLatency().

00102         {
00103             return m_code;
00104         }

Here is the caller graph for this function:

static int Onikiri::OpClass::GetMaxCode (  )  [inline, static]

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

参照先 Onikiri::OpClassCode::Code_MAX.

00174         {
00175             return OpClassCode::Code_MAX;
00176         }

bool Onikiri::OpClass::IsAddr (  )  const [inline]

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

00148         {   return BitTest( MASK_ADDR );    }

bool Onikiri::OpClass::IsBranch (  )  const [inline]

OpClass.h107 行で定義されています。

参照元 Onikiri::BPred::Commit()Onikiri::BPred::Finished()Onikiri::Core::IsRequiredCheckpointAfter()Onikiri::BranchTypeUtility::OpClassToBranchType()Onikiri::InorderSystem::Run().

00108         {   return BitTest( MASK_BRANCH );  }

Here is the caller graph for this function:

bool Onikiri::OpClass::IsCall (  )  const [inline]

OpClass.h124 行で定義されています。

参照元 Onikiri::BranchTypeUtility::OpClassToBranchType().

00125         {   return BitTest( MASK_CALL );        }

Here is the caller graph for this function:

bool Onikiri::OpClass::IsConditionalBranch (  )  const [inline]

OpClass.h113 行で定義されています。

参照元 Onikiri::BPred::Commit()Onikiri::BPred::Finished()Onikiri::BranchTypeUtility::OpClassToBranchType()Onikiri::BTB::Update().

00114         {   return BitTest( MASK_CONDITIONAL_BRANCH );      }

Here is the caller graph for this function:

bool Onikiri::OpClass::IsFloat (  )  const [inline]

OpClass.h155 行で定義されています。

参照元 Onikiri::MemExecUnit::GetLatency().

00156         {   return BitTest( MASK_FLOAT );   }

Here is the caller graph for this function:

bool Onikiri::OpClass::IsIFConversion (  )  const [inline]

OpClass.h159 行で定義されています。

00160         {   return BitTest( MASK_IFCONV );  }

bool Onikiri::OpClass::IsIndirectJump (  )  const [inline]

OpClass.h120 行で定義されています。

00121         {   return BitTest( MASK_INDIRECT_JUMP );           }

bool Onikiri::OpClass::IsInt (  )  const [inline]

OpClass.h151 行で定義されています。

00152         {   return BitTest( MASK_INT );     }

bool Onikiri::OpClass::IsLoad (  )  const [inline]

OpClass.h139 行で定義されています。

参照元 Onikiri::MemOrderManager::Allocate()Onikiri::MemOrderManager::Commit()Onikiri::CacheSystem::Commit()Onikiri::MemOrderManager::Delete()Onikiri::MemOrderManager::Finished()Onikiri::MemOrderManager::GetConsumerLoad()Onikiri::MemExecUnit::GetLatency()Onikiri::DataPredMissRecovery::IsRequiredAfterCheckpoint()Onikiri::DataPredMissRecovery::IsRequiredBeforeCheckpoint()Onikiri::DebugStub::OnExec()Onikiri::LatPred::Predict()Onikiri::PerfectMemDepPred::Resolve()Onikiri::InorderSystem::Run().

00140         {   return BitTest( MASK_LOAD );    }

Here is the caller graph for this function:

bool Onikiri::OpClass::IsMem (  )  const [inline]

OpClass.h135 行で定義されています。

参照元 Onikiri::MemOrderManager::Allocate()Onikiri::CacheSystem::Commit()Onikiri::MemExecUnit::GetLatency()Onikiri::MemExecUnit::GetLatencyCount()Onikiri::ForwardEmulator::OnCommit()Onikiri::PerfectMemDepPred::Resolve().

00136         {   return BitTest( MASK_MEM );     }

Here is the caller graph for this function:

bool Onikiri::OpClass::IsNop (  )  const [inline]

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

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

00170         {   return BitTest( MASK_NOP );     }

Here is the caller graph for this function:

bool Onikiri::OpClass::IsReturn (  )  const [inline]

OpClass.h128 行で定義されています。

参照元 Onikiri::BranchTypeUtility::OpClassToBranchType().

00129         {   return BitTest( MASK_RETURN );      }

Here is the caller graph for this function:

bool Onikiri::OpClass::IsStore (  )  const [inline]

OpClass.h143 行で定義されています。

参照元 Onikiri::Retirer::CanCommitOp()Onikiri::MemOrderManager::Commit()Onikiri::MemOrderManager::Delete()Onikiri::MemOrderManager::Finished()Onikiri::Op::GetFirstConsumer()Onikiri::MemExecUnit::GetLatency()Onikiri::MemExecUnit::GetLatencyCount()Onikiri::DataPredMissRecovery::IsRequiredAfterCheckpoint()Onikiri::DataPredMissRecovery::IsRequiredBeforeCheckpoint()Onikiri::DebugStub::OnExec()Onikiri::ForwardEmulator::OnFetch()Onikiri::PerfectMemDepPred::Resolve()Onikiri::InorderSystem::Run().

00144         {   return BitTest( MASK_STORE );   }

Here is the caller graph for this function:

bool Onikiri::OpClass::IsSubroutine (  )  const [inline]

OpClass.h131 行で定義されています。

00132         {   return BitTest( MASK_SUBROUTINE );  }

bool Onikiri::OpClass::IsSyscall (  )  const [inline]

OpClass.h165 行で定義されています。

参照元 Onikiri::Fetcher::IsSerializingRequired()Onikiri::ForwardEmulator::OnCommit()Onikiri::ForwardEmulator::OnFetch().

00166         {   return BitTest( MASK_SYSCALL ); }

Here is the caller graph for this function:

bool Onikiri::OpClass::IsUnconditionalBranch (  )  const [inline]

OpClass.h116 行で定義されています。

00117         {   return BitTest( MASK_UNCONDITIONAL_BRANCH );    }

const std::string Onikiri::OpClass::ToString (  )  const [inline]

OpClass.h179 行で定義されています。

参照先 Onikiri::OpClassCode::ToString().

参照元 Onikiri::Op::ToString().

00180         {
00181             return OpClassCode::ToString( m_code );
00182         }

関数の呼び出しグラフ:

Here is the caller graph for this function:


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