Skip to main content

instrlist_insert_push_instr_addr

Function instrlist_insert_push_instr_addr 

Source
pub unsafe extern "C" fn instrlist_insert_push_instr_addr(
    drcontext: *mut c_void,
    src_inst: *mut instr_t,
    encode_estimate: *mut byte,
    ilist: *mut instrlist_t,
    where_: *mut instr_t,
    first: *mut *mut instr_t,
    last: *mut *mut instr_t,
)
Expand description

Create meta instructions for pushing the address of \p src_inst on the stack, and then insert them into \p ilist prior to \p where. The \p encode_estimate parameter, used only for 64-bit mode, indicates whether the final address of \p src_inst, when it is encoded later, will fit in 32 bits or needs 64 bits. If the encoding will be in DynamoRIO’s code cache, pass NULL. If the final encoding location is unknown, pass a high address to be on the safe side. Pointers to the first and last created meta instructions are returned in \p first and \p last, unless only one meta instruction is created, in which case NULL is returned in last.