Pin
|
Classes | |
class | REGISTER_SET |
Typedefs | |
typedef class REGISTER_SET< REG_FirstInRegset, REG_LastInRegset > | REGSET |
Functions | |
VOID | BBL_MoveAllAttributes (BBL fromBbl, BBL toBbl) |
UINT32 | BBL_NumIns (BBL bbl) |
LOCALVAR KNOB_COMMENT | KnobCheckFamily ("supported:check", "Self-checking done inside Pin") |
LOCALVAR KNOB< UINT32 > | KnobMaxIns (KNOB_MODE_WRITEONCE, "supported:debug", "max_ins", "16384", "Maximum number of INS allowed") |
LOCALVAR KNOB< UINT32 > | KnobMaxRtn (KNOB_MODE_WRITEONCE, "supported:debug", "max_rtn", "16384", "Maximum number of RTN allowed") |
LOCALVAR KNOB< UINT32 > | KnobMaxSym (KNOB_MODE_WRITEONCE, "supported:debug", "max_sym", "16384", "Maximum number of SYM allowed") |
LOCALVAR KNOB< UINT32 > | KnobMaxSec (KNOB_MODE_WRITEONCE, "supported:debug", "max_sec", "16384", "Maximum number of SEC allowed") |
LOCALVAR KNOB< BOOL > | KnobRecycle (KNOB_MODE_WRITEONCE, "supported:debug", "recycle", "1", "Reuse freed stripe elements") |
LOCALVAR KNOB< BOOL > | KnobRecycleRtn (KNOB_MODE_WRITEONCE, "supported:debug", "recycle_rtn", "1", "Reuse freed rtn") |
BOOL | INS_HasRealRep (INS ins) |
BOOL | INS_IsStandardMemop (INS ins) |
BOOL | INS_IsCacheLineFlush (INS ins) |
INT32 | INS_Category (const INS ins) |
INT32 | INS_Extension (const INS ins) |
UINT32 | INS_EffectiveAddressWidth (INS ins) |
USIZE | INS_MemoryOperandSize (INS ins, UINT32 memoryOp) |
USIZE | INS_MemoryWriteSize (INS ins) |
USIZE | INS_MemoryReadSize (INS ins) |
PREDICATE | INS_GetPredicate (INS ins) |
BOOL | INS_IsMemoryRead (INS ins) |
BOOL | INS_IsMemoryWrite (INS ins) |
BOOL | INS_HasMemoryRead2 (INS ins) |
BOOL | INS_HasFallThrough (INS ins) |
BOOL | INS_IsSysenter (INS ins) |
BOOL | INS_IsXbegin (INS ins) |
BOOL | INS_IsXend (INS ins) |
BOOL | INS_IsLea (INS ins) |
BOOL | INS_IsNop (INS ins) |
std::string | OPCODE_StringShort (UINT32 opcode) |
std::string | INS_Mnemonic (INS ins) |
BOOL | INS_IsBranch (INS ins) |
BOOL | INS_IsDirectBranch (INS ins) |
BOOL | INS_IsDirectCall (INS ins) |
PIN_DEPRECATED_API BOOL | INS_IsDirectBranchOrCall (INS ins) |
BOOL | INS_IsDirectControlFlow (INS ins) |
BOOL | INS_IsHalt (INS ins) |
PIN_DEPRECATED_API BOOL | INS_IsBranchOrCall (INS ins) |
BOOL | INS_Stutters (INS ins) |
BOOL | INS_IsPcMaterialization (INS ins) |
BOOL | INS_IsCall (INS ins) |
BOOL | INS_IsControlFlow (INS ins) |
BOOL | INS_IsFarCall (INS ins) |
BOOL | INS_IsFarJump (INS ins) |
BOOL | INS_IsDirectFarJump (INS ins) |
BOOL | INS_IsValidForIpointAfter (INS ins) |
BOOL | INS_IsValidForIpointTakenBranch (INS ins) |
BOOL | INS_IsVgather (INS ins) |
BOOL | INS_IsVscatter (INS ins) |
BOOL | INS_HasMemoryVector (INS ins) |
VOID | INS_GetFarPointer (INS ins, UINT16 &segment_selector, UINT32 &displacement) |
BOOL | INS_IsProcedureCall (INS ins) |
BOOL | INS_IsInterrupt (INS ins) |
BOOL | INS_IsRet (INS ins) |
BOOL | INS_IsSysret (INS ins) |
BOOL | INS_IsFarRet (INS ins) |
BOOL | INS_IsPrefetch (INS ins) |
BOOL | INS_IsSub (const INS ins) |
BOOL | INS_IsMov (const INS ins) |
BOOL | INS_IsMovFullRegRegSame (const INS ins) |
BOOL | INS_IsAtomicUpdate (const INS ins) |
BOOL | INS_IsRDTSC (const INS ins) |
BOOL | INS_IsMaskMov (const INS ins) |
REG | INS_RepCountRegister (INS ins) |
PIN_DEPRECATED_API BOOL | INS_IsIndirectBranchOrCall (INS ins) |
BOOL | INS_IsIndirectControlFlow (INS ins) |
REG | INS_SegmentRegPrefix (INS ins) |
BOOL | INS_HasExplicitMemoryReference (INS ins) |
VOID | PIN_SetSyntaxIntel () |
VOID | PIN_SetSyntaxATT () |
VOID | PIN_SetSyntaxXED () |
REG | INS_RegR (INS x, UINT32 k) |
REG | INS_RegW (INS x, UINT32 k) |
OPCODE | INS_Opcode (INS ins) |
std::string | CATEGORY_StringShort (UINT32 num) |
std::string | EXTENSION_StringShort (UINT32 num) |
BOOL | INS_SegPrefixIsMemoryRead (INS ins) |
BOOL | INS_SegPrefixIsMemoryWrite (INS ins) |
BOOL | INS_AddressSizePrefix (INS ins) |
BOOL | INS_BranchNotTakenPrefix (INS ins) |
BOOL | INS_BranchTakenPrefix (INS ins) |
BOOL | INS_LockPrefix (INS ins) |
BOOL | INS_OperandSizePrefix (INS ins) |
BOOL | INS_RepPrefix (INS ins) |
BOOL | INS_RepnePrefix (INS ins) |
BOOL | INS_SegmentPrefix (INS ins) |
BOOL | INS_IsXchg (INS ins) |
BOOL | INS_IsStringop (INS ins) |
BOOL | INS_IsIRet (INS ins) |
UINT32 | INS_MaxNumRRegs (INS x) |
UINT32 | INS_MaxNumWRegs (INS x) |
BOOL | INS_RegRContain (const INS ins, const REG reg) |
BOOL | INS_RegWContain (const INS ins, const REG reg) |
BOOL | INS_FullRegRContain (const INS ins, const REG reg) |
BOOL | INS_FullRegWContain (const INS ins, const REG reg) |
BOOL | INS_IsStackRead (const INS ins) |
BOOL | INS_IsStackWrite (const INS ins) |
BOOL | INS_IsIpRelRead (const INS ins) |
BOOL | INS_IsIpRelWrite (const INS ins) |
BOOL | INS_IsPredicated (INS ins) |
BOOL | INS_IsOriginal (INS ins) |
std::string | INS_Disassemble (INS ins) |
ADDRDELTA | INS_MemoryDisplacement (INS ins) |
REG | INS_MemoryBaseReg (INS ins) |
REG | INS_MemoryIndexReg (INS ins) |
UINT32 | INS_MemoryScale (INS ins) |
BOOL | INS_hasKnownMemorySize (INS ins) |
BOOL | INS_ChangeReg (const INS ins, const REG old_reg, const REG new_reg, const BOOL as_read) |
xed_decoded_inst_t * | INS_XedDec (INS ins) |
REG | INS_XedExactMapToPinReg (xed_reg_enum_t xed_reg) |
PIN_DEPRECATED_API REG | INS_XedExactMapToPinReg (unsigned int r) |
xed_reg_enum_t | INS_XedExactMapFromPinReg (REG pin_reg) |
UINT32 | INS_OperandCount (INS ins) |
UINT32 | INS_OperandNameId (INS ins, UINT32 n) |
BOOL | INS_OperandIsMemory (INS ins, UINT32 n) |
REG | INS_OperandMemoryBaseReg (INS ins, UINT32 n) |
REG | INS_OperandMemoryIndexReg (INS ins, UINT32 n) |
REG | INS_OperandMemorySegmentReg (INS ins, UINT32 n) |
UINT32 | INS_OperandMemoryScale (INS ins, UINT32 n) |
ADDRDELTA | INS_OperandMemoryDisplacement (INS ins, UINT32 n) |
BOOL | INS_OperandIsFixedMemop (INS ins, UINT32 n) |
VOID | GetNumberAndSizeOfMemAccesses (INS ins, int *numAccesses, int *accessSize, int *indexSize) |
UINT32 | INS_MemoryOperandCount (INS ins) |
BOOL | INS_OperandIsAddressGenerator (INS ins, UINT32 n) |
BOOL | INS_OperandIsBranchDisplacement (INS ins, UINT32 n) |
BOOL | INS_MemoryOperandIsRead (INS ins, UINT32 memopIdx) |
BOOL | INS_MemoryOperandIsWritten (INS ins, UINT32 memopIdx) |
UINT32 | INS_MemoryOperandIndexToOperandIndex (INS ins, UINT32 memopIdx) |
BOOL | INS_OperandIsReg (INS ins, UINT32 n) |
BOOL | INS_OperandIsSegmentReg (INS ins, UINT32 n) |
REG | INS_OperandReg (INS ins, UINT32 n) |
BOOL | INS_OperandIsImmediate (INS ins, UINT32 n) |
UINT64 | INS_OperandImmediate (INS ins, UINT32 n) |
BOOL | INS_OperandIsImplicit (INS ins, UINT32 n) |
BOOL | INS_RegIsImplicit (INS ins, REG reg) |
UINT32 | INS_OperandWidth (INS ins, UINT32 n) |
BOOL | INS_OperandRead (INS ins, UINT32 n) |
BOOL | INS_OperandWritten (INS ins, UINT32 n) |
BOOL | INS_OperandReadOnly (INS ins, UINT32 n) |
BOOL | INS_OperandWrittenOnly (INS ins, UINT32 n) |
BOOL | INS_OperandReadAndWritten (INS ins, UINT32 n) |
BOOL | REGSET_Contains (const REGSET ®set, REG reg) |
VOID | REGSET_Insert (REGSET ®set, REG reg) |
VOID | REGSET_Remove (REGSET ®set, REG reg) |
VOID | REGSET_Clear (REGSET ®set) |
VOID | REGSET_AddAll (REGSET ®set) |
REG | REGSET_PopNext (REGSET ®set) |
UINT32 | REGSET_PopCount (const REGSET ®set) |
BOOL | REGSET_PopCountIsZero (const REGSET ®set) |
std::string | REGSET_StringShort (const REGSET ®set) |
BOOL | INS_IsSyscall (INS ins) |
SYSCALL_STANDARD | INS_SyscallStd (INS ins) |
Variables | |
GLOBALCONST REG | REG_FirstInRegset = REG_RBASE |
GLOBALCONST REG | REG_LastInRegset = REG(REG_LAST-1) |
This file contains APP primitives
This file contains BBL primitives
Calling standard information
control flow graph related stuff
This file contains CHUNK primitives
Manage comments that are attached to data structures for debugging
This file contains EDG primitives
This module contains all the EXT extension/attribute management fuctions.
This file contains IMG primitives
This file contains INS primitives
Physical register
Register value representation
x
This file contains REL primitives
This file contains RTN primitives
This file contains the action to modify SCT's
This file contains SEC and Mapping primitives
Manage stripes
This file contains SYM primitives
This file contains SEC and Mapping primitives
This file contains eflags-related stuff
this file contains functions visible in level_core it uses primitives from level_core_with_ia32_ins but does not leak out any IA32 stuff!
ELF specific stuff related to INS
This file contains the basic INS_Init* functions used thruout Pin to generate INSs, and the functions that use them. The basic INS_Init* functions are LOCALFUNS, so they do not expose the XED types thruout Pin. The GLOBALFUNs wrap them.
Contains the management of ins reuse - i.e. the reuse of already created inss when a new ins is generated. This functionality is used in the base INS_Init* functions in ins_initis_api_xed_ia32.cpp.
Intel(R) X86 Encoder Decoder low-level support routines.
This supports the other core_ia32 files and is the lowest level interface to Intel(R) XED encoding/decoding.
ia32 specific stuff related to OPERAND
Register value representation ia-32 specific
Syscall information for Unix/x86 systems