pub unsafe extern "C" fn dr_insert_ubr_instrumentation(
drcontext: *mut c_void,
ilist: *mut instrlist_t,
instr: *mut instr_t,
callee: *mut c_void,
)Expand description
Assumes that \p instr is a direct, near, unconditional branch. Inserts into \p ilist prior to \p instr instruction(s) to call callee passing two arguments: -# address of branch instruction -# target address of branch
\warning Basic block eliding is controlled by -max_elide_jmp. If that option is set to non-zero, ubrs may never be seen. \note Sets #DR_CLEANCALL_READS_APP_CONTEXT and #DR_CLEANCALL_WRITES_APP_CONTEXT. Conditionally skipping the instrumentation inserted by this routine is not supported (i.e., #DR_CLEANCALL_MULTIPATH is not supported here).