Pin
|
Classes | |
struct | EDG_STRUCT_BASE |
class | BBL_EDG_CONTAINER_PRED |
class | BBL_EDG_CONTAINER_SUCC |
struct | IMG_REGION |
class | REGISTER_SET |
class | CHUNK_REL_CONTAINER |
union | VAL |
struct | MEM_ADDR_EXP |
Typedefs | |
typedef class REGISTER_SET < REG_FirstInRegset, REG_LastInRegset > | REGSET |
Enumerations | |
enum | EDG_TYPE { EDG_TYPE_INVALID, EDG_TYPE_RETURN, EDG_TYPE_CALL, EDG_TYPE_LINK, EDG_TYPE_COMP, EDG_TYPE_FALSE, EDG_TYPE_BRANCH, EDG_TYPE_SWITCH, EDG_TYPE_PREFETCH, EDG_TYPE_EXCEPTION, EDG_TYPE_NORMAL, EDG_TYPE_IBRANCH, EDG_TYPE_LAST } |
enum | EDG_STATE { EDG_STATE_INVALID, EDG_STATE_LAST } |
enum | IMG_TYPE { IMG_TYPE_INVALID, IMG_TYPE_STATIC, IMG_TYPE_SHARED, IMG_TYPE_SHAREDLIB, IMG_TYPE_RELOCATABLE, IMG_TYPE_DYNAMIC_CODE, IMG_TYPE_API_CREATED, IMG_TYPE_LAST } |
enum | IMG_PROPERTY { IMG_PROPERTY_INVALID, IMG_PROPERTY_SHSTK_ENABLED, IMG_PROPERTY_IBT_ENABLED, IMG_PROPERTY_LAST } |
enum | MEMORY_TYPE { MEMORY_TYPE_READ, MEMORY_TYPE_WRITE, MEMORY_TYPE_READ2 } |
enum | SYSCALL_STANDARD { SYSCALL_STANDARD_INVALID, SYSCALL_STANDARD_IA32_LINUX, SYSCALL_STANDARD_IA32_LINUX_SYSENTER, SYSCALL_STANDARD_IA32E_LINUX, SYSCALL_STANDARD_IA32_MAC, SYSCALL_STANDARD_IA32E_MAC, SYSCALL_STANDARD_IA32_WINDOWS_FAST, SYSCALL_STANDARD_IA32E_WINDOWS_FAST, SYSCALL_STANDARD_IA32_WINDOWS_ALT, SYSCALL_STANDARD_WOW64, SYSCALL_STANDARD_WINDOWS_INT } |
enum | SEC_TYPE { SEC_TYPE_INVALID, SEC_TYPE_UNUSED, SEC_TYPE_REGREL, SEC_TYPE_DYNREL, SEC_TYPE_EXEC, SEC_TYPE_DATA, SEC_TYPE_DYNAMIC, SEC_TYPE_OPD, SEC_TYPE_GOT, SEC_TYPE_STACK, SEC_TYPE_PLTOFF, SEC_TYPE_HASH, SEC_TYPE_LSDA, SEC_TYPE_UNWIND, SEC_TYPE_UNWINDINFO, SEC_TYPE_REGSYM, SEC_TYPE_DYNSYM, SEC_TYPE_DEBUG, SEC_TYPE_BSS, SEC_TYPE_SYMSTR, SEC_TYPE_DYNSTR, SEC_TYPE_SECSTR, SEC_TYPE_COMMENT, SEC_TYPE_LOOS, SEC_TYPE_USER, SEC_TYPE_PROC, SEC_TYPE_LAST } |
enum | VAL_TYPE { VAL_TYPE_INVALID, VAL_TYPE_NONE, VAL_TYPE_INS, VAL_TYPE_BBL, VAL_TYPE_EDG, VAL_TYPE_REL, VAL_TYPE_RTN, VAL_TYPE_SEC, VAL_TYPE_SYM, VAL_TYPE_FILE, VAL_TYPE_META, VAL_TYPE_DATA, VAL_TYPE_IADDR, VAL_TYPE_GOT, VAL_TYPE_OPD, VAL_TYPE_LDEF, VAL_TYPE_CHUNK, VAL_TYPE_PLTOFF, VAL_TYPE_FLT64, VAL_TYPE_UINT64, VAL_TYPE_UINT32, VAL_TYPE_TWO_UINT32, VAL_TYPE_INT32, VAL_TYPE_SECOFF, VAL_TYPE_SYMOFF, VAL_TYPE_CHUNKOFF, VAL_TYPE_ZERO, VAL_TYPE_TRANSPARENT, VAL_TYPE_GP, VAL_TYPE_STRING, VAL_TYPE_REGUSE, VAL_TYPE_REG_INT32, VAL_TYPE_VERSIONCASE, VAL_TYPE_REGALLOCHINT, VAL_TYPE_SACT, VAL_TYPE_IADDR_INT32, VAL_TYPE_CONST_PTR, VAL_TYPE_PTR, VAL_TYPE_AFUNPTR, VAL_TYPE_LAST } |
enum | XED_OPERAND_NUMBER { XED_OPERAND_NUMBER_0 = 0, XED_OPERAND_NUMBER_1 = 1, XED_OPERAND_NUMBER_2 = 2, XED_OPERAND_NUMBER_3 = 3 } |
Functions | |
LOCALFUN UINT32 | BBL_NumAttrRegsym (BBL bbl) |
LOCALFUN UINT32 | BBL_NumAttrDynsym (BBL bbl) |
UINT32 | BBL_NumAttrCrosslink (BBL bbl) |
VOID | BBL_MoveAllAttributes (BBL fromBbl, BBL toBbl) |
UINT32 | BBL_NumIns (BBL bbl) |
LOCALVAR const ATTRIBUTE | ATTR_bbl_chunk ("chunk","bbl","bbl_chunk", EXT_ATTR_MODE_SINGLE, VAL_TYPE_CHUNK, B_CROSSLINK, FALSE,"chunk crosslinked with a type data bbl") |
BOOL | CallingStd_IsArt (CALLING_STANDARD cstype) |
BOOL | INS_startbbl (INS x) |
LOCALVAR KNOB_COMMENT | KnobCheckFamily ("supported:check","Self-checking done inside Pin") |
ARRAYBASE | EdgArrayBase ("edg pool", 64 *1024) |
STRIPE< EDG_STRUCT_BASE > | EdgStripeBase ("edg stripe base","core",&EdgArrayBase) |
EDG | EDG_INVALID () |
BOOL | EDG_valid (EDG x) |
INT32 | EDG_no (EDG x) |
BOOL | EDG_allocated (EDG x) |
BOOL | EDG_mark (EDG x) |
VOID | EDG_mark_set (EDG x, BOOL y) |
BOOL | EDG_mark2 (EDG x) |
VOID | EDG_mark2_set (EDG x, BOOL y) |
EDG_TYPE | EDG_type (EDG x) |
VOID | EDG_type_set (EDG x, EDG_TYPE y) |
BOOL | EDG_linked (EDG x) |
BBL | EDG_bbl_src (EDG x) |
BBL | EDG_bbl_dst (EDG x) |
EDG | EDG_next_succ (EDG x) |
EDG | EDG_next_pred (EDG x) |
EXT | EDG_ext (EDG x) |
INT32 | EDG_weight (EDG x) |
VOID | EDG_weight_set (EDG x, INT32 y) |
LOCALINLINE VOID | EDG_allocated_set (EDG x, BOOL y) |
LOCALINLINE VOID | EDG_linked_set (EDG x, BOOL y) |
LOCALINLINE VOID | EDG_next_succ_set (EDG x, EDG y) |
LOCALINLINE VOID | EDG_next_pred_set (EDG x, EDG y) |
LOCALINLINE VOID | EDG_bbl_dst_set (EDG x, BBL y) |
LOCALINLINE VOID | EDG_bbl_src_set (EDG x, BBL y) |
std::string | str (EDG edg) |
LOCALINLINE VOID | REL_allocated_set (REL x, BOOL y) |
LOCALINLINE VOID | REL_target_next_set (REL x, REL y) |
LOCALINLINE VOID | REL_target_prev_set (REL x, REL y) |
LOCALINLINE VOID | REL_type_set (REL x, REL_TYPE y) |
LOCALINLINE VOID | REL_value_type_set (REL x, VAL_TYPE y) |
LOCALINLINE VOID | REL_target_chunk_set (REL x, CHUNK y) |
LOCALINLINE VOID | REL_target_off_set (REL x, UINT32 y) |
LOCALFUN EXT | FindRelInExtChain (EXT head, const ATTRIBUTE *attr, REL rel) |
LOCALFUN std::string | RELTYPE_StringShort (REL_TYPE type) |
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_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) |
LOCALVAR KNOB_COMMENT | KnobDisassemblyFamily (knobfamily,"IA-32 architecture and Intel(R) 64 architecture disassembly format") |
LOCALVAR KNOB< BOOL > | KnobXedDisassembly (KNOB_MODE_WRITEONCE, knobfamily,"xedprint","0","Disassemble using Intel(R) X86 Encoder Decoder format") |
LOCALVAR KNOB< BOOL > | KnobATTDisassembly (KNOB_MODE_WRITEONCE, knobfamily,"attprint","0","Disassemble using ATT format") |
LOCALVAR KNOB< BOOL > | KnobIntelDisassembly (KNOB_MODE_WRITEONCE, knobfamily,"intelprint","0","Disassemble using Intel format (default)") |
LOCALFUN VOID | INS_SetSyntaxFromKnobs () |
VOID | PIN_SetSyntaxIntel () |
VOID | PIN_SetSyntaxATT () |
VOID | PIN_SetSyntaxXED () |
REG | INS_RegR (INS x, UINT32 k) |
REG | INS_RegW (INS x, UINT32 k) |
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) |
LOCALVAR KNOB< BOOL > | KnobPrintRawInstruction (KNOB_MODE_WRITEONCE,"supported","rawinst","0","Print raw instruction encoding in string conversions") |
LOCALVAR KNOB< BOOL > | KnobPrintPinRegs (KNOB_MODE_WRITEONCE,"supported","printpinreg","0","Print Pin registers in disassembly") |
LOCALVAR KNOB< BOOL > | KnobPrintBranch (KNOB_MODE_WRITEONCE,"supported","printbr","0","Print branch information in disassembly") |
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) |
VOID | INS_InitMovsxd (INS ins, REG src, REG dst) |
UINT32 | INS_min_alignment () |
LOCALVAR MESSAGE_TYPE | MessageTypeLogXEDIa32 ("log_xed","", false, false, false, false, LOGTYPE_LOGFILE,"pin log: Intel(R) X86 Encoder Decoder ") |
LOCALVAR STAT_UINT64 | XEDStatDecode ("pin","xed","decoded_insts_by_xed","") |
LOCALVAR STAT_UINT64 | XEDStatDecodeForDecodeIns ("pin","xed","decoded_insts_for_DecodeIns","") |
LOCALVAR STAT_UINT64 | XEDStatDecodeForValidation ("pin","xed","decoded_insts_for_Validation","") |
LOCALVAR STAT_UINT64 | XEDStatDecodeFor_update_stripe ("pin","insts","decoded_for_update_stripe","") |
LOCALVAR STAT_UINT64 | XEDStatEncode ("pin","insts","encoded_insts_by_xed","") |
LOCALVAR STAT_UINT64 | XEDStatReencodeAndDecode ("pin","insts","encoded_decode_reencode","") |
LOCALVAR STAT_UINT64 | PinFetchedInssStat ("pin","insts","fetched_total","") |
LOCALVAR STAT_UINT64 | PinGeneratedInssStat ("pin","insts","generated_inss_via_xed","") |
LOCALVAR STAT_NORM | TimerXEDStatEncodeAndDecode ("pin","time","XED_e_d_updt_strp","",&TimerCompile) |
LOCALVAR STAT_UINT64 | XEDStatInsEncode ("pin","insts","encode_INS_Encode_total","") |
LOCALVAR STAT_UINT64 | XEDStatInsEncodeUsedCachedEncode ("pin","insts","encode_INS_Encode_used_cached","") |
LOCALVAR STAT_UINT64 | XEDStatCachedReencode ("pin","insts","cached_reencoded_insts","") |
LOCALVAR KNOB_COMMENT | knob_xed_family ("supported:xed","Intel(R) X86 Encoder Decoder switches") |
xed_decoded_inst_t * | INS_XedDec (INS ins) |
REG | INS_XedExactMapToPinReg (unsigned int r) |
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) |
LOCALFUN xed_reg_class_enum_t | INS_XedRegClass (INS ins, UINT32 n) |
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 | INS_MemoryOperandIsRead (INS ins, UINT32 memopIdx) |
BOOL | INS_MemoryOperandIsWritten (INS ins, UINT32 memopIdx) |
UINT32 | INS_MemoryOperandIndexToOperandIndex (INS ins, UINT32 memopIdx) |
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) |
std::string | REGSET_StringList (const REGSET ®set) |
UINT32 | REGSET_HashKey (const REGSET ®set) |
BOOL | REGSET_CONTEXT_Contains (const REGSET_CONTEXT regset, REG reg) |
VOID | REGSET_CONTEXT_Insert (REGSET_CONTEXT ®set, REG reg) |
VOID | REGSET_CONTEXT_Remove (REGSET_CONTEXT ®set, REG reg) |
VOID | REGSET_CONTEXT_Clear (REGSET_CONTEXT ®set) |
REG | REGSET_CONTEXT_PopNext (REGSET_CONTEXT ®set) |
UINT32 | REGSET_CONTEXT_PopCount (const REGSET_CONTEXT ®set) |
BOOL | REGSET_CONTEXT_PopCountIsZero (const REGSET_CONTEXT ®set) |
std::string | REGSET_CONTEXT_StringShort (const REGSET_CONTEXT ®set) |
std::string | REGSET_CONTEXT_StringList (const REGSET ®set) |
LOCALINLINE VOID | SetHi16ZmmBit (FPSTATE *fpstate) |
BOOL | INS_IsSyscall (INS ins) |
SYSCALL_STANDARD | INS_SyscallStd (INS ins) |
Variables | |
LOCALVAR REG | linuxCallerSaved [] |
LOCALVAR REG | linuxCallerSavedAvx [] |
LOCALVAR REG | linuxCallerSavedAvx512 [] |
LOCALVAR REG | windowsCallerSaved [] |
LOCALVAR REG | windowsCallerSavedAvx [] |
LOCALVAR REG | windowsCallerSavedAvx512 [] |
LOCALVAR CHAR const * | knobfamily = "supported:disassembly" |
LOCALVAR xed_syntax_enum_t | syntax = XED_SYNTAX_INTEL |
LOCALCONST UINT | AUTO_DISP_BYTES = 0 |
LOCALCONST INT32 | DEFAULT_EA_WIDTH = sizeof(VOID*) * 8 |
LOCALCONST xed_state_t | DSTATE |
LOCALCONST UINT | MAX_DUMMY_REGS = 3 |
LOCALCONST UINT | MAX_DUMMY_REG_WIDTHS = 4 |
LOCALCONST REGWIDTH | MAX_DUMMY_REGWIDTH = REGWIDTH_64 |
LOCALVAR const xed_reg_enum_t | dummy_regs_native_table [MAX_DUMMY_REGS] |
LOCALVAR const xed_reg_enum_t | dummy_regs_width_table [MAX_DUMMY_REGS][MAX_DUMMY_REG_WIDTHS] |
struct { | |
xed_iclass_enum_t cmovOp | |
xed_iclass_enum_t setOp | |
} | predicateToOp [] |
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
EDG state enumeration - not used
enum LEVEL_CORE::EDG_TYPE |
EDG type enumeration
enum LEVEL_CORE::VAL_TYPE |
VAL types
LOCALVAR const ATTRIBUTE LEVEL_CORE::ATTR_bbl_chunk | ( | "chunk" | , |
"bbl" | , | ||
"bbl_chunk" | , | ||
EXT_ATTR_MODE_SINGLE | , | ||
VAL_TYPE_CHUNK | , | ||
B_CROSSLINK | , | ||
FALSE | , | ||
"chunk crosslinked with a type data bbl" | |||
) |
UINT32 LEVEL_CORE::BBL_NumAttrCrosslink | ( | BBL | bbl | ) |
if a bbl has any of these atributes it cannot be freed
LOCALFUN UINT32 LEVEL_CORE::BBL_NumAttrRegsym | ( | BBL | bbl | ) |
BOOL LEVEL_CORE::CallingStd_IsArt | ( | CALLING_STANDARD | cstype | ) |
ARRAYBASE LEVEL_CORE::EdgArrayBase | ( | "edg pool" | , |
64 * | 1024 | ||
) |
The root for all EDG stripes
STRIPE<EDG_STRUCT_BASE> LEVEL_CORE::EdgStripeBase | ( | "edg stripe base" | , |
"core" | , | ||
& | EdgArrayBase | ||
) |
The base stripe for REL
LOCALFUN EXT LEVEL_CORE::FindRelInExtChain | ( | EXT | head, |
const ATTRIBUTE * | attr, | ||
REL | rel | ||
) |
VOID LEVEL_CORE::INS_InitMovsxd | ( | INS | ins, |
REG | src, | ||
REG | dst | ||
) |
x
LOCALFUN xed_reg_class_enum_t LEVEL_CORE::INS_XedRegClass | ( | INS | ins, |
UINT32 | n | ||
) |
LOCALINLINE VOID LEVEL_CORE::REL_allocated_set | ( | REL | x, |
BOOL | y | ||
) |
LOCALFUN std::string LEVEL_CORE::RELTYPE_StringShort | ( | REL_TYPE | type | ) |
LOCALINLINE VOID LEVEL_CORE::SetHi16ZmmBit | ( | FPSTATE * | fpstate | ) |
LOCALCONST xed_state_t LEVEL_CORE::DSTATE |
{XED_MACHINE_MODE_LONG_64, XED_ADDRESS_WIDTH_64b}
LOCALVAR const xed_reg_enum_t LEVEL_CORE::dummy_regs_native_table[MAX_DUMMY_REGS] |
{ XED_REG_RDX, XED_REG_RBX, XED_REG_RCX }
LOCALVAR const xed_reg_enum_t LEVEL_CORE::dummy_regs_width_table[MAX_DUMMY_REGS][MAX_DUMMY_REG_WIDTHS] |
{ { XED_REG_DL, XED_REG_DX, XED_REG_EDX, XED_REG_RDX}, { XED_REG_CL, XED_REG_CX, XED_REG_ECX, XED_REG_RCX}, { XED_REG_BL, XED_REG_BX, XED_REG_EBX, XED_REG_RBX} }
LOCALVAR REG LEVEL_CORE::windowsCallerSaved[] |
LOCALVAR REG LEVEL_CORE::windowsCallerSavedAvx[] |