Pin
Public Member Functions | List of all members
IMULTI_ELEMENT_OPERAND Class Referenceabstract

Public Member Functions

virtual BOOL IsMemory ()=0
 
virtual BOOL IsRegister ()=0
 
virtual USIZE Size ()=0
 
virtual ADDRINT Address ()=0
 
virtual UINT32 NumOfElements ()=0
 
virtual USIZE ElementSize (UINT32 element_index)=0
 
virtual ADDRINT ElementAddress (UINT32 element_index)=0
 
virtual UINT32 ElementMaskValue (UINT32 element_index)=0
 
virtual PIN_OP_ELEMENT_ACCESS ElementAccessType (UINT32 element_index)=0
 

Detailed Description

An object implementing this interface is passed to analysis routine when IARG_MULTI_ELEMENT_OPERAND is requested. This interface allows inspecting multi element operands (register or memory).

Member Function Documentation

◆ Address()

virtual ADDRINT IMULTI_ELEMENT_OPERAND::Address ( )
pure virtual

Effective address of the full operand. For memory operands that do not have an address (for example, the memory operand of vscatter/vgather) is returned. This function should be used only for Memory operands and will ASSERT if used for Register operands.

◆ ElementAccessType()

virtual PIN_OP_ELEMENT_ACCESS IMULTI_ELEMENT_OPERAND::ElementAccessType ( UINT32  element_index)
pure virtual

Element access type (read/write/readwrite)

◆ ElementAddress()

virtual ADDRINT IMULTI_ELEMENT_OPERAND::ElementAddress ( UINT32  element_index)
pure virtual

Element effective address

◆ ElementMaskValue()

virtual UINT32 IMULTI_ELEMENT_OPERAND::ElementMaskValue ( UINT32  element_index)
pure virtual

Element mask value - 0 or 1

◆ ElementSize()

virtual USIZE IMULTI_ELEMENT_OPERAND::ElementSize ( UINT32  element_index)
pure virtual

Element size

◆ IsMemory()

virtual BOOL IMULTI_ELEMENT_OPERAND::IsMemory ( )
pure virtual

Is this a Memory operand

◆ IsRegister()

virtual BOOL IMULTI_ELEMENT_OPERAND::IsRegister ( )
pure virtual

Is this a Register operand

◆ NumOfElements()

virtual UINT32 IMULTI_ELEMENT_OPERAND::NumOfElements ( )
pure virtual

Number of operand elements

◆ Size()

virtual USIZE IMULTI_ELEMENT_OPERAND::Size ( )
pure virtual

Full operand size. For operands that do not have a size. (for example, the memory operand of vscatter/vgather) - 0 is returned)


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