MySQL  8.0.19
Source Code Documentation
sp_branch_instr Class Referenceabstract

An interface for all SP-instructions with destinations that need to be updated by the SP-optimizer. More...

#include <sp_instr.h>

Inheritance diagram for sp_branch_instr:
sp_instr_jump sp_lex_branch_instr sp_instr_hpush_jump sp_instr_hreturn sp_instr_jump_case_when sp_instr_jump_if_not sp_instr_set_case_expr

Public Member Functions

virtual void set_destination (uint old_dest, uint new_dest)=0
 Update the destination; used by the SP-instruction-optimizer. More...
 
virtual void backpatch (uint dest)=0
 Update all instruction with the given label in the backpatch list to the specified instruction pointer. More...
 
virtual ~sp_branch_instr ()
 

Detailed Description

An interface for all SP-instructions with destinations that need to be updated by the SP-optimizer.

Constructor & Destructor Documentation

◆ ~sp_branch_instr()

virtual sp_branch_instr::~sp_branch_instr ( )
inlinevirtual

Member Function Documentation

◆ backpatch()

virtual void sp_branch_instr::backpatch ( uint  dest)
pure virtual

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

Parameters
destdestination instruction pointer.

Implemented in sp_instr_set_case_expr, sp_instr_hpush_jump, sp_lex_branch_instr, and sp_instr_jump.

◆ set_destination()

virtual void sp_branch_instr::set_destination ( uint  old_dest,
uint  new_dest 
)
pure virtual

Update the destination; used by the SP-instruction-optimizer.

Parameters
old_destcurrent (old) destination (instruction pointer).
new_destnew destination (instruction pointer).

Implemented in sp_instr_set_case_expr, sp_lex_branch_instr, and sp_instr_jump.


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