CCTLib
Calling-context and data-object attribution library for Intel Pin
HandleSpecialRegisters< lenInt64 > Struct Template Reference

Public Member Functions

 if (lenInt64==1)
 
else if (lenInt64==2)
 
 for (int i=0, j=0;i< lenInt64;++i, j+=8)
 
 if (isRedundant) AddToRedTable(MAKE_CONTEXT_PAIR(tData -> simdCtxt[regID], curCtxtHandle), lenInt64 *8, threadId)
 
 if (lenInt64==2)
 
 for (int i=0, j=0;i< lenInt64;++i, j+=8)
 
 if (isRedundant) AddToRedTable(MAKE_CONTEXT_PAIR(tData -> simdCtxt[simdID], curCtxtHandle), lenInt64 *8, threadId)
 

Static Public Member Functions

static __attribute__ ((always_inline)) void CheckRegValues(PIN_REGISTER *regRef
 
static __attribute__ ((always_inline)) void CheckSIMDRegValues(PIN_REGISTER *regRef
 

Public Attributes

static REG regID
 
static REG uint32_t opaqueHandle
 
static REG uint32_t THREADID threadId
 
ContextHandle_t curCtxtHandle = GetContextHandle(threadId, opaqueHandle)
 
 else
 
bool isRedundant = true
 
tData simdCtxt [regID] = curCtxtHandle
 
static uint8_t simdID
 
static uint8_t uint32_t opaqueHandle
 
static uint8_t uint32_t THREADID threadId
 

Detailed Description

template<uint8_t lenInt64>
struct HandleSpecialRegisters< lenInt64 >

Definition at line 661 of file redspy_temporal_client.cpp.

Member Function Documentation

◆ __attribute__() [1/2]

template<uint8_t lenInt64>
static HandleSpecialRegisters< lenInt64 >::__attribute__ ( (always_inline)  )
static

References ClientGetTLS().

◆ __attribute__() [2/2]

template<uint8_t lenInt64>
static HandleSpecialRegisters< lenInt64 >::__attribute__ ( (always_inline)  )
static

◆ for() [1/2]

template<uint8_t lenInt64>
HandleSpecialRegisters< lenInt64 >::for ( int  i = 0)
inline

Definition at line 690 of file redspy_temporal_client.cpp.

References RedSpyThreadData::simdValue, and LargeReg::value.

◆ for() [2/2]

template<uint8_t lenInt64>
HandleSpecialRegisters< lenInt64 >::for ( int  i = 0)
inline

Definition at line 722 of file redspy_temporal_client.cpp.

References RedSpyThreadData::simdValue, and LargeReg::value.

◆ if() [1/5]

template<uint8_t lenInt64>
HandleSpecialRegisters< lenInt64 >::if ( isRedundant  ) -> simdCtxt[regID], curCtxtHandle), lenInt64 *8, threadId)

◆ if() [2/5]

template<uint8_t lenInt64>
HandleSpecialRegisters< lenInt64 >::if ( isRedundant  ) -> simdCtxt[simdID], curCtxtHandle), lenInt64 *8, threadId)

◆ if() [3/5]

template<uint8_t lenInt64>
HandleSpecialRegisters< lenInt64 >::if ( lenInt64  = = 1)
inline

◆ if() [4/5]

template<uint8_t lenInt64>
else HandleSpecialRegisters< lenInt64 >::if ( lenInt64  = = 2)
inline

Definition at line 676 of file redspy_temporal_client.cpp.

◆ if() [5/5]

template<uint8_t lenInt64>
HandleSpecialRegisters< lenInt64 >::if ( lenInt64  = = 2)
inline

Member Data Documentation

◆ curCtxtHandle

template<uint8_t lenInt64>
ContextHandle_t HandleSpecialRegisters< lenInt64 >::curCtxtHandle = GetContextHandle(threadId, opaqueHandle)

Definition at line 666 of file redspy_temporal_client.cpp.

◆ else

template<uint8_t lenInt64>
HandleSpecialRegisters< lenInt64 >::else
Initial value:
{
uint64_t* oldValue

Definition at line 687 of file redspy_temporal_client.cpp.

◆ isRedundant

template<uint8_t lenInt64>
bool HandleSpecialRegisters< lenInt64 >::isRedundant = true

Definition at line 689 of file redspy_temporal_client.cpp.

◆ opaqueHandle [1/2]

template<uint8_t lenInt64>
REG uint32_t HandleSpecialRegisters< lenInt64 >::opaqueHandle

Definition at line 663 of file redspy_temporal_client.cpp.

◆ opaqueHandle [2/2]

template<uint8_t lenInt64>
uint8_t uint32_t HandleSpecialRegisters< lenInt64 >::opaqueHandle

Definition at line 705 of file redspy_temporal_client.cpp.

◆ regID

template<uint8_t lenInt64>
REG HandleSpecialRegisters< lenInt64 >::regID

Definition at line 663 of file redspy_temporal_client.cpp.

◆ simdCtxt

template<uint8_t lenInt64>
tData HandleSpecialRegisters< lenInt64 >::simdCtxt = curCtxtHandle

Definition at line 701 of file redspy_temporal_client.cpp.

◆ simdID

template<uint8_t lenInt64>
uint8_t HandleSpecialRegisters< lenInt64 >::simdID

Definition at line 705 of file redspy_temporal_client.cpp.

◆ threadId [1/2]

template<uint8_t lenInt64>
REG uint32_t THREADID HandleSpecialRegisters< lenInt64 >::threadId
Initial value:
{
RedSpyThreadData * ClientGetTLS(const THREADID threadId)
static REG uint32_t THREADID threadId

Definition at line 663 of file redspy_temporal_client.cpp.

◆ threadId [2/2]

template<uint8_t lenInt64>
uint8_t uint32_t THREADID HandleSpecialRegisters< lenInt64 >::threadId
Initial value:

Definition at line 705 of file redspy_temporal_client.cpp.


The documentation for this struct was generated from the following file: