CCTLib
Calling-context and data-object attribution library for Intel Pin
ZeroSpyAnalysis< T, AccessLen, isApprox > Struct Template Reference

Public Member Functions

 if (ISSAMECACHELINE(addr, AccessLen))
 
 for (i=1;ISSAMECACHELINE(addr, i);++i)
 
 AddToRedTable (GET_CACHELINE_INDEX((uint64_t) addr), rednum, zero, threadId)
 
 for (i=i+1;i< AccessLen;++i)
 
 AddToRedTable (key, rednum, zero, threadId)
 
 if (isApprox)
 
 if (redbyteNum)
 

Static Public Member Functions

static __attribute__ ((always_inline)) VOID CheckNByteValueAfterRead(void *addr
 
static __attribute__ ((always_inline)) uint64_t getRedMap(void *addr)
 
static __attribute__ ((always_inline)) uint64_t getRedNum(void *addr)
 
static __attribute__ ((always_inline)) VOID CheckNByteValueAfterRead(void *addr
 
static __attribute__ ((always_inline)) void getRedMap(void *addr
 

Public Attributes

static uint32_t opaqueHandle
 
static uint32_t THREADID threadId
 
 else
 
uint8_t zero = bytes[0] == 0
 
uint32_t rednum = zero
 
uint64_t key = GET_CACHELINE_INDEX((uint64_t)(bytes + i))
 
 zero = bytes[i] == 0
 
 rednum = zero
 

Detailed Description

template<class T, uint32_t AccessLen, bool isApprox>
struct ZeroSpyAnalysis< T, AccessLen, isApprox >

Definition at line 553 of file zerospy_cachepage.cpp.

Member Function Documentation

◆ __attribute__() [1/5]

template<class T , uint32_t AccessLen, bool isApprox>
static ZeroSpyAnalysis< T, AccessLen, isApprox >::__attribute__ ( (always_inline)  )
inlinestatic

Definition at line 950 of file zerospy_client.cpp.

◆ __attribute__() [2/5]

template<class T , uint32_t AccessLen, bool isApprox>
static ZeroSpyAnalysis< T, AccessLen, isApprox >::__attribute__ ( (always_inline)  )
inlinestatic

Definition at line 955 of file zerospy_client.cpp.

◆ __attribute__() [3/5]

template<class T , uint32_t AccessLen, bool isApprox>
static ZeroSpyAnalysis< T, AccessLen, isApprox >::__attribute__ ( (always_inline)  )
static

◆ __attribute__() [4/5]

template<class T , uint32_t AccessLen, bool isApprox>
static ZeroSpyAnalysis< T, AccessLen, isApprox >::__attribute__ ( (always_inline)  )
static

◆ __attribute__() [5/5]

template<class T , uint32_t AccessLen, bool isApprox>
static ZeroSpyAnalysis< T, AccessLen, isApprox >::__attribute__ ( (always_inline)  )
static

◆ AddToRedTable() [1/2]

template<class T , uint32_t AccessLen, bool isApprox>
ZeroSpyAnalysis< T, AccessLen, isApprox >::AddToRedTable ( GET_CACHELINE_INDEX((uint64_t) addr)  ,
rednum  ,
zero  ,
threadId   
)

◆ AddToRedTable() [2/2]

template<class T , uint32_t AccessLen, bool isApprox>
ZeroSpyAnalysis< T, AccessLen, isApprox >::AddToRedTable ( key  ,
rednum  ,
zero  ,
threadId   
)

◆ for() [1/2]

template<class T , uint32_t AccessLen, bool isApprox>
ZeroSpyAnalysis< T, AccessLen, isApprox >::for ( = 1; ISSAMECACHELINE(addr, i); ++i)
inline

Definition at line 571 of file zerospy_cachepage.cpp.

◆ for() [2/2]

template<class T , uint32_t AccessLen, bool isApprox>
ZeroSpyAnalysis< T, AccessLen, isApprox >::for ( )
inline

Definition at line 579 of file zerospy_cachepage.cpp.

◆ if() [1/3]

template<class T , uint32_t AccessLen, bool isApprox>
ZeroSpyAnalysis< T, AccessLen, isApprox >::if ( isApprox  )
inline

Definition at line 973 of file zerospy_client.cpp.

References AddToApproximateRedTable().

◆ if() [2/3]

template<class T , uint32_t AccessLen, bool isApprox>
ZeroSpyAnalysis< T, AccessLen, isApprox >::if ( ISSAMECACHELINE(addr, AccessLen)  )
inline

Definition at line 559 of file zerospy_cachepage.cpp.

References AddToRedTable(), and GET_CACHELINE_INDEX.

◆ if() [3/3]

template<class T , uint32_t AccessLen, bool isApprox>
ZeroSpyAnalysis< T, AccessLen, isApprox >::if ( redbyteNum  )
inline

Definition at line 987 of file zerospy_client.cpp.

References AddToRedTable(), and MAKE_CONTEXT_PAIR.

Member Data Documentation

◆ else

template<class T , uint32_t AccessLen, bool isApprox>
ZeroSpyAnalysis< T, AccessLen, isApprox >::else
Initial value:
{
uint32_t i

Definition at line 567 of file zerospy_cachepage.cpp.

◆ key

template<class T , uint32_t AccessLen, bool isApprox>
uint64_t ZeroSpyAnalysis< T, AccessLen, isApprox >::key = GET_CACHELINE_INDEX((uint64_t)(bytes + i))

Definition at line 576 of file zerospy_cachepage.cpp.

◆ opaqueHandle

template<class T , uint32_t AccessLen, bool isApprox>
static uint32_t ZeroSpyAnalysis< T, AccessLen, isApprox >::opaqueHandle

Definition at line 554 of file zerospy_cachepage.cpp.

◆ rednum [1/2]

template<class T , uint32_t AccessLen, bool isApprox>
uint32_t ZeroSpyAnalysis< T, AccessLen, isApprox >::rednum = zero

Definition at line 570 of file zerospy_cachepage.cpp.

◆ rednum [2/2]

template<class T , uint32_t AccessLen, bool isApprox>
ZeroSpyAnalysis< T, AccessLen, isApprox >::rednum = zero

Definition at line 578 of file zerospy_cachepage.cpp.

◆ threadId

template<class T , uint32_t AccessLen, bool isApprox>
static uint32_t THREADID ZeroSpyAnalysis< T, AccessLen, isApprox >::threadId
Initial value:
{
uint8_t* bytes = static_cast<uint8_t*>(addr)

Definition at line 554 of file zerospy_cachepage.cpp.

◆ zero [1/2]

template<class T , uint32_t AccessLen, bool isApprox>
uint8_t ZeroSpyAnalysis< T, AccessLen, isApprox >::zero = bytes[0] == 0

Definition at line 569 of file zerospy_cachepage.cpp.

◆ zero [2/2]

template<class T , uint32_t AccessLen, bool isApprox>
ZeroSpyAnalysis< T, AccessLen, isApprox >::zero = bytes[i] == 0

Definition at line 577 of file zerospy_cachepage.cpp.


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