My Project
|
Public Member Functions | |
sp_instr_hpush_jump (uint ip, sp_pcontext *ctx, sp_handler *handler) | |
void | add_condition (sp_condition_value *condition_value) |
sp_handler * | get_handler () |
virtual void | print (String *str) |
virtual bool | execute (THD *thd, uint *nextp) |
virtual uint | opt_mark (sp_head *sp, List< sp_instr > *leads) |
virtual uint | opt_shortcut_jump (sp_head *sp, sp_instr *start) |
virtual void | backpatch (uint dest) |
virtual void sp_instr_hpush_jump::backpatch | ( | uint | dest | ) | [inline, virtual] |
Update all instruction with the given label in the backpatch list to the specified instruction pointer.
dest | destination instruction pointer. |
Reimplemented from sp_instr_jump.
bool sp_instr_hpush_jump::execute | ( | THD * | thd, |
uint * | nextp | ||
) | [virtual] |
Execute this instruction
thd | Thread context | |
[out] | nextp | index of the next instruction to execute. (For most instructions this will be the instruction following this one). Note that this parameter is undefined in case of errors, use get_cont_dest() to find the continuation instruction for CONTINUE error handlers. |
Reimplemented from sp_instr_jump.
uint sp_instr_hpush_jump::opt_mark | ( | sp_head * | sp, |
List< sp_instr > * | leads | ||
) | [virtual] |
Mark this instruction as reachable during optimization and return the index to the next instruction. Jump instruction will add their destination to the leads list.
Reimplemented from sp_instr_jump.
virtual uint sp_instr_hpush_jump::opt_shortcut_jump | ( | sp_head * | sp, |
sp_instr * | start | ||
) | [inline, virtual] |
Override sp_instr_jump's shortcut; we stop here.
Reimplemented from sp_instr_jump.