Pin
Modules | Functions
INS: Instruction Object

Modules

 Instrumentation API
 Generic inspection API
 Inspection API for IA-32 and Intel(R) 64 instructions
 Generic modification API

Functions

BOOL LEVEL_CORE::INS_IsCacheLineFlush (INS ins)
BOOL LEVEL_PINCLIENT::INS_IsAddedForFunctionReplacement (INS ins)

Detailed Description

An INS represents an instruction. Can only be accessed at instrumentation time.

Iteration idioms:

  // Forward pass over all instructions in bbl
  for( INS ins= BBL_InsHead(bbl); INS_Valid(ins); ins = INS_Next(ins) )

  // Forward pass over all instructions in routine
  for( INS ins= RTN_InsHead(rtn); INS_Valid(ins); ins = INS_Next(ins) )

Function Documentation

BOOL LEVEL_PINCLIENT::INS_IsAddedForFunctionReplacement ( INS  ins)

Return TRUE if ins is not an original instruction in the application, but is an instruction added by Pin for doing function replacement. Pin allows you to even instrument these non-original instructions in JIT mode.

Availability:
Mode: JIT & Probe
O/S: Linux, Windows & OS X*
CPU: All
BOOL LEVEL_CORE::INS_IsCacheLineFlush ( INS  ins)
Returns:
TRUE if instruction causes cache line flush
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator