CCTLib
Calling-context and data-object attribution library for Intel Pin
HandleGeneralRegisters< T, len > Struct Template Reference

Static Public Member Functions

static __attribute__ ((always_inline)) void CheckValues(T value
 

Public Attributes

static REG reg
 
static REG uint32_t opaqueHandle
 
static REG uint32_t THREADID threadId
 
ContextHandle_t curCtxtHandle = GetContextHandle(threadId, opaqueHandle)
 
T * regBefore = (T*)(&tData->regValue[reg][0])
 
if regBefore
 
else * regBefore = value
 
tData regCtxt [reg] = curCtxtHandle
 

Detailed Description

template<class T, uint8_t len>
struct HandleGeneralRegisters< T, len >

Definition at line 644 of file redspy_temporal_client.cpp.

Member Function Documentation

◆ __attribute__()

template<class T , uint8_t len>
static HandleGeneralRegisters< T, len >::__attribute__ ( (always_inline)  )
static

References ClientGetTLS().

Member Data Documentation

◆ curCtxtHandle

template<class T , uint8_t len>
ContextHandle_t HandleGeneralRegisters< T, len >::curCtxtHandle = GetContextHandle(threadId, opaqueHandle)

Definition at line 647 of file redspy_temporal_client.cpp.

◆ opaqueHandle

template<class T , uint8_t len>
REG uint32_t HandleGeneralRegisters< T, len >::opaqueHandle

Definition at line 645 of file redspy_temporal_client.cpp.

◆ reg

template<class T , uint8_t len>
REG HandleGeneralRegisters< T, len >::reg

Definition at line 645 of file redspy_temporal_client.cpp.

◆ regBefore [1/3]

template<class T , uint8_t len>
T* HandleGeneralRegisters< T, len >::regBefore = (T*)(&tData->regValue[reg][0])

Definition at line 649 of file redspy_temporal_client.cpp.

◆ regBefore [2/3]

template<class T , uint8_t len>
if HandleGeneralRegisters< T, len >::regBefore
Initial value:
{
AddToRedTable(MAKE_CONTEXT_PAIR(tData->regCtxt[reg], curCtxtHandle), sizeof(T), threadId)
static void AddToRedTable(uint64_t key, uint16_t value, THREADID threadId) __attribute__((always_inline
#define MAKE_CONTEXT_PAIR(a, b)
static REG uint32_t THREADID threadId

Definition at line 651 of file redspy_temporal_client.cpp.

◆ regBefore [3/3]

template<class T , uint8_t len>
else* HandleGeneralRegisters< T, len >::regBefore = value

Definition at line 654 of file redspy_temporal_client.cpp.

◆ regCtxt

template<class T , uint8_t len>
tData HandleGeneralRegisters< T, len >::regCtxt[reg] = curCtxtHandle

Definition at line 655 of file redspy_temporal_client.cpp.

◆ threadId

template<class T , uint8_t len>
REG uint32_t THREADID HandleGeneralRegisters< T, len >::threadId
Initial value:
{
RedSpyThreadData * ClientGetTLS(const THREADID threadId)

Definition at line 645 of file redspy_temporal_client.cpp.


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