Functions | |
| VOID | LEVEL_CORE::BBL_MoveAllAttributes (BBL fromBbl, BBL toBbl) |
| UINT32 | LEVEL_CORE::BBL_NumIns (BBL bbl) |
| INS | LEVEL_PINCLIENT::BBL_InsHead (BBL x) |
| INS | LEVEL_PINCLIENT::BBL_InsTail (BBL x) |
| BBL | LEVEL_PINCLIENT::BBL_Next (BBL x) |
| BBL | LEVEL_PINCLIENT::BBL_Prev (BBL x) |
| BOOL | LEVEL_PINCLIENT::BBL_Valid (BBL x) |
| BOOL | LEVEL_PINCLIENT::BBL_Original (BBL bbl) |
| ADDRINT | LEVEL_PINCLIENT::BBL_Address (BBL bbl) |
| USIZE | LEVEL_PINCLIENT::BBL_Size (BBL bbl) |
| VOID | LEVEL_PINCLIENT::BBL_InsertCall (BBL bbl, IPOINT action, AFUNPTR funptr,...) |
| VOID | LEVEL_PINCLIENT::BBL_InsertIfCall (BBL bbl, IPOINT action, AFUNPTR funptr,...) |
| VOID | LEVEL_PINCLIENT::BBL_InsertThenCall (BBL bbl, IPOINT action, AFUNPTR funptr,...) |
| BOOL | LEVEL_PINCLIENT::BBL_HasFallThrough (BBL bbl) |
| ADDRINT LEVEL_PINCLIENT::BBL_Address | ( | BBL | bbl | ) |
| BOOL LEVEL_PINCLIENT::BBL_HasFallThrough | ( | BBL | bbl | ) |
Refer INS_HasFallThrough for checking if an instruction could have a fall-through path based on the opcode.
| VOID LEVEL_PINCLIENT::BBL_InsertCall | ( | BBL | bbl, | |
| IPOINT | action, | |||
| AFUNPTR | funptr, | |||
| ... | ||||
| ) |
Insert call relative to a bbl.
| bbl | BBL to instrument | |
| action | Specifies before, after, etc. IPOINT_BEFORE is always valid for all instructions. IPOINT_AFTER is valid only when a fall-through exists (i.e. Calls and unconditional branches will fail). IPOINT_ANYWHERE will put the instrumentation at a place inside the bbl for best performance IPOINT_TAKEN_BRANCH is invalid for non-branches. | |
| funptr | Analysis function to call | |
| ... | IARG_TYPE. Arguments to pass to funptr |
| VOID LEVEL_PINCLIENT::BBL_InsertIfCall | ( | BBL | bbl, | |
| IPOINT | action, | |||
| AFUNPTR | funptr, | |||
| ... | ||||
| ) |
Insert a call to funptr relative to a BBL. If funptr returns a non-zero ADDRINT, then the immediately following "then" analysis call is executed. Note that if CALL_ORDER is used, Both "if" and "then" analysis calls must have the same order.
| bbl | BBL to instrument | |
| action | Specifies before, after, etc. IPOINT_BEFORE is always valid for all instructions. IPOINT_AFTER is valid only when a fall-through exists (i.e. Calls and unconditional branches will fail). IPOINT_TAKEN_BRANCH is invalid for non-branches. | |
| funptr | Analysis function to call. Its return type must be ADDRINT | |
| ... | IARG_TYPE. Arguments to pass to funptr |
| VOID LEVEL_PINCLIENT::BBL_InsertThenCall | ( | BBL | bbl, | |
| IPOINT | action, | |||
| AFUNPTR | funptr, | |||
| ... | ||||
| ) |
Insert a call to funptr relative to a BBL. The function is called only if the immediately preceding "if" analysis call returns a non-zero value. Note that if CALL_ORDER is used, Both "if" and "then" analysis calls must have the same order.
| bbl | BBL to instrument | |
| action | Specifies before, after, etc. IPOINT_BEFORE is always valid for all instructions. IPOINT_AFTER is valid only when a fall-through exists (i.e. Calls and unconditional branches will fail). IPOINT_TAKEN_BRANCH is invalid for non-branches. | |
| funptr | Analysis function to call | |
| ... | IARG_TYPE. Arguments to pass to funptr |
| INS LEVEL_PINCLIENT::BBL_InsHead | ( | BBL | x | ) |
| INS LEVEL_PINCLIENT::BBL_InsTail | ( | BBL | x | ) |
| VOID LEVEL_CORE::BBL_MoveAllAttributes | ( | BBL | fromBbl, | |
| BBL | toBbl | |||
| ) |
Move all attributes from one BBL to another
| BBL LEVEL_PINCLIENT::BBL_Next | ( | BBL | x | ) |
| UINT32 LEVEL_CORE::BBL_NumIns | ( | BBL | bbl | ) |
Number of INSs within a BBL.
| BOOL LEVEL_PINCLIENT::BBL_Original | ( | BBL | bbl | ) |
| BBL LEVEL_PINCLIENT::BBL_Prev | ( | BBL | x | ) |
| USIZE LEVEL_PINCLIENT::BBL_Size | ( | BBL | bbl | ) |
| BOOL LEVEL_PINCLIENT::BBL_Valid | ( | BBL | x | ) |
1.5.1-p1