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

◆ INS_IsAddedForFunctionReplacement()

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 & macOS*
CPU: All

◆ INS_IsCacheLineFlush()

BOOL LEVEL_CORE::INS_IsCacheLineFlush ( INS  ins)
Returns
TRUE if instruction causes cache line flush