Pin
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Typedefs | Enumerations | Functions | Variables
ins.cpp File Reference
#include "level_base.H"
#include "level_core.H"
#include "container.H"

Typedefs

typedef size_t(* LEVEL_CORE::INS_BYTES_FETCHER )(VOID *buf, const VOID *insAddr, size_t size, EXCEPTION_INFO *pExceptInfo)
 

Enumerations

enum  LEVEL_CORE::MEMORY_TYPE {
  MEMORY_TYPE_READ,
  MEMORY_TYPE_WRITE,
  MEMORY_TYPE_READ2
}
 
enum  LEVEL_CORE::SYSCALL_STANDARD {
  LEVEL_CORE::SYSCALL_STANDARD_INVALID,
  LEVEL_CORE::SYSCALL_STANDARD_IA32_LINUX,
  LEVEL_CORE::SYSCALL_STANDARD_IA32E_LINUX,
  LEVEL_CORE::SYSCALL_STANDARD_IA32_MAC,
  LEVEL_CORE::SYSCALL_STANDARD_IA32E_MAC,
  LEVEL_CORE::SYSCALL_STANDARD_IA32_WINDOWS_FAST,
  LEVEL_CORE::SYSCALL_STANDARD_IA32E_WINDOWS_FAST,
  LEVEL_CORE::SYSCALL_STANDARD_IA32_WINDOWS_ALT,
  LEVEL_CORE::SYSCALL_STANDARD_WOW64,
  LEVEL_CORE::SYSCALL_STANDARD_WINDOWS_INT
}
 

Functions

ARRAYBASE LEVEL_CORE::InsArrayBase ("ins pool", 1024 *1024)
 
STRIPE< INS_STRUCT_BASE > LEVEL_CORE::InsStripeBase ("ins stripe base","core",&InsArrayBase)
 
INS LEVEL_CORE::INS_INVALID ()
 
BOOL LEVEL_CORE::INS_valid (INS x)
 
INT32 LEVEL_CORE::INS_no (INS x)
 
BOOL LEVEL_CORE::INS_allocated (INS x)
 
BOOL LEVEL_CORE::INS_original (INS x)
 
VOID LEVEL_CORE::INS_original_set (INS x, BOOL y)
 
BOOL LEVEL_CORE::INS_preserve (INS x)
 
VOID LEVEL_CORE::INS_preserve_set (INS x, BOOL y)
 
BOOL LEVEL_CORE::INS_unwind (INS x)
 
VOID LEVEL_CORE::INS_unwind_set (INS x, BOOL y)
 
BOOL LEVEL_CORE::INS_resolved (INS x)
 
VOID LEVEL_CORE::INS_resolved_set (INS x, BOOL y)
 
BOOL LEVEL_CORE::INS_emuft (INS x)
 
VOID LEVEL_CORE::INS_emuft_set (INS x, BOOL y)
 
BOOL LEVEL_CORE::INS_needscondcallextraregs (INS x)
 
VOID LEVEL_CORE::INS_needscondcallextraregs_set (INS x, BOOL y)
 
BOOL LEVEL_CORE::INS_needsrepextraregs (INS x)
 
VOID LEVEL_CORE::INS_needsrepextraregs_set (INS x, BOOL y)
 
BOOL LEVEL_CORE::INS_analysisarg (INS x)
 
VOID LEVEL_CORE::INS_analysisarg_set (INS x, BOOL y)
 
BOOL LEVEL_CORE::INS_interruptable (INS x)
 
VOID LEVEL_CORE::INS_interruptable_set (INS x, BOOL y)
 
BOOL LEVEL_CORE::INS_placeholder (INS x)
 
VOID LEVEL_CORE::INS_placeholder_set (INS x, BOOL y)
 
BOOL LEVEL_CORE::INS_skipValueOpt (INS x)
 
VOID LEVEL_CORE::INS_skipValueOpt_set (INS x, BOOL y)
 
BOOL LEVEL_CORE::INS_needsSegmentTranslation (INS x)
 
VOID LEVEL_CORE::INS_needsSegmentTranslation_set (INS x, BOOL y)
 
BOOL LEVEL_CORE::INS_insertedSegmentWrite (INS x)
 
VOID LEVEL_CORE::INS_insertedSegmentWrite_set (INS x, BOOL y)
 
BOOL LEVEL_CORE::INS_isJzOverThen (INS x)
 
VOID LEVEL_CORE::INS_isJzOverThen_set (INS x, BOOL y)
 
VOID LEVEL_CORE::INS_ret_in_xymm0_set (INS x, BOOL y)
 
BOOL LEVEL_CORE::INS_ret_in_xymm0 (INS x)
 
VOID LEVEL_CORE::INS_liveness_computed_set (INS x, BOOL y)
 
BOOL LEVEL_CORE::INS_liveness_computed (INS x)
 
VOID LEVEL_CORE::INS_inlined_analysis_code_set (INS x, BOOL y)
 
BOOL LEVEL_CORE::INS_inlined_analysis_code (INS x)
 
VOID LEVEL_CORE::INS_encoded_with_corresponding_app_reg_set (INS x, BOOL y)
 
BOOL LEVEL_CORE::INS_encoded_with_corresponding_app_reg (INS x)
 
BBL LEVEL_CORE::INS_bbl (INS x)
 
INS LEVEL_CORE::INS_next (INS x)
 
INS LEVEL_CORE::INS_prev (INS x)
 
EXT LEVEL_CORE::INS_ext (INS x)
 
string LEVEL_CORE::str (INS ins)
 
REL LEVEL_CORE::INS_rel (INS x)
 
VOID LEVEL_CORE::INS_rel_set (INS x, REL y)
 
IADDR LEVEL_CORE::INS_iaddr (INS x)
 
VOID LEVEL_CORE::INS_iaddr_set (INS x, IADDR y)
 
LOCALINLINE VOID LEVEL_CORE::INS_allocated_set (INS x, BOOL y)
 
LOCALINLINE VOID LEVEL_CORE::INS_bbl_set (INS x, BBL y)
 
LOCALINLINE VOID LEVEL_CORE::INS_next_set (INS x, INS y)
 
LOCALINLINE VOID LEVEL_CORE::INS_prev_set (INS x, INS y)
 
VOID LEVEL_CORE::INS_GarbageCollect ()
 
INS LEVEL_CORE::INS_Alloc ()
 
VOID LEVEL_CORE::INS_Free (INS ins)
 
VOID LEVEL_CORE::INS_FreeRel (INS ins)
 
VOID LEVEL_CORE::INS_InsertBefore (INS ins, INS before, BBL parent)
 
VOID LEVEL_CORE::INS_Append (INS ins, BBL parent)
 
VOID LEVEL_CORE::INS_InsertAfter (INS ins, INS after, BBL parent)
 
VOID LEVEL_CORE::INS_Prepend (INS ins, BBL parent)
 
VOID LEVEL_CORE::INS_Unlink (INS ins)
 
UINT32 LEVEL_CORE::INS_NumAttrCrosslink (INS ins)
 
VOID LEVEL_CORE::IMG_AllocateNewSecDataExec (IMG img)
 
VOID LEVEL_CORE::INS_Copy (INS ins, INS clone)
 
INS LEVEL_CORE::INS_Clone (INS ins)
 
BOOL LEVEL_CORE::INS_MarkedForDeletion (INS ins)
 
VOID LEVEL_CORE::INS_MarkForDeletion (INS ins)
 
VOID LEVEL_CORE::INS_ExtMoveRev (INS src, INS dst, const ATTRIBUTE *attr)
 
VOID LEVEL_CORE::INS_ExtMove (INS src, INS dst, const ATTRIBUTE *attr)
 
STRIPE< INS_STRUCT_MAP > LEVEL_CORE::InsStripeMap ("ins stripe map","map",&InsArrayBase)
 
STRIPE< INS_STRUCT_SPARSE > LEVEL_CORE::InsStripeSparse ("ins stripe sparse","pincore",&InsArrayBase)
 
USIZE LEVEL_CORE::INS_pos (INS x)
 
VOID LEVEL_CORE::INS_pos_set (INS x, USIZE y)
 
BBL LEVEL_CORE::INS_bbl_target (INS x)
 
VOID LEVEL_CORE::INS_bbl_target_set (INS x, BBL y)
 
INT32 LEVEL_CORE::INS_bbl_target_weight (INS x)
 
VOID LEVEL_CORE::INS_bbl_target_weight_set (INS x, INT32 y)
 
INS LEVEL_CORE::INS_ins_target (INS x)
 
VOID LEVEL_CORE::INS_ins_target_set (INS x, INS y)
 
OADDR LEVEL_CORE::INS_GetOaddr (INS ins)
 
VOID LEVEL_CORE::IMG_ComputeNewSecSizeExecAndAddressMapping (IMG img)
 
VOID LEVEL_CORE::IMG_ComputeNewSecDataExec (IMG img)
 
ADDRINT LEVEL_CORE::SEC_ComputeOutputSizeOfExecutableSec (SEC sec, const ADDRINT secStart)
 
VOID LEVEL_CORE::INS_CheckFree ()
 
VOID LEVEL_CORE::INS_CopyXlateAttributes (INS insNew, INS insOrig)
 

Variables

GLOBALCONST PIN_DEPRECATED_API
UINT32 
LEVEL_CORE::VARIABLE_MEMORY_REFERENCE_SIZE = ~0U
 

Detailed Description

This file contains INS primitives