src/Sim/Foundation/Hook/HookUtil.h

#include "Sim/Foundation/Hook/Hook.h"

HookUtil.hのインクルード依存関係図

このグラフは、どのファイルから直接、間接的にインクルードされているかを示しています。

ソースコードを見る。

ネームスペース

namespace  Onikiri

マクロ定義

#define HOOK_SECTION(hookPoint)
#define HOOK_SECTION_OP(hookPoint, op)
#define HOOK_SECTION_OP_PARAM(hookPoint, op, param)
#define HOOK_SECTION_PARAM(hookPoint, param)

関数

template<typename ClassType, typename HookPointType, typename Parameter>
INLINE void Onikiri::HookEntry (ClassType *obj, void(ClassType::*MethodPtr)(OpIterator op, Parameter param), HookPointType *hookPoint, OpIterator op, Parameter param)
template<typename ClassType, typename HookPointType>
INLINE void Onikiri::HookEntry (ClassType *obj, void(ClassType::*MethodPtr)(OpIterator op), HookPointType *hookPoint, OpIterator op)
template<typename ClassType, typename HookPointType, typename HookParamType>
INLINE void Onikiri::HookEntry (ClassType *obj, void(ClassType::*MethodPtr)(HookParamType *param), HookPointType *hookPoint, HookParamType *hookParam)
template<typename ClassType, typename HookPointType>
INLINE void Onikiri::HookEntry (ClassType *obj, void(ClassType::*MethodPtr)(), HookPointType *hookPoint)
template<typename ClassType, typename HookPointType, typename Parameter>
NOINLINE void Onikiri::HookEntryBody (ClassType *obj, void(ClassType::*MethodPtr)(OpIterator op, Parameter param), HookPointType *hookPoint, OpIterator op, Parameter param)
template<typename ClassType, typename HookPointType>
NOINLINE void Onikiri::HookEntryBody (ClassType *obj, void(ClassType::*MethodPtr)(OpIterator op), HookPointType *hookPoint, OpIterator op)
template<typename ClassType, typename HookPointType, typename HookParamType>
NOINLINE void Onikiri::HookEntryBody (ClassType *obj, void(ClassType::*MethodPtr)(HookParamType *param), HookPointType *hookPoint, HookParamType *hookParam)
template<typename ClassType, typename HookPointType>
NOINLINE void Onikiri::HookEntryBody (ClassType *obj, void(ClassType::*MethodPtr)(), HookPointType *hookPoint)
template<typename Caller, typename HookPoint, typename Parameter>
INLINE bool Onikiri::HookSectionAfter (Caller *caller, HookPoint *hookPoint, OpIterator op, Parameter *param)
template<typename Caller, typename HookPoint, typename Parameter>
INLINE bool Onikiri::HookSectionAfter (Caller *caller, HookPoint *hookPoint, Parameter *param)
template<typename Caller, typename HookPoint>
INLINE bool Onikiri::HookSectionAfter (Caller *caller, HookPoint *hookPoint, OpIterator op)
template<typename Caller, typename HookPoint>
INLINE bool Onikiri::HookSectionAfter (Caller *caller, HookPoint *hookPoint)
template<typename Caller, typename HookPoint, typename Parameter>
INLINE bool Onikiri::HookSectionBefore (Caller *caller, HookPoint *hookPoint, OpIterator op, Parameter *param)
template<typename Caller, typename HookPoint, typename Parameter>
INLINE bool Onikiri::HookSectionBefore (Caller *caller, HookPoint *hookPoint, Parameter *param)
template<typename Caller, typename HookPoint>
INLINE bool Onikiri::HookSectionBefore (Caller *caller, HookPoint *hookPoint, OpIterator op)
template<typename Caller, typename HookPoint>
INLINE bool Onikiri::HookSectionBefore (Caller *caller, HookPoint *hookPoint)


マクロ定義

#define HOOK_SECTION ( hookPoint   ) 

値:

for( \
            bool onikiri_exitSection = HookSectionBefore( this, &hookPoint ); \
            !onikiri_exitSection; \
            onikiri_exitSection = HookSectionAfter( this, &hookPoint ) \
        )

HookUtil.h318 行で定義されています。

#define HOOK_SECTION_OP ( hookPoint,
op   ) 

値:

for( \
            bool onikiri_exitSection = HookSectionBefore( this, &hookPoint, op ); \
            !onikiri_exitSection; \
            onikiri_exitSection = HookSectionAfter( this, &hookPoint, op ) \
        )

HookUtil.h360 行で定義されています。

参照元 Onikiri::Retirer::Commit()Onikiri::Renamer::Evaluate()Onikiri::InorderList::Flush()Onikiri::BPred::RecoveryFromBPredMiss()Onikiri::Renamer::Rename()Onikiri::Retirer::Retire()Onikiri::Renamer::Steer()Onikiri::OpExecuteEvent::Update().

#define HOOK_SECTION_OP_PARAM ( hookPoint,
op,
param   ) 

値:

for( \
            bool onikiri_exitSection = HookSectionBefore( this, &hookPoint, op, &param ); \
            !onikiri_exitSection; \
            onikiri_exitSection = HookSectionAfter( this, &hookPoint, op, &param ) \
        )

HookUtil.h441 行で定義されています。

参照元 Onikiri::Retirer::CanCommitOp()Onikiri::Dispatcher::Evaluate()Onikiri::MemOrderManager::ReadMemImage()Onikiri::Scheduler::Reschedule()Onikiri::OpFinishEvent::Update()Onikiri::Dispatcher::Update()Onikiri::MemOrderManager::WriteMemImage().

#define HOOK_SECTION_PARAM ( hookPoint,
param   ) 

値:

for( \
            bool onikiri_exitSection = HookSectionBefore( this, &hookPoint, &param ); \
            !onikiri_exitSection; \
            onikiri_exitSection = HookSectionAfter( this, &hookPoint, &param ) \
        )

HookUtil.h401 行で定義されています。

参照元 Onikiri::Fetcher::CanFetch()Onikiri::Fetcher::Fetch()Onikiri::Retirer::GetCommitableThread()Onikiri::Fetcher::GetFetchThread()Onikiri::Core::IsRequiredCheckpointAfter()Onikiri::Core::IsRequiredCheckpointBefore().


Onikiri2に対してTue Jun 18 14:39:43 2013に生成されました。  doxygen 1.4.7