MySQL 5.6.14 Source Code Document
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
sp_instr_hpush_jump Class Reference
Inheritance diagram for sp_instr_hpush_jump:
Collaboration diagram for sp_instr_hpush_jump:

Public Member Functions

 sp_instr_hpush_jump (uint ip, sp_pcontext *ctx, sp_handler *handler)
void add_condition (sp_condition_value *condition_value)
sp_handlerget_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)
- Public Member Functions inherited from sp_instr_jump
 sp_instr_jump (uint ip, sp_pcontext *ctx)
 sp_instr_jump (uint ip, sp_pcontext *ctx, uint dest)
virtual void opt_move (uint dst, List< sp_branch_instr > *ibp)
virtual void set_destination (uint old_dest, uint new_dest)
- Public Member Functions inherited from sp_instr
 sp_instr (uint ip, sp_pcontext *ctx)
uint get_ip () const
virtual uint get_cont_dest () const
sp_pcontextget_parsing_ctx () const
bool opt_is_marked () const

Additional Inherited Members

- Static Public Member Functions inherited from Sql_alloc
static void * operator new (size_t size) throw ()
static void * operator new[] (size_t size) throw ()
static void * operator new[] (size_t size, MEM_ROOT *mem_root) throw ()
static void * operator new (size_t size, MEM_ROOT *mem_root) throw ()
static void operator delete (void *ptr, size_t size)
static void operator delete (void *ptr, MEM_ROOT *mem_root)
static void operator delete[] (void *ptr, MEM_ROOT *mem_root)
static void operator delete[] (void *ptr, size_t size)
- Protected Attributes inherited from sp_instr_jump
uint m_dest
 Where we will go.
sp_instrm_optdest

Detailed Description

Definition at line 1036 of file sp_instr.h.

Member Function Documentation

virtual void sp_instr_hpush_jump::backpatch ( uint  dest)
inlinevirtual

Update all instruction with the given label in the backpatch list to the specified instruction pointer.

Parameters
destdestination instruction pointer.

Reimplemented from sp_instr_jump.

Definition at line 1084 of file sp_instr.h.

bool sp_instr_hpush_jump::execute ( THD *  thd,
uint *  nextp 
)
virtual

Execute this instruction

Parameters
thdThread context
[out]nextpindex 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.
Returns
Error status.

Reimplemented from sp_instr_jump.

Definition at line 1282 of file sp_instr.cc.

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.

Definition at line 1315 of file sp_instr.cc.

Here is the call graph for this function:

virtual uint sp_instr_hpush_jump::opt_shortcut_jump ( sp_head sp,
sp_instr start 
)
inlinevirtual

Override sp_instr_jump's shortcut; we stop here.

Reimplemented from sp_instr_jump.

Definition at line 1077 of file sp_instr.h.


The documentation for this class was generated from the following files: