/* ex: set ro:
 * !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
 *
 * This file is generated automatically from 'src/ops/core.ops' (and possibly other
 * .ops files). by ops2c.nqp.
 *
 * Any changes made here will be lost!  To regenerate this file after making
 * changes to any ops, use the bootstrap-ops makefile target.
 *
 */

#include "parrot/oplib/core_ops.h"
#include "parrot/pbcversion.h"
#include "pmc/pmc_parrotlibrary.h"
#include "pmc/pmc_callcontext.h"


/* defines - Ops::Trans::C */
#define REL_PC     ((size_t)(cur_opcode - (opcode_t *)interp->code->base.data))
#define CUR_OPCODE cur_opcode
#define IREG(i) REG_INT(interp, cur_opcode[i])
#define NREG(i) REG_NUM(interp, cur_opcode[i])
#define PREG(i) REG_PMC(interp, cur_opcode[i])
#define SREG(i) REG_STR(interp, cur_opcode[i])
#define ICONST(i) cur_opcode[i]
#define NCONST(i) Parrot_pcc_get_num_constants(interp, interp->ctx)[cur_opcode[i]]
#define SCONST(i) Parrot_pcc_get_str_constants(interp, interp->ctx)[cur_opcode[i]]
#undef  PCONST
#define PCONST(i) Parrot_pcc_get_pmc_constants(interp, interp->ctx)[cur_opcode[i]]

static int get_op(PARROT_INTERP, const char * name, int full);


/* XXX should be static, but C++ doesn't want to play ball */
extern op_lib_t core_op_lib;



#include "parrot/dynext.h"
#include "parrot/runcore_api.h"
#include "parrot/events.h"
#include "pmc/pmc_exception.h"
#include "pmc/pmc_exceptionhandler.h"
#include "pmc/pmc_continuation.h"
#include "pmc/pmc_fixedintegerarray.h"
#include "pmc/pmc_parrotlibrary.h"



 /* Signed shift operator that is compatible with PMC shifts.  This is
  * guaranteed to produce the same result as bitwise_left_shift_internal modulo
  * word size, ignoring the fact that Parrot integers are always signed.  This
  * usually gives the same answer regardless whether you shift PMC operands and
  * then assign to an I-reg, or move the operands to I-regs and do the shift
  * there -- except when the true result is between 2^{w-1} and 2^w (where w is
  * the word size), in which case the high order bit is taken as the sign,
  * giving a truncated result that is 2^w lower.
  */
#define bit_shift_left(number, bits) \
    ((bits) >= 8*INTVAL_SIZE     ? 0                    \
     : (bits) >= 0               ? (number) << (bits)   \
     : (bits) > -8*INTVAL_SIZE   ? (number) >> -(bits)   \
     : 0)


#include "../io/io_private.h"


#include "parrot/encoding.h"
#include "parrot/namealias.h"
#if PARROT_HAS_ICU
#  include <unicode/uchar.h>
#endif



#include "parrot/scheduler_private.h"
#include "pmc/pmc_task.h"



INTVAL core_numops = 1130;

/*
** Op Function Table:
*/

static op_func_t core_op_func_table[1130] = {
  Parrot_end,                                        /*      0 */
  Parrot_noop,                                       /*      1 */
  Parrot_check_events,                               /*      2 */
  Parrot_check_events__,                             /*      3 */
  Parrot_load_bytecode_s,                            /*      4 */
  Parrot_load_bytecode_sc,                           /*      5 */
  Parrot_load_bytecode_p_s,                          /*      6 */
  Parrot_load_bytecode_p_sc,                         /*      7 */
  Parrot_load_language_s,                            /*      8 */
  Parrot_load_language_sc,                           /*      9 */
  Parrot_branch_i,                                   /*     10 */
  Parrot_branch_ic,                                  /*     11 */
  Parrot_local_branch_p_i,                           /*     12 */
  Parrot_local_branch_p_ic,                          /*     13 */
  Parrot_local_return_p,                             /*     14 */
  Parrot_jump_i,                                     /*     15 */
  Parrot_jump_ic,                                    /*     16 */
  Parrot_if_i_ic,                                    /*     17 */
  Parrot_if_n_ic,                                    /*     18 */
  Parrot_if_s_ic,                                    /*     19 */
  Parrot_if_p_ic,                                    /*     20 */
  Parrot_unless_i_ic,                                /*     21 */
  Parrot_unless_n_ic,                                /*     22 */
  Parrot_unless_s_ic,                                /*     23 */
  Parrot_unless_p_ic,                                /*     24 */
  Parrot_invokecc_p,                                 /*     25 */
  Parrot_invoke_p_p,                                 /*     26 */
  Parrot_yield,                                      /*     27 */
  Parrot_tailcall_p,                                 /*     28 */
  Parrot_returncc,                                   /*     29 */
  Parrot_capture_lex_p,                              /*     30 */
  Parrot_newclosure_p_p,                             /*     31 */
  Parrot_set_args_pc,                                /*     32 */
  Parrot_get_params_pc,                              /*     33 */
  Parrot_set_returns_pc,                             /*     34 */
  Parrot_get_results_pc,                             /*     35 */
  Parrot_set_result_info_p,                          /*     36 */
  Parrot_set_result_info_pc,                         /*     37 */
  Parrot_result_info_p,                              /*     38 */
  Parrot_set_addr_i_ic,                              /*     39 */
  Parrot_set_addr_p_ic,                              /*     40 */
  Parrot_set_addr_p_i,                               /*     41 */
  Parrot_get_addr_i_p,                               /*     42 */
  Parrot_schedule_p,                                 /*     43 */
  Parrot_schedule_local_p,                           /*     44 */
  Parrot_addhandler_p,                               /*     45 */
  Parrot_push_eh_ic,                                 /*     46 */
  Parrot_push_eh_p,                                  /*     47 */
  Parrot_pop_eh,                                     /*     48 */
  Parrot_throw_p,                                    /*     49 */
  Parrot_throw_p_p,                                  /*     50 */
  Parrot_rethrow_p,                                  /*     51 */
  Parrot_count_eh_i,                                 /*     52 */
  Parrot_die_s,                                      /*     53 */
  Parrot_die_sc,                                     /*     54 */
  Parrot_die_p,                                      /*     55 */
  Parrot_die_pc,                                     /*     56 */
  Parrot_die_i_i,                                    /*     57 */
  Parrot_die_ic_i,                                   /*     58 */
  Parrot_die_i_ic,                                   /*     59 */
  Parrot_die_ic_ic,                                  /*     60 */
  Parrot_exit_i,                                     /*     61 */
  Parrot_exit_ic,                                    /*     62 */
  Parrot_finalize_p,                                 /*     63 */
  Parrot_finalize_pc,                                /*     64 */
  Parrot_pop_upto_eh_p,                              /*     65 */
  Parrot_pop_upto_eh_pc,                             /*     66 */
  Parrot_peek_exception_p,                           /*     67 */
  Parrot_debug_i,                                    /*     68 */
  Parrot_debug_ic,                                   /*     69 */
  Parrot_bounds_i,                                   /*     70 */
  Parrot_bounds_ic,                                  /*     71 */
  Parrot_profile_i,                                  /*     72 */
  Parrot_profile_ic,                                 /*     73 */
  Parrot_trace_i,                                    /*     74 */
  Parrot_trace_ic,                                   /*     75 */
  Parrot_gc_debug_i,                                 /*     76 */
  Parrot_gc_debug_ic,                                /*     77 */
  Parrot_interpinfo_i_i,                             /*     78 */
  Parrot_interpinfo_i_ic,                            /*     79 */
  Parrot_interpinfo_p_i,                             /*     80 */
  Parrot_interpinfo_p_ic,                            /*     81 */
  Parrot_interpinfo_s_i,                             /*     82 */
  Parrot_interpinfo_s_ic,                            /*     83 */
  Parrot_warningson_i,                               /*     84 */
  Parrot_warningson_ic,                              /*     85 */
  Parrot_warningsoff_i,                              /*     86 */
  Parrot_warningsoff_ic,                             /*     87 */
  Parrot_errorson_i,                                 /*     88 */
  Parrot_errorson_ic,                                /*     89 */
  Parrot_errorsoff_i,                                /*     90 */
  Parrot_errorsoff_ic,                               /*     91 */
  Parrot_set_runcore_s,                              /*     92 */
  Parrot_set_runcore_sc,                             /*     93 */
  Parrot_runinterp_p_i,                              /*     94 */
  Parrot_runinterp_p_ic,                             /*     95 */
  Parrot_getinterp_p,                                /*     96 */
  Parrot_sweep_ic,                                   /*     97 */
  Parrot_collect,                                    /*     98 */
  Parrot_sweepoff,                                   /*     99 */
  Parrot_sweepon,                                    /*    100 */
  Parrot_collectoff,                                 /*    101 */
  Parrot_collecton,                                  /*    102 */
  Parrot_needs_destroy_p,                            /*    103 */
  Parrot_loadlib_p_s,                                /*    104 */
  Parrot_loadlib_p_sc,                               /*    105 */
  Parrot_loadlib_p_s_p,                              /*    106 */
  Parrot_loadlib_p_sc_p,                             /*    107 */
  Parrot_loadlib_p_s_pc,                             /*    108 */
  Parrot_loadlib_p_sc_pc,                            /*    109 */
  Parrot_dlfunc_p_p_s_s,                             /*    110 */
  Parrot_dlfunc_p_p_sc_s,                            /*    111 */
  Parrot_dlfunc_p_p_s_sc,                            /*    112 */
  Parrot_dlfunc_p_p_sc_sc,                           /*    113 */
  Parrot_dlfunc_p_p_s_p,                             /*    114 */
  Parrot_dlfunc_p_p_sc_p,                            /*    115 */
  Parrot_dlvar_p_p_s,                                /*    116 */
  Parrot_dlvar_p_p_sc,                               /*    117 */
  Parrot_compreg_s_p,                                /*    118 */
  Parrot_compreg_sc_p,                               /*    119 */
  Parrot_compreg_p_s,                                /*    120 */
  Parrot_compreg_p_sc,                               /*    121 */
  Parrot_new_callback_p_p_p_s,                       /*    122 */
  Parrot_new_callback_p_p_p_sc,                      /*    123 */
  Parrot_annotations_p,                              /*    124 */
  Parrot_annotations_p_s,                            /*    125 */
  Parrot_annotations_p_sc,                           /*    126 */
  Parrot_band_i_i,                                   /*    127 */
  Parrot_band_i_ic,                                  /*    128 */
  Parrot_band_i_i_i,                                 /*    129 */
  Parrot_band_i_ic_i,                                /*    130 */
  Parrot_band_i_i_ic,                                /*    131 */
  Parrot_bor_i_i,                                    /*    132 */
  Parrot_bor_i_ic,                                   /*    133 */
  Parrot_bor_i_i_i,                                  /*    134 */
  Parrot_bor_i_ic_i,                                 /*    135 */
  Parrot_bor_i_i_ic,                                 /*    136 */
  Parrot_shl_i_i,                                    /*    137 */
  Parrot_shl_i_ic,                                   /*    138 */
  Parrot_shl_i_i_i,                                  /*    139 */
  Parrot_shl_i_ic_i,                                 /*    140 */
  Parrot_shl_i_i_ic,                                 /*    141 */
  Parrot_shr_i_i,                                    /*    142 */
  Parrot_shr_i_ic,                                   /*    143 */
  Parrot_shr_i_i_i,                                  /*    144 */
  Parrot_shr_i_ic_i,                                 /*    145 */
  Parrot_shr_i_i_ic,                                 /*    146 */
  Parrot_lsr_i_i,                                    /*    147 */
  Parrot_lsr_i_ic,                                   /*    148 */
  Parrot_lsr_i_i_i,                                  /*    149 */
  Parrot_lsr_i_ic_i,                                 /*    150 */
  Parrot_lsr_i_i_ic,                                 /*    151 */
  Parrot_bxor_i_i,                                   /*    152 */
  Parrot_bxor_i_ic,                                  /*    153 */
  Parrot_bxor_i_i_i,                                 /*    154 */
  Parrot_bxor_i_ic_i,                                /*    155 */
  Parrot_bxor_i_i_ic,                                /*    156 */
  Parrot_eq_i_i_ic,                                  /*    157 */
  Parrot_eq_ic_i_ic,                                 /*    158 */
  Parrot_eq_i_ic_ic,                                 /*    159 */
  Parrot_eq_n_n_ic,                                  /*    160 */
  Parrot_eq_nc_n_ic,                                 /*    161 */
  Parrot_eq_n_nc_ic,                                 /*    162 */
  Parrot_eq_s_s_ic,                                  /*    163 */
  Parrot_eq_sc_s_ic,                                 /*    164 */
  Parrot_eq_s_sc_ic,                                 /*    165 */
  Parrot_eq_p_p_ic,                                  /*    166 */
  Parrot_eq_p_i_ic,                                  /*    167 */
  Parrot_eq_p_ic_ic,                                 /*    168 */
  Parrot_eq_p_n_ic,                                  /*    169 */
  Parrot_eq_p_nc_ic,                                 /*    170 */
  Parrot_eq_p_s_ic,                                  /*    171 */
  Parrot_eq_p_sc_ic,                                 /*    172 */
  Parrot_eq_str_p_p_ic,                              /*    173 */
  Parrot_eq_num_p_p_ic,                              /*    174 */
  Parrot_eq_addr_s_s_ic,                             /*    175 */
  Parrot_eq_addr_sc_s_ic,                            /*    176 */
  Parrot_eq_addr_s_sc_ic,                            /*    177 */
  Parrot_eq_addr_sc_sc_ic,                           /*    178 */
  Parrot_eq_addr_p_p_ic,                             /*    179 */
  Parrot_ne_i_i_ic,                                  /*    180 */
  Parrot_ne_ic_i_ic,                                 /*    181 */
  Parrot_ne_i_ic_ic,                                 /*    182 */
  Parrot_ne_n_n_ic,                                  /*    183 */
  Parrot_ne_nc_n_ic,                                 /*    184 */
  Parrot_ne_n_nc_ic,                                 /*    185 */
  Parrot_ne_s_s_ic,                                  /*    186 */
  Parrot_ne_sc_s_ic,                                 /*    187 */
  Parrot_ne_s_sc_ic,                                 /*    188 */
  Parrot_ne_p_p_ic,                                  /*    189 */
  Parrot_ne_p_i_ic,                                  /*    190 */
  Parrot_ne_p_ic_ic,                                 /*    191 */
  Parrot_ne_p_n_ic,                                  /*    192 */
  Parrot_ne_p_nc_ic,                                 /*    193 */
  Parrot_ne_p_s_ic,                                  /*    194 */
  Parrot_ne_p_sc_ic,                                 /*    195 */
  Parrot_ne_str_p_p_ic,                              /*    196 */
  Parrot_ne_num_p_p_ic,                              /*    197 */
  Parrot_ne_addr_s_s_ic,                             /*    198 */
  Parrot_ne_addr_sc_s_ic,                            /*    199 */
  Parrot_ne_addr_s_sc_ic,                            /*    200 */
  Parrot_ne_addr_sc_sc_ic,                           /*    201 */
  Parrot_ne_addr_p_p_ic,                             /*    202 */
  Parrot_lt_i_i_ic,                                  /*    203 */
  Parrot_lt_ic_i_ic,                                 /*    204 */
  Parrot_lt_i_ic_ic,                                 /*    205 */
  Parrot_lt_n_n_ic,                                  /*    206 */
  Parrot_lt_nc_n_ic,                                 /*    207 */
  Parrot_lt_n_nc_ic,                                 /*    208 */
  Parrot_lt_s_s_ic,                                  /*    209 */
  Parrot_lt_sc_s_ic,                                 /*    210 */
  Parrot_lt_s_sc_ic,                                 /*    211 */
  Parrot_lt_p_p_ic,                                  /*    212 */
  Parrot_lt_p_i_ic,                                  /*    213 */
  Parrot_lt_p_ic_ic,                                 /*    214 */
  Parrot_lt_p_n_ic,                                  /*    215 */
  Parrot_lt_p_nc_ic,                                 /*    216 */
  Parrot_lt_p_s_ic,                                  /*    217 */
  Parrot_lt_p_sc_ic,                                 /*    218 */
  Parrot_lt_str_p_p_ic,                              /*    219 */
  Parrot_lt_num_p_p_ic,                              /*    220 */
  Parrot_le_i_i_ic,                                  /*    221 */
  Parrot_le_ic_i_ic,                                 /*    222 */
  Parrot_le_i_ic_ic,                                 /*    223 */
  Parrot_le_n_n_ic,                                  /*    224 */
  Parrot_le_nc_n_ic,                                 /*    225 */
  Parrot_le_n_nc_ic,                                 /*    226 */
  Parrot_le_s_s_ic,                                  /*    227 */
  Parrot_le_sc_s_ic,                                 /*    228 */
  Parrot_le_s_sc_ic,                                 /*    229 */
  Parrot_le_p_p_ic,                                  /*    230 */
  Parrot_le_p_i_ic,                                  /*    231 */
  Parrot_le_p_ic_ic,                                 /*    232 */
  Parrot_le_p_n_ic,                                  /*    233 */
  Parrot_le_p_nc_ic,                                 /*    234 */
  Parrot_le_p_s_ic,                                  /*    235 */
  Parrot_le_p_sc_ic,                                 /*    236 */
  Parrot_le_str_p_p_ic,                              /*    237 */
  Parrot_le_num_p_p_ic,                              /*    238 */
  Parrot_gt_p_p_ic,                                  /*    239 */
  Parrot_gt_p_i_ic,                                  /*    240 */
  Parrot_gt_p_ic_ic,                                 /*    241 */
  Parrot_gt_p_n_ic,                                  /*    242 */
  Parrot_gt_p_nc_ic,                                 /*    243 */
  Parrot_gt_p_s_ic,                                  /*    244 */
  Parrot_gt_p_sc_ic,                                 /*    245 */
  Parrot_gt_str_p_p_ic,                              /*    246 */
  Parrot_gt_num_p_p_ic,                              /*    247 */
  Parrot_ge_p_p_ic,                                  /*    248 */
  Parrot_ge_p_i_ic,                                  /*    249 */
  Parrot_ge_p_ic_ic,                                 /*    250 */
  Parrot_ge_p_n_ic,                                  /*    251 */
  Parrot_ge_p_nc_ic,                                 /*    252 */
  Parrot_ge_p_s_ic,                                  /*    253 */
  Parrot_ge_p_sc_ic,                                 /*    254 */
  Parrot_ge_str_p_p_ic,                              /*    255 */
  Parrot_ge_num_p_p_ic,                              /*    256 */
  Parrot_if_null_p_ic,                               /*    257 */
  Parrot_if_null_s_ic,                               /*    258 */
  Parrot_unless_null_p_ic,                           /*    259 */
  Parrot_unless_null_s_ic,                           /*    260 */
  Parrot_cmp_i_i_i,                                  /*    261 */
  Parrot_cmp_i_ic_i,                                 /*    262 */
  Parrot_cmp_i_i_ic,                                 /*    263 */
  Parrot_cmp_i_n_n,                                  /*    264 */
  Parrot_cmp_i_nc_n,                                 /*    265 */
  Parrot_cmp_i_n_nc,                                 /*    266 */
  Parrot_cmp_i_s_s,                                  /*    267 */
  Parrot_cmp_i_sc_s,                                 /*    268 */
  Parrot_cmp_i_s_sc,                                 /*    269 */
  Parrot_cmp_i_p_p,                                  /*    270 */
  Parrot_cmp_i_p_i,                                  /*    271 */
  Parrot_cmp_i_p_ic,                                 /*    272 */
  Parrot_cmp_i_p_n,                                  /*    273 */
  Parrot_cmp_i_p_nc,                                 /*    274 */
  Parrot_cmp_i_p_s,                                  /*    275 */
  Parrot_cmp_i_p_sc,                                 /*    276 */
  Parrot_cmp_str_i_p_p,                              /*    277 */
  Parrot_cmp_num_i_p_p,                              /*    278 */
  Parrot_cmp_pmc_p_p_p,                              /*    279 */
  Parrot_issame_i_p_p,                               /*    280 */
  Parrot_issame_i_s_s,                               /*    281 */
  Parrot_issame_i_sc_s,                              /*    282 */
  Parrot_issame_i_s_sc,                              /*    283 */
  Parrot_issame_i_sc_sc,                             /*    284 */
  Parrot_isntsame_i_p_p,                             /*    285 */
  Parrot_isntsame_i_s_s,                             /*    286 */
  Parrot_isntsame_i_sc_s,                            /*    287 */
  Parrot_isntsame_i_s_sc,                            /*    288 */
  Parrot_isntsame_i_sc_sc,                           /*    289 */
  Parrot_istrue_i_p,                                 /*    290 */
  Parrot_isfalse_i_p,                                /*    291 */
  Parrot_isnull_i_p,                                 /*    292 */
  Parrot_isnull_i_pc,                                /*    293 */
  Parrot_isnull_i_s,                                 /*    294 */
  Parrot_isnull_i_sc,                                /*    295 */
  Parrot_isgt_i_p_p,                                 /*    296 */
  Parrot_isge_i_p_p,                                 /*    297 */
  Parrot_isle_i_i_i,                                 /*    298 */
  Parrot_isle_i_ic_i,                                /*    299 */
  Parrot_isle_i_i_ic,                                /*    300 */
  Parrot_isle_i_n_n,                                 /*    301 */
  Parrot_isle_i_nc_n,                                /*    302 */
  Parrot_isle_i_n_nc,                                /*    303 */
  Parrot_isle_i_s_s,                                 /*    304 */
  Parrot_isle_i_sc_s,                                /*    305 */
  Parrot_isle_i_s_sc,                                /*    306 */
  Parrot_isle_i_p_p,                                 /*    307 */
  Parrot_islt_i_i_i,                                 /*    308 */
  Parrot_islt_i_ic_i,                                /*    309 */
  Parrot_islt_i_i_ic,                                /*    310 */
  Parrot_islt_i_n_n,                                 /*    311 */
  Parrot_islt_i_nc_n,                                /*    312 */
  Parrot_islt_i_n_nc,                                /*    313 */
  Parrot_islt_i_s_s,                                 /*    314 */
  Parrot_islt_i_sc_s,                                /*    315 */
  Parrot_islt_i_s_sc,                                /*    316 */
  Parrot_islt_i_p_p,                                 /*    317 */
  Parrot_iseq_i_i_i,                                 /*    318 */
  Parrot_iseq_i_ic_i,                                /*    319 */
  Parrot_iseq_i_i_ic,                                /*    320 */
  Parrot_iseq_i_n_n,                                 /*    321 */
  Parrot_iseq_i_nc_n,                                /*    322 */
  Parrot_iseq_i_n_nc,                                /*    323 */
  Parrot_iseq_i_s_s,                                 /*    324 */
  Parrot_iseq_i_sc_s,                                /*    325 */
  Parrot_iseq_i_s_sc,                                /*    326 */
  Parrot_iseq_i_p_p,                                 /*    327 */
  Parrot_isne_i_i_i,                                 /*    328 */
  Parrot_isne_i_ic_i,                                /*    329 */
  Parrot_isne_i_i_ic,                                /*    330 */
  Parrot_isne_i_n_n,                                 /*    331 */
  Parrot_isne_i_nc_n,                                /*    332 */
  Parrot_isne_i_n_nc,                                /*    333 */
  Parrot_isne_i_s_s,                                 /*    334 */
  Parrot_isne_i_sc_s,                                /*    335 */
  Parrot_isne_i_s_sc,                                /*    336 */
  Parrot_isne_i_p_p,                                 /*    337 */
  Parrot_and_i_i_i,                                  /*    338 */
  Parrot_and_i_ic_i,                                 /*    339 */
  Parrot_and_i_i_ic,                                 /*    340 */
  Parrot_and_p_p_p,                                  /*    341 */
  Parrot_not_i,                                      /*    342 */
  Parrot_not_i_i,                                    /*    343 */
  Parrot_not_p,                                      /*    344 */
  Parrot_not_p_p,                                    /*    345 */
  Parrot_or_i_i_i,                                   /*    346 */
  Parrot_or_i_ic_i,                                  /*    347 */
  Parrot_or_i_i_ic,                                  /*    348 */
  Parrot_or_p_p_p,                                   /*    349 */
  Parrot_xor_i_i_i,                                  /*    350 */
  Parrot_xor_i_ic_i,                                 /*    351 */
  Parrot_xor_i_i_ic,                                 /*    352 */
  Parrot_xor_p_p_p,                                  /*    353 */
  Parrot_print_i,                                    /*    354 */
  Parrot_print_ic,                                   /*    355 */
  Parrot_print_n,                                    /*    356 */
  Parrot_print_nc,                                   /*    357 */
  Parrot_print_s,                                    /*    358 */
  Parrot_print_sc,                                   /*    359 */
  Parrot_print_p,                                    /*    360 */
  Parrot_say_i,                                      /*    361 */
  Parrot_say_ic,                                     /*    362 */
  Parrot_say_n,                                      /*    363 */
  Parrot_say_nc,                                     /*    364 */
  Parrot_say_s,                                      /*    365 */
  Parrot_say_sc,                                     /*    366 */
  Parrot_say_p,                                      /*    367 */
  Parrot_print_p_i,                                  /*    368 */
  Parrot_print_p_ic,                                 /*    369 */
  Parrot_print_p_n,                                  /*    370 */
  Parrot_print_p_nc,                                 /*    371 */
  Parrot_print_p_s,                                  /*    372 */
  Parrot_print_p_sc,                                 /*    373 */
  Parrot_print_p_p,                                  /*    374 */
  Parrot_getstdin_p,                                 /*    375 */
  Parrot_getstdout_p,                                /*    376 */
  Parrot_getstderr_p,                                /*    377 */
  Parrot_abs_i,                                      /*    378 */
  Parrot_abs_n,                                      /*    379 */
  Parrot_abs_i_i,                                    /*    380 */
  Parrot_abs_n_n,                                    /*    381 */
  Parrot_abs_p,                                      /*    382 */
  Parrot_abs_p_p,                                    /*    383 */
  Parrot_add_i_i,                                    /*    384 */
  Parrot_add_i_ic,                                   /*    385 */
  Parrot_add_n_n,                                    /*    386 */
  Parrot_add_n_nc,                                   /*    387 */
  Parrot_add_p_p,                                    /*    388 */
  Parrot_add_p_i,                                    /*    389 */
  Parrot_add_p_ic,                                   /*    390 */
  Parrot_add_p_n,                                    /*    391 */
  Parrot_add_p_nc,                                   /*    392 */
  Parrot_add_i_i_i,                                  /*    393 */
  Parrot_add_i_ic_i,                                 /*    394 */
  Parrot_add_i_i_ic,                                 /*    395 */
  Parrot_add_n_n_n,                                  /*    396 */
  Parrot_add_n_nc_n,                                 /*    397 */
  Parrot_add_n_n_nc,                                 /*    398 */
  Parrot_add_p_p_p,                                  /*    399 */
  Parrot_add_p_p_i,                                  /*    400 */
  Parrot_add_p_p_ic,                                 /*    401 */
  Parrot_add_p_p_n,                                  /*    402 */
  Parrot_add_p_p_nc,                                 /*    403 */
  Parrot_dec_i,                                      /*    404 */
  Parrot_dec_n,                                      /*    405 */
  Parrot_dec_p,                                      /*    406 */
  Parrot_div_i_i,                                    /*    407 */
  Parrot_div_i_ic,                                   /*    408 */
  Parrot_div_n_n,                                    /*    409 */
  Parrot_div_n_nc,                                   /*    410 */
  Parrot_div_p_p,                                    /*    411 */
  Parrot_div_p_i,                                    /*    412 */
  Parrot_div_p_ic,                                   /*    413 */
  Parrot_div_p_n,                                    /*    414 */
  Parrot_div_p_nc,                                   /*    415 */
  Parrot_div_i_i_i,                                  /*    416 */
  Parrot_div_i_ic_i,                                 /*    417 */
  Parrot_div_i_i_ic,                                 /*    418 */
  Parrot_div_i_ic_ic,                                /*    419 */
  Parrot_div_n_n_n,                                  /*    420 */
  Parrot_div_n_nc_n,                                 /*    421 */
  Parrot_div_n_n_nc,                                 /*    422 */
  Parrot_div_n_nc_nc,                                /*    423 */
  Parrot_div_p_p_p,                                  /*    424 */
  Parrot_div_p_p_i,                                  /*    425 */
  Parrot_div_p_p_ic,                                 /*    426 */
  Parrot_div_p_p_n,                                  /*    427 */
  Parrot_div_p_p_nc,                                 /*    428 */
  Parrot_fdiv_i_i,                                   /*    429 */
  Parrot_fdiv_i_ic,                                  /*    430 */
  Parrot_fdiv_n_n,                                   /*    431 */
  Parrot_fdiv_n_nc,                                  /*    432 */
  Parrot_fdiv_p_p,                                   /*    433 */
  Parrot_fdiv_p_i,                                   /*    434 */
  Parrot_fdiv_p_ic,                                  /*    435 */
  Parrot_fdiv_p_n,                                   /*    436 */
  Parrot_fdiv_p_nc,                                  /*    437 */
  Parrot_fdiv_i_i_i,                                 /*    438 */
  Parrot_fdiv_i_ic_i,                                /*    439 */
  Parrot_fdiv_i_i_ic,                                /*    440 */
  Parrot_fdiv_n_n_n,                                 /*    441 */
  Parrot_fdiv_n_nc_n,                                /*    442 */
  Parrot_fdiv_n_n_nc,                                /*    443 */
  Parrot_fdiv_p_p_p,                                 /*    444 */
  Parrot_fdiv_p_p_i,                                 /*    445 */
  Parrot_fdiv_p_p_ic,                                /*    446 */
  Parrot_fdiv_p_p_n,                                 /*    447 */
  Parrot_fdiv_p_p_nc,                                /*    448 */
  Parrot_ceil_n,                                     /*    449 */
  Parrot_ceil_i_n,                                   /*    450 */
  Parrot_ceil_n_n,                                   /*    451 */
  Parrot_floor_n,                                    /*    452 */
  Parrot_floor_i_n,                                  /*    453 */
  Parrot_floor_n_n,                                  /*    454 */
  Parrot_inc_i,                                      /*    455 */
  Parrot_inc_n,                                      /*    456 */
  Parrot_inc_p,                                      /*    457 */
  Parrot_mod_i_i,                                    /*    458 */
  Parrot_mod_i_ic,                                   /*    459 */
  Parrot_mod_n_n,                                    /*    460 */
  Parrot_mod_n_nc,                                   /*    461 */
  Parrot_mod_p_p,                                    /*    462 */
  Parrot_mod_p_i,                                    /*    463 */
  Parrot_mod_p_ic,                                   /*    464 */
  Parrot_mod_p_n,                                    /*    465 */
  Parrot_mod_p_nc,                                   /*    466 */
  Parrot_mod_i_i_i,                                  /*    467 */
  Parrot_mod_i_ic_i,                                 /*    468 */
  Parrot_mod_i_i_ic,                                 /*    469 */
  Parrot_mod_n_n_n,                                  /*    470 */
  Parrot_mod_n_nc_n,                                 /*    471 */
  Parrot_mod_n_n_nc,                                 /*    472 */
  Parrot_mod_p_p_p,                                  /*    473 */
  Parrot_mod_p_p_i,                                  /*    474 */
  Parrot_mod_p_p_ic,                                 /*    475 */
  Parrot_mod_p_p_n,                                  /*    476 */
  Parrot_mod_p_p_nc,                                 /*    477 */
  Parrot_mul_i_i,                                    /*    478 */
  Parrot_mul_i_ic,                                   /*    479 */
  Parrot_mul_n_n,                                    /*    480 */
  Parrot_mul_n_nc,                                   /*    481 */
  Parrot_mul_p_p,                                    /*    482 */
  Parrot_mul_p_i,                                    /*    483 */
  Parrot_mul_p_ic,                                   /*    484 */
  Parrot_mul_p_n,                                    /*    485 */
  Parrot_mul_p_nc,                                   /*    486 */
  Parrot_mul_i_i_i,                                  /*    487 */
  Parrot_mul_i_ic_i,                                 /*    488 */
  Parrot_mul_i_i_ic,                                 /*    489 */
  Parrot_mul_n_n_n,                                  /*    490 */
  Parrot_mul_n_nc_n,                                 /*    491 */
  Parrot_mul_n_n_nc,                                 /*    492 */
  Parrot_mul_p_p_p,                                  /*    493 */
  Parrot_mul_p_p_i,                                  /*    494 */
  Parrot_mul_p_p_ic,                                 /*    495 */
  Parrot_mul_p_p_n,                                  /*    496 */
  Parrot_mul_p_p_nc,                                 /*    497 */
  Parrot_neg_i,                                      /*    498 */
  Parrot_neg_n,                                      /*    499 */
  Parrot_neg_p,                                      /*    500 */
  Parrot_neg_i_i,                                    /*    501 */
  Parrot_neg_n_n,                                    /*    502 */
  Parrot_neg_p_p,                                    /*    503 */
  Parrot_sub_i_i,                                    /*    504 */
  Parrot_sub_i_ic,                                   /*    505 */
  Parrot_sub_n_n,                                    /*    506 */
  Parrot_sub_n_nc,                                   /*    507 */
  Parrot_sub_p_p,                                    /*    508 */
  Parrot_sub_p_i,                                    /*    509 */
  Parrot_sub_p_ic,                                   /*    510 */
  Parrot_sub_p_n,                                    /*    511 */
  Parrot_sub_p_nc,                                   /*    512 */
  Parrot_sub_i_i_i,                                  /*    513 */
  Parrot_sub_i_ic_i,                                 /*    514 */
  Parrot_sub_i_i_ic,                                 /*    515 */
  Parrot_sub_n_n_n,                                  /*    516 */
  Parrot_sub_n_nc_n,                                 /*    517 */
  Parrot_sub_n_n_nc,                                 /*    518 */
  Parrot_sub_p_p_p,                                  /*    519 */
  Parrot_sub_p_p_i,                                  /*    520 */
  Parrot_sub_p_p_ic,                                 /*    521 */
  Parrot_sub_p_p_n,                                  /*    522 */
  Parrot_sub_p_p_nc,                                 /*    523 */
  Parrot_sqrt_n_n,                                   /*    524 */
  Parrot_is_inf_or_nan_i_n,                          /*    525 */
  Parrot_is_inf_or_nan_i_nc,                         /*    526 */
  Parrot_callmethodcc_p_s,                           /*    527 */
  Parrot_callmethodcc_p_sc,                          /*    528 */
  Parrot_callmethodcc_p_p,                           /*    529 */
  Parrot_callmethod_p_s_p,                           /*    530 */
  Parrot_callmethod_p_sc_p,                          /*    531 */
  Parrot_callmethod_p_p_p,                           /*    532 */
  Parrot_tailcallmethod_p_s,                         /*    533 */
  Parrot_tailcallmethod_p_sc,                        /*    534 */
  Parrot_tailcallmethod_p_p,                         /*    535 */
  Parrot_addmethod_p_s_p,                            /*    536 */
  Parrot_addmethod_p_sc_p,                           /*    537 */
  Parrot_can_i_p_s,                                  /*    538 */
  Parrot_can_i_p_sc,                                 /*    539 */
  Parrot_does_i_p_s,                                 /*    540 */
  Parrot_does_i_p_sc,                                /*    541 */
  Parrot_does_i_p_p,                                 /*    542 */
  Parrot_does_i_p_pc,                                /*    543 */
  Parrot_isa_i_p_s,                                  /*    544 */
  Parrot_isa_i_p_sc,                                 /*    545 */
  Parrot_isa_i_p_p,                                  /*    546 */
  Parrot_isa_i_p_pc,                                 /*    547 */
  Parrot_newclass_p_s,                               /*    548 */
  Parrot_newclass_p_sc,                              /*    549 */
  Parrot_newclass_p_p,                               /*    550 */
  Parrot_newclass_p_pc,                              /*    551 */
  Parrot_subclass_p_p,                               /*    552 */
  Parrot_subclass_p_pc,                              /*    553 */
  Parrot_subclass_p_p_s,                             /*    554 */
  Parrot_subclass_p_pc_s,                            /*    555 */
  Parrot_subclass_p_p_sc,                            /*    556 */
  Parrot_subclass_p_pc_sc,                           /*    557 */
  Parrot_subclass_p_p_p,                             /*    558 */
  Parrot_subclass_p_pc_p,                            /*    559 */
  Parrot_subclass_p_p_pc,                            /*    560 */
  Parrot_subclass_p_pc_pc,                           /*    561 */
  Parrot_subclass_p_s,                               /*    562 */
  Parrot_subclass_p_sc,                              /*    563 */
  Parrot_subclass_p_s_s,                             /*    564 */
  Parrot_subclass_p_sc_s,                            /*    565 */
  Parrot_subclass_p_s_sc,                            /*    566 */
  Parrot_subclass_p_sc_sc,                           /*    567 */
  Parrot_subclass_p_s_p,                             /*    568 */
  Parrot_subclass_p_sc_p,                            /*    569 */
  Parrot_subclass_p_s_pc,                            /*    570 */
  Parrot_subclass_p_sc_pc,                           /*    571 */
  Parrot_get_class_p_s,                              /*    572 */
  Parrot_get_class_p_sc,                             /*    573 */
  Parrot_get_class_p_p,                              /*    574 */
  Parrot_get_class_p_pc,                             /*    575 */
  Parrot_class_p_p,                                  /*    576 */
  Parrot_addparent_p_p,                              /*    577 */
  Parrot_removeparent_p_p,                           /*    578 */
  Parrot_addrole_p_p,                                /*    579 */
  Parrot_addattribute_p_s,                           /*    580 */
  Parrot_addattribute_p_sc,                          /*    581 */
  Parrot_removeattribute_p_s,                        /*    582 */
  Parrot_removeattribute_p_sc,                       /*    583 */
  Parrot_getattribute_p_p_s,                         /*    584 */
  Parrot_getattribute_p_p_sc,                        /*    585 */
  Parrot_getattribute_p_p_p_s,                       /*    586 */
  Parrot_getattribute_p_p_pc_s,                      /*    587 */
  Parrot_getattribute_p_p_p_sc,                      /*    588 */
  Parrot_getattribute_p_p_pc_sc,                     /*    589 */
  Parrot_setattribute_p_s_p,                         /*    590 */
  Parrot_setattribute_p_sc_p,                        /*    591 */
  Parrot_setattribute_p_p_s_p,                       /*    592 */
  Parrot_setattribute_p_pc_s_p,                      /*    593 */
  Parrot_setattribute_p_p_sc_p,                      /*    594 */
  Parrot_setattribute_p_pc_sc_p,                     /*    595 */
  Parrot_inspect_p_p,                                /*    596 */
  Parrot_inspect_p_pc,                               /*    597 */
  Parrot_inspect_p_p_s,                              /*    598 */
  Parrot_inspect_p_pc_s,                             /*    599 */
  Parrot_inspect_p_p_sc,                             /*    600 */
  Parrot_inspect_p_pc_sc,                            /*    601 */
  Parrot_new_p_s,                                    /*    602 */
  Parrot_new_p_sc,                                   /*    603 */
  Parrot_new_p_s_p,                                  /*    604 */
  Parrot_new_p_sc_p,                                 /*    605 */
  Parrot_new_p_s_pc,                                 /*    606 */
  Parrot_new_p_sc_pc,                                /*    607 */
  Parrot_new_p_p,                                    /*    608 */
  Parrot_new_p_pc,                                   /*    609 */
  Parrot_new_p_p_p,                                  /*    610 */
  Parrot_new_p_pc_p,                                 /*    611 */
  Parrot_new_p_p_pc,                                 /*    612 */
  Parrot_new_p_pc_pc,                                /*    613 */
  Parrot_root_new_p_p,                               /*    614 */
  Parrot_root_new_p_pc,                              /*    615 */
  Parrot_root_new_p_p_p,                             /*    616 */
  Parrot_root_new_p_pc_p,                            /*    617 */
  Parrot_root_new_p_p_pc,                            /*    618 */
  Parrot_root_new_p_pc_pc,                           /*    619 */
  Parrot_typeof_s_p,                                 /*    620 */
  Parrot_typeof_p_p,                                 /*    621 */
  Parrot_get_repr_s_p,                               /*    622 */
  Parrot_find_method_p_p_s,                          /*    623 */
  Parrot_find_method_p_p_sc,                         /*    624 */
  Parrot_defined_i_p,                                /*    625 */
  Parrot_defined_i_p_ki,                             /*    626 */
  Parrot_defined_i_p_kic,                            /*    627 */
  Parrot_defined_i_p_k,                              /*    628 */
  Parrot_defined_i_p_kc,                             /*    629 */
  Parrot_exists_i_p_ki,                              /*    630 */
  Parrot_exists_i_p_kic,                             /*    631 */
  Parrot_exists_i_p_k,                               /*    632 */
  Parrot_exists_i_p_kc,                              /*    633 */
  Parrot_delete_p_k,                                 /*    634 */
  Parrot_delete_p_kc,                                /*    635 */
  Parrot_delete_p_ki,                                /*    636 */
  Parrot_delete_p_kic,                               /*    637 */
  Parrot_elements_i_p,                               /*    638 */
  Parrot_push_p_i,                                   /*    639 */
  Parrot_push_p_ic,                                  /*    640 */
  Parrot_push_p_n,                                   /*    641 */
  Parrot_push_p_nc,                                  /*    642 */
  Parrot_push_p_s,                                   /*    643 */
  Parrot_push_p_sc,                                  /*    644 */
  Parrot_push_p_p,                                   /*    645 */
  Parrot_pop_i_p,                                    /*    646 */
  Parrot_pop_n_p,                                    /*    647 */
  Parrot_pop_s_p,                                    /*    648 */
  Parrot_pop_p_p,                                    /*    649 */
  Parrot_unshift_p_i,                                /*    650 */
  Parrot_unshift_p_ic,                               /*    651 */
  Parrot_unshift_p_n,                                /*    652 */
  Parrot_unshift_p_nc,                               /*    653 */
  Parrot_unshift_p_s,                                /*    654 */
  Parrot_unshift_p_sc,                               /*    655 */
  Parrot_unshift_p_p,                                /*    656 */
  Parrot_shift_i_p,                                  /*    657 */
  Parrot_shift_n_p,                                  /*    658 */
  Parrot_shift_s_p,                                  /*    659 */
  Parrot_shift_p_p,                                  /*    660 */
  Parrot_splice_p_p_i_i,                             /*    661 */
  Parrot_splice_p_p_ic_i,                            /*    662 */
  Parrot_splice_p_p_i_ic,                            /*    663 */
  Parrot_splice_p_p_ic_ic,                           /*    664 */
  Parrot_setprop_p_s_p,                              /*    665 */
  Parrot_setprop_p_sc_p,                             /*    666 */
  Parrot_getprop_p_s_p,                              /*    667 */
  Parrot_getprop_p_sc_p,                             /*    668 */
  Parrot_getprop_p_p_s,                              /*    669 */
  Parrot_getprop_p_p_sc,                             /*    670 */
  Parrot_delprop_p_s,                                /*    671 */
  Parrot_delprop_p_sc,                               /*    672 */
  Parrot_prophash_p_p,                               /*    673 */
  Parrot_freeze_s_p,                                 /*    674 */
  Parrot_thaw_p_s,                                   /*    675 */
  Parrot_thaw_p_sc,                                  /*    676 */
  Parrot_add_multi_s_s_p,                            /*    677 */
  Parrot_add_multi_sc_s_p,                           /*    678 */
  Parrot_add_multi_s_sc_p,                           /*    679 */
  Parrot_add_multi_sc_sc_p,                          /*    680 */
  Parrot_find_multi_p_s_s,                           /*    681 */
  Parrot_find_multi_p_sc_s,                          /*    682 */
  Parrot_find_multi_p_s_sc,                          /*    683 */
  Parrot_find_multi_p_sc_sc,                         /*    684 */
  Parrot_register_p,                                 /*    685 */
  Parrot_unregister_p,                               /*    686 */
  Parrot_box_p_i,                                    /*    687 */
  Parrot_box_p_ic,                                   /*    688 */
  Parrot_box_p_n,                                    /*    689 */
  Parrot_box_p_nc,                                   /*    690 */
  Parrot_box_p_s,                                    /*    691 */
  Parrot_box_p_sc,                                   /*    692 */
  Parrot_iter_p_p,                                   /*    693 */
  Parrot_morph_p_p,                                  /*    694 */
  Parrot_morph_p_pc,                                 /*    695 */
  Parrot_clone_s_s,                                  /*    696 */
  Parrot_clone_s_sc,                                 /*    697 */
  Parrot_set_i_i,                                    /*    698 */
  Parrot_set_i_ic,                                   /*    699 */
  Parrot_set_i_n,                                    /*    700 */
  Parrot_set_i_nc,                                   /*    701 */
  Parrot_set_i_s,                                    /*    702 */
  Parrot_set_i_sc,                                   /*    703 */
  Parrot_set_n_n,                                    /*    704 */
  Parrot_set_n_nc,                                   /*    705 */
  Parrot_set_n_i,                                    /*    706 */
  Parrot_set_n_ic,                                   /*    707 */
  Parrot_set_n_s,                                    /*    708 */
  Parrot_set_n_sc,                                   /*    709 */
  Parrot_set_n_p,                                    /*    710 */
  Parrot_set_s_p,                                    /*    711 */
  Parrot_set_s_s,                                    /*    712 */
  Parrot_set_s_sc,                                   /*    713 */
  Parrot_set_s_i,                                    /*    714 */
  Parrot_set_s_ic,                                   /*    715 */
  Parrot_set_s_n,                                    /*    716 */
  Parrot_set_s_nc,                                   /*    717 */
  Parrot_set_p_pc,                                   /*    718 */
  Parrot_set_p_p,                                    /*    719 */
  Parrot_set_p_i,                                    /*    720 */
  Parrot_set_p_ic,                                   /*    721 */
  Parrot_set_p_n,                                    /*    722 */
  Parrot_set_p_nc,                                   /*    723 */
  Parrot_set_p_s,                                    /*    724 */
  Parrot_set_p_sc,                                   /*    725 */
  Parrot_set_i_p,                                    /*    726 */
  Parrot_assign_p_p,                                 /*    727 */
  Parrot_assign_p_i,                                 /*    728 */
  Parrot_assign_p_ic,                                /*    729 */
  Parrot_assign_p_n,                                 /*    730 */
  Parrot_assign_p_nc,                                /*    731 */
  Parrot_assign_p_s,                                 /*    732 */
  Parrot_assign_p_sc,                                /*    733 */
  Parrot_assign_s_s,                                 /*    734 */
  Parrot_assign_s_sc,                                /*    735 */
  Parrot_setref_p_p,                                 /*    736 */
  Parrot_deref_p_p,                                  /*    737 */
  Parrot_set_p_ki_i,                                 /*    738 */
  Parrot_set_p_kic_i,                                /*    739 */
  Parrot_set_p_ki_ic,                                /*    740 */
  Parrot_set_p_kic_ic,                               /*    741 */
  Parrot_set_p_ki_n,                                 /*    742 */
  Parrot_set_p_kic_n,                                /*    743 */
  Parrot_set_p_ki_nc,                                /*    744 */
  Parrot_set_p_kic_nc,                               /*    745 */
  Parrot_set_p_ki_s,                                 /*    746 */
  Parrot_set_p_kic_s,                                /*    747 */
  Parrot_set_p_ki_sc,                                /*    748 */
  Parrot_set_p_kic_sc,                               /*    749 */
  Parrot_set_p_ki_p,                                 /*    750 */
  Parrot_set_p_kic_p,                                /*    751 */
  Parrot_set_i_p_ki,                                 /*    752 */
  Parrot_set_i_p_kic,                                /*    753 */
  Parrot_set_n_p_ki,                                 /*    754 */
  Parrot_set_n_p_kic,                                /*    755 */
  Parrot_set_s_p_ki,                                 /*    756 */
  Parrot_set_s_p_kic,                                /*    757 */
  Parrot_set_p_p_ki,                                 /*    758 */
  Parrot_set_p_p_kic,                                /*    759 */
  Parrot_set_p_k_i,                                  /*    760 */
  Parrot_set_p_kc_i,                                 /*    761 */
  Parrot_set_p_k_ic,                                 /*    762 */
  Parrot_set_p_kc_ic,                                /*    763 */
  Parrot_set_p_k_n,                                  /*    764 */
  Parrot_set_p_kc_n,                                 /*    765 */
  Parrot_set_p_k_nc,                                 /*    766 */
  Parrot_set_p_kc_nc,                                /*    767 */
  Parrot_set_p_k_s,                                  /*    768 */
  Parrot_set_p_kc_s,                                 /*    769 */
  Parrot_set_p_k_sc,                                 /*    770 */
  Parrot_set_p_kc_sc,                                /*    771 */
  Parrot_set_p_k_p,                                  /*    772 */
  Parrot_set_p_kc_p,                                 /*    773 */
  Parrot_set_i_p_k,                                  /*    774 */
  Parrot_set_i_p_kc,                                 /*    775 */
  Parrot_set_n_p_k,                                  /*    776 */
  Parrot_set_n_p_kc,                                 /*    777 */
  Parrot_set_s_p_k,                                  /*    778 */
  Parrot_set_s_p_kc,                                 /*    779 */
  Parrot_set_p_p_k,                                  /*    780 */
  Parrot_set_p_p_kc,                                 /*    781 */
  Parrot_clone_p_p,                                  /*    782 */
  Parrot_clone_p_p_p,                                /*    783 */
  Parrot_clone_p_p_pc,                               /*    784 */
  Parrot_copy_p_p,                                   /*    785 */
  Parrot_null_s,                                     /*    786 */
  Parrot_null_i,                                     /*    787 */
  Parrot_null_p,                                     /*    788 */
  Parrot_null_n,                                     /*    789 */
  Parrot_ord_i_s,                                    /*    790 */
  Parrot_ord_i_sc,                                   /*    791 */
  Parrot_ord_i_s_i,                                  /*    792 */
  Parrot_ord_i_sc_i,                                 /*    793 */
  Parrot_ord_i_s_ic,                                 /*    794 */
  Parrot_ord_i_sc_ic,                                /*    795 */
  Parrot_chr_s_i,                                    /*    796 */
  Parrot_chr_s_ic,                                   /*    797 */
  Parrot_chopn_s_s_i,                                /*    798 */
  Parrot_chopn_s_sc_i,                               /*    799 */
  Parrot_chopn_s_s_ic,                               /*    800 */
  Parrot_chopn_s_sc_ic,                              /*    801 */
  Parrot_concat_p_p,                                 /*    802 */
  Parrot_concat_p_s,                                 /*    803 */
  Parrot_concat_p_sc,                                /*    804 */
  Parrot_concat_s_s_s,                               /*    805 */
  Parrot_concat_s_sc_s,                              /*    806 */
  Parrot_concat_s_s_sc,                              /*    807 */
  Parrot_concat_p_p_s,                               /*    808 */
  Parrot_concat_p_p_sc,                              /*    809 */
  Parrot_concat_p_p_p,                               /*    810 */
  Parrot_repeat_s_s_i,                               /*    811 */
  Parrot_repeat_s_sc_i,                              /*    812 */
  Parrot_repeat_s_s_ic,                              /*    813 */
  Parrot_repeat_s_sc_ic,                             /*    814 */
  Parrot_repeat_p_p_i,                               /*    815 */
  Parrot_repeat_p_p_ic,                              /*    816 */
  Parrot_repeat_p_p_p,                               /*    817 */
  Parrot_repeat_p_i,                                 /*    818 */
  Parrot_repeat_p_ic,                                /*    819 */
  Parrot_repeat_p_p,                                 /*    820 */
  Parrot_length_i_s,                                 /*    821 */
  Parrot_length_i_sc,                                /*    822 */
  Parrot_bytelength_i_s,                             /*    823 */
  Parrot_bytelength_i_sc,                            /*    824 */
  Parrot_pin_s,                                      /*    825 */
  Parrot_unpin_s,                                    /*    826 */
  Parrot_substr_s_s_i,                               /*    827 */
  Parrot_substr_s_sc_i,                              /*    828 */
  Parrot_substr_s_s_ic,                              /*    829 */
  Parrot_substr_s_sc_ic,                             /*    830 */
  Parrot_substr_s_s_i_i,                             /*    831 */
  Parrot_substr_s_sc_i_i,                            /*    832 */
  Parrot_substr_s_s_ic_i,                            /*    833 */
  Parrot_substr_s_sc_ic_i,                           /*    834 */
  Parrot_substr_s_s_i_ic,                            /*    835 */
  Parrot_substr_s_sc_i_ic,                           /*    836 */
  Parrot_substr_s_s_ic_ic,                           /*    837 */
  Parrot_substr_s_sc_ic_ic,                          /*    838 */
  Parrot_substr_s_p_i_i,                             /*    839 */
  Parrot_substr_s_p_ic_i,                            /*    840 */
  Parrot_substr_s_p_i_ic,                            /*    841 */
  Parrot_substr_s_p_ic_ic,                           /*    842 */
  Parrot_replace_s_s_i_i_s,                          /*    843 */
  Parrot_replace_s_sc_i_i_s,                         /*    844 */
  Parrot_replace_s_s_ic_i_s,                         /*    845 */
  Parrot_replace_s_sc_ic_i_s,                        /*    846 */
  Parrot_replace_s_s_i_ic_s,                         /*    847 */
  Parrot_replace_s_sc_i_ic_s,                        /*    848 */
  Parrot_replace_s_s_ic_ic_s,                        /*    849 */
  Parrot_replace_s_sc_ic_ic_s,                       /*    850 */
  Parrot_replace_s_s_i_i_sc,                         /*    851 */
  Parrot_replace_s_sc_i_i_sc,                        /*    852 */
  Parrot_replace_s_s_ic_i_sc,                        /*    853 */
  Parrot_replace_s_sc_ic_i_sc,                       /*    854 */
  Parrot_replace_s_s_i_ic_sc,                        /*    855 */
  Parrot_replace_s_sc_i_ic_sc,                       /*    856 */
  Parrot_replace_s_s_ic_ic_sc,                       /*    857 */
  Parrot_replace_s_sc_ic_ic_sc,                      /*    858 */
  Parrot_index_i_s_s,                                /*    859 */
  Parrot_index_i_sc_s,                               /*    860 */
  Parrot_index_i_s_sc,                               /*    861 */
  Parrot_index_i_sc_sc,                              /*    862 */
  Parrot_index_i_s_s_i,                              /*    863 */
  Parrot_index_i_sc_s_i,                             /*    864 */
  Parrot_index_i_s_sc_i,                             /*    865 */
  Parrot_index_i_sc_sc_i,                            /*    866 */
  Parrot_index_i_s_s_ic,                             /*    867 */
  Parrot_index_i_sc_s_ic,                            /*    868 */
  Parrot_index_i_s_sc_ic,                            /*    869 */
  Parrot_index_i_sc_sc_ic,                           /*    870 */
  Parrot_rindex_i_s_s,                               /*    871 */
  Parrot_rindex_i_sc_s,                              /*    872 */
  Parrot_rindex_i_s_sc,                              /*    873 */
  Parrot_rindex_i_sc_sc,                             /*    874 */
  Parrot_rindex_i_s_s_i,                             /*    875 */
  Parrot_rindex_i_sc_s_i,                            /*    876 */
  Parrot_rindex_i_s_sc_i,                            /*    877 */
  Parrot_rindex_i_sc_sc_i,                           /*    878 */
  Parrot_rindex_i_s_s_ic,                            /*    879 */
  Parrot_rindex_i_sc_s_ic,                           /*    880 */
  Parrot_rindex_i_s_sc_ic,                           /*    881 */
  Parrot_rindex_i_sc_sc_ic,                          /*    882 */
  Parrot_sprintf_s_s_p,                              /*    883 */
  Parrot_sprintf_s_sc_p,                             /*    884 */
  Parrot_sprintf_p_p_p,                              /*    885 */
  Parrot_new_s,                                      /*    886 */
  Parrot_stringinfo_i_s_i,                           /*    887 */
  Parrot_stringinfo_i_sc_i,                          /*    888 */
  Parrot_stringinfo_i_s_ic,                          /*    889 */
  Parrot_stringinfo_i_sc_ic,                         /*    890 */
  Parrot_upcase_s_s,                                 /*    891 */
  Parrot_upcase_s_sc,                                /*    892 */
  Parrot_downcase_s_s,                               /*    893 */
  Parrot_downcase_s_sc,                              /*    894 */
  Parrot_titlecase_s_s,                              /*    895 */
  Parrot_titlecase_s_sc,                             /*    896 */
  Parrot_join_s_s_p,                                 /*    897 */
  Parrot_join_s_sc_p,                                /*    898 */
  Parrot_split_p_s_s,                                /*    899 */
  Parrot_split_p_sc_s,                               /*    900 */
  Parrot_split_p_s_sc,                               /*    901 */
  Parrot_split_p_sc_sc,                              /*    902 */
  Parrot_encoding_i_s,                               /*    903 */
  Parrot_encoding_i_sc,                              /*    904 */
  Parrot_encodingname_s_i,                           /*    905 */
  Parrot_encodingname_s_ic,                          /*    906 */
  Parrot_find_encoding_i_s,                          /*    907 */
  Parrot_find_encoding_i_sc,                         /*    908 */
  Parrot_trans_encoding_s_s_i,                       /*    909 */
  Parrot_trans_encoding_s_sc_i,                      /*    910 */
  Parrot_trans_encoding_s_s_ic,                      /*    911 */
  Parrot_trans_encoding_s_sc_ic,                     /*    912 */
  Parrot_is_cclass_i_i_s_i,                          /*    913 */
  Parrot_is_cclass_i_ic_s_i,                         /*    914 */
  Parrot_is_cclass_i_i_sc_i,                         /*    915 */
  Parrot_is_cclass_i_ic_sc_i,                        /*    916 */
  Parrot_is_cclass_i_i_s_ic,                         /*    917 */
  Parrot_is_cclass_i_ic_s_ic,                        /*    918 */
  Parrot_is_cclass_i_i_sc_ic,                        /*    919 */
  Parrot_is_cclass_i_ic_sc_ic,                       /*    920 */
  Parrot_find_cclass_i_i_s_i_i,                      /*    921 */
  Parrot_find_cclass_i_ic_s_i_i,                     /*    922 */
  Parrot_find_cclass_i_i_sc_i_i,                     /*    923 */
  Parrot_find_cclass_i_ic_sc_i_i,                    /*    924 */
  Parrot_find_cclass_i_i_s_ic_i,                     /*    925 */
  Parrot_find_cclass_i_ic_s_ic_i,                    /*    926 */
  Parrot_find_cclass_i_i_sc_ic_i,                    /*    927 */
  Parrot_find_cclass_i_ic_sc_ic_i,                   /*    928 */
  Parrot_find_cclass_i_i_s_i_ic,                     /*    929 */
  Parrot_find_cclass_i_ic_s_i_ic,                    /*    930 */
  Parrot_find_cclass_i_i_sc_i_ic,                    /*    931 */
  Parrot_find_cclass_i_ic_sc_i_ic,                   /*    932 */
  Parrot_find_cclass_i_i_s_ic_ic,                    /*    933 */
  Parrot_find_cclass_i_ic_s_ic_ic,                   /*    934 */
  Parrot_find_cclass_i_i_sc_ic_ic,                   /*    935 */
  Parrot_find_cclass_i_ic_sc_ic_ic,                  /*    936 */
  Parrot_find_not_cclass_i_i_s_i_i,                  /*    937 */
  Parrot_find_not_cclass_i_ic_s_i_i,                 /*    938 */
  Parrot_find_not_cclass_i_i_sc_i_i,                 /*    939 */
  Parrot_find_not_cclass_i_ic_sc_i_i,                /*    940 */
  Parrot_find_not_cclass_i_i_s_ic_i,                 /*    941 */
  Parrot_find_not_cclass_i_ic_s_ic_i,                /*    942 */
  Parrot_find_not_cclass_i_i_sc_ic_i,                /*    943 */
  Parrot_find_not_cclass_i_ic_sc_ic_i,               /*    944 */
  Parrot_find_not_cclass_i_i_s_i_ic,                 /*    945 */
  Parrot_find_not_cclass_i_ic_s_i_ic,                /*    946 */
  Parrot_find_not_cclass_i_i_sc_i_ic,                /*    947 */
  Parrot_find_not_cclass_i_ic_sc_i_ic,               /*    948 */
  Parrot_find_not_cclass_i_i_s_ic_ic,                /*    949 */
  Parrot_find_not_cclass_i_ic_s_ic_ic,               /*    950 */
  Parrot_find_not_cclass_i_i_sc_ic_ic,               /*    951 */
  Parrot_find_not_cclass_i_ic_sc_ic_ic,              /*    952 */
  Parrot_escape_s_s,                                 /*    953 */
  Parrot_compose_s_s,                                /*    954 */
  Parrot_compose_s_sc,                               /*    955 */
  Parrot_find_codepoint_i_s,                         /*    956 */
  Parrot_find_codepoint_i_sc,                        /*    957 */
  Parrot_spawnw_i_s,                                 /*    958 */
  Parrot_spawnw_i_sc,                                /*    959 */
  Parrot_spawnw_i_p,                                 /*    960 */
  Parrot_err_i,                                      /*    961 */
  Parrot_err_s,                                      /*    962 */
  Parrot_err_s_i,                                    /*    963 */
  Parrot_err_s_ic,                                   /*    964 */
  Parrot_time_i,                                     /*    965 */
  Parrot_time_n,                                     /*    966 */
  Parrot_sleep_i,                                    /*    967 */
  Parrot_sleep_ic,                                   /*    968 */
  Parrot_sleep_n,                                    /*    969 */
  Parrot_sleep_nc,                                   /*    970 */
  Parrot_store_lex_s_p,                              /*    971 */
  Parrot_store_lex_sc_p,                             /*    972 */
  Parrot_store_lex_s_s,                              /*    973 */
  Parrot_store_lex_sc_s,                             /*    974 */
  Parrot_store_lex_s_sc,                             /*    975 */
  Parrot_store_lex_sc_sc,                            /*    976 */
  Parrot_store_lex_s_i,                              /*    977 */
  Parrot_store_lex_sc_i,                             /*    978 */
  Parrot_store_lex_s_ic,                             /*    979 */
  Parrot_store_lex_sc_ic,                            /*    980 */
  Parrot_store_lex_s_n,                              /*    981 */
  Parrot_store_lex_sc_n,                             /*    982 */
  Parrot_store_lex_s_nc,                             /*    983 */
  Parrot_store_lex_sc_nc,                            /*    984 */
  Parrot_store_dynamic_lex_s_p,                      /*    985 */
  Parrot_store_dynamic_lex_sc_p,                     /*    986 */
  Parrot_find_lex_p_s,                               /*    987 */
  Parrot_find_lex_p_sc,                              /*    988 */
  Parrot_find_lex_s_s,                               /*    989 */
  Parrot_find_lex_s_sc,                              /*    990 */
  Parrot_find_lex_i_s,                               /*    991 */
  Parrot_find_lex_i_sc,                              /*    992 */
  Parrot_find_lex_n_s,                               /*    993 */
  Parrot_find_lex_n_sc,                              /*    994 */
  Parrot_find_dynamic_lex_p_s,                       /*    995 */
  Parrot_find_dynamic_lex_p_sc,                      /*    996 */
  Parrot_find_caller_lex_p_s,                        /*    997 */
  Parrot_find_caller_lex_p_sc,                       /*    998 */
  Parrot_get_namespace_p,                            /*    999 */
  Parrot_get_namespace_p_p,                          /*   1000 */
  Parrot_get_namespace_p_pc,                         /*   1001 */
  Parrot_get_hll_namespace_p,                        /*   1002 */
  Parrot_get_hll_namespace_p_p,                      /*   1003 */
  Parrot_get_hll_namespace_p_pc,                     /*   1004 */
  Parrot_get_root_namespace_p,                       /*   1005 */
  Parrot_get_root_namespace_p_p,                     /*   1006 */
  Parrot_get_root_namespace_p_pc,                    /*   1007 */
  Parrot_get_global_p_s,                             /*   1008 */
  Parrot_get_global_p_sc,                            /*   1009 */
  Parrot_get_global_p_p_s,                           /*   1010 */
  Parrot_get_global_p_pc_s,                          /*   1011 */
  Parrot_get_global_p_p_sc,                          /*   1012 */
  Parrot_get_global_p_pc_sc,                         /*   1013 */
  Parrot_get_hll_global_p_s,                         /*   1014 */
  Parrot_get_hll_global_p_sc,                        /*   1015 */
  Parrot_get_hll_global_p_p_s,                       /*   1016 */
  Parrot_get_hll_global_p_pc_s,                      /*   1017 */
  Parrot_get_hll_global_p_p_sc,                      /*   1018 */
  Parrot_get_hll_global_p_pc_sc,                     /*   1019 */
  Parrot_get_root_global_p_s,                        /*   1020 */
  Parrot_get_root_global_p_sc,                       /*   1021 */
  Parrot_get_root_global_p_p_s,                      /*   1022 */
  Parrot_get_root_global_p_pc_s,                     /*   1023 */
  Parrot_get_root_global_p_p_sc,                     /*   1024 */
  Parrot_get_root_global_p_pc_sc,                    /*   1025 */
  Parrot_set_global_s_p,                             /*   1026 */
  Parrot_set_global_sc_p,                            /*   1027 */
  Parrot_set_global_p_s_p,                           /*   1028 */
  Parrot_set_global_pc_s_p,                          /*   1029 */
  Parrot_set_global_p_sc_p,                          /*   1030 */
  Parrot_set_global_pc_sc_p,                         /*   1031 */
  Parrot_set_hll_global_s_p,                         /*   1032 */
  Parrot_set_hll_global_sc_p,                        /*   1033 */
  Parrot_set_hll_global_p_s_p,                       /*   1034 */
  Parrot_set_hll_global_pc_s_p,                      /*   1035 */
  Parrot_set_hll_global_p_sc_p,                      /*   1036 */
  Parrot_set_hll_global_pc_sc_p,                     /*   1037 */
  Parrot_set_root_global_s_p,                        /*   1038 */
  Parrot_set_root_global_sc_p,                       /*   1039 */
  Parrot_set_root_global_p_s_p,                      /*   1040 */
  Parrot_set_root_global_pc_s_p,                     /*   1041 */
  Parrot_set_root_global_p_sc_p,                     /*   1042 */
  Parrot_set_root_global_pc_sc_p,                    /*   1043 */
  Parrot_find_name_p_s,                              /*   1044 */
  Parrot_find_name_p_sc,                             /*   1045 */
  Parrot_find_sub_not_null_p_s,                      /*   1046 */
  Parrot_find_sub_not_null_p_sc,                     /*   1047 */
  Parrot_trap,                                       /*   1048 */
  Parrot_set_label_p_ic,                             /*   1049 */
  Parrot_get_label_i_p,                              /*   1050 */
  Parrot_get_id_i_p,                                 /*   1051 */
  Parrot_get_id_i_pc,                                /*   1052 */
  Parrot_fetch_p_p_p_p,                              /*   1053 */
  Parrot_fetch_p_pc_p_p,                             /*   1054 */
  Parrot_fetch_p_p_pc_p,                             /*   1055 */
  Parrot_fetch_p_pc_pc_p,                            /*   1056 */
  Parrot_fetch_p_p_p_pc,                             /*   1057 */
  Parrot_fetch_p_pc_p_pc,                            /*   1058 */
  Parrot_fetch_p_p_pc_pc,                            /*   1059 */
  Parrot_fetch_p_pc_pc_pc,                           /*   1060 */
  Parrot_fetch_p_p_i_p,                              /*   1061 */
  Parrot_fetch_p_pc_i_p,                             /*   1062 */
  Parrot_fetch_p_p_ic_p,                             /*   1063 */
  Parrot_fetch_p_pc_ic_p,                            /*   1064 */
  Parrot_fetch_p_p_i_pc,                             /*   1065 */
  Parrot_fetch_p_pc_i_pc,                            /*   1066 */
  Parrot_fetch_p_p_ic_pc,                            /*   1067 */
  Parrot_fetch_p_pc_ic_pc,                           /*   1068 */
  Parrot_fetch_p_p_s_p,                              /*   1069 */
  Parrot_fetch_p_pc_s_p,                             /*   1070 */
  Parrot_fetch_p_p_sc_p,                             /*   1071 */
  Parrot_fetch_p_pc_sc_p,                            /*   1072 */
  Parrot_fetch_p_p_s_pc,                             /*   1073 */
  Parrot_fetch_p_pc_s_pc,                            /*   1074 */
  Parrot_fetch_p_p_sc_pc,                            /*   1075 */
  Parrot_fetch_p_pc_sc_pc,                           /*   1076 */
  Parrot_vivify_p_p_p_p,                             /*   1077 */
  Parrot_vivify_p_pc_p_p,                            /*   1078 */
  Parrot_vivify_p_p_pc_p,                            /*   1079 */
  Parrot_vivify_p_pc_pc_p,                           /*   1080 */
  Parrot_vivify_p_p_p_pc,                            /*   1081 */
  Parrot_vivify_p_pc_p_pc,                           /*   1082 */
  Parrot_vivify_p_p_pc_pc,                           /*   1083 */
  Parrot_vivify_p_pc_pc_pc,                          /*   1084 */
  Parrot_vivify_p_p_i_p,                             /*   1085 */
  Parrot_vivify_p_pc_i_p,                            /*   1086 */
  Parrot_vivify_p_p_ic_p,                            /*   1087 */
  Parrot_vivify_p_pc_ic_p,                           /*   1088 */
  Parrot_vivify_p_p_i_pc,                            /*   1089 */
  Parrot_vivify_p_pc_i_pc,                           /*   1090 */
  Parrot_vivify_p_p_ic_pc,                           /*   1091 */
  Parrot_vivify_p_pc_ic_pc,                          /*   1092 */
  Parrot_vivify_p_p_s_p,                             /*   1093 */
  Parrot_vivify_p_pc_s_p,                            /*   1094 */
  Parrot_vivify_p_p_sc_p,                            /*   1095 */
  Parrot_vivify_p_pc_sc_p,                           /*   1096 */
  Parrot_vivify_p_p_s_pc,                            /*   1097 */
  Parrot_vivify_p_pc_s_pc,                           /*   1098 */
  Parrot_vivify_p_p_sc_pc,                           /*   1099 */
  Parrot_vivify_p_pc_sc_pc,                          /*   1100 */
  Parrot_new_p_s_i,                                  /*   1101 */
  Parrot_new_p_sc_i,                                 /*   1102 */
  Parrot_new_p_s_ic,                                 /*   1103 */
  Parrot_new_p_sc_ic,                                /*   1104 */
  Parrot_new_p_p_i,                                  /*   1105 */
  Parrot_new_p_pc_i,                                 /*   1106 */
  Parrot_new_p_p_ic,                                 /*   1107 */
  Parrot_new_p_pc_ic,                                /*   1108 */
  Parrot_root_new_p_p_i,                             /*   1109 */
  Parrot_root_new_p_pc_i,                            /*   1110 */
  Parrot_root_new_p_p_ic,                            /*   1111 */
  Parrot_root_new_p_pc_ic,                           /*   1112 */
  Parrot_get_context_p,                              /*   1113 */
  Parrot_new_call_context_p,                         /*   1114 */
  Parrot_invokecc_p_p,                               /*   1115 */
  Parrot_flatten_array_into_p_p_i,                   /*   1116 */
  Parrot_flatten_array_into_p_p_ic,                  /*   1117 */
  Parrot_flatten_hash_into_p_p_i,                    /*   1118 */
  Parrot_flatten_hash_into_p_p_ic,                   /*   1119 */
  Parrot_slurp_array_from_p_p_i,                     /*   1120 */
  Parrot_slurp_array_from_p_p_ic,                    /*   1121 */
  Parrot_receive_p,                                  /*   1122 */
  Parrot_wait_p,                                     /*   1123 */
  Parrot_wait_pc,                                    /*   1124 */
  Parrot_pass,                                       /*   1125 */
  Parrot_disable_preemption,                         /*   1126 */
  Parrot_enable_preemption,                          /*   1127 */
  Parrot_terminate,                                  /*   1128 */

  NULL /* NULL function pointer */
};



/*
** Op Info Table:
*/

static op_info_t core_op_info_table[1130] = {
  { /* 0 */
    "end",
    "end",
    "Parrot_end",
    0,
    1,
    { (arg_type_t) 0 },
    { (arg_dir_t) 0 },
    { 0 },
    &core_op_lib
  },
  { /* 1 */
    "noop",
    "noop",
    "Parrot_noop",
    0,
    1,
    { (arg_type_t) 0 },
    { (arg_dir_t) 0 },
    { 0 },
    &core_op_lib
  },
  { /* 2 */
    "check_events",
    "check_events",
    "Parrot_check_events",
    0,
    1,
    { (arg_type_t) 0 },
    { (arg_dir_t) 0 },
    { 0 },
    &core_op_lib
  },
  { /* 3 */
    "check_events__",
    "check_events__",
    "Parrot_check_events__",
    0,
    1,
    { (arg_type_t) 0 },
    { (arg_dir_t) 0 },
    { 0 },
    &core_op_lib
  },
  { /* 4 */
    "load_bytecode",
    "load_bytecode_s",
    "Parrot_load_bytecode_s",
    0,
    2,
    { PARROT_ARG_S },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 5 */
    "load_bytecode",
    "load_bytecode_sc",
    "Parrot_load_bytecode_sc",
    0,
    2,
    { PARROT_ARG_SC },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 6 */
    "load_bytecode",
    "load_bytecode_p_s",
    "Parrot_load_bytecode_p_s",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 7 */
    "load_bytecode",
    "load_bytecode_p_sc",
    "Parrot_load_bytecode_p_sc",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 8 */
    "load_language",
    "load_language_s",
    "Parrot_load_language_s",
    0,
    2,
    { PARROT_ARG_S },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 9 */
    "load_language",
    "load_language_sc",
    "Parrot_load_language_sc",
    0,
    2,
    { PARROT_ARG_SC },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 10 */
    "branch",
    "branch_i",
    "Parrot_branch_i",
    PARROT_JUMP_RELATIVE,
    2,
    { PARROT_ARG_I },
    { PARROT_ARGDIR_IN },
    { 1 },
    &core_op_lib
  },
  { /* 11 */
    "branch",
    "branch_ic",
    "Parrot_branch_ic",
    PARROT_JUMP_RELATIVE,
    2,
    { PARROT_ARG_IC },
    { PARROT_ARGDIR_IN },
    { 1 },
    &core_op_lib
  },
  { /* 12 */
    "local_branch",
    "local_branch_p_i",
    "Parrot_local_branch_p_i",
    PARROT_JUMP_RELATIVE,
    3,
    { PARROT_ARG_P, PARROT_ARG_I },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 1 },
    &core_op_lib
  },
  { /* 13 */
    "local_branch",
    "local_branch_p_ic",
    "Parrot_local_branch_p_ic",
    PARROT_JUMP_RELATIVE,
    3,
    { PARROT_ARG_P, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 1 },
    &core_op_lib
  },
  { /* 14 */
    "local_return",
    "local_return_p",
    "Parrot_local_return_p",
    0,
    2,
    { PARROT_ARG_P },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 15 */
    "jump",
    "jump_i",
    "Parrot_jump_i",
    0,
    2,
    { PARROT_ARG_I },
    { PARROT_ARGDIR_IN },
    { 1 },
    &core_op_lib
  },
  { /* 16 */
    "jump",
    "jump_ic",
    "Parrot_jump_ic",
    0,
    2,
    { PARROT_ARG_IC },
    { PARROT_ARGDIR_IN },
    { 1 },
    &core_op_lib
  },
  { /* 17 */
    "if",
    "if_i_ic",
    "Parrot_if_i_ic",
    PARROT_JUMP_RELATIVE,
    3,
    { PARROT_ARG_I, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 1 },
    &core_op_lib
  },
  { /* 18 */
    "if",
    "if_n_ic",
    "Parrot_if_n_ic",
    PARROT_JUMP_RELATIVE,
    3,
    { PARROT_ARG_N, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 1 },
    &core_op_lib
  },
  { /* 19 */
    "if",
    "if_s_ic",
    "Parrot_if_s_ic",
    PARROT_JUMP_RELATIVE,
    3,
    { PARROT_ARG_S, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 1 },
    &core_op_lib
  },
  { /* 20 */
    "if",
    "if_p_ic",
    "Parrot_if_p_ic",
    PARROT_JUMP_RELATIVE,
    3,
    { PARROT_ARG_P, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 1 },
    &core_op_lib
  },
  { /* 21 */
    "unless",
    "unless_i_ic",
    "Parrot_unless_i_ic",
    PARROT_JUMP_RELATIVE,
    3,
    { PARROT_ARG_I, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 1 },
    &core_op_lib
  },
  { /* 22 */
    "unless",
    "unless_n_ic",
    "Parrot_unless_n_ic",
    PARROT_JUMP_RELATIVE,
    3,
    { PARROT_ARG_N, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 1 },
    &core_op_lib
  },
  { /* 23 */
    "unless",
    "unless_s_ic",
    "Parrot_unless_s_ic",
    PARROT_JUMP_RELATIVE,
    3,
    { PARROT_ARG_S, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 1 },
    &core_op_lib
  },
  { /* 24 */
    "unless",
    "unless_p_ic",
    "Parrot_unless_p_ic",
    PARROT_JUMP_RELATIVE,
    3,
    { PARROT_ARG_P, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 1 },
    &core_op_lib
  },
  { /* 25 */
    "invokecc",
    "invokecc_p",
    "Parrot_invokecc_p",
    0,
    2,
    { PARROT_ARG_P },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 26 */
    "invoke",
    "invoke_p_p",
    "Parrot_invoke_p_p",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 27 */
    "yield",
    "yield",
    "Parrot_yield",
    0,
    1,
    { (arg_type_t) 0 },
    { (arg_dir_t) 0 },
    { 0 },
    &core_op_lib
  },
  { /* 28 */
    "tailcall",
    "tailcall_p",
    "Parrot_tailcall_p",
    0,
    2,
    { PARROT_ARG_P },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 29 */
    "returncc",
    "returncc",
    "Parrot_returncc",
    0,
    1,
    { (arg_type_t) 0 },
    { (arg_dir_t) 0 },
    { 0 },
    &core_op_lib
  },
  { /* 30 */
    "capture_lex",
    "capture_lex_p",
    "Parrot_capture_lex_p",
    0,
    2,
    { PARROT_ARG_P },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 31 */
    "newclosure",
    "newclosure_p_p",
    "Parrot_newclosure_p_p",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 32 */
    "set_args",
    "set_args_pc",
    "Parrot_set_args_pc",
    PARROT_JUMP_RELATIVE,
    2,
    { PARROT_ARG_PC },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 33 */
    "get_params",
    "get_params_pc",
    "Parrot_get_params_pc",
    PARROT_JUMP_RELATIVE,
    2,
    { PARROT_ARG_PC },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 34 */
    "set_returns",
    "set_returns_pc",
    "Parrot_set_returns_pc",
    PARROT_JUMP_RELATIVE,
    2,
    { PARROT_ARG_PC },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 35 */
    "get_results",
    "get_results_pc",
    "Parrot_get_results_pc",
    PARROT_JUMP_RELATIVE,
    2,
    { PARROT_ARG_PC },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 36 */
    "set_result_info",
    "set_result_info_p",
    "Parrot_set_result_info_p",
    0,
    2,
    { PARROT_ARG_P },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 37 */
    "set_result_info",
    "set_result_info_pc",
    "Parrot_set_result_info_pc",
    0,
    2,
    { PARROT_ARG_PC },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 38 */
    "result_info",
    "result_info_p",
    "Parrot_result_info_p",
    0,
    2,
    { PARROT_ARG_P },
    { PARROT_ARGDIR_OUT },
    { 0 },
    &core_op_lib
  },
  { /* 39 */
    "set_addr",
    "set_addr_i_ic",
    "Parrot_set_addr_i_ic",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 1 },
    &core_op_lib
  },
  { /* 40 */
    "set_addr",
    "set_addr_p_ic",
    "Parrot_set_addr_p_ic",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 1 },
    &core_op_lib
  },
  { /* 41 */
    "set_addr",
    "set_addr_p_i",
    "Parrot_set_addr_p_i",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_I },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 1 },
    &core_op_lib
  },
  { /* 42 */
    "get_addr",
    "get_addr_i_p",
    "Parrot_get_addr_i_p",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 43 */
    "schedule",
    "schedule_p",
    "Parrot_schedule_p",
    0,
    2,
    { PARROT_ARG_P },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 44 */
    "schedule_local",
    "schedule_local_p",
    "Parrot_schedule_local_p",
    0,
    2,
    { PARROT_ARG_P },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 45 */
    "addhandler",
    "addhandler_p",
    "Parrot_addhandler_p",
    0,
    2,
    { PARROT_ARG_P },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 46 */
    "push_eh",
    "push_eh_ic",
    "Parrot_push_eh_ic",
    0,
    2,
    { PARROT_ARG_IC },
    { PARROT_ARGDIR_IN },
    { 1 },
    &core_op_lib
  },
  { /* 47 */
    "push_eh",
    "push_eh_p",
    "Parrot_push_eh_p",
    0,
    2,
    { PARROT_ARG_P },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 48 */
    "pop_eh",
    "pop_eh",
    "Parrot_pop_eh",
    0,
    1,
    { (arg_type_t) 0 },
    { (arg_dir_t) 0 },
    { 0 },
    &core_op_lib
  },
  { /* 49 */
    "throw",
    "throw_p",
    "Parrot_throw_p",
    0,
    2,
    { PARROT_ARG_P },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 50 */
    "throw",
    "throw_p_p",
    "Parrot_throw_p_p",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 51 */
    "rethrow",
    "rethrow_p",
    "Parrot_rethrow_p",
    0,
    2,
    { PARROT_ARG_P },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 52 */
    "count_eh",
    "count_eh_i",
    "Parrot_count_eh_i",
    0,
    2,
    { PARROT_ARG_I },
    { PARROT_ARGDIR_OUT },
    { 0 },
    &core_op_lib
  },
  { /* 53 */
    "die",
    "die_s",
    "Parrot_die_s",
    0,
    2,
    { PARROT_ARG_S },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 54 */
    "die",
    "die_sc",
    "Parrot_die_sc",
    0,
    2,
    { PARROT_ARG_SC },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 55 */
    "die",
    "die_p",
    "Parrot_die_p",
    0,
    2,
    { PARROT_ARG_P },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 56 */
    "die",
    "die_pc",
    "Parrot_die_pc",
    0,
    2,
    { PARROT_ARG_PC },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 57 */
    "die",
    "die_i_i",
    "Parrot_die_i_i",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_I },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 58 */
    "die",
    "die_ic_i",
    "Parrot_die_ic_i",
    0,
    3,
    { PARROT_ARG_IC, PARROT_ARG_I },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 59 */
    "die",
    "die_i_ic",
    "Parrot_die_i_ic",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 60 */
    "die",
    "die_ic_ic",
    "Parrot_die_ic_ic",
    0,
    3,
    { PARROT_ARG_IC, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 61 */
    "exit",
    "exit_i",
    "Parrot_exit_i",
    0,
    2,
    { PARROT_ARG_I },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 62 */
    "exit",
    "exit_ic",
    "Parrot_exit_ic",
    0,
    2,
    { PARROT_ARG_IC },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 63 */
    "finalize",
    "finalize_p",
    "Parrot_finalize_p",
    0,
    2,
    { PARROT_ARG_P },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 64 */
    "finalize",
    "finalize_pc",
    "Parrot_finalize_pc",
    0,
    2,
    { PARROT_ARG_PC },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 65 */
    "pop_upto_eh",
    "pop_upto_eh_p",
    "Parrot_pop_upto_eh_p",
    0,
    2,
    { PARROT_ARG_P },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 66 */
    "pop_upto_eh",
    "pop_upto_eh_pc",
    "Parrot_pop_upto_eh_pc",
    0,
    2,
    { PARROT_ARG_PC },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 67 */
    "peek_exception",
    "peek_exception_p",
    "Parrot_peek_exception_p",
    0,
    2,
    { PARROT_ARG_P },
    { PARROT_ARGDIR_OUT },
    { 0 },
    &core_op_lib
  },
  { /* 68 */
    "debug",
    "debug_i",
    "Parrot_debug_i",
    0,
    2,
    { PARROT_ARG_I },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 69 */
    "debug",
    "debug_ic",
    "Parrot_debug_ic",
    0,
    2,
    { PARROT_ARG_IC },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 70 */
    "bounds",
    "bounds_i",
    "Parrot_bounds_i",
    0,
    2,
    { PARROT_ARG_I },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 71 */
    "bounds",
    "bounds_ic",
    "Parrot_bounds_ic",
    0,
    2,
    { PARROT_ARG_IC },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 72 */
    "profile",
    "profile_i",
    "Parrot_profile_i",
    0,
    2,
    { PARROT_ARG_I },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 73 */
    "profile",
    "profile_ic",
    "Parrot_profile_ic",
    0,
    2,
    { PARROT_ARG_IC },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 74 */
    "trace",
    "trace_i",
    "Parrot_trace_i",
    0,
    2,
    { PARROT_ARG_I },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 75 */
    "trace",
    "trace_ic",
    "Parrot_trace_ic",
    0,
    2,
    { PARROT_ARG_IC },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 76 */
    "gc_debug",
    "gc_debug_i",
    "Parrot_gc_debug_i",
    0,
    2,
    { PARROT_ARG_I },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 77 */
    "gc_debug",
    "gc_debug_ic",
    "Parrot_gc_debug_ic",
    0,
    2,
    { PARROT_ARG_IC },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 78 */
    "interpinfo",
    "interpinfo_i_i",
    "Parrot_interpinfo_i_i",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 79 */
    "interpinfo",
    "interpinfo_i_ic",
    "Parrot_interpinfo_i_ic",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 80 */
    "interpinfo",
    "interpinfo_p_i",
    "Parrot_interpinfo_p_i",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 81 */
    "interpinfo",
    "interpinfo_p_ic",
    "Parrot_interpinfo_p_ic",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 82 */
    "interpinfo",
    "interpinfo_s_i",
    "Parrot_interpinfo_s_i",
    0,
    3,
    { PARROT_ARG_S, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 83 */
    "interpinfo",
    "interpinfo_s_ic",
    "Parrot_interpinfo_s_ic",
    0,
    3,
    { PARROT_ARG_S, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 84 */
    "warningson",
    "warningson_i",
    "Parrot_warningson_i",
    0,
    2,
    { PARROT_ARG_I },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 85 */
    "warningson",
    "warningson_ic",
    "Parrot_warningson_ic",
    0,
    2,
    { PARROT_ARG_IC },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 86 */
    "warningsoff",
    "warningsoff_i",
    "Parrot_warningsoff_i",
    0,
    2,
    { PARROT_ARG_I },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 87 */
    "warningsoff",
    "warningsoff_ic",
    "Parrot_warningsoff_ic",
    0,
    2,
    { PARROT_ARG_IC },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 88 */
    "errorson",
    "errorson_i",
    "Parrot_errorson_i",
    0,
    2,
    { PARROT_ARG_I },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 89 */
    "errorson",
    "errorson_ic",
    "Parrot_errorson_ic",
    0,
    2,
    { PARROT_ARG_IC },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 90 */
    "errorsoff",
    "errorsoff_i",
    "Parrot_errorsoff_i",
    0,
    2,
    { PARROT_ARG_I },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 91 */
    "errorsoff",
    "errorsoff_ic",
    "Parrot_errorsoff_ic",
    0,
    2,
    { PARROT_ARG_IC },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 92 */
    "set_runcore",
    "set_runcore_s",
    "Parrot_set_runcore_s",
    0,
    2,
    { PARROT_ARG_S },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 93 */
    "set_runcore",
    "set_runcore_sc",
    "Parrot_set_runcore_sc",
    0,
    2,
    { PARROT_ARG_SC },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 94 */
    "runinterp",
    "runinterp_p_i",
    "Parrot_runinterp_p_i",
    PARROT_JUMP_RELATIVE,
    3,
    { PARROT_ARG_P, PARROT_ARG_I },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 1 },
    &core_op_lib
  },
  { /* 95 */
    "runinterp",
    "runinterp_p_ic",
    "Parrot_runinterp_p_ic",
    PARROT_JUMP_RELATIVE,
    3,
    { PARROT_ARG_P, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 1 },
    &core_op_lib
  },
  { /* 96 */
    "getinterp",
    "getinterp_p",
    "Parrot_getinterp_p",
    0,
    2,
    { PARROT_ARG_P },
    { PARROT_ARGDIR_OUT },
    { 0 },
    &core_op_lib
  },
  { /* 97 */
    "sweep",
    "sweep_ic",
    "Parrot_sweep_ic",
    0,
    2,
    { PARROT_ARG_IC },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 98 */
    "collect",
    "collect",
    "Parrot_collect",
    0,
    1,
    { (arg_type_t) 0 },
    { (arg_dir_t) 0 },
    { 0 },
    &core_op_lib
  },
  { /* 99 */
    "sweepoff",
    "sweepoff",
    "Parrot_sweepoff",
    0,
    1,
    { (arg_type_t) 0 },
    { (arg_dir_t) 0 },
    { 0 },
    &core_op_lib
  },
  { /* 100 */
    "sweepon",
    "sweepon",
    "Parrot_sweepon",
    0,
    1,
    { (arg_type_t) 0 },
    { (arg_dir_t) 0 },
    { 0 },
    &core_op_lib
  },
  { /* 101 */
    "collectoff",
    "collectoff",
    "Parrot_collectoff",
    0,
    1,
    { (arg_type_t) 0 },
    { (arg_dir_t) 0 },
    { 0 },
    &core_op_lib
  },
  { /* 102 */
    "collecton",
    "collecton",
    "Parrot_collecton",
    0,
    1,
    { (arg_type_t) 0 },
    { (arg_dir_t) 0 },
    { 0 },
    &core_op_lib
  },
  { /* 103 */
    "needs_destroy",
    "needs_destroy_p",
    "Parrot_needs_destroy_p",
    0,
    2,
    { PARROT_ARG_P },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 104 */
    "loadlib",
    "loadlib_p_s",
    "Parrot_loadlib_p_s",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 105 */
    "loadlib",
    "loadlib_p_sc",
    "Parrot_loadlib_p_sc",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 106 */
    "loadlib",
    "loadlib_p_s_p",
    "Parrot_loadlib_p_s_p",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 107 */
    "loadlib",
    "loadlib_p_sc_p",
    "Parrot_loadlib_p_sc_p",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 108 */
    "loadlib",
    "loadlib_p_s_pc",
    "Parrot_loadlib_p_s_pc",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_PC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 109 */
    "loadlib",
    "loadlib_p_sc_pc",
    "Parrot_loadlib_p_sc_pc",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_PC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 110 */
    "dlfunc",
    "dlfunc_p_p_s_s",
    "Parrot_dlfunc_p_p_s_s",
    0,
    5,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 111 */
    "dlfunc",
    "dlfunc_p_p_sc_s",
    "Parrot_dlfunc_p_p_sc_s",
    0,
    5,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 112 */
    "dlfunc",
    "dlfunc_p_p_s_sc",
    "Parrot_dlfunc_p_p_s_sc",
    0,
    5,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 113 */
    "dlfunc",
    "dlfunc_p_p_sc_sc",
    "Parrot_dlfunc_p_p_sc_sc",
    0,
    5,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 114 */
    "dlfunc",
    "dlfunc_p_p_s_p",
    "Parrot_dlfunc_p_p_s_p",
    0,
    5,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 115 */
    "dlfunc",
    "dlfunc_p_p_sc_p",
    "Parrot_dlfunc_p_p_sc_p",
    0,
    5,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 116 */
    "dlvar",
    "dlvar_p_p_s",
    "Parrot_dlvar_p_p_s",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 117 */
    "dlvar",
    "dlvar_p_p_sc",
    "Parrot_dlvar_p_p_sc",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 118 */
    "compreg",
    "compreg_s_p",
    "Parrot_compreg_s_p",
    0,
    3,
    { PARROT_ARG_S, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 119 */
    "compreg",
    "compreg_sc_p",
    "Parrot_compreg_sc_p",
    0,
    3,
    { PARROT_ARG_SC, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 120 */
    "compreg",
    "compreg_p_s",
    "Parrot_compreg_p_s",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 121 */
    "compreg",
    "compreg_p_sc",
    "Parrot_compreg_p_sc",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 122 */
    "new_callback",
    "new_callback_p_p_p_s",
    "Parrot_new_callback_p_p_p_s",
    0,
    5,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 123 */
    "new_callback",
    "new_callback_p_p_p_sc",
    "Parrot_new_callback_p_p_p_sc",
    0,
    5,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 124 */
    "annotations",
    "annotations_p",
    "Parrot_annotations_p",
    0,
    2,
    { PARROT_ARG_P },
    { PARROT_ARGDIR_OUT },
    { 0 },
    &core_op_lib
  },
  { /* 125 */
    "annotations",
    "annotations_p_s",
    "Parrot_annotations_p_s",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 126 */
    "annotations",
    "annotations_p_sc",
    "Parrot_annotations_p_sc",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 127 */
    "band",
    "band_i_i",
    "Parrot_band_i_i",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_I },
    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 128 */
    "band",
    "band_i_ic",
    "Parrot_band_i_ic",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_IC },
    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 129 */
    "band",
    "band_i_i_i",
    "Parrot_band_i_i_i",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 130 */
    "band",
    "band_i_ic_i",
    "Parrot_band_i_ic_i",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 131 */
    "band",
    "band_i_i_ic",
    "Parrot_band_i_i_ic",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 132 */
    "bor",
    "bor_i_i",
    "Parrot_bor_i_i",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_I },
    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 133 */
    "bor",
    "bor_i_ic",
    "Parrot_bor_i_ic",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_IC },
    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 134 */
    "bor",
    "bor_i_i_i",
    "Parrot_bor_i_i_i",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 135 */
    "bor",
    "bor_i_ic_i",
    "Parrot_bor_i_ic_i",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 136 */
    "bor",
    "bor_i_i_ic",
    "Parrot_bor_i_i_ic",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 137 */
    "shl",
    "shl_i_i",
    "Parrot_shl_i_i",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_I },
    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 138 */
    "shl",
    "shl_i_ic",
    "Parrot_shl_i_ic",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_IC },
    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 139 */
    "shl",
    "shl_i_i_i",
    "Parrot_shl_i_i_i",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 140 */
    "shl",
    "shl_i_ic_i",
    "Parrot_shl_i_ic_i",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 141 */
    "shl",
    "shl_i_i_ic",
    "Parrot_shl_i_i_ic",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 142 */
    "shr",
    "shr_i_i",
    "Parrot_shr_i_i",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_I },
    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 143 */
    "shr",
    "shr_i_ic",
    "Parrot_shr_i_ic",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_IC },
    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 144 */
    "shr",
    "shr_i_i_i",
    "Parrot_shr_i_i_i",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 145 */
    "shr",
    "shr_i_ic_i",
    "Parrot_shr_i_ic_i",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 146 */
    "shr",
    "shr_i_i_ic",
    "Parrot_shr_i_i_ic",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 147 */
    "lsr",
    "lsr_i_i",
    "Parrot_lsr_i_i",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 148 */
    "lsr",
    "lsr_i_ic",
    "Parrot_lsr_i_ic",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 149 */
    "lsr",
    "lsr_i_i_i",
    "Parrot_lsr_i_i_i",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 150 */
    "lsr",
    "lsr_i_ic_i",
    "Parrot_lsr_i_ic_i",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 151 */
    "lsr",
    "lsr_i_i_ic",
    "Parrot_lsr_i_i_ic",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 152 */
    "bxor",
    "bxor_i_i",
    "Parrot_bxor_i_i",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_I },
    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 153 */
    "bxor",
    "bxor_i_ic",
    "Parrot_bxor_i_ic",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_IC },
    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 154 */
    "bxor",
    "bxor_i_i_i",
    "Parrot_bxor_i_i_i",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 155 */
    "bxor",
    "bxor_i_ic_i",
    "Parrot_bxor_i_ic_i",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 156 */
    "bxor",
    "bxor_i_i_ic",
    "Parrot_bxor_i_i_ic",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 157 */
    "eq",
    "eq_i_i_ic",
    "Parrot_eq_i_i_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 158 */
    "eq",
    "eq_ic_i_ic",
    "Parrot_eq_ic_i_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_IC, PARROT_ARG_I, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 159 */
    "eq",
    "eq_i_ic_ic",
    "Parrot_eq_i_ic_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 160 */
    "eq",
    "eq_n_n_ic",
    "Parrot_eq_n_n_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 161 */
    "eq",
    "eq_nc_n_ic",
    "Parrot_eq_nc_n_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_NC, PARROT_ARG_N, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 162 */
    "eq",
    "eq_n_nc_ic",
    "Parrot_eq_n_nc_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_N, PARROT_ARG_NC, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 163 */
    "eq",
    "eq_s_s_ic",
    "Parrot_eq_s_s_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 164 */
    "eq",
    "eq_sc_s_ic",
    "Parrot_eq_sc_s_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_SC, PARROT_ARG_S, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 165 */
    "eq",
    "eq_s_sc_ic",
    "Parrot_eq_s_sc_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 166 */
    "eq",
    "eq_p_p_ic",
    "Parrot_eq_p_p_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 167 */
    "eq",
    "eq_p_i_ic",
    "Parrot_eq_p_i_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_P, PARROT_ARG_I, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 168 */
    "eq",
    "eq_p_ic_ic",
    "Parrot_eq_p_ic_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_P, PARROT_ARG_IC, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 169 */
    "eq",
    "eq_p_n_ic",
    "Parrot_eq_p_n_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_P, PARROT_ARG_N, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 170 */
    "eq",
    "eq_p_nc_ic",
    "Parrot_eq_p_nc_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_P, PARROT_ARG_NC, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 171 */
    "eq",
    "eq_p_s_ic",
    "Parrot_eq_p_s_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 172 */
    "eq",
    "eq_p_sc_ic",
    "Parrot_eq_p_sc_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 173 */
    "eq_str",
    "eq_str_p_p_ic",
    "Parrot_eq_str_p_p_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 174 */
    "eq_num",
    "eq_num_p_p_ic",
    "Parrot_eq_num_p_p_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 175 */
    "eq_addr",
    "eq_addr_s_s_ic",
    "Parrot_eq_addr_s_s_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 176 */
    "eq_addr",
    "eq_addr_sc_s_ic",
    "Parrot_eq_addr_sc_s_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_SC, PARROT_ARG_S, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 177 */
    "eq_addr",
    "eq_addr_s_sc_ic",
    "Parrot_eq_addr_s_sc_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 178 */
    "eq_addr",
    "eq_addr_sc_sc_ic",
    "Parrot_eq_addr_sc_sc_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_SC, PARROT_ARG_SC, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 179 */
    "eq_addr",
    "eq_addr_p_p_ic",
    "Parrot_eq_addr_p_p_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 180 */
    "ne",
    "ne_i_i_ic",
    "Parrot_ne_i_i_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 181 */
    "ne",
    "ne_ic_i_ic",
    "Parrot_ne_ic_i_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_IC, PARROT_ARG_I, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 182 */
    "ne",
    "ne_i_ic_ic",
    "Parrot_ne_i_ic_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 183 */
    "ne",
    "ne_n_n_ic",
    "Parrot_ne_n_n_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 184 */
    "ne",
    "ne_nc_n_ic",
    "Parrot_ne_nc_n_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_NC, PARROT_ARG_N, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 185 */
    "ne",
    "ne_n_nc_ic",
    "Parrot_ne_n_nc_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_N, PARROT_ARG_NC, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 186 */
    "ne",
    "ne_s_s_ic",
    "Parrot_ne_s_s_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 187 */
    "ne",
    "ne_sc_s_ic",
    "Parrot_ne_sc_s_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_SC, PARROT_ARG_S, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 188 */
    "ne",
    "ne_s_sc_ic",
    "Parrot_ne_s_sc_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 189 */
    "ne",
    "ne_p_p_ic",
    "Parrot_ne_p_p_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 190 */
    "ne",
    "ne_p_i_ic",
    "Parrot_ne_p_i_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_P, PARROT_ARG_I, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 191 */
    "ne",
    "ne_p_ic_ic",
    "Parrot_ne_p_ic_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_P, PARROT_ARG_IC, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 192 */
    "ne",
    "ne_p_n_ic",
    "Parrot_ne_p_n_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_P, PARROT_ARG_N, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 193 */
    "ne",
    "ne_p_nc_ic",
    "Parrot_ne_p_nc_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_P, PARROT_ARG_NC, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 194 */
    "ne",
    "ne_p_s_ic",
    "Parrot_ne_p_s_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 195 */
    "ne",
    "ne_p_sc_ic",
    "Parrot_ne_p_sc_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 196 */
    "ne_str",
    "ne_str_p_p_ic",
    "Parrot_ne_str_p_p_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 197 */
    "ne_num",
    "ne_num_p_p_ic",
    "Parrot_ne_num_p_p_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 198 */
    "ne_addr",
    "ne_addr_s_s_ic",
    "Parrot_ne_addr_s_s_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 199 */
    "ne_addr",
    "ne_addr_sc_s_ic",
    "Parrot_ne_addr_sc_s_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_SC, PARROT_ARG_S, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 200 */
    "ne_addr",
    "ne_addr_s_sc_ic",
    "Parrot_ne_addr_s_sc_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 201 */
    "ne_addr",
    "ne_addr_sc_sc_ic",
    "Parrot_ne_addr_sc_sc_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_SC, PARROT_ARG_SC, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 202 */
    "ne_addr",
    "ne_addr_p_p_ic",
    "Parrot_ne_addr_p_p_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 203 */
    "lt",
    "lt_i_i_ic",
    "Parrot_lt_i_i_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 204 */
    "lt",
    "lt_ic_i_ic",
    "Parrot_lt_ic_i_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_IC, PARROT_ARG_I, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 205 */
    "lt",
    "lt_i_ic_ic",
    "Parrot_lt_i_ic_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 206 */
    "lt",
    "lt_n_n_ic",
    "Parrot_lt_n_n_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 207 */
    "lt",
    "lt_nc_n_ic",
    "Parrot_lt_nc_n_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_NC, PARROT_ARG_N, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 208 */
    "lt",
    "lt_n_nc_ic",
    "Parrot_lt_n_nc_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_N, PARROT_ARG_NC, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 209 */
    "lt",
    "lt_s_s_ic",
    "Parrot_lt_s_s_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 210 */
    "lt",
    "lt_sc_s_ic",
    "Parrot_lt_sc_s_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_SC, PARROT_ARG_S, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 211 */
    "lt",
    "lt_s_sc_ic",
    "Parrot_lt_s_sc_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 212 */
    "lt",
    "lt_p_p_ic",
    "Parrot_lt_p_p_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 213 */
    "lt",
    "lt_p_i_ic",
    "Parrot_lt_p_i_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_P, PARROT_ARG_I, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 214 */
    "lt",
    "lt_p_ic_ic",
    "Parrot_lt_p_ic_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_P, PARROT_ARG_IC, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 215 */
    "lt",
    "lt_p_n_ic",
    "Parrot_lt_p_n_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_P, PARROT_ARG_N, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 216 */
    "lt",
    "lt_p_nc_ic",
    "Parrot_lt_p_nc_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_P, PARROT_ARG_NC, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 217 */
    "lt",
    "lt_p_s_ic",
    "Parrot_lt_p_s_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 218 */
    "lt",
    "lt_p_sc_ic",
    "Parrot_lt_p_sc_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 219 */
    "lt_str",
    "lt_str_p_p_ic",
    "Parrot_lt_str_p_p_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 220 */
    "lt_num",
    "lt_num_p_p_ic",
    "Parrot_lt_num_p_p_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 221 */
    "le",
    "le_i_i_ic",
    "Parrot_le_i_i_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 222 */
    "le",
    "le_ic_i_ic",
    "Parrot_le_ic_i_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_IC, PARROT_ARG_I, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 223 */
    "le",
    "le_i_ic_ic",
    "Parrot_le_i_ic_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 224 */
    "le",
    "le_n_n_ic",
    "Parrot_le_n_n_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 225 */
    "le",
    "le_nc_n_ic",
    "Parrot_le_nc_n_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_NC, PARROT_ARG_N, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 226 */
    "le",
    "le_n_nc_ic",
    "Parrot_le_n_nc_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_N, PARROT_ARG_NC, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 227 */
    "le",
    "le_s_s_ic",
    "Parrot_le_s_s_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 228 */
    "le",
    "le_sc_s_ic",
    "Parrot_le_sc_s_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_SC, PARROT_ARG_S, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 229 */
    "le",
    "le_s_sc_ic",
    "Parrot_le_s_sc_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 230 */
    "le",
    "le_p_p_ic",
    "Parrot_le_p_p_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 231 */
    "le",
    "le_p_i_ic",
    "Parrot_le_p_i_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_P, PARROT_ARG_I, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 232 */
    "le",
    "le_p_ic_ic",
    "Parrot_le_p_ic_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_P, PARROT_ARG_IC, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 233 */
    "le",
    "le_p_n_ic",
    "Parrot_le_p_n_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_P, PARROT_ARG_N, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 234 */
    "le",
    "le_p_nc_ic",
    "Parrot_le_p_nc_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_P, PARROT_ARG_NC, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 235 */
    "le",
    "le_p_s_ic",
    "Parrot_le_p_s_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 236 */
    "le",
    "le_p_sc_ic",
    "Parrot_le_p_sc_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 237 */
    "le_str",
    "le_str_p_p_ic",
    "Parrot_le_str_p_p_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 238 */
    "le_num",
    "le_num_p_p_ic",
    "Parrot_le_num_p_p_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 239 */
    "gt",
    "gt_p_p_ic",
    "Parrot_gt_p_p_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 240 */
    "gt",
    "gt_p_i_ic",
    "Parrot_gt_p_i_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_P, PARROT_ARG_I, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 241 */
    "gt",
    "gt_p_ic_ic",
    "Parrot_gt_p_ic_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_P, PARROT_ARG_IC, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 242 */
    "gt",
    "gt_p_n_ic",
    "Parrot_gt_p_n_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_P, PARROT_ARG_N, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 243 */
    "gt",
    "gt_p_nc_ic",
    "Parrot_gt_p_nc_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_P, PARROT_ARG_NC, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 244 */
    "gt",
    "gt_p_s_ic",
    "Parrot_gt_p_s_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 245 */
    "gt",
    "gt_p_sc_ic",
    "Parrot_gt_p_sc_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 246 */
    "gt_str",
    "gt_str_p_p_ic",
    "Parrot_gt_str_p_p_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 247 */
    "gt_num",
    "gt_num_p_p_ic",
    "Parrot_gt_num_p_p_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 248 */
    "ge",
    "ge_p_p_ic",
    "Parrot_ge_p_p_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 249 */
    "ge",
    "ge_p_i_ic",
    "Parrot_ge_p_i_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_P, PARROT_ARG_I, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 250 */
    "ge",
    "ge_p_ic_ic",
    "Parrot_ge_p_ic_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_P, PARROT_ARG_IC, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 251 */
    "ge",
    "ge_p_n_ic",
    "Parrot_ge_p_n_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_P, PARROT_ARG_N, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 252 */
    "ge",
    "ge_p_nc_ic",
    "Parrot_ge_p_nc_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_P, PARROT_ARG_NC, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 253 */
    "ge",
    "ge_p_s_ic",
    "Parrot_ge_p_s_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 254 */
    "ge",
    "ge_p_sc_ic",
    "Parrot_ge_p_sc_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 255 */
    "ge_str",
    "ge_str_p_p_ic",
    "Parrot_ge_str_p_p_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 256 */
    "ge_num",
    "ge_num_p_p_ic",
    "Parrot_ge_num_p_p_ic",
    PARROT_JUMP_RELATIVE,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 1 },
    &core_op_lib
  },
  { /* 257 */
    "if_null",
    "if_null_p_ic",
    "Parrot_if_null_p_ic",
    PARROT_JUMP_RELATIVE,
    3,
    { PARROT_ARG_P, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 1 },
    &core_op_lib
  },
  { /* 258 */
    "if_null",
    "if_null_s_ic",
    "Parrot_if_null_s_ic",
    PARROT_JUMP_RELATIVE,
    3,
    { PARROT_ARG_S, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 1 },
    &core_op_lib
  },
  { /* 259 */
    "unless_null",
    "unless_null_p_ic",
    "Parrot_unless_null_p_ic",
    PARROT_JUMP_RELATIVE,
    3,
    { PARROT_ARG_P, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 1 },
    &core_op_lib
  },
  { /* 260 */
    "unless_null",
    "unless_null_s_ic",
    "Parrot_unless_null_s_ic",
    PARROT_JUMP_RELATIVE,
    3,
    { PARROT_ARG_S, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 1 },
    &core_op_lib
  },
  { /* 261 */
    "cmp",
    "cmp_i_i_i",
    "Parrot_cmp_i_i_i",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 262 */
    "cmp",
    "cmp_i_ic_i",
    "Parrot_cmp_i_ic_i",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 263 */
    "cmp",
    "cmp_i_i_ic",
    "Parrot_cmp_i_i_ic",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 264 */
    "cmp",
    "cmp_i_n_n",
    "Parrot_cmp_i_n_n",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_N, PARROT_ARG_N },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 265 */
    "cmp",
    "cmp_i_nc_n",
    "Parrot_cmp_i_nc_n",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_NC, PARROT_ARG_N },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 266 */
    "cmp",
    "cmp_i_n_nc",
    "Parrot_cmp_i_n_nc",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_N, PARROT_ARG_NC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 267 */
    "cmp",
    "cmp_i_s_s",
    "Parrot_cmp_i_s_s",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 268 */
    "cmp",
    "cmp_i_sc_s",
    "Parrot_cmp_i_sc_s",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 269 */
    "cmp",
    "cmp_i_s_sc",
    "Parrot_cmp_i_s_sc",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 270 */
    "cmp",
    "cmp_i_p_p",
    "Parrot_cmp_i_p_p",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 271 */
    "cmp",
    "cmp_i_p_i",
    "Parrot_cmp_i_p_i",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 272 */
    "cmp",
    "cmp_i_p_ic",
    "Parrot_cmp_i_p_ic",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 273 */
    "cmp",
    "cmp_i_p_n",
    "Parrot_cmp_i_p_n",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_N },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 274 */
    "cmp",
    "cmp_i_p_nc",
    "Parrot_cmp_i_p_nc",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_NC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 275 */
    "cmp",
    "cmp_i_p_s",
    "Parrot_cmp_i_p_s",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 276 */
    "cmp",
    "cmp_i_p_sc",
    "Parrot_cmp_i_p_sc",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 277 */
    "cmp_str",
    "cmp_str_i_p_p",
    "Parrot_cmp_str_i_p_p",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 278 */
    "cmp_num",
    "cmp_num_i_p_p",
    "Parrot_cmp_num_i_p_p",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 279 */
    "cmp_pmc",
    "cmp_pmc_p_p_p",
    "Parrot_cmp_pmc_p_p_p",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 280 */
    "issame",
    "issame_i_p_p",
    "Parrot_issame_i_p_p",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 281 */
    "issame",
    "issame_i_s_s",
    "Parrot_issame_i_s_s",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 282 */
    "issame",
    "issame_i_sc_s",
    "Parrot_issame_i_sc_s",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 283 */
    "issame",
    "issame_i_s_sc",
    "Parrot_issame_i_s_sc",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 284 */
    "issame",
    "issame_i_sc_sc",
    "Parrot_issame_i_sc_sc",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 285 */
    "isntsame",
    "isntsame_i_p_p",
    "Parrot_isntsame_i_p_p",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 286 */
    "isntsame",
    "isntsame_i_s_s",
    "Parrot_isntsame_i_s_s",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 287 */
    "isntsame",
    "isntsame_i_sc_s",
    "Parrot_isntsame_i_sc_s",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 288 */
    "isntsame",
    "isntsame_i_s_sc",
    "Parrot_isntsame_i_s_sc",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 289 */
    "isntsame",
    "isntsame_i_sc_sc",
    "Parrot_isntsame_i_sc_sc",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 290 */
    "istrue",
    "istrue_i_p",
    "Parrot_istrue_i_p",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 291 */
    "isfalse",
    "isfalse_i_p",
    "Parrot_isfalse_i_p",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 292 */
    "isnull",
    "isnull_i_p",
    "Parrot_isnull_i_p",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 293 */
    "isnull",
    "isnull_i_pc",
    "Parrot_isnull_i_pc",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_PC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 294 */
    "isnull",
    "isnull_i_s",
    "Parrot_isnull_i_s",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 295 */
    "isnull",
    "isnull_i_sc",
    "Parrot_isnull_i_sc",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 296 */
    "isgt",
    "isgt_i_p_p",
    "Parrot_isgt_i_p_p",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 297 */
    "isge",
    "isge_i_p_p",
    "Parrot_isge_i_p_p",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 298 */
    "isle",
    "isle_i_i_i",
    "Parrot_isle_i_i_i",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 299 */
    "isle",
    "isle_i_ic_i",
    "Parrot_isle_i_ic_i",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 300 */
    "isle",
    "isle_i_i_ic",
    "Parrot_isle_i_i_ic",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 301 */
    "isle",
    "isle_i_n_n",
    "Parrot_isle_i_n_n",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_N, PARROT_ARG_N },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 302 */
    "isle",
    "isle_i_nc_n",
    "Parrot_isle_i_nc_n",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_NC, PARROT_ARG_N },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 303 */
    "isle",
    "isle_i_n_nc",
    "Parrot_isle_i_n_nc",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_N, PARROT_ARG_NC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 304 */
    "isle",
    "isle_i_s_s",
    "Parrot_isle_i_s_s",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 305 */
    "isle",
    "isle_i_sc_s",
    "Parrot_isle_i_sc_s",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 306 */
    "isle",
    "isle_i_s_sc",
    "Parrot_isle_i_s_sc",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 307 */
    "isle",
    "isle_i_p_p",
    "Parrot_isle_i_p_p",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 308 */
    "islt",
    "islt_i_i_i",
    "Parrot_islt_i_i_i",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 309 */
    "islt",
    "islt_i_ic_i",
    "Parrot_islt_i_ic_i",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 310 */
    "islt",
    "islt_i_i_ic",
    "Parrot_islt_i_i_ic",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 311 */
    "islt",
    "islt_i_n_n",
    "Parrot_islt_i_n_n",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_N, PARROT_ARG_N },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 312 */
    "islt",
    "islt_i_nc_n",
    "Parrot_islt_i_nc_n",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_NC, PARROT_ARG_N },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 313 */
    "islt",
    "islt_i_n_nc",
    "Parrot_islt_i_n_nc",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_N, PARROT_ARG_NC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 314 */
    "islt",
    "islt_i_s_s",
    "Parrot_islt_i_s_s",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 315 */
    "islt",
    "islt_i_sc_s",
    "Parrot_islt_i_sc_s",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 316 */
    "islt",
    "islt_i_s_sc",
    "Parrot_islt_i_s_sc",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 317 */
    "islt",
    "islt_i_p_p",
    "Parrot_islt_i_p_p",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 318 */
    "iseq",
    "iseq_i_i_i",
    "Parrot_iseq_i_i_i",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 319 */
    "iseq",
    "iseq_i_ic_i",
    "Parrot_iseq_i_ic_i",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 320 */
    "iseq",
    "iseq_i_i_ic",
    "Parrot_iseq_i_i_ic",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 321 */
    "iseq",
    "iseq_i_n_n",
    "Parrot_iseq_i_n_n",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_N, PARROT_ARG_N },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 322 */
    "iseq",
    "iseq_i_nc_n",
    "Parrot_iseq_i_nc_n",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_NC, PARROT_ARG_N },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 323 */
    "iseq",
    "iseq_i_n_nc",
    "Parrot_iseq_i_n_nc",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_N, PARROT_ARG_NC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 324 */
    "iseq",
    "iseq_i_s_s",
    "Parrot_iseq_i_s_s",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 325 */
    "iseq",
    "iseq_i_sc_s",
    "Parrot_iseq_i_sc_s",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 326 */
    "iseq",
    "iseq_i_s_sc",
    "Parrot_iseq_i_s_sc",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 327 */
    "iseq",
    "iseq_i_p_p",
    "Parrot_iseq_i_p_p",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 328 */
    "isne",
    "isne_i_i_i",
    "Parrot_isne_i_i_i",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 329 */
    "isne",
    "isne_i_ic_i",
    "Parrot_isne_i_ic_i",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 330 */
    "isne",
    "isne_i_i_ic",
    "Parrot_isne_i_i_ic",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 331 */
    "isne",
    "isne_i_n_n",
    "Parrot_isne_i_n_n",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_N, PARROT_ARG_N },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 332 */
    "isne",
    "isne_i_nc_n",
    "Parrot_isne_i_nc_n",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_NC, PARROT_ARG_N },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 333 */
    "isne",
    "isne_i_n_nc",
    "Parrot_isne_i_n_nc",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_N, PARROT_ARG_NC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 334 */
    "isne",
    "isne_i_s_s",
    "Parrot_isne_i_s_s",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 335 */
    "isne",
    "isne_i_sc_s",
    "Parrot_isne_i_sc_s",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 336 */
    "isne",
    "isne_i_s_sc",
    "Parrot_isne_i_s_sc",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 337 */
    "isne",
    "isne_i_p_p",
    "Parrot_isne_i_p_p",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 338 */
    "and",
    "and_i_i_i",
    "Parrot_and_i_i_i",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 339 */
    "and",
    "and_i_ic_i",
    "Parrot_and_i_ic_i",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 340 */
    "and",
    "and_i_i_ic",
    "Parrot_and_i_i_ic",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 341 */
    "and",
    "and_p_p_p",
    "Parrot_and_p_p_p",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 342 */
    "not",
    "not_i",
    "Parrot_not_i",
    0,
    2,
    { PARROT_ARG_I },
    { PARROT_ARGDIR_INOUT },
    { 0 },
    &core_op_lib
  },
  { /* 343 */
    "not",
    "not_i_i",
    "Parrot_not_i_i",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 344 */
    "not",
    "not_p",
    "Parrot_not_p",
    0,
    2,
    { PARROT_ARG_P },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 345 */
    "not",
    "not_p_p",
    "Parrot_not_p_p",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 346 */
    "or",
    "or_i_i_i",
    "Parrot_or_i_i_i",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 347 */
    "or",
    "or_i_ic_i",
    "Parrot_or_i_ic_i",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 348 */
    "or",
    "or_i_i_ic",
    "Parrot_or_i_i_ic",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 349 */
    "or",
    "or_p_p_p",
    "Parrot_or_p_p_p",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 350 */
    "xor",
    "xor_i_i_i",
    "Parrot_xor_i_i_i",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 351 */
    "xor",
    "xor_i_ic_i",
    "Parrot_xor_i_ic_i",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 352 */
    "xor",
    "xor_i_i_ic",
    "Parrot_xor_i_i_ic",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 353 */
    "xor",
    "xor_p_p_p",
    "Parrot_xor_p_p_p",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 354 */
    "print",
    "print_i",
    "Parrot_print_i",
    0,
    2,
    { PARROT_ARG_I },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 355 */
    "print",
    "print_ic",
    "Parrot_print_ic",
    0,
    2,
    { PARROT_ARG_IC },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 356 */
    "print",
    "print_n",
    "Parrot_print_n",
    0,
    2,
    { PARROT_ARG_N },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 357 */
    "print",
    "print_nc",
    "Parrot_print_nc",
    0,
    2,
    { PARROT_ARG_NC },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 358 */
    "print",
    "print_s",
    "Parrot_print_s",
    0,
    2,
    { PARROT_ARG_S },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 359 */
    "print",
    "print_sc",
    "Parrot_print_sc",
    0,
    2,
    { PARROT_ARG_SC },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 360 */
    "print",
    "print_p",
    "Parrot_print_p",
    0,
    2,
    { PARROT_ARG_P },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 361 */
    "say",
    "say_i",
    "Parrot_say_i",
    0,
    2,
    { PARROT_ARG_I },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 362 */
    "say",
    "say_ic",
    "Parrot_say_ic",
    0,
    2,
    { PARROT_ARG_IC },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 363 */
    "say",
    "say_n",
    "Parrot_say_n",
    0,
    2,
    { PARROT_ARG_N },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 364 */
    "say",
    "say_nc",
    "Parrot_say_nc",
    0,
    2,
    { PARROT_ARG_NC },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 365 */
    "say",
    "say_s",
    "Parrot_say_s",
    0,
    2,
    { PARROT_ARG_S },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 366 */
    "say",
    "say_sc",
    "Parrot_say_sc",
    0,
    2,
    { PARROT_ARG_SC },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 367 */
    "say",
    "say_p",
    "Parrot_say_p",
    0,
    2,
    { PARROT_ARG_P },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 368 */
    "print",
    "print_p_i",
    "Parrot_print_p_i",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_I },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 369 */
    "print",
    "print_p_ic",
    "Parrot_print_p_ic",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 370 */
    "print",
    "print_p_n",
    "Parrot_print_p_n",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_N },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 371 */
    "print",
    "print_p_nc",
    "Parrot_print_p_nc",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_NC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 372 */
    "print",
    "print_p_s",
    "Parrot_print_p_s",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_S },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 373 */
    "print",
    "print_p_sc",
    "Parrot_print_p_sc",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_SC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 374 */
    "print",
    "print_p_p",
    "Parrot_print_p_p",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 375 */
    "getstdin",
    "getstdin_p",
    "Parrot_getstdin_p",
    0,
    2,
    { PARROT_ARG_P },
    { PARROT_ARGDIR_OUT },
    { 0 },
    &core_op_lib
  },
  { /* 376 */
    "getstdout",
    "getstdout_p",
    "Parrot_getstdout_p",
    0,
    2,
    { PARROT_ARG_P },
    { PARROT_ARGDIR_OUT },
    { 0 },
    &core_op_lib
  },
  { /* 377 */
    "getstderr",
    "getstderr_p",
    "Parrot_getstderr_p",
    0,
    2,
    { PARROT_ARG_P },
    { PARROT_ARGDIR_OUT },
    { 0 },
    &core_op_lib
  },
  { /* 378 */
    "abs",
    "abs_i",
    "Parrot_abs_i",
    0,
    2,
    { PARROT_ARG_I },
    { PARROT_ARGDIR_INOUT },
    { 0 },
    &core_op_lib
  },
  { /* 379 */
    "abs",
    "abs_n",
    "Parrot_abs_n",
    0,
    2,
    { PARROT_ARG_N },
    { PARROT_ARGDIR_INOUT },
    { 0 },
    &core_op_lib
  },
  { /* 380 */
    "abs",
    "abs_i_i",
    "Parrot_abs_i_i",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 381 */
    "abs",
    "abs_n_n",
    "Parrot_abs_n_n",
    0,
    3,
    { PARROT_ARG_N, PARROT_ARG_N },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 382 */
    "abs",
    "abs_p",
    "Parrot_abs_p",
    0,
    2,
    { PARROT_ARG_P },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 383 */
    "abs",
    "abs_p_p",
    "Parrot_abs_p_p",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 384 */
    "add",
    "add_i_i",
    "Parrot_add_i_i",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_I },
    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 385 */
    "add",
    "add_i_ic",
    "Parrot_add_i_ic",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_IC },
    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 386 */
    "add",
    "add_n_n",
    "Parrot_add_n_n",
    0,
    3,
    { PARROT_ARG_N, PARROT_ARG_N },
    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 387 */
    "add",
    "add_n_nc",
    "Parrot_add_n_nc",
    0,
    3,
    { PARROT_ARG_N, PARROT_ARG_NC },
    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 388 */
    "add",
    "add_p_p",
    "Parrot_add_p_p",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 389 */
    "add",
    "add_p_i",
    "Parrot_add_p_i",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_I },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 390 */
    "add",
    "add_p_ic",
    "Parrot_add_p_ic",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 391 */
    "add",
    "add_p_n",
    "Parrot_add_p_n",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_N },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 392 */
    "add",
    "add_p_nc",
    "Parrot_add_p_nc",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_NC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 393 */
    "add",
    "add_i_i_i",
    "Parrot_add_i_i_i",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 394 */
    "add",
    "add_i_ic_i",
    "Parrot_add_i_ic_i",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 395 */
    "add",
    "add_i_i_ic",
    "Parrot_add_i_i_ic",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 396 */
    "add",
    "add_n_n_n",
    "Parrot_add_n_n_n",
    0,
    4,
    { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_N },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 397 */
    "add",
    "add_n_nc_n",
    "Parrot_add_n_nc_n",
    0,
    4,
    { PARROT_ARG_N, PARROT_ARG_NC, PARROT_ARG_N },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 398 */
    "add",
    "add_n_n_nc",
    "Parrot_add_n_n_nc",
    0,
    4,
    { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_NC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 399 */
    "add",
    "add_p_p_p",
    "Parrot_add_p_p_p",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 400 */
    "add",
    "add_p_p_i",
    "Parrot_add_p_p_i",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 401 */
    "add",
    "add_p_p_ic",
    "Parrot_add_p_p_ic",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 402 */
    "add",
    "add_p_p_n",
    "Parrot_add_p_p_n",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_N },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 403 */
    "add",
    "add_p_p_nc",
    "Parrot_add_p_p_nc",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_NC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 404 */
    "dec",
    "dec_i",
    "Parrot_dec_i",
    0,
    2,
    { PARROT_ARG_I },
    { PARROT_ARGDIR_INOUT },
    { 0 },
    &core_op_lib
  },
  { /* 405 */
    "dec",
    "dec_n",
    "Parrot_dec_n",
    0,
    2,
    { PARROT_ARG_N },
    { PARROT_ARGDIR_INOUT },
    { 0 },
    &core_op_lib
  },
  { /* 406 */
    "dec",
    "dec_p",
    "Parrot_dec_p",
    0,
    2,
    { PARROT_ARG_P },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 407 */
    "div",
    "div_i_i",
    "Parrot_div_i_i",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_I },
    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 408 */
    "div",
    "div_i_ic",
    "Parrot_div_i_ic",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_IC },
    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 409 */
    "div",
    "div_n_n",
    "Parrot_div_n_n",
    0,
    3,
    { PARROT_ARG_N, PARROT_ARG_N },
    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 410 */
    "div",
    "div_n_nc",
    "Parrot_div_n_nc",
    0,
    3,
    { PARROT_ARG_N, PARROT_ARG_NC },
    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 411 */
    "div",
    "div_p_p",
    "Parrot_div_p_p",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 412 */
    "div",
    "div_p_i",
    "Parrot_div_p_i",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_I },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 413 */
    "div",
    "div_p_ic",
    "Parrot_div_p_ic",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 414 */
    "div",
    "div_p_n",
    "Parrot_div_p_n",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_N },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 415 */
    "div",
    "div_p_nc",
    "Parrot_div_p_nc",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_NC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 416 */
    "div",
    "div_i_i_i",
    "Parrot_div_i_i_i",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 417 */
    "div",
    "div_i_ic_i",
    "Parrot_div_i_ic_i",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 418 */
    "div",
    "div_i_i_ic",
    "Parrot_div_i_i_ic",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 419 */
    "div",
    "div_i_ic_ic",
    "Parrot_div_i_ic_ic",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 420 */
    "div",
    "div_n_n_n",
    "Parrot_div_n_n_n",
    0,
    4,
    { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_N },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 421 */
    "div",
    "div_n_nc_n",
    "Parrot_div_n_nc_n",
    0,
    4,
    { PARROT_ARG_N, PARROT_ARG_NC, PARROT_ARG_N },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 422 */
    "div",
    "div_n_n_nc",
    "Parrot_div_n_n_nc",
    0,
    4,
    { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_NC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 423 */
    "div",
    "div_n_nc_nc",
    "Parrot_div_n_nc_nc",
    0,
    4,
    { PARROT_ARG_N, PARROT_ARG_NC, PARROT_ARG_NC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 424 */
    "div",
    "div_p_p_p",
    "Parrot_div_p_p_p",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 425 */
    "div",
    "div_p_p_i",
    "Parrot_div_p_p_i",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 426 */
    "div",
    "div_p_p_ic",
    "Parrot_div_p_p_ic",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 427 */
    "div",
    "div_p_p_n",
    "Parrot_div_p_p_n",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_N },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 428 */
    "div",
    "div_p_p_nc",
    "Parrot_div_p_p_nc",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_NC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 429 */
    "fdiv",
    "fdiv_i_i",
    "Parrot_fdiv_i_i",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_I },
    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 430 */
    "fdiv",
    "fdiv_i_ic",
    "Parrot_fdiv_i_ic",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_IC },
    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 431 */
    "fdiv",
    "fdiv_n_n",
    "Parrot_fdiv_n_n",
    0,
    3,
    { PARROT_ARG_N, PARROT_ARG_N },
    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 432 */
    "fdiv",
    "fdiv_n_nc",
    "Parrot_fdiv_n_nc",
    0,
    3,
    { PARROT_ARG_N, PARROT_ARG_NC },
    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 433 */
    "fdiv",
    "fdiv_p_p",
    "Parrot_fdiv_p_p",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 434 */
    "fdiv",
    "fdiv_p_i",
    "Parrot_fdiv_p_i",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_I },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 435 */
    "fdiv",
    "fdiv_p_ic",
    "Parrot_fdiv_p_ic",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 436 */
    "fdiv",
    "fdiv_p_n",
    "Parrot_fdiv_p_n",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_N },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 437 */
    "fdiv",
    "fdiv_p_nc",
    "Parrot_fdiv_p_nc",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_NC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 438 */
    "fdiv",
    "fdiv_i_i_i",
    "Parrot_fdiv_i_i_i",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 439 */
    "fdiv",
    "fdiv_i_ic_i",
    "Parrot_fdiv_i_ic_i",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 440 */
    "fdiv",
    "fdiv_i_i_ic",
    "Parrot_fdiv_i_i_ic",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 441 */
    "fdiv",
    "fdiv_n_n_n",
    "Parrot_fdiv_n_n_n",
    0,
    4,
    { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_N },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 442 */
    "fdiv",
    "fdiv_n_nc_n",
    "Parrot_fdiv_n_nc_n",
    0,
    4,
    { PARROT_ARG_N, PARROT_ARG_NC, PARROT_ARG_N },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 443 */
    "fdiv",
    "fdiv_n_n_nc",
    "Parrot_fdiv_n_n_nc",
    0,
    4,
    { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_NC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 444 */
    "fdiv",
    "fdiv_p_p_p",
    "Parrot_fdiv_p_p_p",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 445 */
    "fdiv",
    "fdiv_p_p_i",
    "Parrot_fdiv_p_p_i",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 446 */
    "fdiv",
    "fdiv_p_p_ic",
    "Parrot_fdiv_p_p_ic",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 447 */
    "fdiv",
    "fdiv_p_p_n",
    "Parrot_fdiv_p_p_n",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_N },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 448 */
    "fdiv",
    "fdiv_p_p_nc",
    "Parrot_fdiv_p_p_nc",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_NC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 449 */
    "ceil",
    "ceil_n",
    "Parrot_ceil_n",
    0,
    2,
    { PARROT_ARG_N },
    { PARROT_ARGDIR_INOUT },
    { 0 },
    &core_op_lib
  },
  { /* 450 */
    "ceil",
    "ceil_i_n",
    "Parrot_ceil_i_n",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_N },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 451 */
    "ceil",
    "ceil_n_n",
    "Parrot_ceil_n_n",
    0,
    3,
    { PARROT_ARG_N, PARROT_ARG_N },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 452 */
    "floor",
    "floor_n",
    "Parrot_floor_n",
    0,
    2,
    { PARROT_ARG_N },
    { PARROT_ARGDIR_INOUT },
    { 0 },
    &core_op_lib
  },
  { /* 453 */
    "floor",
    "floor_i_n",
    "Parrot_floor_i_n",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_N },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 454 */
    "floor",
    "floor_n_n",
    "Parrot_floor_n_n",
    0,
    3,
    { PARROT_ARG_N, PARROT_ARG_N },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 455 */
    "inc",
    "inc_i",
    "Parrot_inc_i",
    0,
    2,
    { PARROT_ARG_I },
    { PARROT_ARGDIR_INOUT },
    { 0 },
    &core_op_lib
  },
  { /* 456 */
    "inc",
    "inc_n",
    "Parrot_inc_n",
    0,
    2,
    { PARROT_ARG_N },
    { PARROT_ARGDIR_INOUT },
    { 0 },
    &core_op_lib
  },
  { /* 457 */
    "inc",
    "inc_p",
    "Parrot_inc_p",
    0,
    2,
    { PARROT_ARG_P },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 458 */
    "mod",
    "mod_i_i",
    "Parrot_mod_i_i",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_I },
    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 459 */
    "mod",
    "mod_i_ic",
    "Parrot_mod_i_ic",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_IC },
    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 460 */
    "mod",
    "mod_n_n",
    "Parrot_mod_n_n",
    0,
    3,
    { PARROT_ARG_N, PARROT_ARG_N },
    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 461 */
    "mod",
    "mod_n_nc",
    "Parrot_mod_n_nc",
    0,
    3,
    { PARROT_ARG_N, PARROT_ARG_NC },
    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 462 */
    "mod",
    "mod_p_p",
    "Parrot_mod_p_p",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 463 */
    "mod",
    "mod_p_i",
    "Parrot_mod_p_i",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_I },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 464 */
    "mod",
    "mod_p_ic",
    "Parrot_mod_p_ic",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 465 */
    "mod",
    "mod_p_n",
    "Parrot_mod_p_n",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_N },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 466 */
    "mod",
    "mod_p_nc",
    "Parrot_mod_p_nc",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_NC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 467 */
    "mod",
    "mod_i_i_i",
    "Parrot_mod_i_i_i",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 468 */
    "mod",
    "mod_i_ic_i",
    "Parrot_mod_i_ic_i",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 469 */
    "mod",
    "mod_i_i_ic",
    "Parrot_mod_i_i_ic",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 470 */
    "mod",
    "mod_n_n_n",
    "Parrot_mod_n_n_n",
    0,
    4,
    { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_N },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 471 */
    "mod",
    "mod_n_nc_n",
    "Parrot_mod_n_nc_n",
    0,
    4,
    { PARROT_ARG_N, PARROT_ARG_NC, PARROT_ARG_N },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 472 */
    "mod",
    "mod_n_n_nc",
    "Parrot_mod_n_n_nc",
    0,
    4,
    { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_NC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 473 */
    "mod",
    "mod_p_p_p",
    "Parrot_mod_p_p_p",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 474 */
    "mod",
    "mod_p_p_i",
    "Parrot_mod_p_p_i",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 475 */
    "mod",
    "mod_p_p_ic",
    "Parrot_mod_p_p_ic",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 476 */
    "mod",
    "mod_p_p_n",
    "Parrot_mod_p_p_n",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_N },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 477 */
    "mod",
    "mod_p_p_nc",
    "Parrot_mod_p_p_nc",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_NC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 478 */
    "mul",
    "mul_i_i",
    "Parrot_mul_i_i",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_I },
    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 479 */
    "mul",
    "mul_i_ic",
    "Parrot_mul_i_ic",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_IC },
    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 480 */
    "mul",
    "mul_n_n",
    "Parrot_mul_n_n",
    0,
    3,
    { PARROT_ARG_N, PARROT_ARG_N },
    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 481 */
    "mul",
    "mul_n_nc",
    "Parrot_mul_n_nc",
    0,
    3,
    { PARROT_ARG_N, PARROT_ARG_NC },
    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 482 */
    "mul",
    "mul_p_p",
    "Parrot_mul_p_p",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 483 */
    "mul",
    "mul_p_i",
    "Parrot_mul_p_i",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_I },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 484 */
    "mul",
    "mul_p_ic",
    "Parrot_mul_p_ic",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 485 */
    "mul",
    "mul_p_n",
    "Parrot_mul_p_n",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_N },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 486 */
    "mul",
    "mul_p_nc",
    "Parrot_mul_p_nc",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_NC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 487 */
    "mul",
    "mul_i_i_i",
    "Parrot_mul_i_i_i",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 488 */
    "mul",
    "mul_i_ic_i",
    "Parrot_mul_i_ic_i",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 489 */
    "mul",
    "mul_i_i_ic",
    "Parrot_mul_i_i_ic",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 490 */
    "mul",
    "mul_n_n_n",
    "Parrot_mul_n_n_n",
    0,
    4,
    { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_N },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 491 */
    "mul",
    "mul_n_nc_n",
    "Parrot_mul_n_nc_n",
    0,
    4,
    { PARROT_ARG_N, PARROT_ARG_NC, PARROT_ARG_N },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 492 */
    "mul",
    "mul_n_n_nc",
    "Parrot_mul_n_n_nc",
    0,
    4,
    { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_NC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 493 */
    "mul",
    "mul_p_p_p",
    "Parrot_mul_p_p_p",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 494 */
    "mul",
    "mul_p_p_i",
    "Parrot_mul_p_p_i",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 495 */
    "mul",
    "mul_p_p_ic",
    "Parrot_mul_p_p_ic",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 496 */
    "mul",
    "mul_p_p_n",
    "Parrot_mul_p_p_n",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_N },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 497 */
    "mul",
    "mul_p_p_nc",
    "Parrot_mul_p_p_nc",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_NC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 498 */
    "neg",
    "neg_i",
    "Parrot_neg_i",
    0,
    2,
    { PARROT_ARG_I },
    { PARROT_ARGDIR_INOUT },
    { 0 },
    &core_op_lib
  },
  { /* 499 */
    "neg",
    "neg_n",
    "Parrot_neg_n",
    0,
    2,
    { PARROT_ARG_N },
    { PARROT_ARGDIR_INOUT },
    { 0 },
    &core_op_lib
  },
  { /* 500 */
    "neg",
    "neg_p",
    "Parrot_neg_p",
    0,
    2,
    { PARROT_ARG_P },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 501 */
    "neg",
    "neg_i_i",
    "Parrot_neg_i_i",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 502 */
    "neg",
    "neg_n_n",
    "Parrot_neg_n_n",
    0,
    3,
    { PARROT_ARG_N, PARROT_ARG_N },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 503 */
    "neg",
    "neg_p_p",
    "Parrot_neg_p_p",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 504 */
    "sub",
    "sub_i_i",
    "Parrot_sub_i_i",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_I },
    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 505 */
    "sub",
    "sub_i_ic",
    "Parrot_sub_i_ic",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_IC },
    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 506 */
    "sub",
    "sub_n_n",
    "Parrot_sub_n_n",
    0,
    3,
    { PARROT_ARG_N, PARROT_ARG_N },
    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 507 */
    "sub",
    "sub_n_nc",
    "Parrot_sub_n_nc",
    0,
    3,
    { PARROT_ARG_N, PARROT_ARG_NC },
    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 508 */
    "sub",
    "sub_p_p",
    "Parrot_sub_p_p",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 509 */
    "sub",
    "sub_p_i",
    "Parrot_sub_p_i",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_I },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 510 */
    "sub",
    "sub_p_ic",
    "Parrot_sub_p_ic",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 511 */
    "sub",
    "sub_p_n",
    "Parrot_sub_p_n",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_N },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 512 */
    "sub",
    "sub_p_nc",
    "Parrot_sub_p_nc",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_NC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 513 */
    "sub",
    "sub_i_i_i",
    "Parrot_sub_i_i_i",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 514 */
    "sub",
    "sub_i_ic_i",
    "Parrot_sub_i_ic_i",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 515 */
    "sub",
    "sub_i_i_ic",
    "Parrot_sub_i_i_ic",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 516 */
    "sub",
    "sub_n_n_n",
    "Parrot_sub_n_n_n",
    0,
    4,
    { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_N },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 517 */
    "sub",
    "sub_n_nc_n",
    "Parrot_sub_n_nc_n",
    0,
    4,
    { PARROT_ARG_N, PARROT_ARG_NC, PARROT_ARG_N },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 518 */
    "sub",
    "sub_n_n_nc",
    "Parrot_sub_n_n_nc",
    0,
    4,
    { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_NC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 519 */
    "sub",
    "sub_p_p_p",
    "Parrot_sub_p_p_p",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 520 */
    "sub",
    "sub_p_p_i",
    "Parrot_sub_p_p_i",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 521 */
    "sub",
    "sub_p_p_ic",
    "Parrot_sub_p_p_ic",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 522 */
    "sub",
    "sub_p_p_n",
    "Parrot_sub_p_p_n",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_N },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 523 */
    "sub",
    "sub_p_p_nc",
    "Parrot_sub_p_p_nc",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_NC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 524 */
    "sqrt",
    "sqrt_n_n",
    "Parrot_sqrt_n_n",
    0,
    3,
    { PARROT_ARG_N, PARROT_ARG_N },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 525 */
    "is_inf_or_nan",
    "is_inf_or_nan_i_n",
    "Parrot_is_inf_or_nan_i_n",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_N },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 526 */
    "is_inf_or_nan",
    "is_inf_or_nan_i_nc",
    "Parrot_is_inf_or_nan_i_nc",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_NC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 527 */
    "callmethodcc",
    "callmethodcc_p_s",
    "Parrot_callmethodcc_p_s",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_S },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 528 */
    "callmethodcc",
    "callmethodcc_p_sc",
    "Parrot_callmethodcc_p_sc",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_SC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 529 */
    "callmethodcc",
    "callmethodcc_p_p",
    "Parrot_callmethodcc_p_p",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 530 */
    "callmethod",
    "callmethod_p_s_p",
    "Parrot_callmethod_p_s_p",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 531 */
    "callmethod",
    "callmethod_p_sc_p",
    "Parrot_callmethod_p_sc_p",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 532 */
    "callmethod",
    "callmethod_p_p_p",
    "Parrot_callmethod_p_p_p",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 533 */
    "tailcallmethod",
    "tailcallmethod_p_s",
    "Parrot_tailcallmethod_p_s",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_S },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 534 */
    "tailcallmethod",
    "tailcallmethod_p_sc",
    "Parrot_tailcallmethod_p_sc",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_SC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 535 */
    "tailcallmethod",
    "tailcallmethod_p_p",
    "Parrot_tailcallmethod_p_p",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 536 */
    "addmethod",
    "addmethod_p_s_p",
    "Parrot_addmethod_p_s_p",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 537 */
    "addmethod",
    "addmethod_p_sc_p",
    "Parrot_addmethod_p_sc_p",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 538 */
    "can",
    "can_i_p_s",
    "Parrot_can_i_p_s",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 539 */
    "can",
    "can_i_p_sc",
    "Parrot_can_i_p_sc",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 540 */
    "does",
    "does_i_p_s",
    "Parrot_does_i_p_s",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 541 */
    "does",
    "does_i_p_sc",
    "Parrot_does_i_p_sc",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 542 */
    "does",
    "does_i_p_p",
    "Parrot_does_i_p_p",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 543 */
    "does",
    "does_i_p_pc",
    "Parrot_does_i_p_pc",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_PC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 544 */
    "isa",
    "isa_i_p_s",
    "Parrot_isa_i_p_s",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 545 */
    "isa",
    "isa_i_p_sc",
    "Parrot_isa_i_p_sc",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 546 */
    "isa",
    "isa_i_p_p",
    "Parrot_isa_i_p_p",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 547 */
    "isa",
    "isa_i_p_pc",
    "Parrot_isa_i_p_pc",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_PC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 548 */
    "newclass",
    "newclass_p_s",
    "Parrot_newclass_p_s",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 549 */
    "newclass",
    "newclass_p_sc",
    "Parrot_newclass_p_sc",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 550 */
    "newclass",
    "newclass_p_p",
    "Parrot_newclass_p_p",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 551 */
    "newclass",
    "newclass_p_pc",
    "Parrot_newclass_p_pc",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_PC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 552 */
    "subclass",
    "subclass_p_p",
    "Parrot_subclass_p_p",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 553 */
    "subclass",
    "subclass_p_pc",
    "Parrot_subclass_p_pc",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_PC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 554 */
    "subclass",
    "subclass_p_p_s",
    "Parrot_subclass_p_p_s",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 555 */
    "subclass",
    "subclass_p_pc_s",
    "Parrot_subclass_p_pc_s",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 556 */
    "subclass",
    "subclass_p_p_sc",
    "Parrot_subclass_p_p_sc",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 557 */
    "subclass",
    "subclass_p_pc_sc",
    "Parrot_subclass_p_pc_sc",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 558 */
    "subclass",
    "subclass_p_p_p",
    "Parrot_subclass_p_p_p",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 559 */
    "subclass",
    "subclass_p_pc_p",
    "Parrot_subclass_p_pc_p",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 560 */
    "subclass",
    "subclass_p_p_pc",
    "Parrot_subclass_p_p_pc",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_PC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 561 */
    "subclass",
    "subclass_p_pc_pc",
    "Parrot_subclass_p_pc_pc",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_PC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 562 */
    "subclass",
    "subclass_p_s",
    "Parrot_subclass_p_s",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 563 */
    "subclass",
    "subclass_p_sc",
    "Parrot_subclass_p_sc",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 564 */
    "subclass",
    "subclass_p_s_s",
    "Parrot_subclass_p_s_s",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 565 */
    "subclass",
    "subclass_p_sc_s",
    "Parrot_subclass_p_sc_s",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 566 */
    "subclass",
    "subclass_p_s_sc",
    "Parrot_subclass_p_s_sc",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 567 */
    "subclass",
    "subclass_p_sc_sc",
    "Parrot_subclass_p_sc_sc",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 568 */
    "subclass",
    "subclass_p_s_p",
    "Parrot_subclass_p_s_p",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 569 */
    "subclass",
    "subclass_p_sc_p",
    "Parrot_subclass_p_sc_p",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 570 */
    "subclass",
    "subclass_p_s_pc",
    "Parrot_subclass_p_s_pc",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_PC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 571 */
    "subclass",
    "subclass_p_sc_pc",
    "Parrot_subclass_p_sc_pc",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_PC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 572 */
    "get_class",
    "get_class_p_s",
    "Parrot_get_class_p_s",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 573 */
    "get_class",
    "get_class_p_sc",
    "Parrot_get_class_p_sc",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 574 */
    "get_class",
    "get_class_p_p",
    "Parrot_get_class_p_p",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 575 */
    "get_class",
    "get_class_p_pc",
    "Parrot_get_class_p_pc",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_PC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 576 */
    "class",
    "class_p_p",
    "Parrot_class_p_p",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 577 */
    "addparent",
    "addparent_p_p",
    "Parrot_addparent_p_p",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 578 */
    "removeparent",
    "removeparent_p_p",
    "Parrot_removeparent_p_p",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 579 */
    "addrole",
    "addrole_p_p",
    "Parrot_addrole_p_p",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 580 */
    "addattribute",
    "addattribute_p_s",
    "Parrot_addattribute_p_s",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_S },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 581 */
    "addattribute",
    "addattribute_p_sc",
    "Parrot_addattribute_p_sc",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_SC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 582 */
    "removeattribute",
    "removeattribute_p_s",
    "Parrot_removeattribute_p_s",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_S },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 583 */
    "removeattribute",
    "removeattribute_p_sc",
    "Parrot_removeattribute_p_sc",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_SC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 584 */
    "getattribute",
    "getattribute_p_p_s",
    "Parrot_getattribute_p_p_s",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 585 */
    "getattribute",
    "getattribute_p_p_sc",
    "Parrot_getattribute_p_p_sc",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 586 */
    "getattribute",
    "getattribute_p_p_p_s",
    "Parrot_getattribute_p_p_p_s",
    0,
    5,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 587 */
    "getattribute",
    "getattribute_p_p_pc_s",
    "Parrot_getattribute_p_p_pc_s",
    0,
    5,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 588 */
    "getattribute",
    "getattribute_p_p_p_sc",
    "Parrot_getattribute_p_p_p_sc",
    0,
    5,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 589 */
    "getattribute",
    "getattribute_p_p_pc_sc",
    "Parrot_getattribute_p_p_pc_sc",
    0,
    5,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 590 */
    "setattribute",
    "setattribute_p_s_p",
    "Parrot_setattribute_p_s_p",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 591 */
    "setattribute",
    "setattribute_p_sc_p",
    "Parrot_setattribute_p_sc_p",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 592 */
    "setattribute",
    "setattribute_p_p_s_p",
    "Parrot_setattribute_p_p_s_p",
    0,
    5,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 593 */
    "setattribute",
    "setattribute_p_pc_s_p",
    "Parrot_setattribute_p_pc_s_p",
    0,
    5,
    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_S, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 594 */
    "setattribute",
    "setattribute_p_p_sc_p",
    "Parrot_setattribute_p_p_sc_p",
    0,
    5,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 595 */
    "setattribute",
    "setattribute_p_pc_sc_p",
    "Parrot_setattribute_p_pc_sc_p",
    0,
    5,
    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_SC, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 596 */
    "inspect",
    "inspect_p_p",
    "Parrot_inspect_p_p",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 597 */
    "inspect",
    "inspect_p_pc",
    "Parrot_inspect_p_pc",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_PC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 598 */
    "inspect",
    "inspect_p_p_s",
    "Parrot_inspect_p_p_s",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 599 */
    "inspect",
    "inspect_p_pc_s",
    "Parrot_inspect_p_pc_s",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 600 */
    "inspect",
    "inspect_p_p_sc",
    "Parrot_inspect_p_p_sc",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 601 */
    "inspect",
    "inspect_p_pc_sc",
    "Parrot_inspect_p_pc_sc",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 602 */
    "new",
    "new_p_s",
    "Parrot_new_p_s",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 603 */
    "new",
    "new_p_sc",
    "Parrot_new_p_sc",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 604 */
    "new",
    "new_p_s_p",
    "Parrot_new_p_s_p",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 605 */
    "new",
    "new_p_sc_p",
    "Parrot_new_p_sc_p",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 606 */
    "new",
    "new_p_s_pc",
    "Parrot_new_p_s_pc",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_PC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 607 */
    "new",
    "new_p_sc_pc",
    "Parrot_new_p_sc_pc",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_PC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 608 */
    "new",
    "new_p_p",
    "Parrot_new_p_p",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 609 */
    "new",
    "new_p_pc",
    "Parrot_new_p_pc",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_PC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 610 */
    "new",
    "new_p_p_p",
    "Parrot_new_p_p_p",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 611 */
    "new",
    "new_p_pc_p",
    "Parrot_new_p_pc_p",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 612 */
    "new",
    "new_p_p_pc",
    "Parrot_new_p_p_pc",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_PC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 613 */
    "new",
    "new_p_pc_pc",
    "Parrot_new_p_pc_pc",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_PC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 614 */
    "root_new",
    "root_new_p_p",
    "Parrot_root_new_p_p",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 615 */
    "root_new",
    "root_new_p_pc",
    "Parrot_root_new_p_pc",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_PC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 616 */
    "root_new",
    "root_new_p_p_p",
    "Parrot_root_new_p_p_p",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 617 */
    "root_new",
    "root_new_p_pc_p",
    "Parrot_root_new_p_pc_p",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 618 */
    "root_new",
    "root_new_p_p_pc",
    "Parrot_root_new_p_p_pc",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_PC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 619 */
    "root_new",
    "root_new_p_pc_pc",
    "Parrot_root_new_p_pc_pc",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_PC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 620 */
    "typeof",
    "typeof_s_p",
    "Parrot_typeof_s_p",
    0,
    3,
    { PARROT_ARG_S, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 621 */
    "typeof",
    "typeof_p_p",
    "Parrot_typeof_p_p",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 622 */
    "get_repr",
    "get_repr_s_p",
    "Parrot_get_repr_s_p",
    0,
    3,
    { PARROT_ARG_S, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 623 */
    "find_method",
    "find_method_p_p_s",
    "Parrot_find_method_p_p_s",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 624 */
    "find_method",
    "find_method_p_p_sc",
    "Parrot_find_method_p_p_sc",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 625 */
    "defined",
    "defined_i_p",
    "Parrot_defined_i_p",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 626 */
    "defined",
    "defined_i_p_ki",
    "Parrot_defined_i_p_ki",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_KI },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 627 */
    "defined",
    "defined_i_p_kic",
    "Parrot_defined_i_p_kic",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_KIC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 628 */
    "defined",
    "defined_i_p_k",
    "Parrot_defined_i_p_k",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_K },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 629 */
    "defined",
    "defined_i_p_kc",
    "Parrot_defined_i_p_kc",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_KC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 630 */
    "exists",
    "exists_i_p_ki",
    "Parrot_exists_i_p_ki",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_KI },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 631 */
    "exists",
    "exists_i_p_kic",
    "Parrot_exists_i_p_kic",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_KIC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 632 */
    "exists",
    "exists_i_p_k",
    "Parrot_exists_i_p_k",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_K },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 633 */
    "exists",
    "exists_i_p_kc",
    "Parrot_exists_i_p_kc",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_KC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 634 */
    "delete",
    "delete_p_k",
    "Parrot_delete_p_k",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_K },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 635 */
    "delete",
    "delete_p_kc",
    "Parrot_delete_p_kc",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_KC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 636 */
    "delete",
    "delete_p_ki",
    "Parrot_delete_p_ki",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_KI },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 637 */
    "delete",
    "delete_p_kic",
    "Parrot_delete_p_kic",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_KIC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 638 */
    "elements",
    "elements_i_p",
    "Parrot_elements_i_p",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 639 */
    "push",
    "push_p_i",
    "Parrot_push_p_i",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_I },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 640 */
    "push",
    "push_p_ic",
    "Parrot_push_p_ic",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 641 */
    "push",
    "push_p_n",
    "Parrot_push_p_n",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_N },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 642 */
    "push",
    "push_p_nc",
    "Parrot_push_p_nc",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_NC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 643 */
    "push",
    "push_p_s",
    "Parrot_push_p_s",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_S },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 644 */
    "push",
    "push_p_sc",
    "Parrot_push_p_sc",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_SC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 645 */
    "push",
    "push_p_p",
    "Parrot_push_p_p",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 646 */
    "pop",
    "pop_i_p",
    "Parrot_pop_i_p",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 647 */
    "pop",
    "pop_n_p",
    "Parrot_pop_n_p",
    0,
    3,
    { PARROT_ARG_N, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 648 */
    "pop",
    "pop_s_p",
    "Parrot_pop_s_p",
    0,
    3,
    { PARROT_ARG_S, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 649 */
    "pop",
    "pop_p_p",
    "Parrot_pop_p_p",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 650 */
    "unshift",
    "unshift_p_i",
    "Parrot_unshift_p_i",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_I },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 651 */
    "unshift",
    "unshift_p_ic",
    "Parrot_unshift_p_ic",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 652 */
    "unshift",
    "unshift_p_n",
    "Parrot_unshift_p_n",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_N },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 653 */
    "unshift",
    "unshift_p_nc",
    "Parrot_unshift_p_nc",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_NC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 654 */
    "unshift",
    "unshift_p_s",
    "Parrot_unshift_p_s",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_S },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 655 */
    "unshift",
    "unshift_p_sc",
    "Parrot_unshift_p_sc",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_SC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 656 */
    "unshift",
    "unshift_p_p",
    "Parrot_unshift_p_p",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 657 */
    "shift",
    "shift_i_p",
    "Parrot_shift_i_p",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 658 */
    "shift",
    "shift_n_p",
    "Parrot_shift_n_p",
    0,
    3,
    { PARROT_ARG_N, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 659 */
    "shift",
    "shift_s_p",
    "Parrot_shift_s_p",
    0,
    3,
    { PARROT_ARG_S, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 660 */
    "shift",
    "shift_p_p",
    "Parrot_shift_p_p",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 661 */
    "splice",
    "splice_p_p_i_i",
    "Parrot_splice_p_p_i_i",
    0,
    5,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I, PARROT_ARG_I },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 662 */
    "splice",
    "splice_p_p_ic_i",
    "Parrot_splice_p_p_ic_i",
    0,
    5,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC, PARROT_ARG_I },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 663 */
    "splice",
    "splice_p_p_i_ic",
    "Parrot_splice_p_p_i_ic",
    0,
    5,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 664 */
    "splice",
    "splice_p_p_ic_ic",
    "Parrot_splice_p_p_ic_ic",
    0,
    5,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 665 */
    "setprop",
    "setprop_p_s_p",
    "Parrot_setprop_p_s_p",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 666 */
    "setprop",
    "setprop_p_sc_p",
    "Parrot_setprop_p_sc_p",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 667 */
    "getprop",
    "getprop_p_s_p",
    "Parrot_getprop_p_s_p",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 668 */
    "getprop",
    "getprop_p_sc_p",
    "Parrot_getprop_p_sc_p",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 669 */
    "getprop",
    "getprop_p_p_s",
    "Parrot_getprop_p_p_s",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 670 */
    "getprop",
    "getprop_p_p_sc",
    "Parrot_getprop_p_p_sc",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 671 */
    "delprop",
    "delprop_p_s",
    "Parrot_delprop_p_s",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_S },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 672 */
    "delprop",
    "delprop_p_sc",
    "Parrot_delprop_p_sc",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_SC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 673 */
    "prophash",
    "prophash_p_p",
    "Parrot_prophash_p_p",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 674 */
    "freeze",
    "freeze_s_p",
    "Parrot_freeze_s_p",
    0,
    3,
    { PARROT_ARG_S, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 675 */
    "thaw",
    "thaw_p_s",
    "Parrot_thaw_p_s",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 676 */
    "thaw",
    "thaw_p_sc",
    "Parrot_thaw_p_sc",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 677 */
    "add_multi",
    "add_multi_s_s_p",
    "Parrot_add_multi_s_s_p",
    0,
    4,
    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 678 */
    "add_multi",
    "add_multi_sc_s_p",
    "Parrot_add_multi_sc_s_p",
    0,
    4,
    { PARROT_ARG_SC, PARROT_ARG_S, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 679 */
    "add_multi",
    "add_multi_s_sc_p",
    "Parrot_add_multi_s_sc_p",
    0,
    4,
    { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 680 */
    "add_multi",
    "add_multi_sc_sc_p",
    "Parrot_add_multi_sc_sc_p",
    0,
    4,
    { PARROT_ARG_SC, PARROT_ARG_SC, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 681 */
    "find_multi",
    "find_multi_p_s_s",
    "Parrot_find_multi_p_s_s",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 682 */
    "find_multi",
    "find_multi_p_sc_s",
    "Parrot_find_multi_p_sc_s",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 683 */
    "find_multi",
    "find_multi_p_s_sc",
    "Parrot_find_multi_p_s_sc",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 684 */
    "find_multi",
    "find_multi_p_sc_sc",
    "Parrot_find_multi_p_sc_sc",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 685 */
    "register",
    "register_p",
    "Parrot_register_p",
    0,
    2,
    { PARROT_ARG_P },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 686 */
    "unregister",
    "unregister_p",
    "Parrot_unregister_p",
    0,
    2,
    { PARROT_ARG_P },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 687 */
    "box",
    "box_p_i",
    "Parrot_box_p_i",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 688 */
    "box",
    "box_p_ic",
    "Parrot_box_p_ic",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 689 */
    "box",
    "box_p_n",
    "Parrot_box_p_n",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_N },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 690 */
    "box",
    "box_p_nc",
    "Parrot_box_p_nc",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_NC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 691 */
    "box",
    "box_p_s",
    "Parrot_box_p_s",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 692 */
    "box",
    "box_p_sc",
    "Parrot_box_p_sc",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 693 */
    "iter",
    "iter_p_p",
    "Parrot_iter_p_p",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 694 */
    "morph",
    "morph_p_p",
    "Parrot_morph_p_p",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 695 */
    "morph",
    "morph_p_pc",
    "Parrot_morph_p_pc",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_PC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 696 */
    "clone",
    "clone_s_s",
    "Parrot_clone_s_s",
    0,
    3,
    { PARROT_ARG_S, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 697 */
    "clone",
    "clone_s_sc",
    "Parrot_clone_s_sc",
    0,
    3,
    { PARROT_ARG_S, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 698 */
    "set",
    "set_i_i",
    "Parrot_set_i_i",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 699 */
    "set",
    "set_i_ic",
    "Parrot_set_i_ic",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 700 */
    "set",
    "set_i_n",
    "Parrot_set_i_n",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_N },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 701 */
    "set",
    "set_i_nc",
    "Parrot_set_i_nc",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_NC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 702 */
    "set",
    "set_i_s",
    "Parrot_set_i_s",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 703 */
    "set",
    "set_i_sc",
    "Parrot_set_i_sc",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 704 */
    "set",
    "set_n_n",
    "Parrot_set_n_n",
    0,
    3,
    { PARROT_ARG_N, PARROT_ARG_N },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 705 */
    "set",
    "set_n_nc",
    "Parrot_set_n_nc",
    0,
    3,
    { PARROT_ARG_N, PARROT_ARG_NC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 706 */
    "set",
    "set_n_i",
    "Parrot_set_n_i",
    0,
    3,
    { PARROT_ARG_N, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 707 */
    "set",
    "set_n_ic",
    "Parrot_set_n_ic",
    0,
    3,
    { PARROT_ARG_N, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 708 */
    "set",
    "set_n_s",
    "Parrot_set_n_s",
    0,
    3,
    { PARROT_ARG_N, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 709 */
    "set",
    "set_n_sc",
    "Parrot_set_n_sc",
    0,
    3,
    { PARROT_ARG_N, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 710 */
    "set",
    "set_n_p",
    "Parrot_set_n_p",
    0,
    3,
    { PARROT_ARG_N, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 711 */
    "set",
    "set_s_p",
    "Parrot_set_s_p",
    0,
    3,
    { PARROT_ARG_S, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 712 */
    "set",
    "set_s_s",
    "Parrot_set_s_s",
    0,
    3,
    { PARROT_ARG_S, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 713 */
    "set",
    "set_s_sc",
    "Parrot_set_s_sc",
    0,
    3,
    { PARROT_ARG_S, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 714 */
    "set",
    "set_s_i",
    "Parrot_set_s_i",
    0,
    3,
    { PARROT_ARG_S, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 715 */
    "set",
    "set_s_ic",
    "Parrot_set_s_ic",
    0,
    3,
    { PARROT_ARG_S, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 716 */
    "set",
    "set_s_n",
    "Parrot_set_s_n",
    0,
    3,
    { PARROT_ARG_S, PARROT_ARG_N },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 717 */
    "set",
    "set_s_nc",
    "Parrot_set_s_nc",
    0,
    3,
    { PARROT_ARG_S, PARROT_ARG_NC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 718 */
    "set",
    "set_p_pc",
    "Parrot_set_p_pc",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_PC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 719 */
    "set",
    "set_p_p",
    "Parrot_set_p_p",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 720 */
    "set",
    "set_p_i",
    "Parrot_set_p_i",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_I },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 721 */
    "set",
    "set_p_ic",
    "Parrot_set_p_ic",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 722 */
    "set",
    "set_p_n",
    "Parrot_set_p_n",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_N },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 723 */
    "set",
    "set_p_nc",
    "Parrot_set_p_nc",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_NC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 724 */
    "set",
    "set_p_s",
    "Parrot_set_p_s",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_S },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 725 */
    "set",
    "set_p_sc",
    "Parrot_set_p_sc",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_SC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 726 */
    "set",
    "set_i_p",
    "Parrot_set_i_p",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 727 */
    "assign",
    "assign_p_p",
    "Parrot_assign_p_p",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 728 */
    "assign",
    "assign_p_i",
    "Parrot_assign_p_i",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_I },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 729 */
    "assign",
    "assign_p_ic",
    "Parrot_assign_p_ic",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 730 */
    "assign",
    "assign_p_n",
    "Parrot_assign_p_n",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_N },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 731 */
    "assign",
    "assign_p_nc",
    "Parrot_assign_p_nc",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_NC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 732 */
    "assign",
    "assign_p_s",
    "Parrot_assign_p_s",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_S },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 733 */
    "assign",
    "assign_p_sc",
    "Parrot_assign_p_sc",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_SC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 734 */
    "assign",
    "assign_s_s",
    "Parrot_assign_s_s",
    0,
    3,
    { PARROT_ARG_S, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 735 */
    "assign",
    "assign_s_sc",
    "Parrot_assign_s_sc",
    0,
    3,
    { PARROT_ARG_S, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 736 */
    "setref",
    "setref_p_p",
    "Parrot_setref_p_p",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 737 */
    "deref",
    "deref_p_p",
    "Parrot_deref_p_p",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 738 */
    "set",
    "set_p_ki_i",
    "Parrot_set_p_ki_i",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_KI, PARROT_ARG_I },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 739 */
    "set",
    "set_p_kic_i",
    "Parrot_set_p_kic_i",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_KIC, PARROT_ARG_I },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 740 */
    "set",
    "set_p_ki_ic",
    "Parrot_set_p_ki_ic",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_KI, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 741 */
    "set",
    "set_p_kic_ic",
    "Parrot_set_p_kic_ic",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_KIC, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 742 */
    "set",
    "set_p_ki_n",
    "Parrot_set_p_ki_n",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_KI, PARROT_ARG_N },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 743 */
    "set",
    "set_p_kic_n",
    "Parrot_set_p_kic_n",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_KIC, PARROT_ARG_N },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 744 */
    "set",
    "set_p_ki_nc",
    "Parrot_set_p_ki_nc",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_KI, PARROT_ARG_NC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 745 */
    "set",
    "set_p_kic_nc",
    "Parrot_set_p_kic_nc",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_KIC, PARROT_ARG_NC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 746 */
    "set",
    "set_p_ki_s",
    "Parrot_set_p_ki_s",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_KI, PARROT_ARG_S },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 747 */
    "set",
    "set_p_kic_s",
    "Parrot_set_p_kic_s",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_KIC, PARROT_ARG_S },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 748 */
    "set",
    "set_p_ki_sc",
    "Parrot_set_p_ki_sc",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_KI, PARROT_ARG_SC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 749 */
    "set",
    "set_p_kic_sc",
    "Parrot_set_p_kic_sc",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_KIC, PARROT_ARG_SC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 750 */
    "set",
    "set_p_ki_p",
    "Parrot_set_p_ki_p",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_KI, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 751 */
    "set",
    "set_p_kic_p",
    "Parrot_set_p_kic_p",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_KIC, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 752 */
    "set",
    "set_i_p_ki",
    "Parrot_set_i_p_ki",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_KI },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 753 */
    "set",
    "set_i_p_kic",
    "Parrot_set_i_p_kic",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_KIC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 754 */
    "set",
    "set_n_p_ki",
    "Parrot_set_n_p_ki",
    0,
    4,
    { PARROT_ARG_N, PARROT_ARG_P, PARROT_ARG_KI },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 755 */
    "set",
    "set_n_p_kic",
    "Parrot_set_n_p_kic",
    0,
    4,
    { PARROT_ARG_N, PARROT_ARG_P, PARROT_ARG_KIC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 756 */
    "set",
    "set_s_p_ki",
    "Parrot_set_s_p_ki",
    0,
    4,
    { PARROT_ARG_S, PARROT_ARG_P, PARROT_ARG_KI },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 757 */
    "set",
    "set_s_p_kic",
    "Parrot_set_s_p_kic",
    0,
    4,
    { PARROT_ARG_S, PARROT_ARG_P, PARROT_ARG_KIC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 758 */
    "set",
    "set_p_p_ki",
    "Parrot_set_p_p_ki",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_KI },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 759 */
    "set",
    "set_p_p_kic",
    "Parrot_set_p_p_kic",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_KIC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 760 */
    "set",
    "set_p_k_i",
    "Parrot_set_p_k_i",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_K, PARROT_ARG_I },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 761 */
    "set",
    "set_p_kc_i",
    "Parrot_set_p_kc_i",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_KC, PARROT_ARG_I },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 762 */
    "set",
    "set_p_k_ic",
    "Parrot_set_p_k_ic",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_K, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 763 */
    "set",
    "set_p_kc_ic",
    "Parrot_set_p_kc_ic",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_KC, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 764 */
    "set",
    "set_p_k_n",
    "Parrot_set_p_k_n",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_K, PARROT_ARG_N },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 765 */
    "set",
    "set_p_kc_n",
    "Parrot_set_p_kc_n",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_KC, PARROT_ARG_N },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 766 */
    "set",
    "set_p_k_nc",
    "Parrot_set_p_k_nc",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_K, PARROT_ARG_NC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 767 */
    "set",
    "set_p_kc_nc",
    "Parrot_set_p_kc_nc",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_KC, PARROT_ARG_NC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 768 */
    "set",
    "set_p_k_s",
    "Parrot_set_p_k_s",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_K, PARROT_ARG_S },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 769 */
    "set",
    "set_p_kc_s",
    "Parrot_set_p_kc_s",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_KC, PARROT_ARG_S },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 770 */
    "set",
    "set_p_k_sc",
    "Parrot_set_p_k_sc",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_K, PARROT_ARG_SC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 771 */
    "set",
    "set_p_kc_sc",
    "Parrot_set_p_kc_sc",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_KC, PARROT_ARG_SC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 772 */
    "set",
    "set_p_k_p",
    "Parrot_set_p_k_p",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_K, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 773 */
    "set",
    "set_p_kc_p",
    "Parrot_set_p_kc_p",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_KC, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 774 */
    "set",
    "set_i_p_k",
    "Parrot_set_i_p_k",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_K },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 775 */
    "set",
    "set_i_p_kc",
    "Parrot_set_i_p_kc",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_KC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 776 */
    "set",
    "set_n_p_k",
    "Parrot_set_n_p_k",
    0,
    4,
    { PARROT_ARG_N, PARROT_ARG_P, PARROT_ARG_K },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 777 */
    "set",
    "set_n_p_kc",
    "Parrot_set_n_p_kc",
    0,
    4,
    { PARROT_ARG_N, PARROT_ARG_P, PARROT_ARG_KC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 778 */
    "set",
    "set_s_p_k",
    "Parrot_set_s_p_k",
    0,
    4,
    { PARROT_ARG_S, PARROT_ARG_P, PARROT_ARG_K },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 779 */
    "set",
    "set_s_p_kc",
    "Parrot_set_s_p_kc",
    0,
    4,
    { PARROT_ARG_S, PARROT_ARG_P, PARROT_ARG_KC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 780 */
    "set",
    "set_p_p_k",
    "Parrot_set_p_p_k",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_K },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 781 */
    "set",
    "set_p_p_kc",
    "Parrot_set_p_p_kc",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_KC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 782 */
    "clone",
    "clone_p_p",
    "Parrot_clone_p_p",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 783 */
    "clone",
    "clone_p_p_p",
    "Parrot_clone_p_p_p",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 784 */
    "clone",
    "clone_p_p_pc",
    "Parrot_clone_p_p_pc",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_PC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 785 */
    "copy",
    "copy_p_p",
    "Parrot_copy_p_p",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 786 */
    "null",
    "null_s",
    "Parrot_null_s",
    0,
    2,
    { PARROT_ARG_S },
    { PARROT_ARGDIR_OUT },
    { 0 },
    &core_op_lib
  },
  { /* 787 */
    "null",
    "null_i",
    "Parrot_null_i",
    0,
    2,
    { PARROT_ARG_I },
    { PARROT_ARGDIR_OUT },
    { 0 },
    &core_op_lib
  },
  { /* 788 */
    "null",
    "null_p",
    "Parrot_null_p",
    0,
    2,
    { PARROT_ARG_P },
    { PARROT_ARGDIR_OUT },
    { 0 },
    &core_op_lib
  },
  { /* 789 */
    "null",
    "null_n",
    "Parrot_null_n",
    0,
    2,
    { PARROT_ARG_N },
    { PARROT_ARGDIR_OUT },
    { 0 },
    &core_op_lib
  },
  { /* 790 */
    "ord",
    "ord_i_s",
    "Parrot_ord_i_s",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 791 */
    "ord",
    "ord_i_sc",
    "Parrot_ord_i_sc",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 792 */
    "ord",
    "ord_i_s_i",
    "Parrot_ord_i_s_i",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 793 */
    "ord",
    "ord_i_sc_i",
    "Parrot_ord_i_sc_i",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 794 */
    "ord",
    "ord_i_s_ic",
    "Parrot_ord_i_s_ic",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 795 */
    "ord",
    "ord_i_sc_ic",
    "Parrot_ord_i_sc_ic",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 796 */
    "chr",
    "chr_s_i",
    "Parrot_chr_s_i",
    0,
    3,
    { PARROT_ARG_S, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 797 */
    "chr",
    "chr_s_ic",
    "Parrot_chr_s_ic",
    0,
    3,
    { PARROT_ARG_S, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 798 */
    "chopn",
    "chopn_s_s_i",
    "Parrot_chopn_s_s_i",
    0,
    4,
    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 799 */
    "chopn",
    "chopn_s_sc_i",
    "Parrot_chopn_s_sc_i",
    0,
    4,
    { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 800 */
    "chopn",
    "chopn_s_s_ic",
    "Parrot_chopn_s_s_ic",
    0,
    4,
    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 801 */
    "chopn",
    "chopn_s_sc_ic",
    "Parrot_chopn_s_sc_ic",
    0,
    4,
    { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 802 */
    "concat",
    "concat_p_p",
    "Parrot_concat_p_p",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 803 */
    "concat",
    "concat_p_s",
    "Parrot_concat_p_s",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_S },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 804 */
    "concat",
    "concat_p_sc",
    "Parrot_concat_p_sc",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_SC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 805 */
    "concat",
    "concat_s_s_s",
    "Parrot_concat_s_s_s",
    0,
    4,
    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 806 */
    "concat",
    "concat_s_sc_s",
    "Parrot_concat_s_sc_s",
    0,
    4,
    { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 807 */
    "concat",
    "concat_s_s_sc",
    "Parrot_concat_s_s_sc",
    0,
    4,
    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 808 */
    "concat",
    "concat_p_p_s",
    "Parrot_concat_p_p_s",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 809 */
    "concat",
    "concat_p_p_sc",
    "Parrot_concat_p_p_sc",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 810 */
    "concat",
    "concat_p_p_p",
    "Parrot_concat_p_p_p",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 811 */
    "repeat",
    "repeat_s_s_i",
    "Parrot_repeat_s_s_i",
    0,
    4,
    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 812 */
    "repeat",
    "repeat_s_sc_i",
    "Parrot_repeat_s_sc_i",
    0,
    4,
    { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 813 */
    "repeat",
    "repeat_s_s_ic",
    "Parrot_repeat_s_s_ic",
    0,
    4,
    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 814 */
    "repeat",
    "repeat_s_sc_ic",
    "Parrot_repeat_s_sc_ic",
    0,
    4,
    { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 815 */
    "repeat",
    "repeat_p_p_i",
    "Parrot_repeat_p_p_i",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 816 */
    "repeat",
    "repeat_p_p_ic",
    "Parrot_repeat_p_p_ic",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 817 */
    "repeat",
    "repeat_p_p_p",
    "Parrot_repeat_p_p_p",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 818 */
    "repeat",
    "repeat_p_i",
    "Parrot_repeat_p_i",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_I },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 819 */
    "repeat",
    "repeat_p_ic",
    "Parrot_repeat_p_ic",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 820 */
    "repeat",
    "repeat_p_p",
    "Parrot_repeat_p_p",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 821 */
    "length",
    "length_i_s",
    "Parrot_length_i_s",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 822 */
    "length",
    "length_i_sc",
    "Parrot_length_i_sc",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 823 */
    "bytelength",
    "bytelength_i_s",
    "Parrot_bytelength_i_s",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 824 */
    "bytelength",
    "bytelength_i_sc",
    "Parrot_bytelength_i_sc",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 825 */
    "pin",
    "pin_s",
    "Parrot_pin_s",
    0,
    2,
    { PARROT_ARG_S },
    { PARROT_ARGDIR_INOUT },
    { 0 },
    &core_op_lib
  },
  { /* 826 */
    "unpin",
    "unpin_s",
    "Parrot_unpin_s",
    0,
    2,
    { PARROT_ARG_S },
    { PARROT_ARGDIR_INOUT },
    { 0 },
    &core_op_lib
  },
  { /* 827 */
    "substr",
    "substr_s_s_i",
    "Parrot_substr_s_s_i",
    0,
    4,
    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 828 */
    "substr",
    "substr_s_sc_i",
    "Parrot_substr_s_sc_i",
    0,
    4,
    { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 829 */
    "substr",
    "substr_s_s_ic",
    "Parrot_substr_s_s_ic",
    0,
    4,
    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 830 */
    "substr",
    "substr_s_sc_ic",
    "Parrot_substr_s_sc_ic",
    0,
    4,
    { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 831 */
    "substr",
    "substr_s_s_i_i",
    "Parrot_substr_s_s_i_i",
    0,
    5,
    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_I, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 832 */
    "substr",
    "substr_s_sc_i_i",
    "Parrot_substr_s_sc_i_i",
    0,
    5,
    { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_I, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 833 */
    "substr",
    "substr_s_s_ic_i",
    "Parrot_substr_s_s_ic_i",
    0,
    5,
    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 834 */
    "substr",
    "substr_s_sc_ic_i",
    "Parrot_substr_s_sc_ic_i",
    0,
    5,
    { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 835 */
    "substr",
    "substr_s_s_i_ic",
    "Parrot_substr_s_s_i_ic",
    0,
    5,
    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_I, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 836 */
    "substr",
    "substr_s_sc_i_ic",
    "Parrot_substr_s_sc_i_ic",
    0,
    5,
    { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_I, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 837 */
    "substr",
    "substr_s_s_ic_ic",
    "Parrot_substr_s_s_ic_ic",
    0,
    5,
    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 838 */
    "substr",
    "substr_s_sc_ic_ic",
    "Parrot_substr_s_sc_ic_ic",
    0,
    5,
    { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 839 */
    "substr",
    "substr_s_p_i_i",
    "Parrot_substr_s_p_i_i",
    0,
    5,
    { PARROT_ARG_S, PARROT_ARG_P, PARROT_ARG_I, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 840 */
    "substr",
    "substr_s_p_ic_i",
    "Parrot_substr_s_p_ic_i",
    0,
    5,
    { PARROT_ARG_S, PARROT_ARG_P, PARROT_ARG_IC, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 841 */
    "substr",
    "substr_s_p_i_ic",
    "Parrot_substr_s_p_i_ic",
    0,
    5,
    { PARROT_ARG_S, PARROT_ARG_P, PARROT_ARG_I, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 842 */
    "substr",
    "substr_s_p_ic_ic",
    "Parrot_substr_s_p_ic_ic",
    0,
    5,
    { PARROT_ARG_S, PARROT_ARG_P, PARROT_ARG_IC, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 843 */
    "replace",
    "replace_s_s_i_i_s",
    "Parrot_replace_s_s_i_i_s",
    0,
    6,
    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 844 */
    "replace",
    "replace_s_sc_i_i_s",
    "Parrot_replace_s_sc_i_i_s",
    0,
    6,
    { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 845 */
    "replace",
    "replace_s_s_ic_i_s",
    "Parrot_replace_s_s_ic_i_s",
    0,
    6,
    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC, PARROT_ARG_I, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 846 */
    "replace",
    "replace_s_sc_ic_i_s",
    "Parrot_replace_s_sc_ic_i_s",
    0,
    6,
    { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC, PARROT_ARG_I, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 847 */
    "replace",
    "replace_s_s_i_ic_s",
    "Parrot_replace_s_s_i_ic_s",
    0,
    6,
    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 848 */
    "replace",
    "replace_s_sc_i_ic_s",
    "Parrot_replace_s_sc_i_ic_s",
    0,
    6,
    { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 849 */
    "replace",
    "replace_s_s_ic_ic_s",
    "Parrot_replace_s_s_ic_ic_s",
    0,
    6,
    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC, PARROT_ARG_IC, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 850 */
    "replace",
    "replace_s_sc_ic_ic_s",
    "Parrot_replace_s_sc_ic_ic_s",
    0,
    6,
    { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC, PARROT_ARG_IC, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 851 */
    "replace",
    "replace_s_s_i_i_sc",
    "Parrot_replace_s_s_i_i_sc",
    0,
    6,
    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 852 */
    "replace",
    "replace_s_sc_i_i_sc",
    "Parrot_replace_s_sc_i_i_sc",
    0,
    6,
    { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 853 */
    "replace",
    "replace_s_s_ic_i_sc",
    "Parrot_replace_s_s_ic_i_sc",
    0,
    6,
    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC, PARROT_ARG_I, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 854 */
    "replace",
    "replace_s_sc_ic_i_sc",
    "Parrot_replace_s_sc_ic_i_sc",
    0,
    6,
    { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC, PARROT_ARG_I, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 855 */
    "replace",
    "replace_s_s_i_ic_sc",
    "Parrot_replace_s_s_i_ic_sc",
    0,
    6,
    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 856 */
    "replace",
    "replace_s_sc_i_ic_sc",
    "Parrot_replace_s_sc_i_ic_sc",
    0,
    6,
    { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 857 */
    "replace",
    "replace_s_s_ic_ic_sc",
    "Parrot_replace_s_s_ic_ic_sc",
    0,
    6,
    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC, PARROT_ARG_IC, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 858 */
    "replace",
    "replace_s_sc_ic_ic_sc",
    "Parrot_replace_s_sc_ic_ic_sc",
    0,
    6,
    { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC, PARROT_ARG_IC, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 859 */
    "index",
    "index_i_s_s",
    "Parrot_index_i_s_s",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 860 */
    "index",
    "index_i_sc_s",
    "Parrot_index_i_sc_s",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 861 */
    "index",
    "index_i_s_sc",
    "Parrot_index_i_s_sc",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 862 */
    "index",
    "index_i_sc_sc",
    "Parrot_index_i_sc_sc",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 863 */
    "index",
    "index_i_s_s_i",
    "Parrot_index_i_s_s_i",
    0,
    5,
    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 864 */
    "index",
    "index_i_sc_s_i",
    "Parrot_index_i_sc_s_i",
    0,
    5,
    { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_S, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 865 */
    "index",
    "index_i_s_sc_i",
    "Parrot_index_i_s_sc_i",
    0,
    5,
    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 866 */
    "index",
    "index_i_sc_sc_i",
    "Parrot_index_i_sc_sc_i",
    0,
    5,
    { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_SC, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 867 */
    "index",
    "index_i_s_s_ic",
    "Parrot_index_i_s_s_ic",
    0,
    5,
    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 868 */
    "index",
    "index_i_sc_s_ic",
    "Parrot_index_i_sc_s_ic",
    0,
    5,
    { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_S, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 869 */
    "index",
    "index_i_s_sc_ic",
    "Parrot_index_i_s_sc_ic",
    0,
    5,
    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 870 */
    "index",
    "index_i_sc_sc_ic",
    "Parrot_index_i_sc_sc_ic",
    0,
    5,
    { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_SC, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 871 */
    "rindex",
    "rindex_i_s_s",
    "Parrot_rindex_i_s_s",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 872 */
    "rindex",
    "rindex_i_sc_s",
    "Parrot_rindex_i_sc_s",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 873 */
    "rindex",
    "rindex_i_s_sc",
    "Parrot_rindex_i_s_sc",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 874 */
    "rindex",
    "rindex_i_sc_sc",
    "Parrot_rindex_i_sc_sc",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 875 */
    "rindex",
    "rindex_i_s_s_i",
    "Parrot_rindex_i_s_s_i",
    0,
    5,
    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 876 */
    "rindex",
    "rindex_i_sc_s_i",
    "Parrot_rindex_i_sc_s_i",
    0,
    5,
    { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_S, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 877 */
    "rindex",
    "rindex_i_s_sc_i",
    "Parrot_rindex_i_s_sc_i",
    0,
    5,
    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 878 */
    "rindex",
    "rindex_i_sc_sc_i",
    "Parrot_rindex_i_sc_sc_i",
    0,
    5,
    { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_SC, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 879 */
    "rindex",
    "rindex_i_s_s_ic",
    "Parrot_rindex_i_s_s_ic",
    0,
    5,
    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 880 */
    "rindex",
    "rindex_i_sc_s_ic",
    "Parrot_rindex_i_sc_s_ic",
    0,
    5,
    { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_S, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 881 */
    "rindex",
    "rindex_i_s_sc_ic",
    "Parrot_rindex_i_s_sc_ic",
    0,
    5,
    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 882 */
    "rindex",
    "rindex_i_sc_sc_ic",
    "Parrot_rindex_i_sc_sc_ic",
    0,
    5,
    { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_SC, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 883 */
    "sprintf",
    "sprintf_s_s_p",
    "Parrot_sprintf_s_s_p",
    0,
    4,
    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 884 */
    "sprintf",
    "sprintf_s_sc_p",
    "Parrot_sprintf_s_sc_p",
    0,
    4,
    { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 885 */
    "sprintf",
    "sprintf_p_p_p",
    "Parrot_sprintf_p_p_p",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 886 */
    "new",
    "new_s",
    "Parrot_new_s",
    0,
    2,
    { PARROT_ARG_S },
    { PARROT_ARGDIR_OUT },
    { 0 },
    &core_op_lib
  },
  { /* 887 */
    "stringinfo",
    "stringinfo_i_s_i",
    "Parrot_stringinfo_i_s_i",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 888 */
    "stringinfo",
    "stringinfo_i_sc_i",
    "Parrot_stringinfo_i_sc_i",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 889 */
    "stringinfo",
    "stringinfo_i_s_ic",
    "Parrot_stringinfo_i_s_ic",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 890 */
    "stringinfo",
    "stringinfo_i_sc_ic",
    "Parrot_stringinfo_i_sc_ic",
    0,
    4,
    { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 891 */
    "upcase",
    "upcase_s_s",
    "Parrot_upcase_s_s",
    0,
    3,
    { PARROT_ARG_S, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 892 */
    "upcase",
    "upcase_s_sc",
    "Parrot_upcase_s_sc",
    0,
    3,
    { PARROT_ARG_S, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 893 */
    "downcase",
    "downcase_s_s",
    "Parrot_downcase_s_s",
    0,
    3,
    { PARROT_ARG_S, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 894 */
    "downcase",
    "downcase_s_sc",
    "Parrot_downcase_s_sc",
    0,
    3,
    { PARROT_ARG_S, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 895 */
    "titlecase",
    "titlecase_s_s",
    "Parrot_titlecase_s_s",
    0,
    3,
    { PARROT_ARG_S, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 896 */
    "titlecase",
    "titlecase_s_sc",
    "Parrot_titlecase_s_sc",
    0,
    3,
    { PARROT_ARG_S, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 897 */
    "join",
    "join_s_s_p",
    "Parrot_join_s_s_p",
    0,
    4,
    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 898 */
    "join",
    "join_s_sc_p",
    "Parrot_join_s_sc_p",
    0,
    4,
    { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 899 */
    "split",
    "split_p_s_s",
    "Parrot_split_p_s_s",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 900 */
    "split",
    "split_p_sc_s",
    "Parrot_split_p_sc_s",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 901 */
    "split",
    "split_p_s_sc",
    "Parrot_split_p_s_sc",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 902 */
    "split",
    "split_p_sc_sc",
    "Parrot_split_p_sc_sc",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 903 */
    "encoding",
    "encoding_i_s",
    "Parrot_encoding_i_s",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 904 */
    "encoding",
    "encoding_i_sc",
    "Parrot_encoding_i_sc",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 905 */
    "encodingname",
    "encodingname_s_i",
    "Parrot_encodingname_s_i",
    0,
    3,
    { PARROT_ARG_S, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 906 */
    "encodingname",
    "encodingname_s_ic",
    "Parrot_encodingname_s_ic",
    0,
    3,
    { PARROT_ARG_S, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 907 */
    "find_encoding",
    "find_encoding_i_s",
    "Parrot_find_encoding_i_s",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 908 */
    "find_encoding",
    "find_encoding_i_sc",
    "Parrot_find_encoding_i_sc",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 909 */
    "trans_encoding",
    "trans_encoding_s_s_i",
    "Parrot_trans_encoding_s_s_i",
    0,
    4,
    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 910 */
    "trans_encoding",
    "trans_encoding_s_sc_i",
    "Parrot_trans_encoding_s_sc_i",
    0,
    4,
    { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 911 */
    "trans_encoding",
    "trans_encoding_s_s_ic",
    "Parrot_trans_encoding_s_s_ic",
    0,
    4,
    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 912 */
    "trans_encoding",
    "trans_encoding_s_sc_ic",
    "Parrot_trans_encoding_s_sc_ic",
    0,
    4,
    { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 913 */
    "is_cclass",
    "is_cclass_i_i_s_i",
    "Parrot_is_cclass_i_i_s_i",
    0,
    5,
    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 914 */
    "is_cclass",
    "is_cclass_i_ic_s_i",
    "Parrot_is_cclass_i_ic_s_i",
    0,
    5,
    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_S, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 915 */
    "is_cclass",
    "is_cclass_i_i_sc_i",
    "Parrot_is_cclass_i_i_sc_i",
    0,
    5,
    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 916 */
    "is_cclass",
    "is_cclass_i_ic_sc_i",
    "Parrot_is_cclass_i_ic_sc_i",
    0,
    5,
    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_SC, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 917 */
    "is_cclass",
    "is_cclass_i_i_s_ic",
    "Parrot_is_cclass_i_i_s_ic",
    0,
    5,
    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 918 */
    "is_cclass",
    "is_cclass_i_ic_s_ic",
    "Parrot_is_cclass_i_ic_s_ic",
    0,
    5,
    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_S, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 919 */
    "is_cclass",
    "is_cclass_i_i_sc_ic",
    "Parrot_is_cclass_i_i_sc_ic",
    0,
    5,
    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 920 */
    "is_cclass",
    "is_cclass_i_ic_sc_ic",
    "Parrot_is_cclass_i_ic_sc_ic",
    0,
    5,
    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_SC, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 921 */
    "find_cclass",
    "find_cclass_i_i_s_i_i",
    "Parrot_find_cclass_i_i_s_i_i",
    0,
    6,
    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_I, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 922 */
    "find_cclass",
    "find_cclass_i_ic_s_i_i",
    "Parrot_find_cclass_i_ic_s_i_i",
    0,
    6,
    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_S, PARROT_ARG_I, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 923 */
    "find_cclass",
    "find_cclass_i_i_sc_i_i",
    "Parrot_find_cclass_i_i_sc_i_i",
    0,
    6,
    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_I, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 924 */
    "find_cclass",
    "find_cclass_i_ic_sc_i_i",
    "Parrot_find_cclass_i_ic_sc_i_i",
    0,
    6,
    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_SC, PARROT_ARG_I, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 925 */
    "find_cclass",
    "find_cclass_i_i_s_ic_i",
    "Parrot_find_cclass_i_i_s_ic_i",
    0,
    6,
    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_IC, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 926 */
    "find_cclass",
    "find_cclass_i_ic_s_ic_i",
    "Parrot_find_cclass_i_ic_s_ic_i",
    0,
    6,
    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_S, PARROT_ARG_IC, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 927 */
    "find_cclass",
    "find_cclass_i_i_sc_ic_i",
    "Parrot_find_cclass_i_i_sc_ic_i",
    0,
    6,
    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_IC, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 928 */
    "find_cclass",
    "find_cclass_i_ic_sc_ic_i",
    "Parrot_find_cclass_i_ic_sc_ic_i",
    0,
    6,
    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_SC, PARROT_ARG_IC, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 929 */
    "find_cclass",
    "find_cclass_i_i_s_i_ic",
    "Parrot_find_cclass_i_i_s_i_ic",
    0,
    6,
    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_I, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 930 */
    "find_cclass",
    "find_cclass_i_ic_s_i_ic",
    "Parrot_find_cclass_i_ic_s_i_ic",
    0,
    6,
    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_S, PARROT_ARG_I, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 931 */
    "find_cclass",
    "find_cclass_i_i_sc_i_ic",
    "Parrot_find_cclass_i_i_sc_i_ic",
    0,
    6,
    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_I, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 932 */
    "find_cclass",
    "find_cclass_i_ic_sc_i_ic",
    "Parrot_find_cclass_i_ic_sc_i_ic",
    0,
    6,
    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_SC, PARROT_ARG_I, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 933 */
    "find_cclass",
    "find_cclass_i_i_s_ic_ic",
    "Parrot_find_cclass_i_i_s_ic_ic",
    0,
    6,
    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_IC, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 934 */
    "find_cclass",
    "find_cclass_i_ic_s_ic_ic",
    "Parrot_find_cclass_i_ic_s_ic_ic",
    0,
    6,
    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_S, PARROT_ARG_IC, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 935 */
    "find_cclass",
    "find_cclass_i_i_sc_ic_ic",
    "Parrot_find_cclass_i_i_sc_ic_ic",
    0,
    6,
    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_IC, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 936 */
    "find_cclass",
    "find_cclass_i_ic_sc_ic_ic",
    "Parrot_find_cclass_i_ic_sc_ic_ic",
    0,
    6,
    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_SC, PARROT_ARG_IC, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 937 */
    "find_not_cclass",
    "find_not_cclass_i_i_s_i_i",
    "Parrot_find_not_cclass_i_i_s_i_i",
    0,
    6,
    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_I, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 938 */
    "find_not_cclass",
    "find_not_cclass_i_ic_s_i_i",
    "Parrot_find_not_cclass_i_ic_s_i_i",
    0,
    6,
    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_S, PARROT_ARG_I, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 939 */
    "find_not_cclass",
    "find_not_cclass_i_i_sc_i_i",
    "Parrot_find_not_cclass_i_i_sc_i_i",
    0,
    6,
    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_I, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 940 */
    "find_not_cclass",
    "find_not_cclass_i_ic_sc_i_i",
    "Parrot_find_not_cclass_i_ic_sc_i_i",
    0,
    6,
    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_SC, PARROT_ARG_I, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 941 */
    "find_not_cclass",
    "find_not_cclass_i_i_s_ic_i",
    "Parrot_find_not_cclass_i_i_s_ic_i",
    0,
    6,
    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_IC, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 942 */
    "find_not_cclass",
    "find_not_cclass_i_ic_s_ic_i",
    "Parrot_find_not_cclass_i_ic_s_ic_i",
    0,
    6,
    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_S, PARROT_ARG_IC, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 943 */
    "find_not_cclass",
    "find_not_cclass_i_i_sc_ic_i",
    "Parrot_find_not_cclass_i_i_sc_ic_i",
    0,
    6,
    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_IC, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 944 */
    "find_not_cclass",
    "find_not_cclass_i_ic_sc_ic_i",
    "Parrot_find_not_cclass_i_ic_sc_ic_i",
    0,
    6,
    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_SC, PARROT_ARG_IC, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 945 */
    "find_not_cclass",
    "find_not_cclass_i_i_s_i_ic",
    "Parrot_find_not_cclass_i_i_s_i_ic",
    0,
    6,
    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_I, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 946 */
    "find_not_cclass",
    "find_not_cclass_i_ic_s_i_ic",
    "Parrot_find_not_cclass_i_ic_s_i_ic",
    0,
    6,
    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_S, PARROT_ARG_I, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 947 */
    "find_not_cclass",
    "find_not_cclass_i_i_sc_i_ic",
    "Parrot_find_not_cclass_i_i_sc_i_ic",
    0,
    6,
    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_I, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 948 */
    "find_not_cclass",
    "find_not_cclass_i_ic_sc_i_ic",
    "Parrot_find_not_cclass_i_ic_sc_i_ic",
    0,
    6,
    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_SC, PARROT_ARG_I, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 949 */
    "find_not_cclass",
    "find_not_cclass_i_i_s_ic_ic",
    "Parrot_find_not_cclass_i_i_s_ic_ic",
    0,
    6,
    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_IC, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 950 */
    "find_not_cclass",
    "find_not_cclass_i_ic_s_ic_ic",
    "Parrot_find_not_cclass_i_ic_s_ic_ic",
    0,
    6,
    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_S, PARROT_ARG_IC, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 951 */
    "find_not_cclass",
    "find_not_cclass_i_i_sc_ic_ic",
    "Parrot_find_not_cclass_i_i_sc_ic_ic",
    0,
    6,
    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_IC, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 952 */
    "find_not_cclass",
    "find_not_cclass_i_ic_sc_ic_ic",
    "Parrot_find_not_cclass_i_ic_sc_ic_ic",
    0,
    6,
    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_SC, PARROT_ARG_IC, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 953 */
    "escape",
    "escape_s_s",
    "Parrot_escape_s_s",
    0,
    3,
    { PARROT_ARG_S, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 954 */
    "compose",
    "compose_s_s",
    "Parrot_compose_s_s",
    0,
    3,
    { PARROT_ARG_S, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 955 */
    "compose",
    "compose_s_sc",
    "Parrot_compose_s_sc",
    0,
    3,
    { PARROT_ARG_S, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 956 */
    "find_codepoint",
    "find_codepoint_i_s",
    "Parrot_find_codepoint_i_s",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 957 */
    "find_codepoint",
    "find_codepoint_i_sc",
    "Parrot_find_codepoint_i_sc",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 958 */
    "spawnw",
    "spawnw_i_s",
    "Parrot_spawnw_i_s",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 959 */
    "spawnw",
    "spawnw_i_sc",
    "Parrot_spawnw_i_sc",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 960 */
    "spawnw",
    "spawnw_i_p",
    "Parrot_spawnw_i_p",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 961 */
    "err",
    "err_i",
    "Parrot_err_i",
    0,
    2,
    { PARROT_ARG_I },
    { PARROT_ARGDIR_OUT },
    { 0 },
    &core_op_lib
  },
  { /* 962 */
    "err",
    "err_s",
    "Parrot_err_s",
    0,
    2,
    { PARROT_ARG_S },
    { PARROT_ARGDIR_OUT },
    { 0 },
    &core_op_lib
  },
  { /* 963 */
    "err",
    "err_s_i",
    "Parrot_err_s_i",
    0,
    3,
    { PARROT_ARG_S, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 964 */
    "err",
    "err_s_ic",
    "Parrot_err_s_ic",
    0,
    3,
    { PARROT_ARG_S, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 965 */
    "time",
    "time_i",
    "Parrot_time_i",
    0,
    2,
    { PARROT_ARG_I },
    { PARROT_ARGDIR_OUT },
    { 0 },
    &core_op_lib
  },
  { /* 966 */
    "time",
    "time_n",
    "Parrot_time_n",
    0,
    2,
    { PARROT_ARG_N },
    { PARROT_ARGDIR_OUT },
    { 0 },
    &core_op_lib
  },
  { /* 967 */
    "sleep",
    "sleep_i",
    "Parrot_sleep_i",
    0,
    2,
    { PARROT_ARG_I },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 968 */
    "sleep",
    "sleep_ic",
    "Parrot_sleep_ic",
    0,
    2,
    { PARROT_ARG_IC },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 969 */
    "sleep",
    "sleep_n",
    "Parrot_sleep_n",
    0,
    2,
    { PARROT_ARG_N },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 970 */
    "sleep",
    "sleep_nc",
    "Parrot_sleep_nc",
    0,
    2,
    { PARROT_ARG_NC },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 971 */
    "store_lex",
    "store_lex_s_p",
    "Parrot_store_lex_s_p",
    0,
    3,
    { PARROT_ARG_S, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 972 */
    "store_lex",
    "store_lex_sc_p",
    "Parrot_store_lex_sc_p",
    0,
    3,
    { PARROT_ARG_SC, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 973 */
    "store_lex",
    "store_lex_s_s",
    "Parrot_store_lex_s_s",
    0,
    3,
    { PARROT_ARG_S, PARROT_ARG_S },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 974 */
    "store_lex",
    "store_lex_sc_s",
    "Parrot_store_lex_sc_s",
    0,
    3,
    { PARROT_ARG_SC, PARROT_ARG_S },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 975 */
    "store_lex",
    "store_lex_s_sc",
    "Parrot_store_lex_s_sc",
    0,
    3,
    { PARROT_ARG_S, PARROT_ARG_SC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 976 */
    "store_lex",
    "store_lex_sc_sc",
    "Parrot_store_lex_sc_sc",
    0,
    3,
    { PARROT_ARG_SC, PARROT_ARG_SC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 977 */
    "store_lex",
    "store_lex_s_i",
    "Parrot_store_lex_s_i",
    0,
    3,
    { PARROT_ARG_S, PARROT_ARG_I },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 978 */
    "store_lex",
    "store_lex_sc_i",
    "Parrot_store_lex_sc_i",
    0,
    3,
    { PARROT_ARG_SC, PARROT_ARG_I },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 979 */
    "store_lex",
    "store_lex_s_ic",
    "Parrot_store_lex_s_ic",
    0,
    3,
    { PARROT_ARG_S, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 980 */
    "store_lex",
    "store_lex_sc_ic",
    "Parrot_store_lex_sc_ic",
    0,
    3,
    { PARROT_ARG_SC, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 981 */
    "store_lex",
    "store_lex_s_n",
    "Parrot_store_lex_s_n",
    0,
    3,
    { PARROT_ARG_S, PARROT_ARG_N },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 982 */
    "store_lex",
    "store_lex_sc_n",
    "Parrot_store_lex_sc_n",
    0,
    3,
    { PARROT_ARG_SC, PARROT_ARG_N },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 983 */
    "store_lex",
    "store_lex_s_nc",
    "Parrot_store_lex_s_nc",
    0,
    3,
    { PARROT_ARG_S, PARROT_ARG_NC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 984 */
    "store_lex",
    "store_lex_sc_nc",
    "Parrot_store_lex_sc_nc",
    0,
    3,
    { PARROT_ARG_SC, PARROT_ARG_NC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 985 */
    "store_dynamic_lex",
    "store_dynamic_lex_s_p",
    "Parrot_store_dynamic_lex_s_p",
    0,
    3,
    { PARROT_ARG_S, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 986 */
    "store_dynamic_lex",
    "store_dynamic_lex_sc_p",
    "Parrot_store_dynamic_lex_sc_p",
    0,
    3,
    { PARROT_ARG_SC, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 987 */
    "find_lex",
    "find_lex_p_s",
    "Parrot_find_lex_p_s",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 988 */
    "find_lex",
    "find_lex_p_sc",
    "Parrot_find_lex_p_sc",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 989 */
    "find_lex",
    "find_lex_s_s",
    "Parrot_find_lex_s_s",
    0,
    3,
    { PARROT_ARG_S, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 990 */
    "find_lex",
    "find_lex_s_sc",
    "Parrot_find_lex_s_sc",
    0,
    3,
    { PARROT_ARG_S, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 991 */
    "find_lex",
    "find_lex_i_s",
    "Parrot_find_lex_i_s",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 992 */
    "find_lex",
    "find_lex_i_sc",
    "Parrot_find_lex_i_sc",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 993 */
    "find_lex",
    "find_lex_n_s",
    "Parrot_find_lex_n_s",
    0,
    3,
    { PARROT_ARG_N, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 994 */
    "find_lex",
    "find_lex_n_sc",
    "Parrot_find_lex_n_sc",
    0,
    3,
    { PARROT_ARG_N, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 995 */
    "find_dynamic_lex",
    "find_dynamic_lex_p_s",
    "Parrot_find_dynamic_lex_p_s",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 996 */
    "find_dynamic_lex",
    "find_dynamic_lex_p_sc",
    "Parrot_find_dynamic_lex_p_sc",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 997 */
    "find_caller_lex",
    "find_caller_lex_p_s",
    "Parrot_find_caller_lex_p_s",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 998 */
    "find_caller_lex",
    "find_caller_lex_p_sc",
    "Parrot_find_caller_lex_p_sc",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 999 */
    "get_namespace",
    "get_namespace_p",
    "Parrot_get_namespace_p",
    0,
    2,
    { PARROT_ARG_P },
    { PARROT_ARGDIR_OUT },
    { 0 },
    &core_op_lib
  },
  { /* 1000 */
    "get_namespace",
    "get_namespace_p_p",
    "Parrot_get_namespace_p_p",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 1001 */
    "get_namespace",
    "get_namespace_p_pc",
    "Parrot_get_namespace_p_pc",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_PC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 1002 */
    "get_hll_namespace",
    "get_hll_namespace_p",
    "Parrot_get_hll_namespace_p",
    0,
    2,
    { PARROT_ARG_P },
    { PARROT_ARGDIR_OUT },
    { 0 },
    &core_op_lib
  },
  { /* 1003 */
    "get_hll_namespace",
    "get_hll_namespace_p_p",
    "Parrot_get_hll_namespace_p_p",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 1004 */
    "get_hll_namespace",
    "get_hll_namespace_p_pc",
    "Parrot_get_hll_namespace_p_pc",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_PC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 1005 */
    "get_root_namespace",
    "get_root_namespace_p",
    "Parrot_get_root_namespace_p",
    0,
    2,
    { PARROT_ARG_P },
    { PARROT_ARGDIR_OUT },
    { 0 },
    &core_op_lib
  },
  { /* 1006 */
    "get_root_namespace",
    "get_root_namespace_p_p",
    "Parrot_get_root_namespace_p_p",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 1007 */
    "get_root_namespace",
    "get_root_namespace_p_pc",
    "Parrot_get_root_namespace_p_pc",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_PC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 1008 */
    "get_global",
    "get_global_p_s",
    "Parrot_get_global_p_s",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 1009 */
    "get_global",
    "get_global_p_sc",
    "Parrot_get_global_p_sc",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 1010 */
    "get_global",
    "get_global_p_p_s",
    "Parrot_get_global_p_p_s",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 1011 */
    "get_global",
    "get_global_p_pc_s",
    "Parrot_get_global_p_pc_s",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 1012 */
    "get_global",
    "get_global_p_p_sc",
    "Parrot_get_global_p_p_sc",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 1013 */
    "get_global",
    "get_global_p_pc_sc",
    "Parrot_get_global_p_pc_sc",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 1014 */
    "get_hll_global",
    "get_hll_global_p_s",
    "Parrot_get_hll_global_p_s",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 1015 */
    "get_hll_global",
    "get_hll_global_p_sc",
    "Parrot_get_hll_global_p_sc",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 1016 */
    "get_hll_global",
    "get_hll_global_p_p_s",
    "Parrot_get_hll_global_p_p_s",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 1017 */
    "get_hll_global",
    "get_hll_global_p_pc_s",
    "Parrot_get_hll_global_p_pc_s",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 1018 */
    "get_hll_global",
    "get_hll_global_p_p_sc",
    "Parrot_get_hll_global_p_p_sc",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 1019 */
    "get_hll_global",
    "get_hll_global_p_pc_sc",
    "Parrot_get_hll_global_p_pc_sc",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 1020 */
    "get_root_global",
    "get_root_global_p_s",
    "Parrot_get_root_global_p_s",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 1021 */
    "get_root_global",
    "get_root_global_p_sc",
    "Parrot_get_root_global_p_sc",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 1022 */
    "get_root_global",
    "get_root_global_p_p_s",
    "Parrot_get_root_global_p_p_s",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 1023 */
    "get_root_global",
    "get_root_global_p_pc_s",
    "Parrot_get_root_global_p_pc_s",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 1024 */
    "get_root_global",
    "get_root_global_p_p_sc",
    "Parrot_get_root_global_p_p_sc",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 1025 */
    "get_root_global",
    "get_root_global_p_pc_sc",
    "Parrot_get_root_global_p_pc_sc",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 1026 */
    "set_global",
    "set_global_s_p",
    "Parrot_set_global_s_p",
    0,
    3,
    { PARROT_ARG_S, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 1027 */
    "set_global",
    "set_global_sc_p",
    "Parrot_set_global_sc_p",
    0,
    3,
    { PARROT_ARG_SC, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 1028 */
    "set_global",
    "set_global_p_s_p",
    "Parrot_set_global_p_s_p",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 1029 */
    "set_global",
    "set_global_pc_s_p",
    "Parrot_set_global_pc_s_p",
    0,
    4,
    { PARROT_ARG_PC, PARROT_ARG_S, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 1030 */
    "set_global",
    "set_global_p_sc_p",
    "Parrot_set_global_p_sc_p",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 1031 */
    "set_global",
    "set_global_pc_sc_p",
    "Parrot_set_global_pc_sc_p",
    0,
    4,
    { PARROT_ARG_PC, PARROT_ARG_SC, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 1032 */
    "set_hll_global",
    "set_hll_global_s_p",
    "Parrot_set_hll_global_s_p",
    0,
    3,
    { PARROT_ARG_S, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 1033 */
    "set_hll_global",
    "set_hll_global_sc_p",
    "Parrot_set_hll_global_sc_p",
    0,
    3,
    { PARROT_ARG_SC, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 1034 */
    "set_hll_global",
    "set_hll_global_p_s_p",
    "Parrot_set_hll_global_p_s_p",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 1035 */
    "set_hll_global",
    "set_hll_global_pc_s_p",
    "Parrot_set_hll_global_pc_s_p",
    0,
    4,
    { PARROT_ARG_PC, PARROT_ARG_S, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 1036 */
    "set_hll_global",
    "set_hll_global_p_sc_p",
    "Parrot_set_hll_global_p_sc_p",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 1037 */
    "set_hll_global",
    "set_hll_global_pc_sc_p",
    "Parrot_set_hll_global_pc_sc_p",
    0,
    4,
    { PARROT_ARG_PC, PARROT_ARG_SC, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 1038 */
    "set_root_global",
    "set_root_global_s_p",
    "Parrot_set_root_global_s_p",
    0,
    3,
    { PARROT_ARG_S, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 1039 */
    "set_root_global",
    "set_root_global_sc_p",
    "Parrot_set_root_global_sc_p",
    0,
    3,
    { PARROT_ARG_SC, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 1040 */
    "set_root_global",
    "set_root_global_p_s_p",
    "Parrot_set_root_global_p_s_p",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 1041 */
    "set_root_global",
    "set_root_global_pc_s_p",
    "Parrot_set_root_global_pc_s_p",
    0,
    4,
    { PARROT_ARG_PC, PARROT_ARG_S, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 1042 */
    "set_root_global",
    "set_root_global_p_sc_p",
    "Parrot_set_root_global_p_sc_p",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 1043 */
    "set_root_global",
    "set_root_global_pc_sc_p",
    "Parrot_set_root_global_pc_sc_p",
    0,
    4,
    { PARROT_ARG_PC, PARROT_ARG_SC, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 1044 */
    "find_name",
    "find_name_p_s",
    "Parrot_find_name_p_s",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 1045 */
    "find_name",
    "find_name_p_sc",
    "Parrot_find_name_p_sc",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 1046 */
    "find_sub_not_null",
    "find_sub_not_null_p_s",
    "Parrot_find_sub_not_null_p_s",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_S },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 1047 */
    "find_sub_not_null",
    "find_sub_not_null_p_sc",
    "Parrot_find_sub_not_null_p_sc",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_SC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 1048 */
    "trap",
    "trap",
    "Parrot_trap",
    0,
    1,
    { (arg_type_t) 0 },
    { (arg_dir_t) 0 },
    { 0 },
    &core_op_lib
  },
  { /* 1049 */
    "set_label",
    "set_label_p_ic",
    "Parrot_set_label_p_ic",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 1 },
    &core_op_lib
  },
  { /* 1050 */
    "get_label",
    "get_label_i_p",
    "Parrot_get_label_i_p",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 1051 */
    "get_id",
    "get_id_i_p",
    "Parrot_get_id_i_p",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 1052 */
    "get_id",
    "get_id_i_pc",
    "Parrot_get_id_i_pc",
    0,
    3,
    { PARROT_ARG_I, PARROT_ARG_PC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 1053 */
    "fetch",
    "fetch_p_p_p_p",
    "Parrot_fetch_p_p_p_p",
    0,
    5,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 1054 */
    "fetch",
    "fetch_p_pc_p_p",
    "Parrot_fetch_p_pc_p_p",
    0,
    5,
    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 1055 */
    "fetch",
    "fetch_p_p_pc_p",
    "Parrot_fetch_p_p_pc_p",
    0,
    5,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 1056 */
    "fetch",
    "fetch_p_pc_pc_p",
    "Parrot_fetch_p_pc_pc_p",
    0,
    5,
    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_PC, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 1057 */
    "fetch",
    "fetch_p_p_p_pc",
    "Parrot_fetch_p_p_p_pc",
    0,
    5,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_PC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 1058 */
    "fetch",
    "fetch_p_pc_p_pc",
    "Parrot_fetch_p_pc_p_pc",
    0,
    5,
    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_P, PARROT_ARG_PC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 1059 */
    "fetch",
    "fetch_p_p_pc_pc",
    "Parrot_fetch_p_p_pc_pc",
    0,
    5,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_PC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 1060 */
    "fetch",
    "fetch_p_pc_pc_pc",
    "Parrot_fetch_p_pc_pc_pc",
    0,
    5,
    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_PC, PARROT_ARG_PC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 1061 */
    "fetch",
    "fetch_p_p_i_p",
    "Parrot_fetch_p_p_i_p",
    0,
    5,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 1062 */
    "fetch",
    "fetch_p_pc_i_p",
    "Parrot_fetch_p_pc_i_p",
    0,
    5,
    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_I, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 1063 */
    "fetch",
    "fetch_p_p_ic_p",
    "Parrot_fetch_p_p_ic_p",
    0,
    5,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 1064 */
    "fetch",
    "fetch_p_pc_ic_p",
    "Parrot_fetch_p_pc_ic_p",
    0,
    5,
    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_IC, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 1065 */
    "fetch",
    "fetch_p_p_i_pc",
    "Parrot_fetch_p_p_i_pc",
    0,
    5,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I, PARROT_ARG_PC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 1066 */
    "fetch",
    "fetch_p_pc_i_pc",
    "Parrot_fetch_p_pc_i_pc",
    0,
    5,
    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_I, PARROT_ARG_PC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 1067 */
    "fetch",
    "fetch_p_p_ic_pc",
    "Parrot_fetch_p_p_ic_pc",
    0,
    5,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC, PARROT_ARG_PC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 1068 */
    "fetch",
    "fetch_p_pc_ic_pc",
    "Parrot_fetch_p_pc_ic_pc",
    0,
    5,
    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_IC, PARROT_ARG_PC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 1069 */
    "fetch",
    "fetch_p_p_s_p",
    "Parrot_fetch_p_p_s_p",
    0,
    5,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 1070 */
    "fetch",
    "fetch_p_pc_s_p",
    "Parrot_fetch_p_pc_s_p",
    0,
    5,
    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_S, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 1071 */
    "fetch",
    "fetch_p_p_sc_p",
    "Parrot_fetch_p_p_sc_p",
    0,
    5,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 1072 */
    "fetch",
    "fetch_p_pc_sc_p",
    "Parrot_fetch_p_pc_sc_p",
    0,
    5,
    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_SC, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 1073 */
    "fetch",
    "fetch_p_p_s_pc",
    "Parrot_fetch_p_p_s_pc",
    0,
    5,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_PC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 1074 */
    "fetch",
    "fetch_p_pc_s_pc",
    "Parrot_fetch_p_pc_s_pc",
    0,
    5,
    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_S, PARROT_ARG_PC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 1075 */
    "fetch",
    "fetch_p_p_sc_pc",
    "Parrot_fetch_p_p_sc_pc",
    0,
    5,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_PC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 1076 */
    "fetch",
    "fetch_p_pc_sc_pc",
    "Parrot_fetch_p_pc_sc_pc",
    0,
    5,
    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_SC, PARROT_ARG_PC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 1077 */
    "vivify",
    "vivify_p_p_p_p",
    "Parrot_vivify_p_p_p_p",
    0,
    5,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 1078 */
    "vivify",
    "vivify_p_pc_p_p",
    "Parrot_vivify_p_pc_p_p",
    0,
    5,
    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 1079 */
    "vivify",
    "vivify_p_p_pc_p",
    "Parrot_vivify_p_p_pc_p",
    0,
    5,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 1080 */
    "vivify",
    "vivify_p_pc_pc_p",
    "Parrot_vivify_p_pc_pc_p",
    0,
    5,
    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_PC, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 1081 */
    "vivify",
    "vivify_p_p_p_pc",
    "Parrot_vivify_p_p_p_pc",
    0,
    5,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_PC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 1082 */
    "vivify",
    "vivify_p_pc_p_pc",
    "Parrot_vivify_p_pc_p_pc",
    0,
    5,
    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_P, PARROT_ARG_PC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 1083 */
    "vivify",
    "vivify_p_p_pc_pc",
    "Parrot_vivify_p_p_pc_pc",
    0,
    5,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_PC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 1084 */
    "vivify",
    "vivify_p_pc_pc_pc",
    "Parrot_vivify_p_pc_pc_pc",
    0,
    5,
    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_PC, PARROT_ARG_PC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 1085 */
    "vivify",
    "vivify_p_p_i_p",
    "Parrot_vivify_p_p_i_p",
    0,
    5,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 1086 */
    "vivify",
    "vivify_p_pc_i_p",
    "Parrot_vivify_p_pc_i_p",
    0,
    5,
    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_I, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 1087 */
    "vivify",
    "vivify_p_p_ic_p",
    "Parrot_vivify_p_p_ic_p",
    0,
    5,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 1088 */
    "vivify",
    "vivify_p_pc_ic_p",
    "Parrot_vivify_p_pc_ic_p",
    0,
    5,
    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_IC, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 1089 */
    "vivify",
    "vivify_p_p_i_pc",
    "Parrot_vivify_p_p_i_pc",
    0,
    5,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I, PARROT_ARG_PC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 1090 */
    "vivify",
    "vivify_p_pc_i_pc",
    "Parrot_vivify_p_pc_i_pc",
    0,
    5,
    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_I, PARROT_ARG_PC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 1091 */
    "vivify",
    "vivify_p_p_ic_pc",
    "Parrot_vivify_p_p_ic_pc",
    0,
    5,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC, PARROT_ARG_PC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 1092 */
    "vivify",
    "vivify_p_pc_ic_pc",
    "Parrot_vivify_p_pc_ic_pc",
    0,
    5,
    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_IC, PARROT_ARG_PC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 1093 */
    "vivify",
    "vivify_p_p_s_p",
    "Parrot_vivify_p_p_s_p",
    0,
    5,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 1094 */
    "vivify",
    "vivify_p_pc_s_p",
    "Parrot_vivify_p_pc_s_p",
    0,
    5,
    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_S, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 1095 */
    "vivify",
    "vivify_p_p_sc_p",
    "Parrot_vivify_p_p_sc_p",
    0,
    5,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 1096 */
    "vivify",
    "vivify_p_pc_sc_p",
    "Parrot_vivify_p_pc_sc_p",
    0,
    5,
    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_SC, PARROT_ARG_P },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 1097 */
    "vivify",
    "vivify_p_p_s_pc",
    "Parrot_vivify_p_p_s_pc",
    0,
    5,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_PC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 1098 */
    "vivify",
    "vivify_p_pc_s_pc",
    "Parrot_vivify_p_pc_s_pc",
    0,
    5,
    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_S, PARROT_ARG_PC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 1099 */
    "vivify",
    "vivify_p_p_sc_pc",
    "Parrot_vivify_p_p_sc_pc",
    0,
    5,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_PC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 1100 */
    "vivify",
    "vivify_p_pc_sc_pc",
    "Parrot_vivify_p_pc_sc_pc",
    0,
    5,
    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_SC, PARROT_ARG_PC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0, 0 },
    &core_op_lib
  },
  { /* 1101 */
    "new",
    "new_p_s_i",
    "Parrot_new_p_s_i",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 1102 */
    "new",
    "new_p_sc_i",
    "Parrot_new_p_sc_i",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 1103 */
    "new",
    "new_p_s_ic",
    "Parrot_new_p_s_ic",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 1104 */
    "new",
    "new_p_sc_ic",
    "Parrot_new_p_sc_ic",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 1105 */
    "new",
    "new_p_p_i",
    "Parrot_new_p_p_i",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 1106 */
    "new",
    "new_p_pc_i",
    "Parrot_new_p_pc_i",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 1107 */
    "new",
    "new_p_p_ic",
    "Parrot_new_p_p_ic",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 1108 */
    "new",
    "new_p_pc_ic",
    "Parrot_new_p_pc_ic",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 1109 */
    "root_new",
    "root_new_p_p_i",
    "Parrot_root_new_p_p_i",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 1110 */
    "root_new",
    "root_new_p_pc_i",
    "Parrot_root_new_p_pc_i",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 1111 */
    "root_new",
    "root_new_p_p_ic",
    "Parrot_root_new_p_p_ic",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 1112 */
    "root_new",
    "root_new_p_pc_ic",
    "Parrot_root_new_p_pc_ic",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 1113 */
    "get_context",
    "get_context_p",
    "Parrot_get_context_p",
    0,
    2,
    { PARROT_ARG_P },
    { PARROT_ARGDIR_OUT },
    { 0 },
    &core_op_lib
  },
  { /* 1114 */
    "new_call_context",
    "new_call_context_p",
    "Parrot_new_call_context_p",
    0,
    2,
    { PARROT_ARG_P },
    { PARROT_ARGDIR_OUT },
    { 0 },
    &core_op_lib
  },
  { /* 1115 */
    "invokecc",
    "invokecc_p_p",
    "Parrot_invokecc_p_p",
    0,
    3,
    { PARROT_ARG_P, PARROT_ARG_P },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0 },
    &core_op_lib
  },
  { /* 1116 */
    "flatten_array_into",
    "flatten_array_into_p_p_i",
    "Parrot_flatten_array_into_p_p_i",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 1117 */
    "flatten_array_into",
    "flatten_array_into_p_p_ic",
    "Parrot_flatten_array_into_p_p_ic",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 1118 */
    "flatten_hash_into",
    "flatten_hash_into_p_p_i",
    "Parrot_flatten_hash_into_p_p_i",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 1119 */
    "flatten_hash_into",
    "flatten_hash_into_p_p_ic",
    "Parrot_flatten_hash_into_p_p_ic",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 1120 */
    "slurp_array_from",
    "slurp_array_from_p_p_i",
    "Parrot_slurp_array_from_p_p_i",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 1121 */
    "slurp_array_from",
    "slurp_array_from_p_p_ic",
    "Parrot_slurp_array_from_p_p_ic",
    0,
    4,
    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
    { 0, 0, 0 },
    &core_op_lib
  },
  { /* 1122 */
    "receive",
    "receive_p",
    "Parrot_receive_p",
    0,
    2,
    { PARROT_ARG_P },
    { PARROT_ARGDIR_OUT },
    { 0 },
    &core_op_lib
  },
  { /* 1123 */
    "wait",
    "wait_p",
    "Parrot_wait_p",
    0,
    2,
    { PARROT_ARG_P },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 1124 */
    "wait",
    "wait_pc",
    "Parrot_wait_pc",
    0,
    2,
    { PARROT_ARG_PC },
    { PARROT_ARGDIR_IN },
    { 0 },
    &core_op_lib
  },
  { /* 1125 */
    "pass",
    "pass",
    "Parrot_pass",
    0,
    1,
    { (arg_type_t) 0 },
    { (arg_dir_t) 0 },
    { 0 },
    &core_op_lib
  },
  { /* 1126 */
    "disable_preemption",
    "disable_preemption",
    "Parrot_disable_preemption",
    0,
    1,
    { (arg_type_t) 0 },
    { (arg_dir_t) 0 },
    { 0 },
    &core_op_lib
  },
  { /* 1127 */
    "enable_preemption",
    "enable_preemption",
    "Parrot_enable_preemption",
    0,
    1,
    { (arg_type_t) 0 },
    { (arg_dir_t) 0 },
    { 0 },
    &core_op_lib
  },
  { /* 1128 */
    "terminate",
    "terminate",
    "Parrot_terminate",
    0,
    1,
    { (arg_type_t) 0 },
    { (arg_dir_t) 0 },
    { 0 },
    &core_op_lib
  },

};


/*
** Op Function Definitions:
*/

opcode_t *
Parrot_end(opcode_t *cur_opcode, PARROT_INTERP) {
    UNUSED(interp);
    UNUSED(cur_opcode);
    return (opcode_t *)0;
}

opcode_t *
Parrot_noop(opcode_t *cur_opcode, PARROT_INTERP) {
    UNUSED(interp);
    return cur_opcode + 1;
}

opcode_t *
Parrot_check_events(opcode_t *cur_opcode, PARROT_INTERP) {
    opcode_t  * next =  cur_opcode + 1;

    next = Parrot_cx_check_scheduler(interp, next);
    return (opcode_t *)next;
}

opcode_t *
Parrot_check_events__(opcode_t *cur_opcode, PARROT_INTERP) {
    opcode_t  * const  _this = CUR_OPCODE;
    opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, _this, EXCEPTION_INVALID_OPERATION, "check_events__ opcode doesn't do anything useful");

    return (opcode_t *)handler;
    Parrot_runcore_disable_event_checking(interp);
    return (opcode_t *)_this;
}

opcode_t *
Parrot_load_bytecode_s(opcode_t *cur_opcode, PARROT_INTERP) {
    Parrot_load_bytecode(interp, SREG(1));
    return cur_opcode + 2;
}

opcode_t *
Parrot_load_bytecode_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    Parrot_load_bytecode(interp, SCONST(1));
    return cur_opcode + 2;
}

opcode_t *
Parrot_load_bytecode_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = Parrot_pf_load_bytecode_search(interp, SREG(2));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_load_bytecode_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = Parrot_pf_load_bytecode_search(interp, SCONST(2));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_load_language_s(opcode_t *cur_opcode, PARROT_INTERP) {
    Parrot_load_language(interp, SREG(1));
    return cur_opcode + 2;
}

opcode_t *
Parrot_load_language_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    Parrot_load_language(interp, SCONST(1));
    return cur_opcode + 2;
}

opcode_t *
Parrot_branch_i(opcode_t *cur_opcode, PARROT_INTERP) {
    if (Parrot_cx_check_scheduler(interp, (cur_opcode + IREG(1))) == NULL) {
        return (opcode_t *)0;
    }

    return cur_opcode + IREG(1);
}

opcode_t *
Parrot_branch_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (Parrot_cx_check_scheduler(interp, (cur_opcode + ICONST(1))) == NULL) {
        return (opcode_t *)0;
    }

    return cur_opcode + ICONST(1);
}

opcode_t *
Parrot_local_branch_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
    INTVAL   return_addr;
    opcode_t  * const  dest =  cur_opcode + 3;

    if (PMC_IS_NULL(PREG(1)) || (PREG(1)->vtable->base_type != enum_class_ResizableIntegerArray)) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, dest, EXCEPTION_INVALID_OPERATION, "Must pass a valid integer array to 'local_branch'");

        return (opcode_t *)handler;
    }

    (return_addr) = PTR2INTVAL(dest);
    VTABLE_push_integer(interp, PREG(1), (return_addr));
    return cur_opcode + IREG(2);
}

opcode_t *
Parrot_local_branch_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    INTVAL   return_addr;
    opcode_t  * const  dest =  cur_opcode + 3;

    if (PMC_IS_NULL(PREG(1)) || (PREG(1)->vtable->base_type != enum_class_ResizableIntegerArray)) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, dest, EXCEPTION_INVALID_OPERATION, "Must pass a valid integer array to 'local_branch'");

        return (opcode_t *)handler;
    }

    (return_addr) = PTR2INTVAL(dest);
    VTABLE_push_integer(interp, PREG(1), (return_addr));
    return cur_opcode + ICONST(2);
}

opcode_t *
Parrot_local_return_p(opcode_t *cur_opcode, PARROT_INTERP) {
    INTVAL   return_addr;
    opcode_t  * next;
    opcode_t  * const  dest =  cur_opcode + 2;

    if (PMC_IS_NULL(PREG(1)) || (PREG(1)->vtable->base_type != enum_class_ResizableIntegerArray)) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, dest, EXCEPTION_INVALID_OPERATION, "Must pass a valid integer array to 'local_return'");

        return (opcode_t *)handler;
    }

    (return_addr) = VTABLE_pop_integer(interp, PREG(1));
    next = INTVAL2PTR(opcode_t *, (return_addr));
    if (!(((next >= interp->code->base.data) && (next < ((interp->code->base.data + interp->code->base.size)))))) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, dest, EXCEPTION_INVALID_OPERATION, "Address for 'local_return' must be within the current code segment");

        return (opcode_t *)handler;
    }

    return (opcode_t *)next;
}

opcode_t *
Parrot_jump_i(opcode_t *cur_opcode, PARROT_INTERP) {
    opcode_t  * const  loc = INTVAL2PTR(opcode_t *, IREG(1));

    UNUSED(interp);
    UNUSED(cur_opcode);
    return (opcode_t *)loc;
}

opcode_t *
Parrot_jump_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    opcode_t  * const  loc = INTVAL2PTR(opcode_t *, ICONST(1));

    UNUSED(interp);
    UNUSED(cur_opcode);
    return (opcode_t *)loc;
}

opcode_t *
Parrot_if_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (IREG(1) != 0) {
        return cur_opcode + ICONST(2);
    }

    return cur_opcode + 3;
}

opcode_t *
Parrot_if_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (!FLOAT_IS_ZERO(NREG(1))) {
        return cur_opcode + ICONST(2);
    }

    return cur_opcode + 3;
}

opcode_t *
Parrot_if_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (Parrot_str_boolean(interp, SREG(1))) {
        return cur_opcode + ICONST(2);
    }

    return cur_opcode + 3;
}

opcode_t *
Parrot_if_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (VTABLE_get_bool(interp, PREG(1))) {
        return cur_opcode + ICONST(2);
    }

    return cur_opcode + 3;
}

opcode_t *
Parrot_unless_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (IREG(1) == 0) {
        return cur_opcode + ICONST(2);
    }

    return cur_opcode + 3;
}

opcode_t *
Parrot_unless_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (FLOAT_IS_ZERO(NREG(1))) {
        return cur_opcode + ICONST(2);
    }

    return cur_opcode + 3;
}

opcode_t *
Parrot_unless_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (!Parrot_str_boolean(interp, SREG(1))) {
        return cur_opcode + ICONST(2);
    }

    return cur_opcode + 3;
}

opcode_t *
Parrot_unless_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (!VTABLE_get_bool(interp, PREG(1))) {
        return cur_opcode + ICONST(2);
    }

    return cur_opcode + 3;
}

opcode_t *
Parrot_invokecc_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC       * const  p = PREG(1);
    opcode_t  * dest =  cur_opcode + 2;
    PMC       * const  ctx = CURRENT_CONTEXT(interp);

    Parrot_pcc_set_pc(interp, ctx, dest);
    Parrot_pcc_reuse_continuation(interp, ctx, dest);
    dest = VTABLE_invoke(interp, p, dest);
    return (opcode_t *)dest;
}

opcode_t *
Parrot_invoke_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    opcode_t    * dest =  cur_opcode + 3;
    PMC  * const  p = PREG(1);
    PMC  * const  ctx = CURRENT_CONTEXT(interp);

    Parrot_pcc_set_pc(interp, ctx, dest);
    interp->current_cont = PREG(2);
    dest = VTABLE_invoke(interp, p, dest);
    return (opcode_t *)dest;
}

opcode_t *
Parrot_yield(opcode_t *cur_opcode, PARROT_INTERP) {
    opcode_t    * dest =  cur_opcode + 1;
    PMC  * const  p = Parrot_pcc_get_sub(interp, CURRENT_CONTEXT(interp));

    VTABLE_increment(interp, p);
    dest = VTABLE_invoke(interp, p, dest);
    return (opcode_t *)dest;
}

opcode_t *
Parrot_tailcall_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  p = PREG(1);
    opcode_t    * dest =  cur_opcode + 2;
    PMC  * const  ctx = CURRENT_CONTEXT(interp);
    PMC  * const  parent_ctx = Parrot_pcc_get_caller_ctx(interp, ctx);
    PMC  * const  this_call_sig = Parrot_pcc_get_signature(interp, ctx);
    PMC  * const  parent_call_sig = Parrot_pcc_get_signature(interp, parent_ctx);

    interp->current_cont = Parrot_pcc_get_continuation(interp, ctx);
    Parrot_pcc_merge_signature_for_tailcall(interp, parent_call_sig, this_call_sig);
    SUB_FLAG_TAILCALL_SET(interp->current_cont);
    dest = VTABLE_invoke(interp, p, dest);
    return (opcode_t *)dest;
}

opcode_t *
Parrot_returncc(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  *      const  p = Parrot_pcc_get_continuation(interp, CURRENT_CONTEXT(interp));
    opcode_t  * const  dest = VTABLE_invoke(interp, p,  cur_opcode + 1);

    return (opcode_t *)dest;
}

opcode_t *
Parrot_capture_lex_p(opcode_t *cur_opcode, PARROT_INTERP) {
    Parrot_sub_capture_lex(interp, PREG(1));
    return cur_opcode + 2;
}

opcode_t *
Parrot_newclosure_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = Parrot_sub_new_closure(interp, PREG(2));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_set_args_pc(opcode_t *cur_opcode, PARROT_INTERP) {
    opcode_t  * const  raw_args = CUR_OPCODE;
    PMC  * const  signature = PCONST(1);
    PMC  * const  call_sig = Parrot_pcc_build_sig_object_from_op(interp, PMCNULL, signature, raw_args);
    INTVAL   argc;

    GETATTR_FixedIntegerArray_size(interp, signature, argc);
    Parrot_pcc_set_signature(interp, CURRENT_CONTEXT(interp), call_sig);
    return cur_opcode + (argc + 2);
}

opcode_t *
Parrot_get_params_pc(opcode_t *cur_opcode, PARROT_INTERP) {
    opcode_t  * const  raw_params = CUR_OPCODE;
    PMC       * const  signature = PCONST(1);
    PMC       * const  ctx = CURRENT_CONTEXT(interp);
    PMC       * const  ccont = Parrot_pcc_get_continuation(interp, ctx);
    PMC       * const  caller_ctx = Parrot_pcc_get_caller_ctx(interp, ctx);
    PMC       * const  call_object = Parrot_pcc_get_signature(interp, caller_ctx);
    INTVAL   argc;

    Parrot_pcc_fill_params_from_op(interp, call_object, signature, raw_params, PARROT_ERRORS_PARAM_COUNT_FLAG);
    if (PObj_get_FLAGS(ccont) & SUB_FLAG_TAILCALL) {
        (PObj_get_FLAGS(ccont) &= (~SUB_FLAG_TAILCALL));
        Parrot_pcc_dec_recursion_depth(interp, ctx);
        Parrot_pcc_set_caller_ctx(interp, ctx, Parrot_pcc_get_caller_ctx(interp, caller_ctx));
    }

    GETATTR_FixedIntegerArray_size(interp, signature, argc);
    return cur_opcode + (argc + 2);
}

opcode_t *
Parrot_set_returns_pc(opcode_t *cur_opcode, PARROT_INTERP) {
    opcode_t  * const  raw_args = CUR_OPCODE;
    PMC       * const  signature = PCONST(1);
    PMC       *  ctx = CURRENT_CONTEXT(interp);
    PMC       * const  caller_ctx = Parrot_pcc_get_caller_ctx(interp, ctx);
    PMC       * const  call_sig = Parrot_pcc_build_sig_object_from_op(interp, Parrot_pcc_get_signature(interp, caller_ctx), signature, raw_args);
    INTVAL   argc;

    Parrot_pcc_set_signature(interp, ctx, call_sig);
    GETATTR_FixedIntegerArray_size(interp, signature, argc);
    return cur_opcode + (argc + 2);
}

opcode_t *
Parrot_get_results_pc(opcode_t *cur_opcode, PARROT_INTERP) {
    opcode_t  * const  raw_params = CUR_OPCODE;
    PMC       * const  signature = PCONST(1);
    PMC       * const  ctx = CURRENT_CONTEXT(interp);
    PMC       * const  call_object = Parrot_pcc_get_signature(interp, ctx);
    INTVAL   argc;

    Parrot_pcc_fill_params_from_op(interp, call_object, signature, raw_params, PARROT_ERRORS_RESULT_COUNT_FLAG);
    GETATTR_FixedIntegerArray_size(interp, signature, argc);
    Parrot_pcc_set_signature(interp, ctx, PMCNULL);
    return cur_opcode + (argc + 2);
}

opcode_t *
Parrot_set_result_info_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  ctx = CURRENT_CONTEXT(interp);

    VTABLE_set_attr_str(interp, ctx, Parrot_str_new_constant(interp, "return_flags"), PREG(1));
    return cur_opcode + 2;
}

opcode_t *
Parrot_set_result_info_pc(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  ctx = CURRENT_CONTEXT(interp);

    VTABLE_set_attr_str(interp, ctx, Parrot_str_new_constant(interp, "return_flags"), PCONST(1));
    return cur_opcode + 2;
}

opcode_t *
Parrot_result_info_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  caller_ctx = Parrot_pcc_get_caller_ctx(interp, CURRENT_CONTEXT(interp));
    PMC  * const  sig = VTABLE_get_attr_str(interp, caller_ctx, Parrot_str_new_constant(interp, "return_flags"));

    if (PMC_IS_NULL(sig)) {
        PREG(1) = Parrot_pmc_new(interp, enum_class_FixedIntegerArray);
    }
    else {
        PREG(1) = sig;
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 2;
}

opcode_t *
Parrot_set_addr_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = PTR2INTVAL((CUR_OPCODE + ICONST(2)));
    return cur_opcode + 3;
}

opcode_t *
Parrot_set_addr_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_set_pointer(interp, PREG(1), ((CUR_OPCODE + ICONST(2))));
    return cur_opcode + 3;
}

opcode_t *
Parrot_set_addr_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_set_pointer(interp, PREG(1), (void*)IREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_get_addr_i_p(opcode_t *cur_opcode, PARROT_INTERP) {
    void  * const  ptr = VTABLE_get_pointer(interp, PREG(2));

    IREG(1) = PTR2INTVAL(ptr);
    return cur_opcode + 3;
}

opcode_t *
Parrot_schedule_p(opcode_t *cur_opcode, PARROT_INTERP) {
    Parrot_cx_schedule_task(interp, PREG(1));
    return cur_opcode + 2;
}

opcode_t *
Parrot_schedule_local_p(opcode_t *cur_opcode, PARROT_INTERP) {
    Parrot_cx_schedule_immediate(interp, PREG(1));
    return cur_opcode + 2;
}

opcode_t *
Parrot_addhandler_p(opcode_t *cur_opcode, PARROT_INTERP) {
    Parrot_cx_add_handler(interp, PREG(1));
    return cur_opcode + 2;
}

opcode_t *
Parrot_push_eh_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  eh = Parrot_pmc_new(interp, enum_class_ExceptionHandler);

    VTABLE_set_pointer(interp, eh, (CUR_OPCODE + ICONST(1)));
    Parrot_cx_add_handler_local(interp, eh);
    return cur_opcode + 2;
}

opcode_t *
Parrot_push_eh_p(opcode_t *cur_opcode, PARROT_INTERP) {
    Parrot_cx_add_handler_local(interp, PREG(1));
    return cur_opcode + 2;
}

opcode_t *
Parrot_pop_eh(opcode_t *cur_opcode, PARROT_INTERP) {
    Parrot_cx_delete_handler_local(interp);
    return cur_opcode + 1;
}

opcode_t *
Parrot_throw_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  *  except = PREG(1);
    opcode_t  * dest;
    opcode_t  * const  ret =  cur_opcode + 2;
    PMC       * const  resume = Parrot_pmc_new(interp, enum_class_Continuation);
    STRING  * const  exception_str = Parrot_str_new_constant(interp, "Exception");

    VTABLE_set_pointer(interp, resume, ret);
    if (PMC_IS_NULL(except) || (!VTABLE_does(interp, except, exception_str))) {
        except = Parrot_ex_build_exception(interp, EXCEPT_fatal, EXCEPTION_UNIMPLEMENTED, Parrot_str_new_constant(interp, "Not a throwable object"));
    }

    VTABLE_set_attr_str(interp, except, Parrot_str_new_constant(interp, "resume"), resume);
    dest = Parrot_ex_throw_from_op(interp, except, ret);
    return (opcode_t *)dest;
}

opcode_t *
Parrot_throw_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    opcode_t  *  dest;
    PMC  *  except = PREG(1);
    STRING  * const  exception_str = Parrot_str_new_constant(interp, "Exception");

    if (PMC_IS_NULL(except) || (!VTABLE_does(interp, except, exception_str))) {
        except = Parrot_ex_build_exception(interp, EXCEPT_fatal, EXCEPTION_UNIMPLEMENTED, Parrot_str_new_constant(interp, "Not a throwable object"));
    }

    dest = Parrot_ex_throw_from_op(interp, PREG(1), VTABLE_get_pointer(interp, PREG(2)));
    return (opcode_t *)dest;
}

opcode_t *
Parrot_rethrow_p(opcode_t *cur_opcode, PARROT_INTERP) {
    opcode_t  *  dest;
    PMC  *  except = PREG(1);
    STRING  * const  exception_str = Parrot_str_new_constant(interp, "Exception");

    if (PMC_IS_NULL(except) || (!VTABLE_does(interp, except, exception_str))) {
        opcode_t  * const  ret =  cur_opcode + 2;

        except = Parrot_ex_build_exception(interp, EXCEPT_fatal, EXCEPTION_UNIMPLEMENTED, Parrot_str_new_constant(interp, "Not a throwable object"));
        dest = Parrot_ex_throw_from_op(interp, except, ret);
        return (opcode_t *)dest;
    }

    dest = Parrot_ex_rethrow_from_op(interp, except);
    return (opcode_t *)dest;
}

opcode_t *
Parrot_count_eh_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = Parrot_cx_count_handlers_local(interp);
    return cur_opcode + 2;
}

opcode_t *
Parrot_die_s(opcode_t *cur_opcode, PARROT_INTERP) {
    opcode_t         * dest;
    opcode_t  * const  ret =  cur_opcode + 2;
    PMC       * const  resume = Parrot_pmc_new(interp, enum_class_Continuation);
    PMC       * const  exception = Parrot_ex_build_exception(interp, EXCEPT_error, EXCEPTION_DIE, SREG(1));

    VTABLE_set_pointer(interp, resume, ret);
    VTABLE_set_attr_str(interp, exception, Parrot_str_new_constant(interp, "resume"), resume);
    dest = Parrot_ex_throw_from_op(interp, exception, ret);
    return (opcode_t *)dest;
}

opcode_t *
Parrot_die_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    opcode_t         * dest;
    opcode_t  * const  ret =  cur_opcode + 2;
    PMC       * const  resume = Parrot_pmc_new(interp, enum_class_Continuation);
    PMC       * const  exception = Parrot_ex_build_exception(interp, EXCEPT_error, EXCEPTION_DIE, SCONST(1));

    VTABLE_set_pointer(interp, resume, ret);
    VTABLE_set_attr_str(interp, exception, Parrot_str_new_constant(interp, "resume"), resume);
    dest = Parrot_ex_throw_from_op(interp, exception, ret);
    return (opcode_t *)dest;
}

opcode_t *
Parrot_die_p(opcode_t *cur_opcode, PARROT_INTERP) {
    opcode_t         * dest;
    opcode_t  * const  ret =  cur_opcode + 2;
    PMC       * const  resume = Parrot_pmc_new(interp, enum_class_Continuation);
    STRING    * const  msg = PMC_IS_NULL(PREG(1)) ? NULL : VTABLE_get_string(interp, PREG(1));
    PMC       * const  exception = Parrot_ex_build_exception(interp, EXCEPT_error, EXCEPTION_DIE, msg);

    VTABLE_set_pointer(interp, resume, ret);
    VTABLE_set_attr_str(interp, exception, Parrot_str_new_constant(interp, "resume"), resume);
    dest = Parrot_ex_throw_from_op(interp, exception, ret);
    return (opcode_t *)dest;
}

opcode_t *
Parrot_die_pc(opcode_t *cur_opcode, PARROT_INTERP) {
    opcode_t         * dest;
    opcode_t  * const  ret =  cur_opcode + 2;
    PMC       * const  resume = Parrot_pmc_new(interp, enum_class_Continuation);
    STRING    * const  msg = PMC_IS_NULL(PCONST(1)) ? NULL : VTABLE_get_string(interp, PCONST(1));
    PMC       * const  exception = Parrot_ex_build_exception(interp, EXCEPT_error, EXCEPTION_DIE, msg);

    VTABLE_set_pointer(interp, resume, ret);
    VTABLE_set_attr_str(interp, exception, Parrot_str_new_constant(interp, "resume"), resume);
    dest = Parrot_ex_throw_from_op(interp, exception, ret);
    return (opcode_t *)dest;
}

opcode_t *
Parrot_die_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
    if (IREG(1) == EXCEPT_doomed) {
        Parrot_x_jump_out(interp, IREG(2));
    }
    else {
        opcode_t         * dest;
        opcode_t  * const  ret =  cur_opcode + 3;
        PMC       * const  resume = Parrot_pmc_new(interp, enum_class_Continuation);
        PMC       * const  exception = Parrot_ex_build_exception(interp, IREG(1), IREG(2), NULL);

        VTABLE_set_pointer(interp, resume, ret);
        VTABLE_set_attr_str(interp, exception, Parrot_str_new_constant(interp, "resume"), resume);
        dest = Parrot_ex_throw_from_op(interp, exception, ret);
        return (opcode_t *)dest;
    }

}

opcode_t *
Parrot_die_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
    if (ICONST(1) == EXCEPT_doomed) {
        Parrot_x_jump_out(interp, IREG(2));
    }
    else {
        opcode_t         * dest;
        opcode_t  * const  ret =  cur_opcode + 3;
        PMC       * const  resume = Parrot_pmc_new(interp, enum_class_Continuation);
        PMC       * const  exception = Parrot_ex_build_exception(interp, ICONST(1), IREG(2), NULL);

        VTABLE_set_pointer(interp, resume, ret);
        VTABLE_set_attr_str(interp, exception, Parrot_str_new_constant(interp, "resume"), resume);
        dest = Parrot_ex_throw_from_op(interp, exception, ret);
        return (opcode_t *)dest;
    }

}

opcode_t *
Parrot_die_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (IREG(1) == EXCEPT_doomed) {
        Parrot_x_jump_out(interp, ICONST(2));
    }
    else {
        opcode_t         * dest;
        opcode_t  * const  ret =  cur_opcode + 3;
        PMC       * const  resume = Parrot_pmc_new(interp, enum_class_Continuation);
        PMC       * const  exception = Parrot_ex_build_exception(interp, IREG(1), ICONST(2), NULL);

        VTABLE_set_pointer(interp, resume, ret);
        VTABLE_set_attr_str(interp, exception, Parrot_str_new_constant(interp, "resume"), resume);
        dest = Parrot_ex_throw_from_op(interp, exception, ret);
        return (opcode_t *)dest;
    }

}

opcode_t *
Parrot_die_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (ICONST(1) == EXCEPT_doomed) {
        Parrot_x_jump_out(interp, ICONST(2));
    }
    else {
        opcode_t         * dest;
        opcode_t  * const  ret =  cur_opcode + 3;
        PMC       * const  resume = Parrot_pmc_new(interp, enum_class_Continuation);
        PMC       * const  exception = Parrot_ex_build_exception(interp, ICONST(1), ICONST(2), NULL);

        VTABLE_set_pointer(interp, resume, ret);
        VTABLE_set_attr_str(interp, exception, Parrot_str_new_constant(interp, "resume"), resume);
        dest = Parrot_ex_throw_from_op(interp, exception, ret);
        return (opcode_t *)dest;
    }

}

opcode_t *
Parrot_exit_i(opcode_t *cur_opcode, PARROT_INTERP) {
    opcode_t         * dest;
    opcode_t  * const  ret =  cur_opcode + 2;
    PMC       * const  resume = Parrot_pmc_new(interp, enum_class_Continuation);
    PMC       * const  exception = Parrot_ex_build_exception(interp, EXCEPT_exit, CONTROL_EXIT, NULL);

    VTABLE_set_pointer(interp, resume, ret);
    VTABLE_set_attr_str(interp, exception, Parrot_str_new_constant(interp, "resume"), resume);
    VTABLE_set_integer_keyed_str(interp, exception, Parrot_str_new_constant(interp, "exit_code"), IREG(1));
    dest = Parrot_ex_throw_from_op(interp, exception, ret);
    return (opcode_t *)dest;
}

opcode_t *
Parrot_exit_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    opcode_t         * dest;
    opcode_t  * const  ret =  cur_opcode + 2;
    PMC       * const  resume = Parrot_pmc_new(interp, enum_class_Continuation);
    PMC       * const  exception = Parrot_ex_build_exception(interp, EXCEPT_exit, CONTROL_EXIT, NULL);

    VTABLE_set_pointer(interp, resume, ret);
    VTABLE_set_attr_str(interp, exception, Parrot_str_new_constant(interp, "resume"), resume);
    VTABLE_set_integer_keyed_str(interp, exception, Parrot_str_new_constant(interp, "exit_code"), ICONST(1));
    dest = Parrot_ex_throw_from_op(interp, exception, ret);
    return (opcode_t *)dest;
}

opcode_t *
Parrot_finalize_p(opcode_t *cur_opcode, PARROT_INTERP) {
    opcode_t  * const  dest =  cur_opcode + 2;
    PMC  * eh = Parrot_ex_get_current_handler(interp, PREG(1));

    if (!PMC_IS_NULL(eh)) {
        Parrot_runloop  * rl = interp->current_runloop;
        INTVAL   rid;

        if (eh->vtable->base_type == enum_class_ExceptionHandler) {
            GETATTR_ExceptionHandler_runloop_id(interp, eh, rid);
        }
        else {
            Parrot_pcc_invoke_method_from_c_args(interp, eh, Parrot_str_new_constant(interp, "rid"), "->I", (&rid));
        }

        while (rl && (rl->id != rid)) {
            rl = rl->prev;
        }

        if (rl) {
            if (rl != interp->current_runloop) {
                rl->handler_start = dest;
                longjmp(rl->resume, PARROT_JMP_EXCEPTION_FINALIZED);
            }

        }
        else {
            Parrot_ex_throw_from_c_noargs(interp, EXCEPTION_INVALID_OPERATION, "missing runloop");
        }

    }

    return cur_opcode + 2;
}

opcode_t *
Parrot_finalize_pc(opcode_t *cur_opcode, PARROT_INTERP) {
    opcode_t  * const  dest =  cur_opcode + 2;
    PMC  * eh = Parrot_ex_get_current_handler(interp, PCONST(1));

    if (!PMC_IS_NULL(eh)) {
        Parrot_runloop  * rl = interp->current_runloop;
        INTVAL   rid;

        if (eh->vtable->base_type == enum_class_ExceptionHandler) {
            GETATTR_ExceptionHandler_runloop_id(interp, eh, rid);
        }
        else {
            Parrot_pcc_invoke_method_from_c_args(interp, eh, Parrot_str_new_constant(interp, "rid"), "->I", (&rid));
        }

        while (rl && (rl->id != rid)) {
            rl = rl->prev;
        }

        if (rl) {
            if (rl != interp->current_runloop) {
                rl->handler_start = dest;
                longjmp(rl->resume, PARROT_JMP_EXCEPTION_FINALIZED);
            }

        }
        else {
            Parrot_ex_throw_from_c_noargs(interp, EXCEPTION_INVALID_OPERATION, "missing runloop");
        }

    }

    return cur_opcode + 2;
}

opcode_t *
Parrot_pop_upto_eh_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * eh = Parrot_ex_get_current_handler(interp, PREG(1));

    if (!PMC_IS_NULL(eh)) {
        Parrot_cx_delete_upto_handler_local(interp, eh);
    }

    return cur_opcode + 2;
}

opcode_t *
Parrot_pop_upto_eh_pc(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * eh = Parrot_ex_get_current_handler(interp, PCONST(1));

    if (!PMC_IS_NULL(eh)) {
        Parrot_cx_delete_upto_handler_local(interp, eh);
    }

    return cur_opcode + 2;
}

opcode_t *
Parrot_peek_exception_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC       * const  ctx = CURRENT_CONTEXT(interp);
    PMC       * const  call_object = Parrot_pcc_get_signature(interp, ctx);

    PREG(1) = VTABLE_get_pmc_keyed_int(interp, call_object, 0);
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 2;
}

opcode_t *
Parrot_debug_i(opcode_t *cur_opcode, PARROT_INTERP) {
    if (IREG(1) != 0) {
        Interp_debug_SET(interp, IREG(1));
    }
    else {
        Interp_debug_CLEAR(interp, PARROT_ALL_DEBUG_FLAGS);
    }

            interp->resume_offset = REL_PC + 2; interp->resume_flag = 1;;
        return (opcode_t *)0;
;
}

opcode_t *
Parrot_debug_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (ICONST(1) != 0) {
        Interp_debug_SET(interp, ICONST(1));
    }
    else {
        Interp_debug_CLEAR(interp, PARROT_ALL_DEBUG_FLAGS);
    }

            interp->resume_offset = REL_PC + 2; interp->resume_flag = 1;;
        return (opcode_t *)0;
;
}

opcode_t *
Parrot_bounds_i(opcode_t *cur_opcode, PARROT_INTERP) {
    if (IREG(1) != 0) {
        Parrot_interp_set_flag(interp, PARROT_BOUNDS_FLAG);
    }
    else {
        Interp_flags_CLEAR(interp, PARROT_BOUNDS_FLAG);
    }

            interp->resume_offset = REL_PC + 2; interp->resume_flag = 1;;
        return (opcode_t *)0;
;
}

opcode_t *
Parrot_bounds_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (ICONST(1) != 0) {
        Parrot_interp_set_flag(interp, PARROT_BOUNDS_FLAG);
    }
    else {
        Interp_flags_CLEAR(interp, PARROT_BOUNDS_FLAG);
    }

            interp->resume_offset = REL_PC + 2; interp->resume_flag = 1;;
        return (opcode_t *)0;
;
}

opcode_t *
Parrot_profile_i(opcode_t *cur_opcode, PARROT_INTERP) {
    if (IREG(1) != 0) {
        Parrot_interp_set_flag(interp, PARROT_PROFILE_FLAG);
    }
    else {
        Interp_flags_CLEAR(interp, PARROT_PROFILE_FLAG);
    }

            interp->resume_offset = REL_PC + 2; interp->resume_flag = 1;;
        return (opcode_t *)0;
;
}

opcode_t *
Parrot_profile_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (ICONST(1) != 0) {
        Parrot_interp_set_flag(interp, PARROT_PROFILE_FLAG);
    }
    else {
        Interp_flags_CLEAR(interp, PARROT_PROFILE_FLAG);
    }

            interp->resume_offset = REL_PC + 2; interp->resume_flag = 1;;
        return (opcode_t *)0;
;
}

opcode_t *
Parrot_trace_i(opcode_t *cur_opcode, PARROT_INTERP) {
    if (IREG(1) != 0) {
        Parrot_interp_set_trace(interp, IREG(1));
    }
    else {
        Parrot_interp_clear_trace(interp, PARROT_ALL_TRACE_FLAGS);
    }

            interp->resume_offset = REL_PC + 2; interp->resume_flag = 1;;
        return (opcode_t *)0;
;
}

opcode_t *
Parrot_trace_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (ICONST(1) != 0) {
        Parrot_interp_set_trace(interp, ICONST(1));
    }
    else {
        Parrot_interp_clear_trace(interp, PARROT_ALL_TRACE_FLAGS);
    }

            interp->resume_offset = REL_PC + 2; interp->resume_flag = 1;;
        return (opcode_t *)0;
;
}

opcode_t *
Parrot_gc_debug_i(opcode_t *cur_opcode, PARROT_INTERP) {
    if (IREG(1) != 0) {
        Interp_flags_SET(interp, PARROT_GC_DEBUG_FLAG);
    }
    else {
        Interp_flags_CLEAR(interp, PARROT_GC_DEBUG_FLAG);
    }

    return cur_opcode + 2;
}

opcode_t *
Parrot_gc_debug_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (ICONST(1) != 0) {
        Interp_flags_SET(interp, PARROT_GC_DEBUG_FLAG);
    }
    else {
        Interp_flags_CLEAR(interp, PARROT_GC_DEBUG_FLAG);
    }

    return cur_opcode + 2;
}

opcode_t *
Parrot_interpinfo_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = Parrot_interp_info(interp, IREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_interpinfo_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = Parrot_interp_info(interp, ICONST(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_interpinfo_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = Parrot_interp_info_p(interp, IREG(2));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_interpinfo_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = Parrot_interp_info_p(interp, ICONST(2));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_interpinfo_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
    STRING  * const  s = Parrot_interp_info_s(interp, IREG(2));

    SREG(1) = s;
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_interpinfo_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    STRING  * const  s = Parrot_interp_info_s(interp, ICONST(2));

    SREG(1) = s;
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_warningson_i(opcode_t *cur_opcode, PARROT_INTERP) {
    PARROT_WARNINGS_on(interp, IREG(1));
    return cur_opcode + 2;
}

opcode_t *
Parrot_warningson_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    PARROT_WARNINGS_on(interp, ICONST(1));
    return cur_opcode + 2;
}

opcode_t *
Parrot_warningsoff_i(opcode_t *cur_opcode, PARROT_INTERP) {
    PARROT_WARNINGS_off(interp, IREG(1));
    return cur_opcode + 2;
}

opcode_t *
Parrot_warningsoff_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    PARROT_WARNINGS_off(interp, ICONST(1));
    return cur_opcode + 2;
}

opcode_t *
Parrot_errorson_i(opcode_t *cur_opcode, PARROT_INTERP) {
    PARROT_ERRORS_on(interp, IREG(1));
    return cur_opcode + 2;
}

opcode_t *
Parrot_errorson_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    PARROT_ERRORS_on(interp, ICONST(1));
    return cur_opcode + 2;
}

opcode_t *
Parrot_errorsoff_i(opcode_t *cur_opcode, PARROT_INTERP) {
    PARROT_ERRORS_off(interp, IREG(1));
    return cur_opcode + 2;
}

opcode_t *
Parrot_errorsoff_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    PARROT_ERRORS_off(interp, ICONST(1));
    return cur_opcode + 2;
}

opcode_t *
Parrot_set_runcore_s(opcode_t *cur_opcode, PARROT_INTERP) {
    Parrot_runcore_switch(interp, SREG(1));
            interp->resume_offset = REL_PC + 2; interp->resume_flag = 1;;
        return (opcode_t *)0;
;
    return cur_opcode + 2;
}

opcode_t *
Parrot_set_runcore_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    Parrot_runcore_switch(interp, SCONST(1));
            interp->resume_offset = REL_PC + 2; interp->resume_flag = 1;;
        return (opcode_t *)0;
;
    return cur_opcode + 2;
}

opcode_t *
Parrot_runinterp_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
    Interp  * const  new_interp = (Interp *)VTABLE_get_pointer(interp, PREG(1));

    Interp_flags_SET(new_interp, PARROT_EXTERN_CODE_FLAG);
    Parrot_pf_switch_to_cs(new_interp, interp->code, 1);
    runops(new_interp, (REL_PC + IREG(2)));
    return cur_opcode + 3;
}

opcode_t *
Parrot_runinterp_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    Interp  * const  new_interp = (Interp *)VTABLE_get_pointer(interp, PREG(1));

    Interp_flags_SET(new_interp, PARROT_EXTERN_CODE_FLAG);
    Parrot_pf_switch_to_cs(new_interp, interp->code, 1);
    runops(new_interp, (REL_PC + ICONST(2)));
    return cur_opcode + 3;
}

opcode_t *
Parrot_getinterp_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_get_pmc_keyed_int(interp, interp->iglobals, IGLOBALS_INTERPRETER);
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 2;
}

opcode_t *
Parrot_sweep_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (ICONST(1)) {
        Parrot_gc_mark_and_sweep(interp, GC_trace_normal_FLAG);
    }
    else {
        if (Parrot_gc_impatient_pmcs(interp)) {
            Parrot_gc_mark_and_sweep(interp, GC_lazy_FLAG);
        }

    }

    return cur_opcode + 2;
}

opcode_t *
Parrot_collect(opcode_t *cur_opcode, PARROT_INTERP) {
    Parrot_gc_compact_memory_pool(interp);
    return cur_opcode + 1;
}

opcode_t *
Parrot_sweepoff(opcode_t *cur_opcode, PARROT_INTERP) {
    Parrot_block_GC_mark(interp);
    return cur_opcode + 1;
}

opcode_t *
Parrot_sweepon(opcode_t *cur_opcode, PARROT_INTERP) {
    Parrot_unblock_GC_mark(interp);
    return cur_opcode + 1;
}

opcode_t *
Parrot_collectoff(opcode_t *cur_opcode, PARROT_INTERP) {
    Parrot_block_GC_sweep(interp);
    return cur_opcode + 1;
}

opcode_t *
Parrot_collecton(opcode_t *cur_opcode, PARROT_INTERP) {
    Parrot_unblock_GC_sweep(interp);
    return cur_opcode + 1;
}

opcode_t *
Parrot_needs_destroy_p(opcode_t *cur_opcode, PARROT_INTERP) {
    Parrot_gc_pmc_needs_early_collection(interp, PREG(1));
    return cur_opcode + 2;
}

opcode_t *
Parrot_loadlib_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = Parrot_dyn_load_lib(interp, SREG(2), NULL);
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_loadlib_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = Parrot_dyn_load_lib(interp, SCONST(2), NULL);
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_loadlib_p_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = Parrot_dyn_load_lib(interp, SREG(2), PREG(3));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_loadlib_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = Parrot_dyn_load_lib(interp, SCONST(2), PREG(3));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_loadlib_p_s_pc(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = Parrot_dyn_load_lib(interp, SREG(2), PCONST(3));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_loadlib_p_sc_pc(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = Parrot_dyn_load_lib(interp, SCONST(2), PCONST(3));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_dlfunc_p_p_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
    void          * dl_handle = NULL;
    void          * ptr;
    funcptr_t       p;

    if (((!PMC_IS_NULL(PREG(2))) && (PREG(2)->vtable->base_type == enum_class_ParrotLibrary)) && VTABLE_defined(interp, PREG(2))) {
        dl_handle = ((Parrot_ParrotLibrary_attributes*)PMC_data(PREG(2)))->dl_handle;
    }

    ptr = Parrot_dyn_dlsym_str(interp, dl_handle, SREG(3));
    p = D2FPTR(ptr);
    if (p == NULLfunc) {
        const char  * const  err = Parrot_dlerror();

        Parrot_warn(interp, PARROT_WARNINGS_UNDEF_FLAG, "Symbol '%Ss' not found: %s\n", SREG(3), err ? err : "unknown reason");
        PREG(1) = Parrot_pmc_new(interp, enum_class_Undef);
    }
    else {
        PREG(1) = Parrot_pmc_new(interp, enum_class_NCI);
        VTABLE_set_pointer_keyed_str(interp, PREG(1), SREG(4), F2DPTR(p));
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_dlfunc_p_p_sc_s(opcode_t *cur_opcode, PARROT_INTERP) {
    void          * dl_handle = NULL;
    void          * ptr;
    funcptr_t       p;

    if (((!PMC_IS_NULL(PREG(2))) && (PREG(2)->vtable->base_type == enum_class_ParrotLibrary)) && VTABLE_defined(interp, PREG(2))) {
        dl_handle = ((Parrot_ParrotLibrary_attributes*)PMC_data(PREG(2)))->dl_handle;
    }

    ptr = Parrot_dyn_dlsym_str(interp, dl_handle, SCONST(3));
    p = D2FPTR(ptr);
    if (p == NULLfunc) {
        const char  * const  err = Parrot_dlerror();

        Parrot_warn(interp, PARROT_WARNINGS_UNDEF_FLAG, "Symbol '%Ss' not found: %s\n", SCONST(3), err ? err : "unknown reason");
        PREG(1) = Parrot_pmc_new(interp, enum_class_Undef);
    }
    else {
        PREG(1) = Parrot_pmc_new(interp, enum_class_NCI);
        VTABLE_set_pointer_keyed_str(interp, PREG(1), SREG(4), F2DPTR(p));
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_dlfunc_p_p_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    void          * dl_handle = NULL;
    void          * ptr;
    funcptr_t       p;

    if (((!PMC_IS_NULL(PREG(2))) && (PREG(2)->vtable->base_type == enum_class_ParrotLibrary)) && VTABLE_defined(interp, PREG(2))) {
        dl_handle = ((Parrot_ParrotLibrary_attributes*)PMC_data(PREG(2)))->dl_handle;
    }

    ptr = Parrot_dyn_dlsym_str(interp, dl_handle, SREG(3));
    p = D2FPTR(ptr);
    if (p == NULLfunc) {
        const char  * const  err = Parrot_dlerror();

        Parrot_warn(interp, PARROT_WARNINGS_UNDEF_FLAG, "Symbol '%Ss' not found: %s\n", SREG(3), err ? err : "unknown reason");
        PREG(1) = Parrot_pmc_new(interp, enum_class_Undef);
    }
    else {
        PREG(1) = Parrot_pmc_new(interp, enum_class_NCI);
        VTABLE_set_pointer_keyed_str(interp, PREG(1), SCONST(4), F2DPTR(p));
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_dlfunc_p_p_sc_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    void          * dl_handle = NULL;
    void          * ptr;
    funcptr_t       p;

    if (((!PMC_IS_NULL(PREG(2))) && (PREG(2)->vtable->base_type == enum_class_ParrotLibrary)) && VTABLE_defined(interp, PREG(2))) {
        dl_handle = ((Parrot_ParrotLibrary_attributes*)PMC_data(PREG(2)))->dl_handle;
    }

    ptr = Parrot_dyn_dlsym_str(interp, dl_handle, SCONST(3));
    p = D2FPTR(ptr);
    if (p == NULLfunc) {
        const char  * const  err = Parrot_dlerror();

        Parrot_warn(interp, PARROT_WARNINGS_UNDEF_FLAG, "Symbol '%Ss' not found: %s\n", SCONST(3), err ? err : "unknown reason");
        PREG(1) = Parrot_pmc_new(interp, enum_class_Undef);
    }
    else {
        PREG(1) = Parrot_pmc_new(interp, enum_class_NCI);
        VTABLE_set_pointer_keyed_str(interp, PREG(1), SCONST(4), F2DPTR(p));
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_dlfunc_p_p_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
    void          * dl_handle = NULL;
    void          * ptr;
    funcptr_t       p;

    if (((!PMC_IS_NULL(PREG(2))) && (PREG(2)->vtable->base_type == enum_class_ParrotLibrary)) && VTABLE_defined(interp, PREG(2))) {
        dl_handle = ((Parrot_ParrotLibrary_attributes*)PMC_data(PREG(2)))->dl_handle;
    }

    ptr = Parrot_dyn_dlsym_str(interp, dl_handle, SREG(3));
    p = D2FPTR(ptr);
    if (p == NULLfunc) {
        const char  * const  err = Parrot_dlerror();

        Parrot_warn(interp, PARROT_WARNINGS_UNDEF_FLAG, "Symbol '%Ss' not found: %s\n", SREG(3), err ? err : "unknown reason");
        PREG(1) = Parrot_pmc_new(interp, enum_class_Undef);
    }
    else {
        PREG(1) = Parrot_pmc_new(interp, enum_class_NCI);
        VTABLE_set_pointer_keyed(interp, PREG(1), PREG(4), F2DPTR(p));
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_dlfunc_p_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
    void          * dl_handle = NULL;
    void          * ptr;
    funcptr_t       p;

    if (((!PMC_IS_NULL(PREG(2))) && (PREG(2)->vtable->base_type == enum_class_ParrotLibrary)) && VTABLE_defined(interp, PREG(2))) {
        dl_handle = ((Parrot_ParrotLibrary_attributes*)PMC_data(PREG(2)))->dl_handle;
    }

    ptr = Parrot_dyn_dlsym_str(interp, dl_handle, SCONST(3));
    p = D2FPTR(ptr);
    if (p == NULLfunc) {
        const char  * const  err = Parrot_dlerror();

        Parrot_warn(interp, PARROT_WARNINGS_UNDEF_FLAG, "Symbol '%Ss' not found: %s\n", SCONST(3), err ? err : "unknown reason");
        PREG(1) = Parrot_pmc_new(interp, enum_class_Undef);
    }
    else {
        PREG(1) = Parrot_pmc_new(interp, enum_class_NCI);
        VTABLE_set_pointer_keyed(interp, PREG(1), PREG(4), F2DPTR(p));
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_dlvar_p_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
    void  *         dl_handle = NULL;
    void  *         p;

    if (((!PMC_IS_NULL(PREG(2))) && (PREG(2)->vtable->base_type == enum_class_ParrotLibrary)) && VTABLE_defined(interp, PREG(2))) {
        dl_handle = ((Parrot_ParrotLibrary_attributes*)PMC_data(PREG(2)))->dl_handle;
    }

    p = Parrot_dyn_dlsym_str(interp, dl_handle, SREG(3));
    if (p == NULL) {
        const char  * const  err = Parrot_dlerror();

        Parrot_warn(interp, PARROT_WARNINGS_UNDEF_FLAG, "Symbol '%Ss' not found: %s\n", SREG(3), err ? err : "unknown reason");
        PREG(1) = Parrot_pmc_new(interp, enum_class_Undef);
    }
    else {
        PREG(1) = Parrot_pmc_new(interp, enum_class_UnManagedStruct);
        VTABLE_set_pointer(interp, PREG(1), p);
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_dlvar_p_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    void  *         dl_handle = NULL;
    void  *         p;

    if (((!PMC_IS_NULL(PREG(2))) && (PREG(2)->vtable->base_type == enum_class_ParrotLibrary)) && VTABLE_defined(interp, PREG(2))) {
        dl_handle = ((Parrot_ParrotLibrary_attributes*)PMC_data(PREG(2)))->dl_handle;
    }

    p = Parrot_dyn_dlsym_str(interp, dl_handle, SCONST(3));
    if (p == NULL) {
        const char  * const  err = Parrot_dlerror();

        Parrot_warn(interp, PARROT_WARNINGS_UNDEF_FLAG, "Symbol '%Ss' not found: %s\n", SCONST(3), err ? err : "unknown reason");
        PREG(1) = Parrot_pmc_new(interp, enum_class_Undef);
    }
    else {
        PREG(1) = Parrot_pmc_new(interp, enum_class_UnManagedStruct);
        VTABLE_set_pointer(interp, PREG(1), p);
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_compreg_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
    Parrot_interp_set_compiler(interp, SREG(1), PREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_compreg_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
    Parrot_interp_set_compiler(interp, SCONST(1), PREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_compreg_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = Parrot_interp_get_compiler(interp, SREG(2));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_compreg_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = Parrot_interp_get_compiler(interp, SCONST(2));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_new_callback_p_p_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = Parrot_make_cb(interp, PREG(2), PREG(3), SREG(4));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_new_callback_p_p_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = Parrot_make_cb(interp, PREG(2), PREG(3), SCONST(4));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_annotations_p(opcode_t *cur_opcode, PARROT_INTERP) {
    if (interp->code->annotations) {
        const opcode_t   cur_pos = (( cur_opcode + 2) - interp->code->base.data);

        PREG(1) = Parrot_pf_annotations_lookup(interp, interp->code->annotations, cur_pos, NULL);
    }
    else {
        PREG(1) = Parrot_pmc_new(interp, enum_class_Hash);
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 2;
}

opcode_t *
Parrot_annotations_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
    if (interp->code->annotations) {
        const opcode_t   cur_pos = (( cur_opcode + 3) - interp->code->base.data);

        PREG(1) = Parrot_pf_annotations_lookup(interp, interp->code->annotations, cur_pos, SREG(2));
    }
    else {
        PREG(1) = PMCNULL;
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_annotations_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    if (interp->code->annotations) {
        const opcode_t   cur_pos = (( cur_opcode + 3) - interp->code->base.data);

        PREG(1) = Parrot_pf_annotations_lookup(interp, interp->code->annotations, cur_pos, SCONST(2));
    }
    else {
        PREG(1) = PMCNULL;
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_band_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
    (IREG(1) &= IREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_band_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    (IREG(1) &= ICONST(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_band_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = (IREG(2) & IREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_band_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = (ICONST(2) & IREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_band_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = (IREG(2) & ICONST(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_bor_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
    (IREG(1) |= IREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_bor_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    (IREG(1) |= ICONST(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_bor_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = (IREG(2) | IREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_bor_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = (ICONST(2) | IREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_bor_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = (IREG(2) | ICONST(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_shl_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = bit_shift_left(IREG(1), IREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_shl_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = bit_shift_left(IREG(1), ICONST(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_shl_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = bit_shift_left(IREG(2), IREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_shl_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = bit_shift_left(ICONST(2), IREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_shl_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = bit_shift_left(IREG(2), ICONST(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_shr_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
    const INTVAL   signed_shift = (-IREG(2));

    IREG(1) = bit_shift_left(IREG(1), signed_shift);
    return cur_opcode + 3;
}

opcode_t *
Parrot_shr_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    const INTVAL   signed_shift = (-ICONST(2));

    IREG(1) = bit_shift_left(IREG(1), signed_shift);
    return cur_opcode + 3;
}

opcode_t *
Parrot_shr_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
    const INTVAL   signed_shift = (-IREG(3));

    IREG(1) = bit_shift_left(IREG(2), signed_shift);
    return cur_opcode + 4;
}

opcode_t *
Parrot_shr_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
    const INTVAL   signed_shift = (-IREG(3));

    IREG(1) = bit_shift_left(ICONST(2), signed_shift);
    return cur_opcode + 4;
}

opcode_t *
Parrot_shr_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    const INTVAL   signed_shift = (-ICONST(3));

    IREG(1) = bit_shift_left(IREG(2), signed_shift);
    return cur_opcode + 4;
}

opcode_t *
Parrot_lsr_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
    const UINTVAL   a = (UINTVAL)IREG(1);
    const UINTVAL   b = (a >> IREG(2));

    IREG(1) = (INTVAL)b;
    return cur_opcode + 3;
}

opcode_t *
Parrot_lsr_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    const UINTVAL   a = (UINTVAL)IREG(1);
    const UINTVAL   b = (a >> ICONST(2));

    IREG(1) = (INTVAL)b;
    return cur_opcode + 3;
}

opcode_t *
Parrot_lsr_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = (INTVAL)(((UINTVAL)IREG(2) >> IREG(3)));
    return cur_opcode + 4;
}

opcode_t *
Parrot_lsr_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = (INTVAL)(((UINTVAL)ICONST(2) >> IREG(3)));
    return cur_opcode + 4;
}

opcode_t *
Parrot_lsr_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = (INTVAL)(((UINTVAL)IREG(2) >> ICONST(3)));
    return cur_opcode + 4;
}

opcode_t *
Parrot_bxor_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
    (IREG(1) ^= IREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_bxor_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    (IREG(1) ^= ICONST(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_bxor_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = (IREG(2) ^ IREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_bxor_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = (ICONST(2) ^ IREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_bxor_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = (IREG(2) ^ ICONST(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_eq_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (IREG(1) == IREG(2)) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_eq_ic_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (ICONST(1) == IREG(2)) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_eq_i_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (IREG(1) == ICONST(2)) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_eq_n_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (NREG(1) == NREG(2)) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_eq_nc_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (NCONST(1) == NREG(2)) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_eq_n_nc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (NREG(1) == NCONST(2)) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_eq_s_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (STRING_equal(interp, SREG(1), SREG(2))) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_eq_sc_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (STRING_equal(interp, SCONST(1), SREG(2))) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_eq_s_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (STRING_equal(interp, SREG(1), SCONST(2))) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_eq_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (VTABLE_is_equal(interp, PREG(1), PREG(2))) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_eq_p_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  temp = Parrot_pmc_new_temporary(interp, enum_class_Integer);

    VTABLE_set_integer_native(interp, temp, IREG(2));
    if (VTABLE_is_equal(interp, PREG(1), temp)) {
        Parrot_pmc_free_temporary(interp, temp);
        return cur_opcode + ICONST(3);
    }

    Parrot_pmc_free_temporary(interp, temp);
    return cur_opcode + 4;
}

opcode_t *
Parrot_eq_p_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  temp = Parrot_pmc_new_temporary(interp, enum_class_Integer);

    VTABLE_set_integer_native(interp, temp, ICONST(2));
    if (VTABLE_is_equal(interp, PREG(1), temp)) {
        Parrot_pmc_free_temporary(interp, temp);
        return cur_opcode + ICONST(3);
    }

    Parrot_pmc_free_temporary(interp, temp);
    return cur_opcode + 4;
}

opcode_t *
Parrot_eq_p_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (VTABLE_get_number(interp, PREG(1)) == NREG(2)) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_eq_p_nc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (VTABLE_get_number(interp, PREG(1)) == NCONST(2)) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_eq_p_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (STRING_equal(interp, VTABLE_get_string(interp, PREG(1)), SREG(2))) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_eq_p_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (STRING_equal(interp, VTABLE_get_string(interp, PREG(1)), SCONST(2))) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_eq_str_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (VTABLE_is_equal_string(interp, PREG(1), PREG(2))) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_eq_num_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (VTABLE_is_equal_num(interp, PREG(1), PREG(2))) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_eq_addr_s_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (SREG(1) == SREG(2)) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_eq_addr_sc_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (SCONST(1) == SREG(2)) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_eq_addr_s_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (SREG(1) == SCONST(2)) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_eq_addr_sc_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (SCONST(1) == SCONST(2)) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_eq_addr_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (PREG(1) == PREG(2)) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_ne_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (IREG(1) != IREG(2)) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_ne_ic_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (ICONST(1) != IREG(2)) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_ne_i_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (IREG(1) != ICONST(2)) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_ne_n_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (NREG(1) != NREG(2)) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_ne_nc_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (NCONST(1) != NREG(2)) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_ne_n_nc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (NREG(1) != NCONST(2)) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_ne_s_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (!STRING_equal(interp, SREG(1), SREG(2))) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_ne_sc_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (!STRING_equal(interp, SCONST(1), SREG(2))) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_ne_s_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (!STRING_equal(interp, SREG(1), SCONST(2))) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_ne_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (!VTABLE_is_equal(interp, PREG(1), PREG(2))) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_ne_p_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  temp = Parrot_pmc_new_temporary(interp, enum_class_Integer);

    VTABLE_set_integer_native(interp, temp, IREG(2));
    if (!VTABLE_is_equal(interp, PREG(1), temp)) {
        Parrot_pmc_free_temporary(interp, temp);
        return cur_opcode + ICONST(3);
    }

    Parrot_pmc_free_temporary(interp, temp);
    return cur_opcode + 4;
}

opcode_t *
Parrot_ne_p_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  temp = Parrot_pmc_new_temporary(interp, enum_class_Integer);

    VTABLE_set_integer_native(interp, temp, ICONST(2));
    if (!VTABLE_is_equal(interp, PREG(1), temp)) {
        Parrot_pmc_free_temporary(interp, temp);
        return cur_opcode + ICONST(3);
    }

    Parrot_pmc_free_temporary(interp, temp);
    return cur_opcode + 4;
}

opcode_t *
Parrot_ne_p_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (VTABLE_get_number(interp, PREG(1)) != NREG(2)) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_ne_p_nc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (VTABLE_get_number(interp, PREG(1)) != NCONST(2)) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_ne_p_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (!STRING_equal(interp, VTABLE_get_string(interp, PREG(1)), SREG(2))) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_ne_p_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (!STRING_equal(interp, VTABLE_get_string(interp, PREG(1)), SCONST(2))) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_ne_str_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (VTABLE_cmp_string(interp, PREG(1), PREG(2)) != 0) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_ne_num_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (VTABLE_cmp_num(interp, PREG(1), PREG(2)) != 0) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_ne_addr_s_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (SREG(1) != SREG(2)) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_ne_addr_sc_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (SCONST(1) != SREG(2)) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_ne_addr_s_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (SREG(1) != SCONST(2)) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_ne_addr_sc_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (SCONST(1) != SCONST(2)) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_ne_addr_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (PREG(1) != PREG(2)) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_lt_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (IREG(1) < IREG(2)) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_lt_ic_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (ICONST(1) < IREG(2)) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_lt_i_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (IREG(1) < ICONST(2)) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_lt_n_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (NREG(1) < NREG(2)) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_lt_nc_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (NCONST(1) < NREG(2)) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_lt_n_nc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (NREG(1) < NCONST(2)) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_lt_s_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (STRING_compare(interp, SREG(1), SREG(2)) < 0) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_lt_sc_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (STRING_compare(interp, SCONST(1), SREG(2)) < 0) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_lt_s_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (STRING_compare(interp, SREG(1), SCONST(2)) < 0) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_lt_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (VTABLE_cmp(interp, PREG(1), PREG(2)) < 0) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_lt_p_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  temp = Parrot_pmc_new_temporary(interp, enum_class_Integer);

    VTABLE_set_integer_native(interp, temp, IREG(2));
    if (VTABLE_cmp(interp, PREG(1), temp) < 0) {
        Parrot_pmc_free_temporary(interp, temp);
        return cur_opcode + ICONST(3);
    }

    Parrot_pmc_free_temporary(interp, temp);
    return cur_opcode + 4;
}

opcode_t *
Parrot_lt_p_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  temp = Parrot_pmc_new_temporary(interp, enum_class_Integer);

    VTABLE_set_integer_native(interp, temp, ICONST(2));
    if (VTABLE_cmp(interp, PREG(1), temp) < 0) {
        Parrot_pmc_free_temporary(interp, temp);
        return cur_opcode + ICONST(3);
    }

    Parrot_pmc_free_temporary(interp, temp);
    return cur_opcode + 4;
}

opcode_t *
Parrot_lt_p_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (VTABLE_get_number(interp, PREG(1)) < NREG(2)) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_lt_p_nc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (VTABLE_get_number(interp, PREG(1)) < NCONST(2)) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_lt_p_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (STRING_compare(interp, VTABLE_get_string(interp, PREG(1)), SREG(2)) < 0) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_lt_p_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (STRING_compare(interp, VTABLE_get_string(interp, PREG(1)), SCONST(2)) < 0) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_lt_str_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (VTABLE_cmp_string(interp, PREG(1), PREG(2)) < 0) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_lt_num_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (VTABLE_cmp_num(interp, PREG(1), PREG(2)) < 0) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_le_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (IREG(1) <= IREG(2)) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_le_ic_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (ICONST(1) <= IREG(2)) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_le_i_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (IREG(1) <= ICONST(2)) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_le_n_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (NREG(1) <= NREG(2)) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_le_nc_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (NCONST(1) <= NREG(2)) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_le_n_nc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (NREG(1) <= NCONST(2)) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_le_s_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (STRING_compare(interp, SREG(1), SREG(2)) <= 0) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_le_sc_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (STRING_compare(interp, SCONST(1), SREG(2)) <= 0) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_le_s_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (STRING_compare(interp, SREG(1), SCONST(2)) <= 0) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_le_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (VTABLE_cmp(interp, PREG(1), PREG(2)) <= 0) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_le_p_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  temp = Parrot_pmc_new_temporary(interp, enum_class_Integer);

    VTABLE_set_integer_native(interp, temp, IREG(2));
    if (VTABLE_cmp(interp, PREG(1), temp) <= 0) {
        Parrot_pmc_free_temporary(interp, temp);
        return cur_opcode + ICONST(3);
    }

    Parrot_pmc_free_temporary(interp, temp);
    return cur_opcode + 4;
}

opcode_t *
Parrot_le_p_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  temp = Parrot_pmc_new_temporary(interp, enum_class_Integer);

    VTABLE_set_integer_native(interp, temp, ICONST(2));
    if (VTABLE_cmp(interp, PREG(1), temp) <= 0) {
        Parrot_pmc_free_temporary(interp, temp);
        return cur_opcode + ICONST(3);
    }

    Parrot_pmc_free_temporary(interp, temp);
    return cur_opcode + 4;
}

opcode_t *
Parrot_le_p_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (VTABLE_get_number(interp, PREG(1)) <= NREG(2)) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_le_p_nc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (VTABLE_get_number(interp, PREG(1)) <= NCONST(2)) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_le_p_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (STRING_compare(interp, VTABLE_get_string(interp, PREG(1)), SREG(2)) <= 0) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_le_p_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (STRING_compare(interp, VTABLE_get_string(interp, PREG(1)), SCONST(2)) <= 0) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_le_str_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (VTABLE_cmp_string(interp, PREG(1), PREG(2)) <= 0) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_le_num_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (VTABLE_cmp_num(interp, PREG(1), PREG(2)) <= 0) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_gt_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (VTABLE_cmp(interp, PREG(1), PREG(2)) > 0) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_gt_p_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  temp = Parrot_pmc_new_temporary(interp, enum_class_Integer);

    VTABLE_set_integer_native(interp, temp, IREG(2));
    if (VTABLE_cmp(interp, PREG(1), temp) > 0) {
        Parrot_pmc_free_temporary(interp, temp);
        return cur_opcode + ICONST(3);
    }

    Parrot_pmc_free_temporary(interp, temp);
    return cur_opcode + 4;
}

opcode_t *
Parrot_gt_p_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  temp = Parrot_pmc_new_temporary(interp, enum_class_Integer);

    VTABLE_set_integer_native(interp, temp, ICONST(2));
    if (VTABLE_cmp(interp, PREG(1), temp) > 0) {
        Parrot_pmc_free_temporary(interp, temp);
        return cur_opcode + ICONST(3);
    }

    Parrot_pmc_free_temporary(interp, temp);
    return cur_opcode + 4;
}

opcode_t *
Parrot_gt_p_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (VTABLE_get_number(interp, PREG(1)) > NREG(2)) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_gt_p_nc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (VTABLE_get_number(interp, PREG(1)) > NCONST(2)) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_gt_p_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (STRING_compare(interp, VTABLE_get_string(interp, PREG(1)), SREG(2)) > 0) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_gt_p_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (STRING_compare(interp, VTABLE_get_string(interp, PREG(1)), SCONST(2)) > 0) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_gt_str_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (VTABLE_cmp_string(interp, PREG(1), PREG(2)) > 0) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_gt_num_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (VTABLE_cmp_num(interp, PREG(1), PREG(2)) > 0) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_ge_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (VTABLE_cmp(interp, PREG(1), PREG(2)) >= 0) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_ge_p_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  temp = Parrot_pmc_new_temporary(interp, enum_class_Integer);

    VTABLE_set_integer_native(interp, temp, IREG(2));
    if (VTABLE_cmp(interp, PREG(1), temp) >= 0) {
        Parrot_pmc_free_temporary(interp, temp);
        return cur_opcode + ICONST(3);
    }

    Parrot_pmc_free_temporary(interp, temp);
    return cur_opcode + 4;
}

opcode_t *
Parrot_ge_p_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  temp = Parrot_pmc_new_temporary(interp, enum_class_Integer);

    VTABLE_set_integer_native(interp, temp, ICONST(2));
    if (VTABLE_cmp(interp, PREG(1), temp) >= 0) {
        Parrot_pmc_free_temporary(interp, temp);
        return cur_opcode + ICONST(3);
    }

    Parrot_pmc_free_temporary(interp, temp);
    return cur_opcode + 4;
}

opcode_t *
Parrot_ge_p_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (VTABLE_get_number(interp, PREG(1)) >= NREG(2)) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_ge_p_nc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (VTABLE_get_number(interp, PREG(1)) >= NCONST(2)) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_ge_p_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (STRING_compare(interp, VTABLE_get_string(interp, PREG(1)), SREG(2)) >= 0) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_ge_p_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (STRING_compare(interp, VTABLE_get_string(interp, PREG(1)), SCONST(2)) >= 0) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_ge_str_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (VTABLE_cmp_string(interp, PREG(1), PREG(2)) >= 0) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_ge_num_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (VTABLE_cmp_num(interp, PREG(1), PREG(2)) >= 0) {
        return cur_opcode + ICONST(3);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_if_null_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (PMC_IS_NULL(PREG(1))) {
        return cur_opcode + ICONST(2);
    }

    return cur_opcode + 3;
}

opcode_t *
Parrot_if_null_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (STRING_IS_NULL(SREG(1))) {
        return cur_opcode + ICONST(2);
    }

    return cur_opcode + 3;
}

opcode_t *
Parrot_unless_null_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (!PMC_IS_NULL(PREG(1))) {
        return cur_opcode + ICONST(2);
    }

    return cur_opcode + 3;
}

opcode_t *
Parrot_unless_null_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (!STRING_IS_NULL(SREG(1))) {
        return cur_opcode + ICONST(2);
    }

    return cur_opcode + 3;
}

opcode_t *
Parrot_cmp_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = (IREG(2) < IREG(3)) ? (-1) : (IREG(2) > IREG(3)) ? (+1) : 0;
    return cur_opcode + 4;
}

opcode_t *
Parrot_cmp_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = (ICONST(2) < IREG(3)) ? (-1) : (ICONST(2) > IREG(3)) ? (+1) : 0;
    return cur_opcode + 4;
}

opcode_t *
Parrot_cmp_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = (IREG(2) < ICONST(3)) ? (-1) : (IREG(2) > ICONST(3)) ? (+1) : 0;
    return cur_opcode + 4;
}

opcode_t *
Parrot_cmp_i_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = (NREG(2) < NREG(3)) ? (-1) : (NREG(2) > NREG(3)) ? (+1) : 0;
    return cur_opcode + 4;
}

opcode_t *
Parrot_cmp_i_nc_n(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = (NCONST(2) < NREG(3)) ? (-1) : (NCONST(2) > NREG(3)) ? (+1) : 0;
    return cur_opcode + 4;
}

opcode_t *
Parrot_cmp_i_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = (NREG(2) < NCONST(3)) ? (-1) : (NREG(2) > NCONST(3)) ? (+1) : 0;
    return cur_opcode + 4;
}

opcode_t *
Parrot_cmp_i_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = STRING_compare(interp, SREG(2), SREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_cmp_i_sc_s(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = STRING_compare(interp, SCONST(2), SREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_cmp_i_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = STRING_compare(interp, SREG(2), SCONST(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_cmp_i_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = VTABLE_cmp(interp, PREG(2), PREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_cmp_i_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
    const INTVAL   l = VTABLE_get_integer(interp, PREG(2));

    IREG(1) = (l < IREG(3)) ? (-1) : (l > IREG(3)) ? (+1) : 0;
    return cur_opcode + 4;
}

opcode_t *
Parrot_cmp_i_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    const INTVAL   l = VTABLE_get_integer(interp, PREG(2));

    IREG(1) = (l < ICONST(3)) ? (-1) : (l > ICONST(3)) ? (+1) : 0;
    return cur_opcode + 4;
}

opcode_t *
Parrot_cmp_i_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
    const FLOATVAL   l = VTABLE_get_number(interp, PREG(2));

    IREG(1) = (l < NREG(3)) ? (-1) : (l > NREG(3)) ? (+1) : 0;
    return cur_opcode + 4;
}

opcode_t *
Parrot_cmp_i_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
    const FLOATVAL   l = VTABLE_get_number(interp, PREG(2));

    IREG(1) = (l < NCONST(3)) ? (-1) : (l > NCONST(3)) ? (+1) : 0;
    return cur_opcode + 4;
}

opcode_t *
Parrot_cmp_i_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
    STRING * const  l = VTABLE_get_string(interp, PREG(2));

    IREG(1) = STRING_compare(interp, l, SREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_cmp_i_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    STRING * const  l = VTABLE_get_string(interp, PREG(2));

    IREG(1) = STRING_compare(interp, l, SCONST(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_cmp_str_i_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = VTABLE_cmp_string(interp, PREG(2), PREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_cmp_num_i_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = VTABLE_cmp_num(interp, PREG(2), PREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_cmp_pmc_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_cmp_pmc(interp, PREG(2), PREG(3));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_issame_i_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    if (PREG(2) == PREG(3)) {
        IREG(1) = 1;
    }
    else {
        IREG(1) = VTABLE_is_same(interp, PREG(2), PREG(3));
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_issame_i_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = (SREG(2) == SREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_issame_i_sc_s(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = (SCONST(2) == SREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_issame_i_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = (SREG(2) == SCONST(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_issame_i_sc_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = (SCONST(2) == SCONST(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_isntsame_i_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    if (PREG(2) == PREG(3)) {
        IREG(1) = 0;
    }
    else {
        IREG(1) = (!VTABLE_is_same(interp, PREG(2), PREG(3)));
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_isntsame_i_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = (SREG(2) != SREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_isntsame_i_sc_s(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = (SCONST(2) != SREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_isntsame_i_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = (SREG(2) != SCONST(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_isntsame_i_sc_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = (SCONST(2) != SCONST(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_istrue_i_p(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = VTABLE_get_bool(interp, PREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_isfalse_i_p(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = (!VTABLE_get_bool(interp, PREG(2)));
    return cur_opcode + 3;
}

opcode_t *
Parrot_isnull_i_p(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = PMC_IS_NULL(PREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_isnull_i_pc(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = PMC_IS_NULL(PCONST(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_isnull_i_s(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = STRING_IS_NULL(SREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_isnull_i_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = STRING_IS_NULL(SCONST(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_isgt_i_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = ((VTABLE_cmp(interp, PREG(2), PREG(3)) > 0));
    return cur_opcode + 4;
}

opcode_t *
Parrot_isge_i_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = ((VTABLE_cmp(interp, PREG(2), PREG(3)) >= 0));
    return cur_opcode + 4;
}

opcode_t *
Parrot_isle_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = (IREG(2) <= IREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_isle_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = (ICONST(2) <= IREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_isle_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = (IREG(2) <= ICONST(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_isle_i_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = (NREG(2) <= NREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_isle_i_nc_n(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = (NCONST(2) <= NREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_isle_i_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = (NREG(2) <= NCONST(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_isle_i_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = (STRING_compare(interp, SREG(2), SREG(3)) <= 0);
    return cur_opcode + 4;
}

opcode_t *
Parrot_isle_i_sc_s(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = (STRING_compare(interp, SCONST(2), SREG(3)) <= 0);
    return cur_opcode + 4;
}

opcode_t *
Parrot_isle_i_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = (STRING_compare(interp, SREG(2), SCONST(3)) <= 0);
    return cur_opcode + 4;
}

opcode_t *
Parrot_isle_i_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = ((VTABLE_cmp(interp, PREG(2), PREG(3)) <= 0));
    return cur_opcode + 4;
}

opcode_t *
Parrot_islt_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = ((IREG(2) < IREG(3))) ? 1 : 0;
    return cur_opcode + 4;
}

opcode_t *
Parrot_islt_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = ((ICONST(2) < IREG(3))) ? 1 : 0;
    return cur_opcode + 4;
}

opcode_t *
Parrot_islt_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = ((IREG(2) < ICONST(3))) ? 1 : 0;
    return cur_opcode + 4;
}

opcode_t *
Parrot_islt_i_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = (NREG(2) < NREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_islt_i_nc_n(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = (NCONST(2) < NREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_islt_i_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = (NREG(2) < NCONST(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_islt_i_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = (STRING_compare(interp, SREG(2), SREG(3)) < 0);
    return cur_opcode + 4;
}

opcode_t *
Parrot_islt_i_sc_s(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = (STRING_compare(interp, SCONST(2), SREG(3)) < 0);
    return cur_opcode + 4;
}

opcode_t *
Parrot_islt_i_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = (STRING_compare(interp, SREG(2), SCONST(3)) < 0);
    return cur_opcode + 4;
}

opcode_t *
Parrot_islt_i_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = ((VTABLE_cmp(interp, PREG(2), PREG(3)) < 0));
    return cur_opcode + 4;
}

opcode_t *
Parrot_iseq_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = ((IREG(2) == IREG(3))) ? 1 : 0;
    return cur_opcode + 4;
}

opcode_t *
Parrot_iseq_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = ((ICONST(2) == IREG(3))) ? 1 : 0;
    return cur_opcode + 4;
}

opcode_t *
Parrot_iseq_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = ((IREG(2) == ICONST(3))) ? 1 : 0;
    return cur_opcode + 4;
}

opcode_t *
Parrot_iseq_i_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = (NREG(2) == NREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_iseq_i_nc_n(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = (NCONST(2) == NREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_iseq_i_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = (NREG(2) == NCONST(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_iseq_i_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = STRING_equal(interp, SREG(2), SREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_iseq_i_sc_s(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = STRING_equal(interp, SCONST(2), SREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_iseq_i_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = STRING_equal(interp, SREG(2), SCONST(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_iseq_i_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    if ((&PREG(2)) == (&PREG(3))) {
        IREG(1) = 1;
    }
    else {
        IREG(1) = VTABLE_is_equal(interp, PREG(2), PREG(3));
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_isne_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = ((IREG(2) == IREG(3))) ? 0 : 1;
    return cur_opcode + 4;
}

opcode_t *
Parrot_isne_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = ((ICONST(2) == IREG(3))) ? 0 : 1;
    return cur_opcode + 4;
}

opcode_t *
Parrot_isne_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = ((IREG(2) == ICONST(3))) ? 0 : 1;
    return cur_opcode + 4;
}

opcode_t *
Parrot_isne_i_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = (NREG(2) != NREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_isne_i_nc_n(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = (NCONST(2) != NREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_isne_i_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = (NREG(2) != NCONST(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_isne_i_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = (!STRING_equal(interp, SREG(2), SREG(3)));
    return cur_opcode + 4;
}

opcode_t *
Parrot_isne_i_sc_s(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = (!STRING_equal(interp, SCONST(2), SREG(3)));
    return cur_opcode + 4;
}

opcode_t *
Parrot_isne_i_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = (!STRING_equal(interp, SREG(2), SCONST(3)));
    return cur_opcode + 4;
}

opcode_t *
Parrot_isne_i_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    if ((&PREG(2)) == (&PREG(3))) {
        IREG(1) = 0;
    }
    else {
        IREG(1) = (!VTABLE_is_equal(interp, PREG(2), PREG(3)));
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_and_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = IREG(2) ? IREG(3) : IREG(2);
    return cur_opcode + 4;
}

opcode_t *
Parrot_and_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = ICONST(2) ? IREG(3) : ICONST(2);
    return cur_opcode + 4;
}

opcode_t *
Parrot_and_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = IREG(2) ? ICONST(3) : IREG(2);
    return cur_opcode + 4;
}

opcode_t *
Parrot_and_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_get_bool(interp, PREG(2)) ? PREG(3) : PREG(2);
    return cur_opcode + 4;
}

opcode_t *
Parrot_not_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = (!IREG(1));
    return cur_opcode + 2;
}

opcode_t *
Parrot_not_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = (!IREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_not_p(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_set_bool(interp, PREG(1), (!VTABLE_get_bool(interp, PREG(1))));
    return cur_opcode + 2;
}

opcode_t *
Parrot_not_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    const INTVAL   a = (!VTABLE_get_bool(interp, PREG(2)));

    if (PMC_IS_NULL(PREG(1))) {
        PREG(1) = Parrot_pmc_new(interp, Parrot_hll_get_ctx_HLL_type(interp, enum_class_Boolean));
    }

    VTABLE_set_bool(interp, PREG(1), a);
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_or_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = IREG(2) ? IREG(2) : IREG(3);
    return cur_opcode + 4;
}

opcode_t *
Parrot_or_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = ICONST(2) ? ICONST(2) : IREG(3);
    return cur_opcode + 4;
}

opcode_t *
Parrot_or_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = IREG(2) ? IREG(2) : ICONST(3);
    return cur_opcode + 4;
}

opcode_t *
Parrot_or_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_get_bool(interp, PREG(2)) ? PREG(2) : PREG(3);
    return cur_opcode + 4;
}

opcode_t *
Parrot_xor_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = ((IREG(2) && (!IREG(3)))) ? IREG(2) : ((IREG(3) && (!IREG(2)))) ? IREG(3) : 0;
    return cur_opcode + 4;
}

opcode_t *
Parrot_xor_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = ((ICONST(2) && (!IREG(3)))) ? ICONST(2) : ((IREG(3) && (!ICONST(2)))) ? IREG(3) : 0;
    return cur_opcode + 4;
}

opcode_t *
Parrot_xor_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = ((IREG(2) && (!ICONST(3)))) ? IREG(2) : ((ICONST(3) && (!IREG(2)))) ? ICONST(3) : 0;
    return cur_opcode + 4;
}

opcode_t *
Parrot_xor_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    const INTVAL   a = VTABLE_get_bool(interp, PREG(2));
    const INTVAL   b = VTABLE_get_bool(interp, PREG(3));

    if (a && (!b)) {
        PREG(1) = PREG(2);
    }
    else {
        if (b && (!a)) {
            PREG(1) = PREG(3);
        }
        else {
            PREG(1) = Parrot_pmc_new(interp, VTABLE_type(interp, PREG(2)));
            VTABLE_set_bool(interp, PREG(1), 0);
        }

    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_print_i(opcode_t *cur_opcode, PARROT_INTERP) {
    char   buf[128];

    #if defined(PARROT_HAS_SNPRINTF)
        snprintf(buf, 128, INTVAL_FMT, (INTVAL)IREG(1));

#else
        sprintf(buf, INTVAL_FMT, (INTVAL)IREG(1));

#endif
;
    Parrot_io_write_b(interp, _PIO_STDOUT(interp), buf, strlen(buf));
    return cur_opcode + 2;
}

opcode_t *
Parrot_print_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    char   buf[128];

    #if defined(PARROT_HAS_SNPRINTF)
        snprintf(buf, 128, INTVAL_FMT, (INTVAL)ICONST(1));

#else
        sprintf(buf, INTVAL_FMT, (INTVAL)ICONST(1));

#endif
;
    Parrot_io_write_b(interp, _PIO_STDOUT(interp), buf, strlen(buf));
    return cur_opcode + 2;
}

opcode_t *
Parrot_print_n(opcode_t *cur_opcode, PARROT_INTERP) {
    char   buf[128];

    #if defined(PARROT_HAS_SNPRINTF)
        snprintf(buf, 128, FLOATVAL_FMT, NREG(1));

#else
        sprintf(buf, FLOATVAL_FMT, NREG(1));

#endif
;
    #if defined(PARROT_HAS_NEGATIVE_ZERO)
        Parrot_io_write_b(interp, _PIO_STDOUT(interp), buf, strlen(buf));

#else
        if (!Parrot_is_nzero(NREG(1))) {
            Parrot_io_write_b(interp, _PIO_STDOUT(interp), buf, strlen(buf));
        }
        else {
            Parrot_io_write_b(interp, _PIO_STDOUT(interp), "-0", 2);
        }

#endif
;
    return cur_opcode + 2;
}

opcode_t *
Parrot_print_nc(opcode_t *cur_opcode, PARROT_INTERP) {
    char   buf[128];

    #if defined(PARROT_HAS_SNPRINTF)
        snprintf(buf, 128, FLOATVAL_FMT, NCONST(1));

#else
        sprintf(buf, FLOATVAL_FMT, NCONST(1));

#endif
;
    #if defined(PARROT_HAS_NEGATIVE_ZERO)
        Parrot_io_write_b(interp, _PIO_STDOUT(interp), buf, strlen(buf));

#else
        if (!Parrot_is_nzero(NREG(1))) {
            Parrot_io_write_b(interp, _PIO_STDOUT(interp), buf, strlen(buf));
        }
        else {
            Parrot_io_write_b(interp, _PIO_STDOUT(interp), "-0", 2);
        }

#endif
;
    return cur_opcode + 2;
}

opcode_t *
Parrot_print_s(opcode_t *cur_opcode, PARROT_INTERP) {
    STRING  * const  s = SREG(1);

    if (s && Parrot_str_byte_length(interp, s)) {
        Parrot_io_write_s(interp, _PIO_STDOUT(interp), s);
    }

    return cur_opcode + 2;
}

opcode_t *
Parrot_print_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    STRING  * const  s = SCONST(1);

    if (s && Parrot_str_byte_length(interp, s)) {
        Parrot_io_write_s(interp, _PIO_STDOUT(interp), s);
    }

    return cur_opcode + 2;
}

opcode_t *
Parrot_print_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  p = PREG(1);
    STRING  * const  s = (VTABLE_get_string(interp, p));

    if (s) {
        Parrot_io_write_s(interp, _PIO_STDOUT(interp), s);
    }

    return cur_opcode + 2;
}

opcode_t *
Parrot_say_i(opcode_t *cur_opcode, PARROT_INTERP) {
    char   buf[128];

    #if defined(PARROT_HAS_SNPRINTF)
        snprintf(buf, 128, INTVAL_FMT "\n", (INTVAL)IREG(1));

#else
        sprintf(buf, INTVAL_FMT "\n", (INTVAL)IREG(1));

#endif
;
    Parrot_io_write_b(interp, _PIO_STDOUT(interp), buf, strlen(buf));
    return cur_opcode + 2;
}

opcode_t *
Parrot_say_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    char   buf[128];

    #if defined(PARROT_HAS_SNPRINTF)
        snprintf(buf, 128, INTVAL_FMT "\n", (INTVAL)ICONST(1));

#else
        sprintf(buf, INTVAL_FMT "\n", (INTVAL)ICONST(1));

#endif
;
    Parrot_io_write_b(interp, _PIO_STDOUT(interp), buf, strlen(buf));
    return cur_opcode + 2;
}

opcode_t *
Parrot_say_n(opcode_t *cur_opcode, PARROT_INTERP) {
    char   buf[128];

    #if defined(PARROT_HAS_SNPRINTF)
        snprintf(buf, 128, FLOATVAL_FMT "\n", NREG(1));

#else
        sprintf(buf, 128, FLOATVAL_FMT, NREG(1));

#endif
;
    #if defined(PARROT_HAS_NEGATIVE_ZERO)
        Parrot_io_write_b(interp, _PIO_STDOUT(interp), buf, strlen(buf));

#else
        if (!Parrot_is_nzero(NREG(1))) {
            Parrot_io_write_b(interp, _PIO_STDOUT(interp), buf, strlen(buf));
        }
        else {
            Parrot_io_write_b(interp, _PIO_STDOUT(interp), "-0\n", 2);
        }

#endif
;
    return cur_opcode + 2;
}

opcode_t *
Parrot_say_nc(opcode_t *cur_opcode, PARROT_INTERP) {
    char   buf[128];

    #if defined(PARROT_HAS_SNPRINTF)
        snprintf(buf, 128, FLOATVAL_FMT "\n", NCONST(1));

#else
        sprintf(buf, 128, FLOATVAL_FMT, NCONST(1));

#endif
;
    #if defined(PARROT_HAS_NEGATIVE_ZERO)
        Parrot_io_write_b(interp, _PIO_STDOUT(interp), buf, strlen(buf));

#else
        if (!Parrot_is_nzero(NREG(1))) {
            Parrot_io_write_b(interp, _PIO_STDOUT(interp), buf, strlen(buf));
        }
        else {
            Parrot_io_write_b(interp, _PIO_STDOUT(interp), "-0\n", 2);
        }

#endif
;
    return cur_opcode + 2;
}

opcode_t *
Parrot_say_s(opcode_t *cur_opcode, PARROT_INTERP) {
    STRING  * const  s = SREG(1);
    STRING  * const  nl = Parrot_str_new_constant(interp, "\n");

    #if defined(PARROT_HAS_THREADS)
        if (s) {
            int   len = STRING_IS_NULL(s) ? 0 : s->bufused;

            if (len < 80) {
                Parrot_io_write_s(interp, _PIO_STDOUT(interp), Parrot_str_concat(interp, s, nl));
            }
            else {
                Parrot_io_write_s(interp, _PIO_STDOUT(interp), s);
                Parrot_io_write_s(interp, _PIO_STDOUT(interp), nl);
            }

        }
        else {
            Parrot_io_write_s(interp, _PIO_STDOUT(interp), nl);
        }

#else
        if (s) {
            Parrot_io_write_s(interp, _PIO_STDOUT(interp), s);
        }
        Parrot_io_write_s(interp, _PIO_STDOUT(interp), nl);

#endif
;
    return cur_opcode + 2;
}

opcode_t *
Parrot_say_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    STRING  * const  s = SCONST(1);
    STRING  * const  nl = Parrot_str_new_constant(interp, "\n");

    #if defined(PARROT_HAS_THREADS)
        if (s) {
            int   len = STRING_IS_NULL(s) ? 0 : s->bufused;

            if (len < 80) {
                Parrot_io_write_s(interp, _PIO_STDOUT(interp), Parrot_str_concat(interp, s, nl));
            }
            else {
                Parrot_io_write_s(interp, _PIO_STDOUT(interp), s);
                Parrot_io_write_s(interp, _PIO_STDOUT(interp), nl);
            }

        }
        else {
            Parrot_io_write_s(interp, _PIO_STDOUT(interp), nl);
        }

#else
        if (s) {
            Parrot_io_write_s(interp, _PIO_STDOUT(interp), s);
        }
        Parrot_io_write_s(interp, _PIO_STDOUT(interp), nl);

#endif
;
    return cur_opcode + 2;
}

opcode_t *
Parrot_say_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  p = PREG(1);

    if (PMC_IS_NULL(p)) {
        opcode_t  * handler = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 2, EXCEPTION_UNEXPECTED_NULL, "Null PMC in say");

        return (opcode_t *)handler;
    }
    else {
        STRING  * const  s = VTABLE_get_string(interp, p);
        STRING  * const  nl = Parrot_str_new_constant(interp, "\n");

        #if defined(PARROT_HAS_THREADS)
            if (s) {
                int   len = STRING_IS_NULL(s) ? 0 : s->bufused;

                if (len < 80) {
                    Parrot_io_write_s(interp, _PIO_STDOUT(interp), Parrot_str_concat(interp, s, nl));
                }
                else {
                    Parrot_io_write_s(interp, _PIO_STDOUT(interp), s);
                    Parrot_io_write_s(interp, _PIO_STDOUT(interp), nl);
                }

            }
            else {
                Parrot_io_write_s(interp, _PIO_STDOUT(interp), nl);
            }

#else
            if (s) {
                Parrot_io_write_s(interp, _PIO_STDOUT(interp), s);
            }
            Parrot_io_write_s(interp, _PIO_STDOUT(interp), nl);

#endif
;
    }

    return cur_opcode + 2;
}

opcode_t *
Parrot_print_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
    if (PREG(1)) {
        STRING  * const  s = Parrot_str_from_int(interp, IREG(2));

        Parrot_io_write_s(interp, PREG(1), s);
    }

    return cur_opcode + 3;
}

opcode_t *
Parrot_print_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (PREG(1)) {
        STRING  * const  s = Parrot_str_from_int(interp, ICONST(2));

        Parrot_io_write_s(interp, PREG(1), s);
    }

    return cur_opcode + 3;
}

opcode_t *
Parrot_print_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
    if (PREG(1)) {
        STRING  * const  s = Parrot_sprintf_c(interp, FLOATVAL_FMT, NREG(2));

        Parrot_io_write_s(interp, PREG(1), s);
    }

    return cur_opcode + 3;
}

opcode_t *
Parrot_print_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
    if (PREG(1)) {
        STRING  * const  s = Parrot_sprintf_c(interp, FLOATVAL_FMT, NCONST(2));

        Parrot_io_write_s(interp, PREG(1), s);
    }

    return cur_opcode + 3;
}

opcode_t *
Parrot_print_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
    if (SREG(2) && PREG(1)) {
        Parrot_io_write_s(interp, PREG(1), SREG(2));
    }

    return cur_opcode + 3;
}

opcode_t *
Parrot_print_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    if (SCONST(2) && PREG(1)) {
        Parrot_io_write_s(interp, PREG(1), SCONST(2));
    }

    return cur_opcode + 3;
}

opcode_t *
Parrot_print_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    if (PREG(2) && PREG(1)) {
        STRING  * const  s = VTABLE_get_string(interp, PREG(2));

        Parrot_io_write_s(interp, PREG(1), s);
    }

    return cur_opcode + 3;
}

opcode_t *
Parrot_getstdin_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = _PIO_STDIN(interp);
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 2;
}

opcode_t *
Parrot_getstdout_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = _PIO_STDOUT(interp);
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 2;
}

opcode_t *
Parrot_getstderr_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = _PIO_STDERR(interp);
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 2;
}

opcode_t *
Parrot_abs_i(opcode_t *cur_opcode, PARROT_INTERP) {
    #if defined(PARROT_HAS_LABS)
        IREG(1) = labs((long)IREG(1));

#else
        IREG(1) = abs(IREG(1));

#endif
;
    return cur_opcode + 2;
}

opcode_t *
Parrot_abs_n(opcode_t *cur_opcode, PARROT_INTERP) {
    #if defined(PARROT_HAS_FABSL) && NUMVAL_SIZE > 8
        NREG(1) = fabsl((HUGEFLOATVAL)NREG(1));

#else
        NREG(1) = fabs(NREG(1));

#endif
;
    return cur_opcode + 2;
}

opcode_t *
Parrot_abs_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
    #if defined(PARROT_HAS_LABS)
        IREG(1) = labs((long)IREG(2));

#else
        IREG(1) = abs(IREG(2));

#endif
;
    return cur_opcode + 3;
}

opcode_t *
Parrot_abs_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
    #if defined(PARROT_HAS_FABSL) && NUMVAL_SIZE > 8
        NREG(1) = fabsl((HUGEFLOATVAL)NREG(2));

#else
        NREG(1) = fabs(NREG(2));

#endif
;
    return cur_opcode + 3;
}

opcode_t *
Parrot_abs_p(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_i_absolute(interp, PREG(1));
    return cur_opcode + 2;
}

opcode_t *
Parrot_abs_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_absolute(interp, PREG(2), PREG(1));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_add_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
    (IREG(1) += IREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_add_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    (IREG(1) += ICONST(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_add_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
    (NREG(1) += NREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_add_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
    (NREG(1) += NCONST(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_add_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_i_add(interp, PREG(1), PREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_add_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_i_add_int(interp, PREG(1), IREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_add_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_i_add_int(interp, PREG(1), ICONST(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_add_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_i_add_float(interp, PREG(1), NREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_add_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_i_add_float(interp, PREG(1), NCONST(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_add_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = (IREG(2) + IREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_add_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = (ICONST(2) + IREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_add_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = (IREG(2) + ICONST(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_add_n_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
    NREG(1) = (NREG(2) + NREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_add_n_nc_n(opcode_t *cur_opcode, PARROT_INTERP) {
    NREG(1) = (NCONST(2) + NREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_add_n_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
    NREG(1) = (NREG(2) + NCONST(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_add_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_add(interp, PREG(2), PREG(3), PREG(1));
    return cur_opcode + 4;
}

opcode_t *
Parrot_add_p_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_add_int(interp, PREG(2), IREG(3), PREG(1));
    return cur_opcode + 4;
}

opcode_t *
Parrot_add_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_add_int(interp, PREG(2), ICONST(3), PREG(1));
    return cur_opcode + 4;
}

opcode_t *
Parrot_add_p_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_add_float(interp, PREG(2), NREG(3), PREG(1));
    return cur_opcode + 4;
}

opcode_t *
Parrot_add_p_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_add_float(interp, PREG(2), NCONST(3), PREG(1));
    return cur_opcode + 4;
}

opcode_t *
Parrot_dec_i(opcode_t *cur_opcode, PARROT_INTERP) {
    (IREG(1)--);
    return cur_opcode + 2;
}

opcode_t *
Parrot_dec_n(opcode_t *cur_opcode, PARROT_INTERP) {
    (NREG(1)--);
    return cur_opcode + 2;
}

opcode_t *
Parrot_dec_p(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_decrement(interp, PREG(1));
    return cur_opcode + 2;
}

opcode_t *
Parrot_div_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
    const INTVAL   den = IREG(2);

    if (den == 0) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 3, EXCEPTION_DIV_BY_ZERO, "Divide by zero");

        return (opcode_t *)handler;
    }

    (IREG(1) /= den);
    return cur_opcode + 3;
}

opcode_t *
Parrot_div_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    const INTVAL   den = ICONST(2);

    if (den == 0) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 3, EXCEPTION_DIV_BY_ZERO, "Divide by zero");

        return (opcode_t *)handler;
    }

    (IREG(1) /= den);
    return cur_opcode + 3;
}

opcode_t *
Parrot_div_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
    const FLOATVAL   den = NREG(2);

    if (FLOAT_IS_ZERO(den)) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 3, EXCEPTION_DIV_BY_ZERO, "Divide by zero");

        return (opcode_t *)handler;
    }

    (NREG(1) /= den);
    return cur_opcode + 3;
}

opcode_t *
Parrot_div_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
    const FLOATVAL   den = NCONST(2);

    if (FLOAT_IS_ZERO(den)) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 3, EXCEPTION_DIV_BY_ZERO, "Divide by zero");

        return (opcode_t *)handler;
    }

    (NREG(1) /= den);
    return cur_opcode + 3;
}

opcode_t *
Parrot_div_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_i_divide(interp, PREG(1), PREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_div_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_i_divide_int(interp, PREG(1), IREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_div_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_i_divide_int(interp, PREG(1), ICONST(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_div_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_i_divide_float(interp, PREG(1), NREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_div_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_i_divide_float(interp, PREG(1), NCONST(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_div_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
    const INTVAL   den = IREG(3);

    if (den == 0) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 4, EXCEPTION_DIV_BY_ZERO, "Divide by zero");

        return (opcode_t *)handler;
    }

    IREG(1) = (IREG(2) / den);
    return cur_opcode + 4;
}

opcode_t *
Parrot_div_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
    const INTVAL   den = IREG(3);

    if (den == 0) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 4, EXCEPTION_DIV_BY_ZERO, "Divide by zero");

        return (opcode_t *)handler;
    }

    IREG(1) = (ICONST(2) / den);
    return cur_opcode + 4;
}

opcode_t *
Parrot_div_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    const INTVAL   den = ICONST(3);

    if (den == 0) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 4, EXCEPTION_DIV_BY_ZERO, "Divide by zero");

        return (opcode_t *)handler;
    }

    IREG(1) = (IREG(2) / den);
    return cur_opcode + 4;
}

opcode_t *
Parrot_div_i_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    const INTVAL   den = ICONST(3);

    if (den == 0) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 4, EXCEPTION_DIV_BY_ZERO, "Divide by zero");

        return (opcode_t *)handler;
    }

    IREG(1) = (ICONST(2) / den);
    return cur_opcode + 4;
}

opcode_t *
Parrot_div_n_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
    const FLOATVAL   den = NREG(3);

    if (FLOAT_IS_ZERO(den)) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 4, EXCEPTION_DIV_BY_ZERO, "Divide by zero");

        return (opcode_t *)handler;
    }

    NREG(1) = (NREG(2) / den);
    return cur_opcode + 4;
}

opcode_t *
Parrot_div_n_nc_n(opcode_t *cur_opcode, PARROT_INTERP) {
    const FLOATVAL   den = NREG(3);

    if (FLOAT_IS_ZERO(den)) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 4, EXCEPTION_DIV_BY_ZERO, "Divide by zero");

        return (opcode_t *)handler;
    }

    NREG(1) = (NCONST(2) / den);
    return cur_opcode + 4;
}

opcode_t *
Parrot_div_n_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
    const FLOATVAL   den = NCONST(3);

    if (FLOAT_IS_ZERO(den)) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 4, EXCEPTION_DIV_BY_ZERO, "Divide by zero");

        return (opcode_t *)handler;
    }

    NREG(1) = (NREG(2) / den);
    return cur_opcode + 4;
}

opcode_t *
Parrot_div_n_nc_nc(opcode_t *cur_opcode, PARROT_INTERP) {
    const FLOATVAL   den = NCONST(3);

    if (FLOAT_IS_ZERO(den)) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 4, EXCEPTION_DIV_BY_ZERO, "Divide by zero");

        return (opcode_t *)handler;
    }

    NREG(1) = (NCONST(2) / den);
    return cur_opcode + 4;
}

opcode_t *
Parrot_div_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_divide(interp, PREG(2), PREG(3), PREG(1));
    return cur_opcode + 4;
}

opcode_t *
Parrot_div_p_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_divide_int(interp, PREG(2), IREG(3), PREG(1));
    return cur_opcode + 4;
}

opcode_t *
Parrot_div_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_divide_int(interp, PREG(2), ICONST(3), PREG(1));
    return cur_opcode + 4;
}

opcode_t *
Parrot_div_p_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_divide_float(interp, PREG(2), NREG(3), PREG(1));
    return cur_opcode + 4;
}

opcode_t *
Parrot_div_p_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_divide_float(interp, PREG(2), NCONST(3), PREG(1));
    return cur_opcode + 4;
}

opcode_t *
Parrot_fdiv_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
    const INTVAL   den = IREG(2);
    FLOATVAL   f;

    if (den == 0) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 3, EXCEPTION_DIV_BY_ZERO, "Divide by zero");

        return (opcode_t *)handler;
    }

    #if defined(PARROT_HAS_FLOORL) && NUMVAL_SIZE > 8
        f = (FLOATVAL)floorl(((HUGEFLOATVAL)IREG(1) / den));

#else
        f = (FLOATVAL)floor(((FLOATVAL)IREG(1) / den));

#endif
;
    IREG(1) = (INTVAL)f;
    return cur_opcode + 3;
}

opcode_t *
Parrot_fdiv_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    const INTVAL   den = ICONST(2);
    FLOATVAL   f;

    if (den == 0) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 3, EXCEPTION_DIV_BY_ZERO, "Divide by zero");

        return (opcode_t *)handler;
    }

    #if defined(PARROT_HAS_FLOORL) && NUMVAL_SIZE > 8
        f = (FLOATVAL)floorl(((HUGEFLOATVAL)IREG(1) / den));

#else
        f = (FLOATVAL)floor(((FLOATVAL)IREG(1) / den));

#endif
;
    IREG(1) = (INTVAL)f;
    return cur_opcode + 3;
}

opcode_t *
Parrot_fdiv_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
    const FLOATVAL   den = NREG(2);

    if (FLOAT_IS_ZERO(den)) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 3, EXCEPTION_DIV_BY_ZERO, "Divide by zero");

        return (opcode_t *)handler;
    }

    #if defined(PARROT_HAS_FLOORL) && NUMVAL_SIZE > 8
        NREG(1) = (FLOATVAL)floorl((NREG(1) / den));

#else
        NREG(1) = (FLOATVAL)floor((NREG(1) / den));

#endif
;
    return cur_opcode + 3;
}

opcode_t *
Parrot_fdiv_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
    const FLOATVAL   den = NCONST(2);

    if (FLOAT_IS_ZERO(den)) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 3, EXCEPTION_DIV_BY_ZERO, "Divide by zero");

        return (opcode_t *)handler;
    }

    #if defined(PARROT_HAS_FLOORL) && NUMVAL_SIZE > 8
        NREG(1) = (FLOATVAL)floorl((NREG(1) / den));

#else
        NREG(1) = (FLOATVAL)floor((NREG(1) / den));

#endif
;
    return cur_opcode + 3;
}

opcode_t *
Parrot_fdiv_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_i_floor_divide(interp, PREG(1), PREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_fdiv_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_i_floor_divide_int(interp, PREG(1), IREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_fdiv_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_i_floor_divide_int(interp, PREG(1), ICONST(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_fdiv_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_i_floor_divide_float(interp, PREG(1), NREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_fdiv_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_i_floor_divide_float(interp, PREG(1), NCONST(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_fdiv_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
    const INTVAL   den = IREG(3);
    FLOATVAL   f = (FLOATVAL)IREG(2);

    if (den == 0) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 4, EXCEPTION_DIV_BY_ZERO, "Divide by zero");

        return (opcode_t *)handler;
    }

    #if defined(PARROT_HAS_FLOORL) && NUMVAL_SIZE > 8
        f = (FLOATVAL)floorl((f / den));

#else
        f = (FLOATVAL)floor((f / den));

#endif
;
    IREG(1) = (INTVAL)f;
    return cur_opcode + 4;
}

opcode_t *
Parrot_fdiv_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
    const INTVAL   den = IREG(3);
    FLOATVAL   f = (FLOATVAL)ICONST(2);

    if (den == 0) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 4, EXCEPTION_DIV_BY_ZERO, "Divide by zero");

        return (opcode_t *)handler;
    }

    #if defined(PARROT_HAS_FLOORL) && NUMVAL_SIZE > 8
        f = (FLOATVAL)floorl((f / den));

#else
        f = (FLOATVAL)floor((f / den));

#endif
;
    IREG(1) = (INTVAL)f;
    return cur_opcode + 4;
}

opcode_t *
Parrot_fdiv_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    const INTVAL   den = ICONST(3);
    FLOATVAL   f = (FLOATVAL)IREG(2);

    if (den == 0) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 4, EXCEPTION_DIV_BY_ZERO, "Divide by zero");

        return (opcode_t *)handler;
    }

    #if defined(PARROT_HAS_FLOORL) && NUMVAL_SIZE > 8
        f = (FLOATVAL)floorl((f / den));

#else
        f = (FLOATVAL)floor((f / den));

#endif
;
    IREG(1) = (INTVAL)f;
    return cur_opcode + 4;
}

opcode_t *
Parrot_fdiv_n_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
    const FLOATVAL   den = NREG(3);

    if (FLOAT_IS_ZERO(den)) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 4, EXCEPTION_DIV_BY_ZERO, "Divide by zero");

        return (opcode_t *)handler;
    }

    #if defined(PARROT_HAS_FLOORL) && NUMVAL_SIZE > 8
        NREG(1) = (FLOATVAL)floorl((NREG(2) / den));

#else
        NREG(1) = (FLOATVAL)floor((NREG(2) / den));

#endif
;
    return cur_opcode + 4;
}

opcode_t *
Parrot_fdiv_n_nc_n(opcode_t *cur_opcode, PARROT_INTERP) {
    const FLOATVAL   den = NREG(3);

    if (FLOAT_IS_ZERO(den)) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 4, EXCEPTION_DIV_BY_ZERO, "Divide by zero");

        return (opcode_t *)handler;
    }

    #if defined(PARROT_HAS_FLOORL) && NUMVAL_SIZE > 8
        NREG(1) = (FLOATVAL)floorl((NCONST(2) / den));

#else
        NREG(1) = (FLOATVAL)floor((NCONST(2) / den));

#endif
;
    return cur_opcode + 4;
}

opcode_t *
Parrot_fdiv_n_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
    const FLOATVAL   den = NCONST(3);

    if (FLOAT_IS_ZERO(den)) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 4, EXCEPTION_DIV_BY_ZERO, "Divide by zero");

        return (opcode_t *)handler;
    }

    #if defined(PARROT_HAS_FLOORL) && NUMVAL_SIZE > 8
        NREG(1) = (FLOATVAL)floorl((NREG(2) / den));

#else
        NREG(1) = (FLOATVAL)floor((NREG(2) / den));

#endif
;
    return cur_opcode + 4;
}

opcode_t *
Parrot_fdiv_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_floor_divide(interp, PREG(2), PREG(3), PREG(1));
    return cur_opcode + 4;
}

opcode_t *
Parrot_fdiv_p_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_floor_divide_int(interp, PREG(2), IREG(3), PREG(1));
    return cur_opcode + 4;
}

opcode_t *
Parrot_fdiv_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_floor_divide_int(interp, PREG(2), ICONST(3), PREG(1));
    return cur_opcode + 4;
}

opcode_t *
Parrot_fdiv_p_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_floor_divide_float(interp, PREG(2), NREG(3), PREG(1));
    return cur_opcode + 4;
}

opcode_t *
Parrot_fdiv_p_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_floor_divide_float(interp, PREG(2), NCONST(3), PREG(1));
    return cur_opcode + 4;
}

opcode_t *
Parrot_ceil_n(opcode_t *cur_opcode, PARROT_INTERP) {
    #if defined(PARROT_HAS_CEILL) && (NUMVAL_SIZE > 8)
        NREG(1) = (FLOATVAL)ceill(NREG(1));

#else
        NREG(1) = (FLOATVAL)ceil(NREG(1));

#endif
;
    return cur_opcode + 2;
}

opcode_t *
Parrot_ceil_i_n(opcode_t *cur_opcode, PARROT_INTERP) {
    #if defined(PARROT_HAS_CEILL) && (NUMVAL_SIZE > 8)
        const FLOATVAL   f = (FLOATVAL)ceill(NREG(2));

#else
        const FLOATVAL   f = (FLOATVAL)ceil(NREG(2));

#endif
;
    if (PARROT_FLOATVAL_IS_INF_OR_NAN(f)) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 3, EXCEPTION_LOSSY_CONVERSION, "Invalid number");

        return (opcode_t *)handler;
    }
    else {
        IREG(1) = (INTVAL)f;
    }

    return cur_opcode + 3;
}

opcode_t *
Parrot_ceil_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
    #if defined(PARROT_HAS_CEILL) && (NUMVAL_SIZE > 8)
        NREG(1) = (FLOATVAL)ceill(NREG(2));

#else
        NREG(1) = (FLOATVAL)ceil(NREG(2));

#endif
;
    return cur_opcode + 3;
}

opcode_t *
Parrot_floor_n(opcode_t *cur_opcode, PARROT_INTERP) {
    #if defined(PARROT_HAS_FLOORL) && (NUMVAL_SIZE > 8)
        NREG(1) = (FLOATVAL)floorl(NREG(1));

#else
        NREG(1) = (FLOATVAL)floor(NREG(1));

#endif
;
    return cur_opcode + 2;
}

opcode_t *
Parrot_floor_i_n(opcode_t *cur_opcode, PARROT_INTERP) {
    #if defined(PARROT_HAS_FLOORL) && (NUMVAL_SIZE > 8)
        FLOATVAL   f = (FLOATVAL)floorl(NREG(2));

#else
        FLOATVAL   f = (FLOATVAL)floor(NREG(2));

#endif
;
    if (PARROT_FLOATVAL_IS_INF_OR_NAN(f)) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 3, EXCEPTION_LOSSY_CONVERSION, "Invalid number");

        return (opcode_t *)handler;
    }
    else {
        IREG(1) = (INTVAL)f;
    }

    return cur_opcode + 3;
}

opcode_t *
Parrot_floor_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
    #if defined(PARROT_HAS_FLOORL) && (NUMVAL_SIZE > 8)
        NREG(1) = (FLOATVAL)floorl(NREG(2));

#else
        NREG(1) = (FLOATVAL)floor(NREG(2));

#endif
;
    return cur_opcode + 3;
}

opcode_t *
Parrot_inc_i(opcode_t *cur_opcode, PARROT_INTERP) {
    (IREG(1)++);
    return cur_opcode + 2;
}

opcode_t *
Parrot_inc_n(opcode_t *cur_opcode, PARROT_INTERP) {
    (NREG(1)++);
    return cur_opcode + 2;
}

opcode_t *
Parrot_inc_p(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_increment(interp, PREG(1));
    return cur_opcode + 2;
}

opcode_t *
Parrot_mod_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
    if (IREG(2) == 0) {
        IREG(1) = IREG(1);
    }
    else {
        if ((IREG(1) > 0) && (IREG(2) > 0)) {
            IREG(1) = (IREG(1) % IREG(2));
        }
        else {
            IREG(1) = Parrot_util_intval_mod(IREG(1), IREG(2));
        }

    }

    return cur_opcode + 3;
}

opcode_t *
Parrot_mod_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (ICONST(2) == 0) {
        IREG(1) = IREG(1);
    }
    else {
        if ((IREG(1) > 0) && (ICONST(2) > 0)) {
            IREG(1) = (IREG(1) % ICONST(2));
        }
        else {
            IREG(1) = Parrot_util_intval_mod(IREG(1), ICONST(2));
        }

    }

    return cur_opcode + 3;
}

opcode_t *
Parrot_mod_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
    NREG(1) = Parrot_util_floatval_mod(NREG(1), NREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_mod_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
    NREG(1) = Parrot_util_floatval_mod(NREG(1), NCONST(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_mod_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_i_modulus(interp, PREG(1), PREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_mod_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_i_modulus_int(interp, PREG(1), IREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_mod_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_i_modulus_int(interp, PREG(1), ICONST(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_mod_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_i_modulus_float(interp, PREG(1), NREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_mod_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_i_modulus_float(interp, PREG(1), NCONST(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_mod_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
    if (IREG(3) == 0) {
        IREG(1) = IREG(2);
    }
    else {
        if ((IREG(2) > 0) && (IREG(3) > 0)) {
            IREG(1) = (IREG(2) % IREG(3));
        }
        else {
            IREG(1) = Parrot_util_intval_mod(IREG(2), IREG(3));
        }

    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_mod_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
    if (IREG(3) == 0) {
        IREG(1) = ICONST(2);
    }
    else {
        if ((ICONST(2) > 0) && (IREG(3) > 0)) {
            IREG(1) = (ICONST(2) % IREG(3));
        }
        else {
            IREG(1) = Parrot_util_intval_mod(ICONST(2), IREG(3));
        }

    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_mod_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (ICONST(3) == 0) {
        IREG(1) = IREG(2);
    }
    else {
        if ((IREG(2) > 0) && (ICONST(3) > 0)) {
            IREG(1) = (IREG(2) % ICONST(3));
        }
        else {
            IREG(1) = Parrot_util_intval_mod(IREG(2), ICONST(3));
        }

    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_mod_n_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
    NREG(1) = Parrot_util_floatval_mod(NREG(2), NREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_mod_n_nc_n(opcode_t *cur_opcode, PARROT_INTERP) {
    NREG(1) = Parrot_util_floatval_mod(NCONST(2), NREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_mod_n_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
    NREG(1) = Parrot_util_floatval_mod(NREG(2), NCONST(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_mod_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_modulus(interp, PREG(2), PREG(3), PREG(1));
    return cur_opcode + 4;
}

opcode_t *
Parrot_mod_p_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_modulus_int(interp, PREG(2), IREG(3), PREG(1));
    return cur_opcode + 4;
}

opcode_t *
Parrot_mod_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_modulus_int(interp, PREG(2), ICONST(3), PREG(1));
    return cur_opcode + 4;
}

opcode_t *
Parrot_mod_p_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_modulus_float(interp, PREG(2), NREG(3), PREG(1));
    return cur_opcode + 4;
}

opcode_t *
Parrot_mod_p_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_modulus_float(interp, PREG(2), NCONST(3), PREG(1));
    return cur_opcode + 4;
}

opcode_t *
Parrot_mul_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
    (IREG(1) *= IREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_mul_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    (IREG(1) *= ICONST(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_mul_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
    (NREG(1) *= NREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_mul_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
    (NREG(1) *= NCONST(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_mul_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_i_multiply(interp, PREG(1), PREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_mul_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_i_multiply_int(interp, PREG(1), IREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_mul_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_i_multiply_int(interp, PREG(1), ICONST(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_mul_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_i_multiply_float(interp, PREG(1), NREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_mul_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_i_multiply_float(interp, PREG(1), NCONST(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_mul_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = (IREG(2) * IREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_mul_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = (ICONST(2) * IREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_mul_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = (IREG(2) * ICONST(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_mul_n_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
    NREG(1) = (NREG(2) * NREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_mul_n_nc_n(opcode_t *cur_opcode, PARROT_INTERP) {
    NREG(1) = (NCONST(2) * NREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_mul_n_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
    NREG(1) = (NREG(2) * NCONST(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_mul_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_multiply(interp, PREG(2), PREG(3), PREG(1));
    return cur_opcode + 4;
}

opcode_t *
Parrot_mul_p_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_multiply_int(interp, PREG(2), IREG(3), PREG(1));
    return cur_opcode + 4;
}

opcode_t *
Parrot_mul_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_multiply_int(interp, PREG(2), ICONST(3), PREG(1));
    return cur_opcode + 4;
}

opcode_t *
Parrot_mul_p_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_multiply_float(interp, PREG(2), NREG(3), PREG(1));
    return cur_opcode + 4;
}

opcode_t *
Parrot_mul_p_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_multiply_float(interp, PREG(2), NCONST(3), PREG(1));
    return cur_opcode + 4;
}

opcode_t *
Parrot_neg_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = (-IREG(1));
    return cur_opcode + 2;
}

opcode_t *
Parrot_neg_n(opcode_t *cur_opcode, PARROT_INTERP) {
    NREG(1) = (-NREG(1));
    return cur_opcode + 2;
}

opcode_t *
Parrot_neg_p(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_i_neg(interp, PREG(1));
    return cur_opcode + 2;
}

opcode_t *
Parrot_neg_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = (-IREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_neg_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
    NREG(1) = (-NREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_neg_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_neg(interp, PREG(2), PREG(1));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_sub_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
    (IREG(1) -= IREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_sub_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    (IREG(1) -= ICONST(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_sub_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
    (NREG(1) -= NREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_sub_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
    (NREG(1) -= NCONST(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_sub_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_i_subtract(interp, PREG(1), PREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_sub_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_i_subtract_int(interp, PREG(1), IREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_sub_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_i_subtract_int(interp, PREG(1), ICONST(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_sub_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_i_subtract_float(interp, PREG(1), NREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_sub_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_i_subtract_float(interp, PREG(1), NCONST(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_sub_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = (IREG(2) - IREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_sub_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = (ICONST(2) - IREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_sub_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = (IREG(2) - ICONST(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_sub_n_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
    NREG(1) = (NREG(2) - NREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_sub_n_nc_n(opcode_t *cur_opcode, PARROT_INTERP) {
    NREG(1) = (NCONST(2) - NREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_sub_n_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
    NREG(1) = (NREG(2) - NCONST(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_sub_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_subtract(interp, PREG(2), PREG(3), PREG(1));
    return cur_opcode + 4;
}

opcode_t *
Parrot_sub_p_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_subtract_int(interp, PREG(2), IREG(3), PREG(1));
    return cur_opcode + 4;
}

opcode_t *
Parrot_sub_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_subtract_int(interp, PREG(2), ICONST(3), PREG(1));
    return cur_opcode + 4;
}

opcode_t *
Parrot_sub_p_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_subtract_float(interp, PREG(2), NREG(3), PREG(1));
    return cur_opcode + 4;
}

opcode_t *
Parrot_sub_p_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_subtract_float(interp, PREG(2), NCONST(3), PREG(1));
    return cur_opcode + 4;
}

opcode_t *
Parrot_sqrt_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
    NREG(1) = sqrt((FLOATVAL)NREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_is_inf_or_nan_i_n(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = PARROT_FLOATVAL_IS_INF_OR_NAN(NREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_is_inf_or_nan_i_nc(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = PARROT_FLOATVAL_IS_INF_OR_NAN(NCONST(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_callmethodcc_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC       * const  object = PREG(1);
    STRING    * const  meth = SREG(2);
    opcode_t  * const  next =  cur_opcode + 3;
    opcode_t  *  dest = NULL;
    PMC       *  method_pmc = PMCNULL;

    if (!PObj_is_PMC_TEST(object)) {
        dest = Parrot_ex_throw_from_op_args(interp, next, EXCEPTION_METHOD_NOT_FOUND, "Method '%Ss' not found for non-object", meth);
    }
    else {
        method_pmc = VTABLE_find_method(interp, object, meth);
    }

    Parrot_pcc_set_pc(interp, CURRENT_CONTEXT(interp), next);
    if (!PMC_IS_NULL(method_pmc)) {
        Parrot_pcc_reuse_continuation(interp, CURRENT_CONTEXT(interp), next);
        dest = VTABLE_invoke(interp, method_pmc, next);
    }
    else {
        if (!dest) {
            PMC  * const  _class = VTABLE_get_class(interp, object);

            if (PMC_IS_NULL(_class)) {
                dest = Parrot_ex_throw_from_op_args(interp, next, EXCEPTION_METHOD_NOT_FOUND, "Method '%Ss' not found for non-object", meth);
            }
            else {
                dest = Parrot_ex_throw_from_op_args(interp, next, EXCEPTION_METHOD_NOT_FOUND, "Method '%Ss' not found for invocant of class '%Ss'", meth, VTABLE_get_string(interp, _class));
            }

        }

    }

    return (opcode_t *)dest;
}

opcode_t *
Parrot_callmethodcc_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC       * const  object = PREG(1);
    STRING    * const  meth = SCONST(2);
    opcode_t  * const  next =  cur_opcode + 3;
    opcode_t  *  dest = NULL;
    PMC       *  method_pmc = PMCNULL;

    if (!PObj_is_PMC_TEST(object)) {
        dest = Parrot_ex_throw_from_op_args(interp, next, EXCEPTION_METHOD_NOT_FOUND, "Method '%Ss' not found for non-object", meth);
    }
    else {
        method_pmc = VTABLE_find_method(interp, object, meth);
    }

    Parrot_pcc_set_pc(interp, CURRENT_CONTEXT(interp), next);
    if (!PMC_IS_NULL(method_pmc)) {
        Parrot_pcc_reuse_continuation(interp, CURRENT_CONTEXT(interp), next);
        dest = VTABLE_invoke(interp, method_pmc, next);
    }
    else {
        if (!dest) {
            PMC  * const  _class = VTABLE_get_class(interp, object);

            if (PMC_IS_NULL(_class)) {
                dest = Parrot_ex_throw_from_op_args(interp, next, EXCEPTION_METHOD_NOT_FOUND, "Method '%Ss' not found for non-object", meth);
            }
            else {
                dest = Parrot_ex_throw_from_op_args(interp, next, EXCEPTION_METHOD_NOT_FOUND, "Method '%Ss' not found for invocant of class '%Ss'", meth, VTABLE_get_string(interp, _class));
            }

        }

    }

    return (opcode_t *)dest;
}

opcode_t *
Parrot_callmethodcc_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    opcode_t         * dest;
    opcode_t  * const  next =  cur_opcode + 3;

    Parrot_pcc_set_pc(interp, CURRENT_CONTEXT(interp), next);
    Parrot_pcc_reuse_continuation(interp, CURRENT_CONTEXT(interp), next);
    dest = VTABLE_invoke(interp, PREG(2), next);
    return (opcode_t *)dest;
}

opcode_t *
Parrot_callmethod_p_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC       * const  object = PREG(1);
    STRING    * const  meth = SREG(2);
    opcode_t  * const  next =  cur_opcode + 4;
    PMC       * const  method_pmc = VTABLE_find_method(interp, object, meth);
    opcode_t  * dest;

    Parrot_pcc_set_pc(interp, CURRENT_CONTEXT(interp), next);
    if (PMC_IS_NULL(method_pmc)) {
        dest = Parrot_ex_throw_from_op_args(interp, next, EXCEPTION_METHOD_NOT_FOUND, "Method '%Ss' not found for invocant of class '%Ss'", meth, VTABLE_get_string(interp, VTABLE_get_class(interp, object)));
    }
    else {
        interp->current_cont = PREG(3);
        dest = (opcode_t *)VTABLE_invoke(interp, method_pmc, next);
    }

    return (opcode_t *)dest;
}

opcode_t *
Parrot_callmethod_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC       * const  object = PREG(1);
    STRING    * const  meth = SCONST(2);
    opcode_t  * const  next =  cur_opcode + 4;
    PMC       * const  method_pmc = VTABLE_find_method(interp, object, meth);
    opcode_t  * dest;

    Parrot_pcc_set_pc(interp, CURRENT_CONTEXT(interp), next);
    if (PMC_IS_NULL(method_pmc)) {
        dest = Parrot_ex_throw_from_op_args(interp, next, EXCEPTION_METHOD_NOT_FOUND, "Method '%Ss' not found for invocant of class '%Ss'", meth, VTABLE_get_string(interp, VTABLE_get_class(interp, object)));
    }
    else {
        interp->current_cont = PREG(3);
        dest = (opcode_t *)VTABLE_invoke(interp, method_pmc, next);
    }

    return (opcode_t *)dest;
}

opcode_t *
Parrot_callmethod_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC       * const  method_pmc = PREG(2);
    opcode_t  * const  next =  cur_opcode + 4;
    opcode_t  * dest;

    Parrot_pcc_set_pc(interp, CURRENT_CONTEXT(interp), next);
    interp->current_cont = PREG(3);
    dest = (opcode_t *)VTABLE_invoke(interp, method_pmc, next);
    return (opcode_t *)dest;
}

opcode_t *
Parrot_tailcallmethod_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
    opcode_t  * const  next =  cur_opcode + 3;
    PMC       * const  object = PREG(1);
    STRING    * const  meth = SREG(2);
    PMC       * const  method_pmc = VTABLE_find_method(interp, object, meth);
    opcode_t  * dest;

    if (PMC_IS_NULL(method_pmc)) {
        dest = Parrot_ex_throw_from_op_args(interp, next, EXCEPTION_METHOD_NOT_FOUND, "Method '%Ss' not found for invocant of class '%Ss'", meth, VTABLE_get_string(interp, VTABLE_get_class(interp, object)));
    }
    else {
        interp->current_cont = Parrot_pcc_get_continuation(interp, CURRENT_CONTEXT(interp));
        (PObj_get_FLAGS(interp->current_cont) |= SUB_FLAG_TAILCALL);
        dest = (opcode_t *)VTABLE_invoke(interp, method_pmc, next);
    }

    return (opcode_t *)dest;
}

opcode_t *
Parrot_tailcallmethod_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    opcode_t  * const  next =  cur_opcode + 3;
    PMC       * const  object = PREG(1);
    STRING    * const  meth = SCONST(2);
    PMC       * const  method_pmc = VTABLE_find_method(interp, object, meth);
    opcode_t  * dest;

    if (PMC_IS_NULL(method_pmc)) {
        dest = Parrot_ex_throw_from_op_args(interp, next, EXCEPTION_METHOD_NOT_FOUND, "Method '%Ss' not found for invocant of class '%Ss'", meth, VTABLE_get_string(interp, VTABLE_get_class(interp, object)));
    }
    else {
        interp->current_cont = Parrot_pcc_get_continuation(interp, CURRENT_CONTEXT(interp));
        (PObj_get_FLAGS(interp->current_cont) |= SUB_FLAG_TAILCALL);
        dest = (opcode_t *)VTABLE_invoke(interp, method_pmc, next);
    }

    return (opcode_t *)dest;
}

opcode_t *
Parrot_tailcallmethod_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    opcode_t  * const  next =  cur_opcode + 3;
    PMC       * const  method_pmc = PREG(2);
    opcode_t  * dest;

    interp->current_cont = Parrot_pcc_get_continuation(interp, CURRENT_CONTEXT(interp));
    (PObj_get_FLAGS(interp->current_cont) |= SUB_FLAG_TAILCALL);
    dest = (opcode_t *)VTABLE_invoke(interp, method_pmc, next);
    return (opcode_t *)dest;
}

opcode_t *
Parrot_addmethod_p_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_add_method(interp, PREG(1), SREG(2), PREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_addmethod_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_add_method(interp, PREG(1), SCONST(2), PREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_can_i_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  meth = VTABLE_find_method(interp, PREG(2), SREG(3));

    IREG(1) = (!PMC_IS_NULL(meth));
    return cur_opcode + 4;
}

opcode_t *
Parrot_can_i_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  meth = VTABLE_find_method(interp, PREG(2), SCONST(3));

    IREG(1) = (!PMC_IS_NULL(meth));
    return cur_opcode + 4;
}

opcode_t *
Parrot_does_i_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = SREG(3) ? VTABLE_does(interp, PREG(2), SREG(3)) : 0;
    return cur_opcode + 4;
}

opcode_t *
Parrot_does_i_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = SCONST(3) ? VTABLE_does(interp, PREG(2), SCONST(3)) : 0;
    return cur_opcode + 4;
}

opcode_t *
Parrot_does_i_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = PREG(3) ? VTABLE_does_pmc(interp, PREG(2), PREG(3)) : 0;
    return cur_opcode + 4;
}

opcode_t *
Parrot_does_i_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = PCONST(3) ? VTABLE_does_pmc(interp, PREG(2), PCONST(3)) : 0;
    return cur_opcode + 4;
}

opcode_t *
Parrot_isa_i_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = SREG(3) ? VTABLE_isa(interp, PREG(2), SREG(3)) : 0;
    return cur_opcode + 4;
}

opcode_t *
Parrot_isa_i_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = SCONST(3) ? VTABLE_isa(interp, PREG(2), SCONST(3)) : 0;
    return cur_opcode + 4;
}

opcode_t *
Parrot_isa_i_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = PREG(3) ? VTABLE_isa_pmc(interp, PREG(2), PREG(3)) : 0;
    return cur_opcode + 4;
}

opcode_t *
Parrot_isa_i_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = PCONST(3) ? VTABLE_isa_pmc(interp, PREG(2), PCONST(3)) : 0;
    return cur_opcode + 4;
}

opcode_t *
Parrot_newclass_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  name = Parrot_pmc_new(interp, enum_class_String);

    VTABLE_set_string_native(interp, name, SREG(2));
    PREG(1) = Parrot_pmc_new_init(interp, enum_class_Class, name);
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_newclass_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  name = Parrot_pmc_new(interp, enum_class_String);

    VTABLE_set_string_native(interp, name, SCONST(2));
    PREG(1) = Parrot_pmc_new_init(interp, enum_class_Class, name);
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_newclass_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = Parrot_pmc_new_init(interp, enum_class_Class, PREG(2));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_newclass_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = Parrot_pmc_new_init(interp, enum_class_Class, PCONST(2));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_subclass_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC       * const  parent_class = Parrot_oo_get_class(interp, PREG(2));
    opcode_t  * const  next =  cur_opcode + 3;

    if (PMC_IS_NULL(parent_class)) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, next, EXCEPTION_NO_CLASS, "Class '%Ss' doesn't exist", VTABLE_get_string(interp, PREG(2)));

        PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
        return (opcode_t *)handler;
    }

    PREG(1) = Parrot_pmc_new(interp, enum_class_Class);
    VTABLE_add_parent(interp, PREG(1), parent_class);
    {
        PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
        return (opcode_t *)next;
    }

}

opcode_t *
Parrot_subclass_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC       * const  parent_class = Parrot_oo_get_class(interp, PCONST(2));
    opcode_t  * const  next =  cur_opcode + 3;

    if (PMC_IS_NULL(parent_class)) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, next, EXCEPTION_NO_CLASS, "Class '%Ss' doesn't exist", VTABLE_get_string(interp, PCONST(2)));

        PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
        return (opcode_t *)handler;
    }

    PREG(1) = Parrot_pmc_new(interp, enum_class_Class);
    VTABLE_add_parent(interp, PREG(1), parent_class);
    {
        PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
        return (opcode_t *)next;
    }

}

opcode_t *
Parrot_subclass_p_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC       * const  parent_class = Parrot_oo_get_class(interp, PREG(2));
    opcode_t  * const  next =  cur_opcode + 4;

    if (PMC_IS_NULL(parent_class)) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, next, EXCEPTION_NO_CLASS, "Class '%Ss' doesn't exist", VTABLE_get_string(interp, PREG(2)));

        PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
        return (opcode_t *)handler;
    }

    PREG(1) = Parrot_oo_newclass_from_str(interp, SREG(3));
    VTABLE_add_parent(interp, PREG(1), parent_class);
    {
        PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
        return (opcode_t *)next;
    }

}

opcode_t *
Parrot_subclass_p_pc_s(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC       * const  parent_class = Parrot_oo_get_class(interp, PCONST(2));
    opcode_t  * const  next =  cur_opcode + 4;

    if (PMC_IS_NULL(parent_class)) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, next, EXCEPTION_NO_CLASS, "Class '%Ss' doesn't exist", VTABLE_get_string(interp, PCONST(2)));

        PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
        return (opcode_t *)handler;
    }

    PREG(1) = Parrot_oo_newclass_from_str(interp, SREG(3));
    VTABLE_add_parent(interp, PREG(1), parent_class);
    {
        PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
        return (opcode_t *)next;
    }

}

opcode_t *
Parrot_subclass_p_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC       * const  parent_class = Parrot_oo_get_class(interp, PREG(2));
    opcode_t  * const  next =  cur_opcode + 4;

    if (PMC_IS_NULL(parent_class)) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, next, EXCEPTION_NO_CLASS, "Class '%Ss' doesn't exist", VTABLE_get_string(interp, PREG(2)));

        PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
        return (opcode_t *)handler;
    }

    PREG(1) = Parrot_oo_newclass_from_str(interp, SCONST(3));
    VTABLE_add_parent(interp, PREG(1), parent_class);
    {
        PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
        return (opcode_t *)next;
    }

}

opcode_t *
Parrot_subclass_p_pc_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC       * const  parent_class = Parrot_oo_get_class(interp, PCONST(2));
    opcode_t  * const  next =  cur_opcode + 4;

    if (PMC_IS_NULL(parent_class)) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, next, EXCEPTION_NO_CLASS, "Class '%Ss' doesn't exist", VTABLE_get_string(interp, PCONST(2)));

        PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
        return (opcode_t *)handler;
    }

    PREG(1) = Parrot_oo_newclass_from_str(interp, SCONST(3));
    VTABLE_add_parent(interp, PREG(1), parent_class);
    {
        PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
        return (opcode_t *)next;
    }

}

opcode_t *
Parrot_subclass_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC       * const  parent_class = Parrot_oo_get_class(interp, PREG(2));
    opcode_t  * const  next =  cur_opcode + 4;

    if (PMC_IS_NULL(parent_class)) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, next, EXCEPTION_NO_CLASS, "Class '%Ss' doesn't exist", VTABLE_get_string(interp, PREG(2)));

        PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
        return (opcode_t *)handler;
    }

    PREG(1) = Parrot_pmc_new_init(interp, enum_class_Class, PREG(3));
    VTABLE_add_parent(interp, PREG(1), parent_class);
    {
        PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
        return (opcode_t *)next;
    }

}

opcode_t *
Parrot_subclass_p_pc_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC       * const  parent_class = Parrot_oo_get_class(interp, PCONST(2));
    opcode_t  * const  next =  cur_opcode + 4;

    if (PMC_IS_NULL(parent_class)) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, next, EXCEPTION_NO_CLASS, "Class '%Ss' doesn't exist", VTABLE_get_string(interp, PCONST(2)));

        PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
        return (opcode_t *)handler;
    }

    PREG(1) = Parrot_pmc_new_init(interp, enum_class_Class, PREG(3));
    VTABLE_add_parent(interp, PREG(1), parent_class);
    {
        PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
        return (opcode_t *)next;
    }

}

opcode_t *
Parrot_subclass_p_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC       * const  parent_class = Parrot_oo_get_class(interp, PREG(2));
    opcode_t  * const  next =  cur_opcode + 4;

    if (PMC_IS_NULL(parent_class)) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, next, EXCEPTION_NO_CLASS, "Class '%Ss' doesn't exist", VTABLE_get_string(interp, PREG(2)));

        PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
        return (opcode_t *)handler;
    }

    PREG(1) = Parrot_pmc_new_init(interp, enum_class_Class, PCONST(3));
    VTABLE_add_parent(interp, PREG(1), parent_class);
    {
        PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
        return (opcode_t *)next;
    }

}

opcode_t *
Parrot_subclass_p_pc_pc(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC       * const  parent_class = Parrot_oo_get_class(interp, PCONST(2));
    opcode_t  * const  next =  cur_opcode + 4;

    if (PMC_IS_NULL(parent_class)) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, next, EXCEPTION_NO_CLASS, "Class '%Ss' doesn't exist", VTABLE_get_string(interp, PCONST(2)));

        PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
        return (opcode_t *)handler;
    }

    PREG(1) = Parrot_pmc_new_init(interp, enum_class_Class, PCONST(3));
    VTABLE_add_parent(interp, PREG(1), parent_class);
    {
        PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
        return (opcode_t *)next;
    }

}

opcode_t *
Parrot_subclass_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC       * const  parent_class = Parrot_oo_get_class_str(interp, SREG(2));
    opcode_t  * const  next =  cur_opcode + 3;

    if (PMC_IS_NULL(parent_class)) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, next, EXCEPTION_NO_CLASS, "Class '%Ss' doesn't exist", SREG(2));

        PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
        return (opcode_t *)handler;
    }

    PREG(1) = Parrot_pmc_new(interp, enum_class_Class);
    VTABLE_add_parent(interp, PREG(1), parent_class);
    {
        PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
        return (opcode_t *)next;
    }

}

opcode_t *
Parrot_subclass_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC       * const  parent_class = Parrot_oo_get_class_str(interp, SCONST(2));
    opcode_t  * const  next =  cur_opcode + 3;

    if (PMC_IS_NULL(parent_class)) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, next, EXCEPTION_NO_CLASS, "Class '%Ss' doesn't exist", SCONST(2));

        PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
        return (opcode_t *)handler;
    }

    PREG(1) = Parrot_pmc_new(interp, enum_class_Class);
    VTABLE_add_parent(interp, PREG(1), parent_class);
    {
        PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
        return (opcode_t *)next;
    }

}

opcode_t *
Parrot_subclass_p_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC       * const  parent_class = Parrot_oo_get_class_str(interp, SREG(2));
    opcode_t  * const  next =  cur_opcode + 4;

    if (PMC_IS_NULL(parent_class)) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, next, EXCEPTION_NO_CLASS, "Class '%Ss' doesn't exist", SREG(2));

        PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
        return (opcode_t *)handler;
    }

    PREG(1) = Parrot_oo_newclass_from_str(interp, SREG(3));
    VTABLE_add_parent(interp, PREG(1), parent_class);
    {
        PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
        return (opcode_t *)next;
    }

}

opcode_t *
Parrot_subclass_p_sc_s(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC       * const  parent_class = Parrot_oo_get_class_str(interp, SCONST(2));
    opcode_t  * const  next =  cur_opcode + 4;

    if (PMC_IS_NULL(parent_class)) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, next, EXCEPTION_NO_CLASS, "Class '%Ss' doesn't exist", SCONST(2));

        PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
        return (opcode_t *)handler;
    }

    PREG(1) = Parrot_oo_newclass_from_str(interp, SREG(3));
    VTABLE_add_parent(interp, PREG(1), parent_class);
    {
        PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
        return (opcode_t *)next;
    }

}

opcode_t *
Parrot_subclass_p_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC       * const  parent_class = Parrot_oo_get_class_str(interp, SREG(2));
    opcode_t  * const  next =  cur_opcode + 4;

    if (PMC_IS_NULL(parent_class)) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, next, EXCEPTION_NO_CLASS, "Class '%Ss' doesn't exist", SREG(2));

        PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
        return (opcode_t *)handler;
    }

    PREG(1) = Parrot_oo_newclass_from_str(interp, SCONST(3));
    VTABLE_add_parent(interp, PREG(1), parent_class);
    {
        PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
        return (opcode_t *)next;
    }

}

opcode_t *
Parrot_subclass_p_sc_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC       * const  parent_class = Parrot_oo_get_class_str(interp, SCONST(2));
    opcode_t  * const  next =  cur_opcode + 4;

    if (PMC_IS_NULL(parent_class)) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, next, EXCEPTION_NO_CLASS, "Class '%Ss' doesn't exist", SCONST(2));

        PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
        return (opcode_t *)handler;
    }

    PREG(1) = Parrot_oo_newclass_from_str(interp, SCONST(3));
    VTABLE_add_parent(interp, PREG(1), parent_class);
    {
        PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
        return (opcode_t *)next;
    }

}

opcode_t *
Parrot_subclass_p_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC       * const  parent_class = Parrot_oo_get_class_str(interp, SREG(2));
    opcode_t  * const  next =  cur_opcode + 4;

    if (PMC_IS_NULL(parent_class)) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, next, EXCEPTION_NO_CLASS, "Class '%Ss' doesn't exist", SREG(2));

        PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
        return (opcode_t *)handler;
    }

    PREG(1) = Parrot_pmc_new_init(interp, enum_class_Class, PREG(3));
    VTABLE_add_parent(interp, PREG(1), parent_class);
    {
        PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
        return (opcode_t *)next;
    }

}

opcode_t *
Parrot_subclass_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC       * const  parent_class = Parrot_oo_get_class_str(interp, SCONST(2));
    opcode_t  * const  next =  cur_opcode + 4;

    if (PMC_IS_NULL(parent_class)) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, next, EXCEPTION_NO_CLASS, "Class '%Ss' doesn't exist", SCONST(2));

        PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
        return (opcode_t *)handler;
    }

    PREG(1) = Parrot_pmc_new_init(interp, enum_class_Class, PREG(3));
    VTABLE_add_parent(interp, PREG(1), parent_class);
    {
        PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
        return (opcode_t *)next;
    }

}

opcode_t *
Parrot_subclass_p_s_pc(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC       * const  parent_class = Parrot_oo_get_class_str(interp, SREG(2));
    opcode_t  * const  next =  cur_opcode + 4;

    if (PMC_IS_NULL(parent_class)) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, next, EXCEPTION_NO_CLASS, "Class '%Ss' doesn't exist", SREG(2));

        PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
        return (opcode_t *)handler;
    }

    PREG(1) = Parrot_pmc_new_init(interp, enum_class_Class, PCONST(3));
    VTABLE_add_parent(interp, PREG(1), parent_class);
    {
        PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
        return (opcode_t *)next;
    }

}

opcode_t *
Parrot_subclass_p_sc_pc(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC       * const  parent_class = Parrot_oo_get_class_str(interp, SCONST(2));
    opcode_t  * const  next =  cur_opcode + 4;

    if (PMC_IS_NULL(parent_class)) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, next, EXCEPTION_NO_CLASS, "Class '%Ss' doesn't exist", SCONST(2));

        PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
        return (opcode_t *)handler;
    }

    PREG(1) = Parrot_pmc_new_init(interp, enum_class_Class, PCONST(3));
    VTABLE_add_parent(interp, PREG(1), parent_class);
    {
        PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
        return (opcode_t *)next;
    }

}

opcode_t *
Parrot_get_class_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = Parrot_oo_get_class_str(interp, SREG(2));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_get_class_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = Parrot_oo_get_class_str(interp, SCONST(2));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_get_class_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = Parrot_oo_get_class(interp, PREG(2));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_get_class_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = Parrot_oo_get_class(interp, PCONST(2));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_class_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_get_class(interp, PREG(2));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_addparent_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_add_parent(interp, PREG(1), PREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_removeparent_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_remove_parent(interp, PREG(1), PREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_addrole_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_add_role(interp, PREG(1), PREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_addattribute_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_add_attribute(interp, PREG(1), SREG(2), PMCNULL);
    return cur_opcode + 3;
}

opcode_t *
Parrot_addattribute_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_add_attribute(interp, PREG(1), SCONST(2), PMCNULL);
    return cur_opcode + 3;
}

opcode_t *
Parrot_removeattribute_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_remove_attribute(interp, PREG(1), SREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_removeattribute_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_remove_attribute(interp, PREG(1), SCONST(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_getattribute_p_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_get_attr_str(interp, PREG(2), SREG(3));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_getattribute_p_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_get_attr_str(interp, PREG(2), SCONST(3));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_getattribute_p_p_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_get_attr_keyed(interp, PREG(2), PREG(3), SREG(4));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_getattribute_p_p_pc_s(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_get_attr_keyed(interp, PREG(2), PCONST(3), SREG(4));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_getattribute_p_p_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_get_attr_keyed(interp, PREG(2), PREG(3), SCONST(4));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_getattribute_p_p_pc_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_get_attr_keyed(interp, PREG(2), PCONST(3), SCONST(4));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_setattribute_p_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_set_attr_str(interp, PREG(1), SREG(2), PREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_setattribute_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_set_attr_str(interp, PREG(1), SCONST(2), PREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_setattribute_p_p_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_set_attr_keyed(interp, PREG(1), PREG(2), SREG(3), PREG(4));
    return cur_opcode + 5;
}

opcode_t *
Parrot_setattribute_p_pc_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_set_attr_keyed(interp, PREG(1), PCONST(2), SREG(3), PREG(4));
    return cur_opcode + 5;
}

opcode_t *
Parrot_setattribute_p_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_set_attr_keyed(interp, PREG(1), PREG(2), SCONST(3), PREG(4));
    return cur_opcode + 5;
}

opcode_t *
Parrot_setattribute_p_pc_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_set_attr_keyed(interp, PREG(1), PCONST(2), SCONST(3), PREG(4));
    return cur_opcode + 5;
}

opcode_t *
Parrot_inspect_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_inspect(interp, PREG(2));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_inspect_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_inspect(interp, PCONST(2));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_inspect_p_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_inspect_str(interp, PREG(2), SREG(3));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_inspect_p_pc_s(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_inspect_str(interp, PCONST(2), SREG(3));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_inspect_p_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_inspect_str(interp, PREG(2), SCONST(3));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_inspect_p_pc_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_inspect_str(interp, PCONST(2), SCONST(3));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_new_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
    STRING  * const  name = SREG(2);
    PMC     * const  _class = Parrot_pcc_get_HLL(interp, CURRENT_CONTEXT(interp)) ? Parrot_oo_get_class_str(interp, name) : PMCNULL;

    if (!PMC_IS_NULL(_class)) {
        PREG(1) = VTABLE_instantiate(interp, _class, PMCNULL);
    }
    else {
        const INTVAL   type = Parrot_pmc_get_type_str(interp, name);

        if (type <= 0) {
            opcode_t  * const  dest = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 3, EXCEPTION_NO_CLASS, "Class '%Ss' not found", name);

            PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
            return (opcode_t *)dest;
        }

        PREG(1) = Parrot_pmc_new(interp, type);
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_new_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    STRING  * const  name = SCONST(2);
    PMC     * const  _class = Parrot_pcc_get_HLL(interp, CURRENT_CONTEXT(interp)) ? Parrot_oo_get_class_str(interp, name) : PMCNULL;

    if (!PMC_IS_NULL(_class)) {
        PREG(1) = VTABLE_instantiate(interp, _class, PMCNULL);
    }
    else {
        const INTVAL   type = Parrot_pmc_get_type_str(interp, name);

        if (type <= 0) {
            opcode_t  * const  dest = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 3, EXCEPTION_NO_CLASS, "Class '%Ss' not found", name);

            PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
            return (opcode_t *)dest;
        }

        PREG(1) = Parrot_pmc_new(interp, type);
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_new_p_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
    STRING  * const  name = SREG(2);
    PMC     * const  _class = Parrot_pcc_get_HLL(interp, CURRENT_CONTEXT(interp)) ? Parrot_oo_get_class_str(interp, name) : PMCNULL;

    if (!PMC_IS_NULL(_class)) {
        PREG(1) = VTABLE_instantiate(interp, _class, PREG(3));
    }
    else {
        const INTVAL   type = Parrot_pmc_get_type_str(interp, name);

        if (type <= 0) {
            opcode_t  * const  dest = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 4, EXCEPTION_NO_CLASS, "Class '%Ss' not found", name);

            PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
            return (opcode_t *)dest;
        }

        PREG(1) = Parrot_pmc_new_init(interp, type, PREG(3));
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_new_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
    STRING  * const  name = SCONST(2);
    PMC     * const  _class = Parrot_pcc_get_HLL(interp, CURRENT_CONTEXT(interp)) ? Parrot_oo_get_class_str(interp, name) : PMCNULL;

    if (!PMC_IS_NULL(_class)) {
        PREG(1) = VTABLE_instantiate(interp, _class, PREG(3));
    }
    else {
        const INTVAL   type = Parrot_pmc_get_type_str(interp, name);

        if (type <= 0) {
            opcode_t  * const  dest = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 4, EXCEPTION_NO_CLASS, "Class '%Ss' not found", name);

            PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
            return (opcode_t *)dest;
        }

        PREG(1) = Parrot_pmc_new_init(interp, type, PREG(3));
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_new_p_s_pc(opcode_t *cur_opcode, PARROT_INTERP) {
    STRING  * const  name = SREG(2);
    PMC     * const  _class = Parrot_pcc_get_HLL(interp, CURRENT_CONTEXT(interp)) ? Parrot_oo_get_class_str(interp, name) : PMCNULL;

    if (!PMC_IS_NULL(_class)) {
        PREG(1) = VTABLE_instantiate(interp, _class, PCONST(3));
    }
    else {
        const INTVAL   type = Parrot_pmc_get_type_str(interp, name);

        if (type <= 0) {
            opcode_t  * const  dest = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 4, EXCEPTION_NO_CLASS, "Class '%Ss' not found", name);

            PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
            return (opcode_t *)dest;
        }

        PREG(1) = Parrot_pmc_new_init(interp, type, PCONST(3));
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_new_p_sc_pc(opcode_t *cur_opcode, PARROT_INTERP) {
    STRING  * const  name = SCONST(2);
    PMC     * const  _class = Parrot_pcc_get_HLL(interp, CURRENT_CONTEXT(interp)) ? Parrot_oo_get_class_str(interp, name) : PMCNULL;

    if (!PMC_IS_NULL(_class)) {
        PREG(1) = VTABLE_instantiate(interp, _class, PCONST(3));
    }
    else {
        const INTVAL   type = Parrot_pmc_get_type_str(interp, name);

        if (type <= 0) {
            opcode_t  * const  dest = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 4, EXCEPTION_NO_CLASS, "Class '%Ss' not found", name);

            PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
            return (opcode_t *)dest;
        }

        PREG(1) = Parrot_pmc_new_init(interp, type, PCONST(3));
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_new_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  name_key = PREG(2);
    PMC  * const  _class = Parrot_oo_get_class(interp, name_key);

    if (!PMC_IS_NULL(_class)) {
        PREG(1) = VTABLE_instantiate(interp, _class, PMCNULL);
    }
    else {
        const INTVAL   type = Parrot_pmc_get_type(interp, name_key);

        if (type <= 0) {
            opcode_t  * const  dest = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 3, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, name_key));

            PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
            return (opcode_t *)dest;
        }

        PREG(1) = Parrot_pmc_new(interp, type);
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_new_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  name_key = PCONST(2);
    PMC  * const  _class = Parrot_oo_get_class(interp, name_key);

    if (!PMC_IS_NULL(_class)) {
        PREG(1) = VTABLE_instantiate(interp, _class, PMCNULL);
    }
    else {
        const INTVAL   type = Parrot_pmc_get_type(interp, name_key);

        if (type <= 0) {
            opcode_t  * const  dest = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 3, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, name_key));

            PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
            return (opcode_t *)dest;
        }

        PREG(1) = Parrot_pmc_new(interp, type);
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_new_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  name_key = PREG(2);
    PMC  * const  _class = Parrot_oo_get_class(interp, name_key);

    if (!PMC_IS_NULL(_class)) {
        PREG(1) = VTABLE_instantiate(interp, _class, PREG(3));
    }
    else {
        const INTVAL   type = Parrot_pmc_get_type(interp, name_key);

        if (type <= 0) {
            opcode_t  * const  dest = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 4, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, name_key));

            PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
            return (opcode_t *)dest;
        }

        PREG(1) = Parrot_pmc_new_init(interp, type, PREG(3));
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_new_p_pc_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  name_key = PCONST(2);
    PMC  * const  _class = Parrot_oo_get_class(interp, name_key);

    if (!PMC_IS_NULL(_class)) {
        PREG(1) = VTABLE_instantiate(interp, _class, PREG(3));
    }
    else {
        const INTVAL   type = Parrot_pmc_get_type(interp, name_key);

        if (type <= 0) {
            opcode_t  * const  dest = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 4, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, name_key));

            PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
            return (opcode_t *)dest;
        }

        PREG(1) = Parrot_pmc_new_init(interp, type, PREG(3));
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_new_p_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  name_key = PREG(2);
    PMC  * const  _class = Parrot_oo_get_class(interp, name_key);

    if (!PMC_IS_NULL(_class)) {
        PREG(1) = VTABLE_instantiate(interp, _class, PCONST(3));
    }
    else {
        const INTVAL   type = Parrot_pmc_get_type(interp, name_key);

        if (type <= 0) {
            opcode_t  * const  dest = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 4, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, name_key));

            PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
            return (opcode_t *)dest;
        }

        PREG(1) = Parrot_pmc_new_init(interp, type, PCONST(3));
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_new_p_pc_pc(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  name_key = PCONST(2);
    PMC  * const  _class = Parrot_oo_get_class(interp, name_key);

    if (!PMC_IS_NULL(_class)) {
        PREG(1) = VTABLE_instantiate(interp, _class, PCONST(3));
    }
    else {
        const INTVAL   type = Parrot_pmc_get_type(interp, name_key);

        if (type <= 0) {
            opcode_t  * const  dest = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 4, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, name_key));

            PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
            return (opcode_t *)dest;
        }

        PREG(1) = Parrot_pmc_new_init(interp, type, PCONST(3));
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_root_new_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  key = PREG(2);
    PMC  * const  root_ns = interp->root_namespace;
    PMC  * const  ns = Parrot_ns_get_namespace_keyed(interp, root_ns, key);
    PMC  *  classobj = PMCNULL;

    if (!PMC_IS_NULL(ns)) {
        classobj = Parrot_oo_get_class(interp, ns);
    }

    if (!PMC_IS_NULL(classobj)) {
        PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
    }
    else {
        opcode_t  * const  dest = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 3, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, key));

        PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
        return (opcode_t *)dest;
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_root_new_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  key = PCONST(2);
    PMC  * const  root_ns = interp->root_namespace;
    PMC  * const  ns = Parrot_ns_get_namespace_keyed(interp, root_ns, key);
    PMC  *  classobj = PMCNULL;

    if (!PMC_IS_NULL(ns)) {
        classobj = Parrot_oo_get_class(interp, ns);
    }

    if (!PMC_IS_NULL(classobj)) {
        PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
    }
    else {
        opcode_t  * const  dest = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 3, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, key));

        PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
        return (opcode_t *)dest;
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_root_new_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  key = PREG(2);
    PMC  * const  root_ns = interp->root_namespace;
    PMC  * const  ns = Parrot_ns_get_namespace_keyed(interp, root_ns, key);
    PMC  *  classobj = PMCNULL;

    if (!PMC_IS_NULL(ns)) {
        classobj = Parrot_oo_get_class(interp, ns);
    }

    if (!PMC_IS_NULL(classobj)) {
        PREG(1) = VTABLE_instantiate(interp, classobj, PREG(3));
    }
    else {
        opcode_t  * const  dest = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 4, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, key));

        PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
        return (opcode_t *)dest;
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_root_new_p_pc_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  key = PCONST(2);
    PMC  * const  root_ns = interp->root_namespace;
    PMC  * const  ns = Parrot_ns_get_namespace_keyed(interp, root_ns, key);
    PMC  *  classobj = PMCNULL;

    if (!PMC_IS_NULL(ns)) {
        classobj = Parrot_oo_get_class(interp, ns);
    }

    if (!PMC_IS_NULL(classobj)) {
        PREG(1) = VTABLE_instantiate(interp, classobj, PREG(3));
    }
    else {
        opcode_t  * const  dest = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 4, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, key));

        PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
        return (opcode_t *)dest;
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_root_new_p_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  key = PREG(2);
    PMC  * const  root_ns = interp->root_namespace;
    PMC  * const  ns = Parrot_ns_get_namespace_keyed(interp, root_ns, key);
    PMC  *  classobj = PMCNULL;

    if (!PMC_IS_NULL(ns)) {
        classobj = Parrot_oo_get_class(interp, ns);
    }

    if (!PMC_IS_NULL(classobj)) {
        PREG(1) = VTABLE_instantiate(interp, classobj, PCONST(3));
    }
    else {
        opcode_t  * const  dest = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 4, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, key));

        PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
        return (opcode_t *)dest;
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_root_new_p_pc_pc(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  key = PCONST(2);
    PMC  * const  root_ns = interp->root_namespace;
    PMC  * const  ns = Parrot_ns_get_namespace_keyed(interp, root_ns, key);
    PMC  *  classobj = PMCNULL;

    if (!PMC_IS_NULL(ns)) {
        classobj = Parrot_oo_get_class(interp, ns);
    }

    if (!PMC_IS_NULL(classobj)) {
        PREG(1) = VTABLE_instantiate(interp, classobj, PCONST(3));
    }
    else {
        opcode_t  * const  dest = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 4, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, key));

        PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
        return (opcode_t *)dest;
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_typeof_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = VTABLE_name(interp, PREG(2));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_typeof_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_get_class(interp, PREG(2));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_get_repr_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = VTABLE_get_repr(interp, PREG(2));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_find_method_p_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
    opcode_t  * const  resume =  cur_opcode + 4;

    PREG(1) = VTABLE_find_method(interp, PREG(2), SREG(3));
    if (PMC_IS_NULL(PREG(1)) || (!VTABLE_defined(interp, PREG(1)))) {
        opcode_t  * const  dest = Parrot_ex_throw_from_op_args(interp, resume, EXCEPTION_METHOD_NOT_FOUND, "Method '%Ss' not found for invocant of class '%Ss'", SREG(3), VTABLE_get_string(interp, VTABLE_get_class(interp, PREG(2))));

        PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
        return (opcode_t *)dest;
    }

    {
        PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
        return (opcode_t *)resume;
    }

}

opcode_t *
Parrot_find_method_p_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    opcode_t  * const  resume =  cur_opcode + 4;

    PREG(1) = VTABLE_find_method(interp, PREG(2), SCONST(3));
    if (PMC_IS_NULL(PREG(1)) || (!VTABLE_defined(interp, PREG(1)))) {
        opcode_t  * const  dest = Parrot_ex_throw_from_op_args(interp, resume, EXCEPTION_METHOD_NOT_FOUND, "Method '%Ss' not found for invocant of class '%Ss'", SCONST(3), VTABLE_get_string(interp, VTABLE_get_class(interp, PREG(2))));

        PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
        return (opcode_t *)dest;
    }

    {
        PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
        return (opcode_t *)resume;
    }

}

opcode_t *
Parrot_defined_i_p(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = PMC_IS_NULL(PREG(2)) ? 0 : VTABLE_defined(interp, PREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_defined_i_p_ki(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = PMC_IS_NULL(PREG(2)) ? 0 : VTABLE_defined_keyed_int(interp, PREG(2), IREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_defined_i_p_kic(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = PMC_IS_NULL(PREG(2)) ? 0 : VTABLE_defined_keyed_int(interp, PREG(2), ICONST(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_defined_i_p_k(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = PMC_IS_NULL(PREG(2)) ? 0 : VTABLE_defined_keyed(interp, PREG(2), PREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_defined_i_p_kc(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = PMC_IS_NULL(PREG(2)) ? 0 : VTABLE_defined_keyed(interp, PREG(2), PCONST(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_exists_i_p_ki(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = PMC_IS_NULL(PREG(2)) ? 0 : VTABLE_exists_keyed_int(interp, PREG(2), IREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_exists_i_p_kic(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = PMC_IS_NULL(PREG(2)) ? 0 : VTABLE_exists_keyed_int(interp, PREG(2), ICONST(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_exists_i_p_k(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = PMC_IS_NULL(PREG(2)) ? 0 : VTABLE_exists_keyed(interp, PREG(2), PREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_exists_i_p_kc(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = PMC_IS_NULL(PREG(2)) ? 0 : VTABLE_exists_keyed(interp, PREG(2), PCONST(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_delete_p_k(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_delete_keyed(interp, PREG(1), PREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_delete_p_kc(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_delete_keyed(interp, PREG(1), PCONST(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_delete_p_ki(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_delete_keyed_int(interp, PREG(1), IREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_delete_p_kic(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_delete_keyed_int(interp, PREG(1), ICONST(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_elements_i_p(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = VTABLE_elements(interp, PREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_push_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_push_integer(interp, PREG(1), IREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_push_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_push_integer(interp, PREG(1), ICONST(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_push_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_push_float(interp, PREG(1), NREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_push_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_push_float(interp, PREG(1), NCONST(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_push_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_push_string(interp, PREG(1), SREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_push_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_push_string(interp, PREG(1), SCONST(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_push_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_push_pmc(interp, PREG(1), PREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_pop_i_p(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = VTABLE_pop_integer(interp, PREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_pop_n_p(opcode_t *cur_opcode, PARROT_INTERP) {
    NREG(1) = VTABLE_pop_float(interp, PREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_pop_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = VTABLE_pop_string(interp, PREG(2));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_pop_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_pop_pmc(interp, PREG(2));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_unshift_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_unshift_integer(interp, PREG(1), IREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_unshift_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_unshift_integer(interp, PREG(1), ICONST(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_unshift_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_unshift_float(interp, PREG(1), NREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_unshift_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_unshift_float(interp, PREG(1), NCONST(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_unshift_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_unshift_string(interp, PREG(1), SREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_unshift_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_unshift_string(interp, PREG(1), SCONST(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_unshift_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_unshift_pmc(interp, PREG(1), PREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_shift_i_p(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = VTABLE_shift_integer(interp, PREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_shift_n_p(opcode_t *cur_opcode, PARROT_INTERP) {
    NREG(1) = VTABLE_shift_float(interp, PREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_shift_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = VTABLE_shift_string(interp, PREG(2));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_shift_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_shift_pmc(interp, PREG(2));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_splice_p_p_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_splice(interp, PREG(1), PREG(2), IREG(3), IREG(4));
    return cur_opcode + 5;
}

opcode_t *
Parrot_splice_p_p_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_splice(interp, PREG(1), PREG(2), ICONST(3), IREG(4));
    return cur_opcode + 5;
}

opcode_t *
Parrot_splice_p_p_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_splice(interp, PREG(1), PREG(2), IREG(3), ICONST(4));
    return cur_opcode + 5;
}

opcode_t *
Parrot_splice_p_p_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_splice(interp, PREG(1), PREG(2), ICONST(3), ICONST(4));
    return cur_opcode + 5;
}

opcode_t *
Parrot_setprop_p_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
    Parrot_pmc_setprop(interp, PREG(1), SREG(2), PREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_setprop_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
    Parrot_pmc_setprop(interp, PREG(1), SCONST(2), PREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_getprop_p_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
    Parrot_warn_deprecated(interp, "getprop_p_s_p is deprecated. Use getprop_p_p_s instead");
    PREG(1) = Parrot_pmc_getprop(interp, PREG(3), SREG(2));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_getprop_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
    Parrot_warn_deprecated(interp, "getprop_p_s_p is deprecated. Use getprop_p_p_s instead");
    PREG(1) = Parrot_pmc_getprop(interp, PREG(3), SCONST(2));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_getprop_p_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = Parrot_pmc_getprop(interp, PREG(2), SREG(3));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_getprop_p_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = Parrot_pmc_getprop(interp, PREG(2), SCONST(3));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_delprop_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
    Parrot_pmc_delprop(interp, PREG(1), SREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_delprop_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    Parrot_pmc_delprop(interp, PREG(1), SCONST(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_prophash_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = Parrot_pmc_getprops(interp, PREG(2));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_freeze_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = Parrot_freeze(interp, PREG(2));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_thaw_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = Parrot_thaw(interp, SREG(2));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_thaw_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = Parrot_thaw(interp, SCONST(2));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_add_multi_s_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
    Parrot_mmd_add_multi_from_long_sig(interp, SREG(1), SREG(2), PREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_add_multi_sc_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
    Parrot_mmd_add_multi_from_long_sig(interp, SCONST(1), SREG(2), PREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_add_multi_s_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
    Parrot_mmd_add_multi_from_long_sig(interp, SREG(1), SCONST(2), PREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_add_multi_sc_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
    Parrot_mmd_add_multi_from_long_sig(interp, SCONST(1), SCONST(2), PREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_find_multi_p_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = Parrot_mmd_find_multi_from_long_sig(interp, SREG(2), SREG(3));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_find_multi_p_sc_s(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = Parrot_mmd_find_multi_from_long_sig(interp, SCONST(2), SREG(3));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_find_multi_p_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = Parrot_mmd_find_multi_from_long_sig(interp, SREG(2), SCONST(3));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_find_multi_p_sc_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = Parrot_mmd_find_multi_from_long_sig(interp, SCONST(2), SCONST(3));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_register_p(opcode_t *cur_opcode, PARROT_INTERP) {
    Parrot_pmc_gc_register(interp, PREG(1));
    return cur_opcode + 2;
}

opcode_t *
Parrot_unregister_p(opcode_t *cur_opcode, PARROT_INTERP) {
    Parrot_pmc_gc_unregister(interp, PREG(1));
    return cur_opcode + 2;
}

opcode_t *
Parrot_box_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = Parrot_pmc_box_integer(interp, IREG(2));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_box_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = Parrot_pmc_box_integer(interp, ICONST(2));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_box_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = Parrot_pmc_box_number(interp, NREG(2));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_box_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = Parrot_pmc_box_number(interp, NCONST(2));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_box_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = Parrot_pmc_box_string(interp, SREG(2));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_box_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = Parrot_pmc_box_string(interp, SCONST(2));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_iter_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_get_iter(interp, PREG(2));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_morph_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_morph(interp, PREG(1), PREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_morph_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_morph(interp, PREG(1), PCONST(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_clone_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = STRING_IS_NULL(SREG(2)) ? Parrot_str_new(interp, NULL, 0) : SREG(2);
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_clone_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = STRING_IS_NULL(SCONST(2)) ? Parrot_str_new(interp, NULL, 0) : SCONST(2);
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_set_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = IREG(2);
    return cur_opcode + 3;
}

opcode_t *
Parrot_set_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = ICONST(2);
    return cur_opcode + 3;
}

opcode_t *
Parrot_set_i_n(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = (INTVAL)NREG(2);
    return cur_opcode + 3;
}

opcode_t *
Parrot_set_i_nc(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = (INTVAL)NCONST(2);
    return cur_opcode + 3;
}

opcode_t *
Parrot_set_i_s(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = Parrot_str_to_int(interp, SREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_set_i_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = Parrot_str_to_int(interp, SCONST(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_set_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
    NREG(1) = NREG(2);
    return cur_opcode + 3;
}

opcode_t *
Parrot_set_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
    NREG(1) = NCONST(2);
    return cur_opcode + 3;
}

opcode_t *
Parrot_set_n_i(opcode_t *cur_opcode, PARROT_INTERP) {
    NREG(1) = (FLOATVAL)IREG(2);
    return cur_opcode + 3;
}

opcode_t *
Parrot_set_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    NREG(1) = (FLOATVAL)ICONST(2);
    return cur_opcode + 3;
}

opcode_t *
Parrot_set_n_s(opcode_t *cur_opcode, PARROT_INTERP) {
    NREG(1) = Parrot_str_to_num(interp, SREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_set_n_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    NREG(1) = Parrot_str_to_num(interp, SCONST(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_set_n_p(opcode_t *cur_opcode, PARROT_INTERP) {
    NREG(1) = VTABLE_get_number(interp, PREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_set_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = VTABLE_get_string(interp, PREG(2));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_set_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = SREG(2);
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_set_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = SCONST(2);
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_set_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = Parrot_str_from_int(interp, IREG(2));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_set_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = Parrot_str_from_int(interp, ICONST(2));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_set_s_n(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = Parrot_str_from_num(interp, NREG(2));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_set_s_nc(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = Parrot_str_from_num(interp, NCONST(2));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_set_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
    PARROT_ASSERT(((cur_opcode[2] >= 0) || (!"Empty PMC in set_p_pc")));
    PREG(1) = PCONST(2);
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_set_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PARROT_ASSERT(((cur_opcode[2] >= 0) || (!"Empty PMC in set_p_p")));
    PREG(1) = PREG(2);
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_set_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_set_integer_native(interp, PREG(1), IREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_set_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_set_integer_native(interp, PREG(1), ICONST(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_set_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_set_number_native(interp, PREG(1), NREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_set_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_set_number_native(interp, PREG(1), NCONST(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_set_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_set_string_native(interp, PREG(1), SREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_set_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_set_string_native(interp, PREG(1), SCONST(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_set_i_p(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = VTABLE_get_integer(interp, PREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_assign_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_assign_pmc(interp, PREG(1), PREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_assign_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_set_integer_native(interp, PREG(1), IREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_assign_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_set_integer_native(interp, PREG(1), ICONST(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_assign_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_set_number_native(interp, PREG(1), NREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_assign_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_set_number_native(interp, PREG(1), NCONST(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_assign_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_assign_string_native(interp, PREG(1), SREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_assign_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_assign_string_native(interp, PREG(1), SCONST(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_assign_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = SREG(2);
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_assign_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = SCONST(2);
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_setref_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_set_pmc(interp, PREG(1), PREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_deref_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_get_pmc(interp, PREG(2));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_set_p_ki_i(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_set_integer_keyed_int(interp, PREG(1), IREG(2), IREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_set_p_kic_i(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_set_integer_keyed_int(interp, PREG(1), ICONST(2), IREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_set_p_ki_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_set_integer_keyed_int(interp, PREG(1), IREG(2), ICONST(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_set_p_kic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_set_integer_keyed_int(interp, PREG(1), ICONST(2), ICONST(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_set_p_ki_n(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_set_number_keyed_int(interp, PREG(1), IREG(2), NREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_set_p_kic_n(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_set_number_keyed_int(interp, PREG(1), ICONST(2), NREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_set_p_ki_nc(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_set_number_keyed_int(interp, PREG(1), IREG(2), NCONST(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_set_p_kic_nc(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_set_number_keyed_int(interp, PREG(1), ICONST(2), NCONST(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_set_p_ki_s(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_set_string_keyed_int(interp, PREG(1), IREG(2), SREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_set_p_kic_s(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_set_string_keyed_int(interp, PREG(1), ICONST(2), SREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_set_p_ki_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_set_string_keyed_int(interp, PREG(1), IREG(2), SCONST(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_set_p_kic_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_set_string_keyed_int(interp, PREG(1), ICONST(2), SCONST(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_set_p_ki_p(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_set_pmc_keyed_int(interp, PREG(1), IREG(2), PREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_set_p_kic_p(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_set_pmc_keyed_int(interp, PREG(1), ICONST(2), PREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_set_i_p_ki(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = VTABLE_get_integer_keyed_int(interp, PREG(2), IREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_set_i_p_kic(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = VTABLE_get_integer_keyed_int(interp, PREG(2), ICONST(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_set_n_p_ki(opcode_t *cur_opcode, PARROT_INTERP) {
    NREG(1) = VTABLE_get_number_keyed_int(interp, PREG(2), IREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_set_n_p_kic(opcode_t *cur_opcode, PARROT_INTERP) {
    NREG(1) = VTABLE_get_number_keyed_int(interp, PREG(2), ICONST(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_set_s_p_ki(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = VTABLE_get_string_keyed_int(interp, PREG(2), IREG(3));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_set_s_p_kic(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = VTABLE_get_string_keyed_int(interp, PREG(2), ICONST(3));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_set_p_p_ki(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_get_pmc_keyed_int(interp, PREG(2), IREG(3));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_set_p_p_kic(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_get_pmc_keyed_int(interp, PREG(2), ICONST(3));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_set_p_k_i(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_set_integer_keyed(interp, PREG(1), PREG(2), IREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_set_p_kc_i(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_set_integer_keyed(interp, PREG(1), PCONST(2), IREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_set_p_k_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_set_integer_keyed(interp, PREG(1), PREG(2), ICONST(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_set_p_kc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_set_integer_keyed(interp, PREG(1), PCONST(2), ICONST(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_set_p_k_n(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_set_number_keyed(interp, PREG(1), PREG(2), NREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_set_p_kc_n(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_set_number_keyed(interp, PREG(1), PCONST(2), NREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_set_p_k_nc(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_set_number_keyed(interp, PREG(1), PREG(2), NCONST(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_set_p_kc_nc(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_set_number_keyed(interp, PREG(1), PCONST(2), NCONST(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_set_p_k_s(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_set_string_keyed(interp, PREG(1), PREG(2), SREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_set_p_kc_s(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_set_string_keyed(interp, PREG(1), PCONST(2), SREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_set_p_k_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_set_string_keyed(interp, PREG(1), PREG(2), SCONST(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_set_p_kc_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_set_string_keyed(interp, PREG(1), PCONST(2), SCONST(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_set_p_k_p(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_set_pmc_keyed(interp, PREG(1), PREG(2), PREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_set_p_kc_p(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_set_pmc_keyed(interp, PREG(1), PCONST(2), PREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_set_i_p_k(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = VTABLE_get_integer_keyed(interp, PREG(2), PREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_set_i_p_kc(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = VTABLE_get_integer_keyed(interp, PREG(2), PCONST(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_set_n_p_k(opcode_t *cur_opcode, PARROT_INTERP) {
    NREG(1) = VTABLE_get_number_keyed(interp, PREG(2), PREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_set_n_p_kc(opcode_t *cur_opcode, PARROT_INTERP) {
    NREG(1) = VTABLE_get_number_keyed(interp, PREG(2), PCONST(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_set_s_p_k(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = VTABLE_get_string_keyed(interp, PREG(2), PREG(3));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_set_s_p_kc(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = VTABLE_get_string_keyed(interp, PREG(2), PCONST(3));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_set_p_p_k(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_get_pmc_keyed(interp, PREG(2), PREG(3));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_set_p_p_kc(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_get_pmc_keyed(interp, PREG(2), PCONST(3));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_clone_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_clone(interp, PREG(2));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_clone_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_clone_pmc(interp, PREG(2), PREG(3));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_clone_p_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_clone_pmc(interp, PREG(2), PCONST(3));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_copy_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    if (PMC_IS_NULL(PREG(1))) {
        opcode_t  * const  dest =  cur_opcode + 3;
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, dest, EXCEPTION_NULL_REG_ACCESS, "Null PMC in copy");

        PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
        return (opcode_t *)handler;
    }
    else {
        PMC    * const  clone = VTABLE_clone(interp, PREG(2));
        PMC    * const  meta = Parrot_pmc_getprops(interp, PREG(1));
        const Parrot_UInt   gc_flags = (PREG(1)->flags & PObj_GC_all_FLAGS);

        Parrot_pmc_destroy(interp, PREG(1));
        memmove(PREG(1), clone, sizeof(PMC));
        (PREG(1)->flags |= gc_flags);
        PARROT_GC_WRITE_BARRIER(interp, PREG(1));
        PObj_custom_destroy_CLEAR(clone);
        PMC_data(clone) = NULL;
        PMC_metadata(clone) = NULL;
        if (!PMC_IS_NULL(meta)) {
            PMC  * const  iter = VTABLE_get_iter(interp, meta);

            while (VTABLE_get_bool(interp, iter)) {
                STRING  * const  key = VTABLE_shift_string(interp, iter);
                PMC  * const  value = VTABLE_get_pmc_keyed_str(interp, meta, key);

                Parrot_pmc_setprop(interp, PREG(1), key, value);
            }

        }

    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_null_s(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = STRINGNULL;
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 2;
}

opcode_t *
Parrot_null_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = 0;
    return cur_opcode + 2;
}

opcode_t *
Parrot_null_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = PMCNULL;
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 2;
}

opcode_t *
Parrot_null_n(opcode_t *cur_opcode, PARROT_INTERP) {
    NREG(1) = 0;
    return cur_opcode + 2;
}

opcode_t *
Parrot_ord_i_s(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = STRING_ord(interp, SREG(2), 0);
    return cur_opcode + 3;
}

opcode_t *
Parrot_ord_i_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = STRING_ord(interp, SCONST(2), 0);
    return cur_opcode + 3;
}

opcode_t *
Parrot_ord_i_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = STRING_ord(interp, SREG(2), IREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_ord_i_sc_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = STRING_ord(interp, SCONST(2), IREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_ord_i_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = STRING_ord(interp, SREG(2), ICONST(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_ord_i_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = STRING_ord(interp, SCONST(2), ICONST(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_chr_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
    STRING  * const  s = Parrot_str_chr(interp, (UINTVAL)IREG(2));

    SREG(1) = s;
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_chr_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    STRING  * const  s = Parrot_str_chr(interp, (UINTVAL)ICONST(2));

    SREG(1) = s;
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_chopn_s_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = Parrot_str_chopn(interp, SREG(2), IREG(3));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_chopn_s_sc_i(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = Parrot_str_chopn(interp, SCONST(2), IREG(3));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_chopn_s_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = Parrot_str_chopn(interp, SREG(2), ICONST(3));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_chopn_s_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = Parrot_str_chopn(interp, SCONST(2), ICONST(3));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_concat_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_i_concatenate(interp, PREG(1), PREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_concat_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_i_concatenate_str(interp, PREG(1), SREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_concat_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_i_concatenate_str(interp, PREG(1), SCONST(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_concat_s_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = Parrot_str_concat(interp, SREG(2), SREG(3));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_concat_s_sc_s(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = Parrot_str_concat(interp, SCONST(2), SREG(3));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_concat_s_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = Parrot_str_concat(interp, SREG(2), SCONST(3));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_concat_p_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_concatenate_str(interp, PREG(2), SREG(3), PREG(1));
    return cur_opcode + 4;
}

opcode_t *
Parrot_concat_p_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_concatenate_str(interp, PREG(2), SCONST(3), PREG(1));
    return cur_opcode + 4;
}

opcode_t *
Parrot_concat_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_concatenate(interp, PREG(2), PREG(3), PREG(1));
    return cur_opcode + 4;
}

opcode_t *
Parrot_repeat_s_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
    if (IREG(3) < 0) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, NULL, EXCEPTION_NEG_REPEAT, "Cannot repeat with negative arg");

        PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
        return (opcode_t *)handler;
    }

    SREG(1) = Parrot_str_repeat(interp, SREG(2), (UINTVAL)IREG(3));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_repeat_s_sc_i(opcode_t *cur_opcode, PARROT_INTERP) {
    if (IREG(3) < 0) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, NULL, EXCEPTION_NEG_REPEAT, "Cannot repeat with negative arg");

        PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
        return (opcode_t *)handler;
    }

    SREG(1) = Parrot_str_repeat(interp, SCONST(2), (UINTVAL)IREG(3));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_repeat_s_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (ICONST(3) < 0) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, NULL, EXCEPTION_NEG_REPEAT, "Cannot repeat with negative arg");

        PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
        return (opcode_t *)handler;
    }

    SREG(1) = Parrot_str_repeat(interp, SREG(2), (UINTVAL)ICONST(3));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_repeat_s_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (ICONST(3) < 0) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, NULL, EXCEPTION_NEG_REPEAT, "Cannot repeat with negative arg");

        PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
        return (opcode_t *)handler;
    }

    SREG(1) = Parrot_str_repeat(interp, SCONST(2), (UINTVAL)ICONST(3));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_repeat_p_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
    if (IREG(3) < 0) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, NULL, EXCEPTION_NEG_REPEAT, "Cannot repeat with negative arg");

        return (opcode_t *)handler;
    }

    PREG(1) = VTABLE_repeat_int(interp, PREG(2), IREG(3), PREG(1));
    return cur_opcode + 4;
}

opcode_t *
Parrot_repeat_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (ICONST(3) < 0) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, NULL, EXCEPTION_NEG_REPEAT, "Cannot repeat with negative arg");

        return (opcode_t *)handler;
    }

    PREG(1) = VTABLE_repeat_int(interp, PREG(2), ICONST(3), PREG(1));
    return cur_opcode + 4;
}

opcode_t *
Parrot_repeat_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    if (VTABLE_get_integer(interp, PREG(3)) < 0) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, NULL, EXCEPTION_NEG_REPEAT, "Cannot repeat with negative arg");

        return (opcode_t *)handler;
    }

    PREG(1) = VTABLE_repeat(interp, PREG(2), PREG(3), PREG(1));
    return cur_opcode + 4;
}

opcode_t *
Parrot_repeat_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_i_repeat_int(interp, PREG(1), IREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_repeat_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_i_repeat_int(interp, PREG(1), ICONST(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_repeat_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_i_repeat(interp, PREG(1), PREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_length_i_s(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = Parrot_str_length(interp, SREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_length_i_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = Parrot_str_length(interp, SCONST(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_bytelength_i_s(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = Parrot_str_byte_length(interp, SREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_bytelength_i_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = Parrot_str_byte_length(interp, SCONST(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_pin_s(opcode_t *cur_opcode, PARROT_INTERP) {
    Parrot_str_pin(interp, SREG(1));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 2;
}

opcode_t *
Parrot_unpin_s(opcode_t *cur_opcode, PARROT_INTERP) {
    Parrot_str_unpin(interp, SREG(1));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 2;
}

opcode_t *
Parrot_substr_s_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
    const INTVAL   len = Parrot_str_byte_length(interp, SREG(2));

    SREG(1) = STRING_substr(interp, SREG(2), IREG(3), len);
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_substr_s_sc_i(opcode_t *cur_opcode, PARROT_INTERP) {
    const INTVAL   len = Parrot_str_byte_length(interp, SCONST(2));

    SREG(1) = STRING_substr(interp, SCONST(2), IREG(3), len);
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_substr_s_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    const INTVAL   len = Parrot_str_byte_length(interp, SREG(2));

    SREG(1) = STRING_substr(interp, SREG(2), ICONST(3), len);
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_substr_s_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    const INTVAL   len = Parrot_str_byte_length(interp, SCONST(2));

    SREG(1) = STRING_substr(interp, SCONST(2), ICONST(3), len);
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_substr_s_s_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = STRING_substr(interp, SREG(2), IREG(3), IREG(4));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_substr_s_sc_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = STRING_substr(interp, SCONST(2), IREG(3), IREG(4));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_substr_s_s_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = STRING_substr(interp, SREG(2), ICONST(3), IREG(4));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_substr_s_sc_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = STRING_substr(interp, SCONST(2), ICONST(3), IREG(4));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_substr_s_s_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = STRING_substr(interp, SREG(2), IREG(3), ICONST(4));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_substr_s_sc_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = STRING_substr(interp, SCONST(2), IREG(3), ICONST(4));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_substr_s_s_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = STRING_substr(interp, SREG(2), ICONST(3), ICONST(4));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_substr_s_sc_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = STRING_substr(interp, SCONST(2), ICONST(3), ICONST(4));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_substr_s_p_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = VTABLE_substr(interp, PREG(2), IREG(3), IREG(4));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_substr_s_p_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = VTABLE_substr(interp, PREG(2), ICONST(3), IREG(4));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_substr_s_p_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = VTABLE_substr(interp, PREG(2), IREG(3), ICONST(4));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_substr_s_p_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = VTABLE_substr(interp, PREG(2), ICONST(3), ICONST(4));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_replace_s_s_i_i_s(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = Parrot_str_replace(interp, SREG(2), IREG(3), IREG(4), SREG(5));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 6;
}

opcode_t *
Parrot_replace_s_sc_i_i_s(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = Parrot_str_replace(interp, SCONST(2), IREG(3), IREG(4), SREG(5));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 6;
}

opcode_t *
Parrot_replace_s_s_ic_i_s(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = Parrot_str_replace(interp, SREG(2), ICONST(3), IREG(4), SREG(5));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 6;
}

opcode_t *
Parrot_replace_s_sc_ic_i_s(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = Parrot_str_replace(interp, SCONST(2), ICONST(3), IREG(4), SREG(5));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 6;
}

opcode_t *
Parrot_replace_s_s_i_ic_s(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = Parrot_str_replace(interp, SREG(2), IREG(3), ICONST(4), SREG(5));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 6;
}

opcode_t *
Parrot_replace_s_sc_i_ic_s(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = Parrot_str_replace(interp, SCONST(2), IREG(3), ICONST(4), SREG(5));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 6;
}

opcode_t *
Parrot_replace_s_s_ic_ic_s(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = Parrot_str_replace(interp, SREG(2), ICONST(3), ICONST(4), SREG(5));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 6;
}

opcode_t *
Parrot_replace_s_sc_ic_ic_s(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = Parrot_str_replace(interp, SCONST(2), ICONST(3), ICONST(4), SREG(5));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 6;
}

opcode_t *
Parrot_replace_s_s_i_i_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = Parrot_str_replace(interp, SREG(2), IREG(3), IREG(4), SCONST(5));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 6;
}

opcode_t *
Parrot_replace_s_sc_i_i_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = Parrot_str_replace(interp, SCONST(2), IREG(3), IREG(4), SCONST(5));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 6;
}

opcode_t *
Parrot_replace_s_s_ic_i_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = Parrot_str_replace(interp, SREG(2), ICONST(3), IREG(4), SCONST(5));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 6;
}

opcode_t *
Parrot_replace_s_sc_ic_i_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = Parrot_str_replace(interp, SCONST(2), ICONST(3), IREG(4), SCONST(5));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 6;
}

opcode_t *
Parrot_replace_s_s_i_ic_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = Parrot_str_replace(interp, SREG(2), IREG(3), ICONST(4), SCONST(5));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 6;
}

opcode_t *
Parrot_replace_s_sc_i_ic_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = Parrot_str_replace(interp, SCONST(2), IREG(3), ICONST(4), SCONST(5));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 6;
}

opcode_t *
Parrot_replace_s_s_ic_ic_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = Parrot_str_replace(interp, SREG(2), ICONST(3), ICONST(4), SCONST(5));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 6;
}

opcode_t *
Parrot_replace_s_sc_ic_ic_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = Parrot_str_replace(interp, SCONST(2), ICONST(3), ICONST(4), SCONST(5));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 6;
}

opcode_t *
Parrot_index_i_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = ((SREG(2) && SREG(3))) ? STRING_index(interp, SREG(2), SREG(3), 0) : (-1);
    return cur_opcode + 4;
}

opcode_t *
Parrot_index_i_sc_s(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = ((SCONST(2) && SREG(3))) ? STRING_index(interp, SCONST(2), SREG(3), 0) : (-1);
    return cur_opcode + 4;
}

opcode_t *
Parrot_index_i_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = ((SREG(2) && SCONST(3))) ? STRING_index(interp, SREG(2), SCONST(3), 0) : (-1);
    return cur_opcode + 4;
}

opcode_t *
Parrot_index_i_sc_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = ((SCONST(2) && SCONST(3))) ? STRING_index(interp, SCONST(2), SCONST(3), 0) : (-1);
    return cur_opcode + 4;
}

opcode_t *
Parrot_index_i_s_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = ((SREG(2) && SREG(3))) ? STRING_index(interp, SREG(2), SREG(3), IREG(4)) : (-1);
    return cur_opcode + 5;
}

opcode_t *
Parrot_index_i_sc_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = ((SCONST(2) && SREG(3))) ? STRING_index(interp, SCONST(2), SREG(3), IREG(4)) : (-1);
    return cur_opcode + 5;
}

opcode_t *
Parrot_index_i_s_sc_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = ((SREG(2) && SCONST(3))) ? STRING_index(interp, SREG(2), SCONST(3), IREG(4)) : (-1);
    return cur_opcode + 5;
}

opcode_t *
Parrot_index_i_sc_sc_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = ((SCONST(2) && SCONST(3))) ? STRING_index(interp, SCONST(2), SCONST(3), IREG(4)) : (-1);
    return cur_opcode + 5;
}

opcode_t *
Parrot_index_i_s_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = ((SREG(2) && SREG(3))) ? STRING_index(interp, SREG(2), SREG(3), ICONST(4)) : (-1);
    return cur_opcode + 5;
}

opcode_t *
Parrot_index_i_sc_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = ((SCONST(2) && SREG(3))) ? STRING_index(interp, SCONST(2), SREG(3), ICONST(4)) : (-1);
    return cur_opcode + 5;
}

opcode_t *
Parrot_index_i_s_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = ((SREG(2) && SCONST(3))) ? STRING_index(interp, SREG(2), SCONST(3), ICONST(4)) : (-1);
    return cur_opcode + 5;
}

opcode_t *
Parrot_index_i_sc_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = ((SCONST(2) && SCONST(3))) ? STRING_index(interp, SCONST(2), SCONST(3), ICONST(4)) : (-1);
    return cur_opcode + 5;
}

opcode_t *
Parrot_rindex_i_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
    STRING  * const  str = SREG(2);

    IREG(1) = Parrot_str_find_reverse_index(interp, str, SREG(3), STRING_length(str));
    return cur_opcode + 4;
}

opcode_t *
Parrot_rindex_i_sc_s(opcode_t *cur_opcode, PARROT_INTERP) {
    STRING  * const  str = SCONST(2);

    IREG(1) = Parrot_str_find_reverse_index(interp, str, SREG(3), STRING_length(str));
    return cur_opcode + 4;
}

opcode_t *
Parrot_rindex_i_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    STRING  * const  str = SREG(2);

    IREG(1) = Parrot_str_find_reverse_index(interp, str, SCONST(3), STRING_length(str));
    return cur_opcode + 4;
}

opcode_t *
Parrot_rindex_i_sc_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    STRING  * const  str = SCONST(2);

    IREG(1) = Parrot_str_find_reverse_index(interp, str, SCONST(3), STRING_length(str));
    return cur_opcode + 4;
}

opcode_t *
Parrot_rindex_i_s_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
    STRING  * const  str = SREG(2);

    IREG(1) = Parrot_str_find_reverse_index(interp, str, SREG(3), IREG(4));
    return cur_opcode + 5;
}

opcode_t *
Parrot_rindex_i_sc_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
    STRING  * const  str = SCONST(2);

    IREG(1) = Parrot_str_find_reverse_index(interp, str, SREG(3), IREG(4));
    return cur_opcode + 5;
}

opcode_t *
Parrot_rindex_i_s_sc_i(opcode_t *cur_opcode, PARROT_INTERP) {
    STRING  * const  str = SREG(2);

    IREG(1) = Parrot_str_find_reverse_index(interp, str, SCONST(3), IREG(4));
    return cur_opcode + 5;
}

opcode_t *
Parrot_rindex_i_sc_sc_i(opcode_t *cur_opcode, PARROT_INTERP) {
    STRING  * const  str = SCONST(2);

    IREG(1) = Parrot_str_find_reverse_index(interp, str, SCONST(3), IREG(4));
    return cur_opcode + 5;
}

opcode_t *
Parrot_rindex_i_s_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    STRING  * const  str = SREG(2);

    IREG(1) = Parrot_str_find_reverse_index(interp, str, SREG(3), ICONST(4));
    return cur_opcode + 5;
}

opcode_t *
Parrot_rindex_i_sc_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    STRING  * const  str = SCONST(2);

    IREG(1) = Parrot_str_find_reverse_index(interp, str, SREG(3), ICONST(4));
    return cur_opcode + 5;
}

opcode_t *
Parrot_rindex_i_s_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    STRING  * const  str = SREG(2);

    IREG(1) = Parrot_str_find_reverse_index(interp, str, SCONST(3), ICONST(4));
    return cur_opcode + 5;
}

opcode_t *
Parrot_rindex_i_sc_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    STRING  * const  str = SCONST(2);

    IREG(1) = Parrot_str_find_reverse_index(interp, str, SCONST(3), ICONST(4));
    return cur_opcode + 5;
}

opcode_t *
Parrot_sprintf_s_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = Parrot_psprintf(interp, SREG(2), PREG(3));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_sprintf_s_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = Parrot_psprintf(interp, SCONST(2), PREG(3));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_sprintf_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_set_string_native(interp, PREG(1), Parrot_psprintf(interp, VTABLE_get_string(interp, PREG(2)), PREG(3)));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_new_s(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = Parrot_str_new_noinit(interp, 0);
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 2;
}

opcode_t *
Parrot_stringinfo_i_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
    if (SREG(2) == NULL) {
        IREG(1) = 0;
    }
    else {
        switch (IREG(3)) {
          case STRINGINFO_HEADER:
            IREG(1) = PTR2UINTVAL(SREG(2));
            break;
          case STRINGINFO_STRSTART:
            IREG(1) = PTR2UINTVAL(SREG(2)->strstart);
            break;
          case STRINGINFO_BUFLEN:
            IREG(1) = Buffer_buflen(SREG(2));
            break;
          case STRINGINFO_FLAGS:
            IREG(1) = PObj_get_FLAGS(SREG(2));
            break;
          case STRINGINFO_BUFUSED:
            IREG(1) = SREG(2)->bufused;
            break;
          case STRINGINFO_STRLEN:
            IREG(1) = SREG(2)->strlen;
            break;
          default:
            {
                opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, NULL, EXCEPTION_INVALID_OPERATION, "stringinfo: unknown info type: %d", IREG(3));

                return (opcode_t *)handler;
            }

        }

    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_stringinfo_i_sc_i(opcode_t *cur_opcode, PARROT_INTERP) {
    if (SCONST(2) == NULL) {
        IREG(1) = 0;
    }
    else {
        switch (IREG(3)) {
          case STRINGINFO_HEADER:
            IREG(1) = PTR2UINTVAL(SCONST(2));
            break;
          case STRINGINFO_STRSTART:
            IREG(1) = PTR2UINTVAL(SCONST(2)->strstart);
            break;
          case STRINGINFO_BUFLEN:
            IREG(1) = Buffer_buflen(SCONST(2));
            break;
          case STRINGINFO_FLAGS:
            IREG(1) = PObj_get_FLAGS(SCONST(2));
            break;
          case STRINGINFO_BUFUSED:
            IREG(1) = SCONST(2)->bufused;
            break;
          case STRINGINFO_STRLEN:
            IREG(1) = SCONST(2)->strlen;
            break;
          default:
            {
                opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, NULL, EXCEPTION_INVALID_OPERATION, "stringinfo: unknown info type: %d", IREG(3));

                return (opcode_t *)handler;
            }

        }

    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_stringinfo_i_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (SREG(2) == NULL) {
        IREG(1) = 0;
    }
    else {
        switch (ICONST(3)) {
          case STRINGINFO_HEADER:
            IREG(1) = PTR2UINTVAL(SREG(2));
            break;
          case STRINGINFO_STRSTART:
            IREG(1) = PTR2UINTVAL(SREG(2)->strstart);
            break;
          case STRINGINFO_BUFLEN:
            IREG(1) = Buffer_buflen(SREG(2));
            break;
          case STRINGINFO_FLAGS:
            IREG(1) = PObj_get_FLAGS(SREG(2));
            break;
          case STRINGINFO_BUFUSED:
            IREG(1) = SREG(2)->bufused;
            break;
          case STRINGINFO_STRLEN:
            IREG(1) = SREG(2)->strlen;
            break;
          default:
            {
                opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, NULL, EXCEPTION_INVALID_OPERATION, "stringinfo: unknown info type: %d", ICONST(3));

                return (opcode_t *)handler;
            }

        }

    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_stringinfo_i_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    if (SCONST(2) == NULL) {
        IREG(1) = 0;
    }
    else {
        switch (ICONST(3)) {
          case STRINGINFO_HEADER:
            IREG(1) = PTR2UINTVAL(SCONST(2));
            break;
          case STRINGINFO_STRSTART:
            IREG(1) = PTR2UINTVAL(SCONST(2)->strstart);
            break;
          case STRINGINFO_BUFLEN:
            IREG(1) = Buffer_buflen(SCONST(2));
            break;
          case STRINGINFO_FLAGS:
            IREG(1) = PObj_get_FLAGS(SCONST(2));
            break;
          case STRINGINFO_BUFUSED:
            IREG(1) = SCONST(2)->bufused;
            break;
          case STRINGINFO_STRLEN:
            IREG(1) = SCONST(2)->strlen;
            break;
          default:
            {
                opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, NULL, EXCEPTION_INVALID_OPERATION, "stringinfo: unknown info type: %d", ICONST(3));

                return (opcode_t *)handler;
            }

        }

    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_upcase_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = Parrot_str_upcase(interp, SREG(2));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_upcase_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = Parrot_str_upcase(interp, SCONST(2));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_downcase_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = Parrot_str_downcase(interp, SREG(2));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_downcase_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = Parrot_str_downcase(interp, SCONST(2));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_titlecase_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = Parrot_str_titlecase(interp, SREG(2));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_titlecase_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = Parrot_str_titlecase(interp, SCONST(2));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_join_s_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = Parrot_str_join(interp, SREG(2), PREG(3));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_join_s_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = Parrot_str_join(interp, SCONST(2), PREG(3));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_split_p_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = Parrot_str_split(interp, SREG(2), SREG(3));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_split_p_sc_s(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = Parrot_str_split(interp, SCONST(2), SREG(3));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_split_p_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = Parrot_str_split(interp, SREG(2), SCONST(3));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_split_p_sc_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = Parrot_str_split(interp, SCONST(2), SCONST(3));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_encoding_i_s(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = Parrot_encoding_number_of_str(interp, SREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_encoding_i_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = Parrot_encoding_number_of_str(interp, SCONST(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_encodingname_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = Parrot_encoding_name(interp, IREG(2));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_encodingname_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = Parrot_encoding_name(interp, ICONST(2));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_find_encoding_i_s(opcode_t *cur_opcode, PARROT_INTERP) {
    const INTVAL   n = Parrot_encoding_number(interp, SREG(2));

    if (n < 0) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, NULL, EXCEPTION_INVALID_ENCODING, "encoding '%Ss' not found", SREG(2));

        return (opcode_t *)handler;
    }

    IREG(1) = n;
    return cur_opcode + 3;
}

opcode_t *
Parrot_find_encoding_i_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    const INTVAL   n = Parrot_encoding_number(interp, SCONST(2));

    if (n < 0) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, NULL, EXCEPTION_INVALID_ENCODING, "encoding '%Ss' not found", SCONST(2));

        return (opcode_t *)handler;
    }

    IREG(1) = n;
    return cur_opcode + 3;
}

opcode_t *
Parrot_trans_encoding_s_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = Parrot_str_change_encoding(interp, SREG(2), IREG(3));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_trans_encoding_s_sc_i(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = Parrot_str_change_encoding(interp, SCONST(2), IREG(3));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_trans_encoding_s_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = Parrot_str_change_encoding(interp, SREG(2), ICONST(3));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_trans_encoding_s_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = Parrot_str_change_encoding(interp, SCONST(2), ICONST(3));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_is_cclass_i_i_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = Parrot_str_is_cclass(interp, IREG(2), SREG(3), IREG(4));
    return cur_opcode + 5;
}

opcode_t *
Parrot_is_cclass_i_ic_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = Parrot_str_is_cclass(interp, ICONST(2), SREG(3), IREG(4));
    return cur_opcode + 5;
}

opcode_t *
Parrot_is_cclass_i_i_sc_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = Parrot_str_is_cclass(interp, IREG(2), SCONST(3), IREG(4));
    return cur_opcode + 5;
}

opcode_t *
Parrot_is_cclass_i_ic_sc_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = Parrot_str_is_cclass(interp, ICONST(2), SCONST(3), IREG(4));
    return cur_opcode + 5;
}

opcode_t *
Parrot_is_cclass_i_i_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = Parrot_str_is_cclass(interp, IREG(2), SREG(3), ICONST(4));
    return cur_opcode + 5;
}

opcode_t *
Parrot_is_cclass_i_ic_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = Parrot_str_is_cclass(interp, ICONST(2), SREG(3), ICONST(4));
    return cur_opcode + 5;
}

opcode_t *
Parrot_is_cclass_i_i_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = Parrot_str_is_cclass(interp, IREG(2), SCONST(3), ICONST(4));
    return cur_opcode + 5;
}

opcode_t *
Parrot_is_cclass_i_ic_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = Parrot_str_is_cclass(interp, ICONST(2), SCONST(3), ICONST(4));
    return cur_opcode + 5;
}

opcode_t *
Parrot_find_cclass_i_i_s_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = Parrot_str_find_cclass(interp, IREG(2), SREG(3), IREG(4), IREG(5));
    return cur_opcode + 6;
}

opcode_t *
Parrot_find_cclass_i_ic_s_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = Parrot_str_find_cclass(interp, ICONST(2), SREG(3), IREG(4), IREG(5));
    return cur_opcode + 6;
}

opcode_t *
Parrot_find_cclass_i_i_sc_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = Parrot_str_find_cclass(interp, IREG(2), SCONST(3), IREG(4), IREG(5));
    return cur_opcode + 6;
}

opcode_t *
Parrot_find_cclass_i_ic_sc_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = Parrot_str_find_cclass(interp, ICONST(2), SCONST(3), IREG(4), IREG(5));
    return cur_opcode + 6;
}

opcode_t *
Parrot_find_cclass_i_i_s_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = Parrot_str_find_cclass(interp, IREG(2), SREG(3), ICONST(4), IREG(5));
    return cur_opcode + 6;
}

opcode_t *
Parrot_find_cclass_i_ic_s_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = Parrot_str_find_cclass(interp, ICONST(2), SREG(3), ICONST(4), IREG(5));
    return cur_opcode + 6;
}

opcode_t *
Parrot_find_cclass_i_i_sc_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = Parrot_str_find_cclass(interp, IREG(2), SCONST(3), ICONST(4), IREG(5));
    return cur_opcode + 6;
}

opcode_t *
Parrot_find_cclass_i_ic_sc_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = Parrot_str_find_cclass(interp, ICONST(2), SCONST(3), ICONST(4), IREG(5));
    return cur_opcode + 6;
}

opcode_t *
Parrot_find_cclass_i_i_s_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = Parrot_str_find_cclass(interp, IREG(2), SREG(3), IREG(4), ICONST(5));
    return cur_opcode + 6;
}

opcode_t *
Parrot_find_cclass_i_ic_s_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = Parrot_str_find_cclass(interp, ICONST(2), SREG(3), IREG(4), ICONST(5));
    return cur_opcode + 6;
}

opcode_t *
Parrot_find_cclass_i_i_sc_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = Parrot_str_find_cclass(interp, IREG(2), SCONST(3), IREG(4), ICONST(5));
    return cur_opcode + 6;
}

opcode_t *
Parrot_find_cclass_i_ic_sc_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = Parrot_str_find_cclass(interp, ICONST(2), SCONST(3), IREG(4), ICONST(5));
    return cur_opcode + 6;
}

opcode_t *
Parrot_find_cclass_i_i_s_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = Parrot_str_find_cclass(interp, IREG(2), SREG(3), ICONST(4), ICONST(5));
    return cur_opcode + 6;
}

opcode_t *
Parrot_find_cclass_i_ic_s_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = Parrot_str_find_cclass(interp, ICONST(2), SREG(3), ICONST(4), ICONST(5));
    return cur_opcode + 6;
}

opcode_t *
Parrot_find_cclass_i_i_sc_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = Parrot_str_find_cclass(interp, IREG(2), SCONST(3), ICONST(4), ICONST(5));
    return cur_opcode + 6;
}

opcode_t *
Parrot_find_cclass_i_ic_sc_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = Parrot_str_find_cclass(interp, ICONST(2), SCONST(3), ICONST(4), ICONST(5));
    return cur_opcode + 6;
}

opcode_t *
Parrot_find_not_cclass_i_i_s_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = Parrot_str_find_not_cclass(interp, IREG(2), SREG(3), IREG(4), IREG(5));
    return cur_opcode + 6;
}

opcode_t *
Parrot_find_not_cclass_i_ic_s_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = Parrot_str_find_not_cclass(interp, ICONST(2), SREG(3), IREG(4), IREG(5));
    return cur_opcode + 6;
}

opcode_t *
Parrot_find_not_cclass_i_i_sc_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = Parrot_str_find_not_cclass(interp, IREG(2), SCONST(3), IREG(4), IREG(5));
    return cur_opcode + 6;
}

opcode_t *
Parrot_find_not_cclass_i_ic_sc_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = Parrot_str_find_not_cclass(interp, ICONST(2), SCONST(3), IREG(4), IREG(5));
    return cur_opcode + 6;
}

opcode_t *
Parrot_find_not_cclass_i_i_s_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = Parrot_str_find_not_cclass(interp, IREG(2), SREG(3), ICONST(4), IREG(5));
    return cur_opcode + 6;
}

opcode_t *
Parrot_find_not_cclass_i_ic_s_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = Parrot_str_find_not_cclass(interp, ICONST(2), SREG(3), ICONST(4), IREG(5));
    return cur_opcode + 6;
}

opcode_t *
Parrot_find_not_cclass_i_i_sc_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = Parrot_str_find_not_cclass(interp, IREG(2), SCONST(3), ICONST(4), IREG(5));
    return cur_opcode + 6;
}

opcode_t *
Parrot_find_not_cclass_i_ic_sc_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = Parrot_str_find_not_cclass(interp, ICONST(2), SCONST(3), ICONST(4), IREG(5));
    return cur_opcode + 6;
}

opcode_t *
Parrot_find_not_cclass_i_i_s_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = Parrot_str_find_not_cclass(interp, IREG(2), SREG(3), IREG(4), ICONST(5));
    return cur_opcode + 6;
}

opcode_t *
Parrot_find_not_cclass_i_ic_s_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = Parrot_str_find_not_cclass(interp, ICONST(2), SREG(3), IREG(4), ICONST(5));
    return cur_opcode + 6;
}

opcode_t *
Parrot_find_not_cclass_i_i_sc_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = Parrot_str_find_not_cclass(interp, IREG(2), SCONST(3), IREG(4), ICONST(5));
    return cur_opcode + 6;
}

opcode_t *
Parrot_find_not_cclass_i_ic_sc_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = Parrot_str_find_not_cclass(interp, ICONST(2), SCONST(3), IREG(4), ICONST(5));
    return cur_opcode + 6;
}

opcode_t *
Parrot_find_not_cclass_i_i_s_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = Parrot_str_find_not_cclass(interp, IREG(2), SREG(3), ICONST(4), ICONST(5));
    return cur_opcode + 6;
}

opcode_t *
Parrot_find_not_cclass_i_ic_s_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = Parrot_str_find_not_cclass(interp, ICONST(2), SREG(3), ICONST(4), ICONST(5));
    return cur_opcode + 6;
}

opcode_t *
Parrot_find_not_cclass_i_i_sc_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = Parrot_str_find_not_cclass(interp, IREG(2), SCONST(3), ICONST(4), ICONST(5));
    return cur_opcode + 6;
}

opcode_t *
Parrot_find_not_cclass_i_ic_sc_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = Parrot_str_find_not_cclass(interp, ICONST(2), SCONST(3), ICONST(4), ICONST(5));
    return cur_opcode + 6;
}

opcode_t *
Parrot_escape_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = Parrot_str_escape(interp, SREG(2));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_compose_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = Parrot_str_compose(interp, SREG(2));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_compose_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    SREG(1) = Parrot_str_compose(interp, SCONST(2));
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_find_codepoint_i_s(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = Parrot_str_internal_find_codepoint(interp, SREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_find_codepoint_i_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = Parrot_str_internal_find_codepoint(interp, SCONST(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_spawnw_i_s(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = Parrot_Run_OS_Command(interp, SREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_spawnw_i_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = Parrot_Run_OS_Command(interp, SCONST(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_spawnw_i_p(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = Parrot_Run_OS_Command_Argv(interp, PREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_err_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = errno;
    return cur_opcode + 2;
}

opcode_t *
Parrot_err_s(opcode_t *cur_opcode, PARROT_INTERP) {
    const char  * const  tmp = strerror(errno);

    SREG(1) = Parrot_str_new_init(interp, tmp, strlen(tmp), Parrot_ascii_encoding_ptr, 0);
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 2;
}

opcode_t *
Parrot_err_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
    const char  * const  tmp = strerror(IREG(2));

    SREG(1) = Parrot_str_new_init(interp, tmp, strlen(tmp), Parrot_ascii_encoding_ptr, 0);
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_err_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    const char  * const  tmp = strerror(ICONST(2));

    SREG(1) = Parrot_str_new_init(interp, tmp, strlen(tmp), Parrot_ascii_encoding_ptr, 0);
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_time_i(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = Parrot_intval_time();
    return cur_opcode + 2;
}

opcode_t *
Parrot_time_n(opcode_t *cur_opcode, PARROT_INTERP) {
    NREG(1) = Parrot_floatval_time();
    return cur_opcode + 2;
}

opcode_t *
Parrot_sleep_i(opcode_t *cur_opcode, PARROT_INTERP) {
    opcode_t  * next =  cur_opcode + 2;

    if (IREG(1) < 0) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, next, EXCEPTION_NEG_SLEEP, "Cannot go back in time");

        return (opcode_t *)handler;
    }

    next = (opcode_t *)Parrot_cx_schedule_sleep(interp, (FLOATVAL)IREG(1), next);
    return (opcode_t *)next;
}

opcode_t *
Parrot_sleep_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    opcode_t  * next =  cur_opcode + 2;

    if (ICONST(1) < 0) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, next, EXCEPTION_NEG_SLEEP, "Cannot go back in time");

        return (opcode_t *)handler;
    }

    next = (opcode_t *)Parrot_cx_schedule_sleep(interp, (FLOATVAL)ICONST(1), next);
    return (opcode_t *)next;
}

opcode_t *
Parrot_sleep_n(opcode_t *cur_opcode, PARROT_INTERP) {
    opcode_t  * next =  cur_opcode + 2;

    if (NREG(1) < 0.0) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, next, EXCEPTION_NEG_SLEEP, "Cannot go back in time");

        return (opcode_t *)handler;
    }

    next = (opcode_t *)Parrot_cx_schedule_sleep(interp, NREG(1), next);
    return (opcode_t *)next;
}

opcode_t *
Parrot_sleep_nc(opcode_t *cur_opcode, PARROT_INTERP) {
    opcode_t  * next =  cur_opcode + 2;

    if (NCONST(1) < 0.0) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, next, EXCEPTION_NEG_SLEEP, "Cannot go back in time");

        return (opcode_t *)handler;
    }

    next = (opcode_t *)Parrot_cx_schedule_sleep(interp, NCONST(1), next);
    return (opcode_t *)next;
}

opcode_t *
Parrot_store_lex_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC      * const  ctx = CURRENT_CONTEXT(interp);
    STRING   * const  lex_name = SREG(1);
    PMC      * const  lex_pad = Parrot_sub_find_pad(interp, lex_name, ctx);

    if (PMC_IS_NULL(lex_pad)) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, NULL, EXCEPTION_LEX_NOT_FOUND, "Lexical '%Ss' not found", lex_name);

        return (opcode_t *)handler;
    }

    VTABLE_set_pmc_keyed_str(interp, lex_pad, lex_name, PREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_store_lex_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC      * const  ctx = CURRENT_CONTEXT(interp);
    STRING   * const  lex_name = SCONST(1);
    PMC      * const  lex_pad = Parrot_sub_find_pad(interp, lex_name, ctx);

    if (PMC_IS_NULL(lex_pad)) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, NULL, EXCEPTION_LEX_NOT_FOUND, "Lexical '%Ss' not found", lex_name);

        return (opcode_t *)handler;
    }

    VTABLE_set_pmc_keyed_str(interp, lex_pad, lex_name, PREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_store_lex_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC      * const  ctx = CURRENT_CONTEXT(interp);
    STRING   * const  lex_name = SREG(1);
    PMC      * const  lex_pad = Parrot_sub_find_pad(interp, lex_name, ctx);

    if (PMC_IS_NULL(lex_pad)) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, NULL, EXCEPTION_LEX_NOT_FOUND, "Lexical '%Ss' not found", lex_name);

        return (opcode_t *)handler;
    }

    VTABLE_set_string_keyed_str(interp, lex_pad, lex_name, SREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_store_lex_sc_s(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC      * const  ctx = CURRENT_CONTEXT(interp);
    STRING   * const  lex_name = SCONST(1);
    PMC      * const  lex_pad = Parrot_sub_find_pad(interp, lex_name, ctx);

    if (PMC_IS_NULL(lex_pad)) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, NULL, EXCEPTION_LEX_NOT_FOUND, "Lexical '%Ss' not found", lex_name);

        return (opcode_t *)handler;
    }

    VTABLE_set_string_keyed_str(interp, lex_pad, lex_name, SREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_store_lex_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC      * const  ctx = CURRENT_CONTEXT(interp);
    STRING   * const  lex_name = SREG(1);
    PMC      * const  lex_pad = Parrot_sub_find_pad(interp, lex_name, ctx);

    if (PMC_IS_NULL(lex_pad)) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, NULL, EXCEPTION_LEX_NOT_FOUND, "Lexical '%Ss' not found", lex_name);

        return (opcode_t *)handler;
    }

    VTABLE_set_string_keyed_str(interp, lex_pad, lex_name, SCONST(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_store_lex_sc_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC      * const  ctx = CURRENT_CONTEXT(interp);
    STRING   * const  lex_name = SCONST(1);
    PMC      * const  lex_pad = Parrot_sub_find_pad(interp, lex_name, ctx);

    if (PMC_IS_NULL(lex_pad)) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, NULL, EXCEPTION_LEX_NOT_FOUND, "Lexical '%Ss' not found", lex_name);

        return (opcode_t *)handler;
    }

    VTABLE_set_string_keyed_str(interp, lex_pad, lex_name, SCONST(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_store_lex_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC      * const  ctx = CURRENT_CONTEXT(interp);
    STRING   * const  lex_name = SREG(1);
    PMC      * const  lex_pad = Parrot_sub_find_pad(interp, lex_name, ctx);

    if (PMC_IS_NULL(lex_pad)) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, NULL, EXCEPTION_LEX_NOT_FOUND, "Lexical '%Ss' not found", lex_name);

        return (opcode_t *)handler;
    }

    VTABLE_set_integer_keyed_str(interp, lex_pad, lex_name, IREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_store_lex_sc_i(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC      * const  ctx = CURRENT_CONTEXT(interp);
    STRING   * const  lex_name = SCONST(1);
    PMC      * const  lex_pad = Parrot_sub_find_pad(interp, lex_name, ctx);

    if (PMC_IS_NULL(lex_pad)) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, NULL, EXCEPTION_LEX_NOT_FOUND, "Lexical '%Ss' not found", lex_name);

        return (opcode_t *)handler;
    }

    VTABLE_set_integer_keyed_str(interp, lex_pad, lex_name, IREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_store_lex_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC      * const  ctx = CURRENT_CONTEXT(interp);
    STRING   * const  lex_name = SREG(1);
    PMC      * const  lex_pad = Parrot_sub_find_pad(interp, lex_name, ctx);

    if (PMC_IS_NULL(lex_pad)) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, NULL, EXCEPTION_LEX_NOT_FOUND, "Lexical '%Ss' not found", lex_name);

        return (opcode_t *)handler;
    }

    VTABLE_set_integer_keyed_str(interp, lex_pad, lex_name, ICONST(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_store_lex_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC      * const  ctx = CURRENT_CONTEXT(interp);
    STRING   * const  lex_name = SCONST(1);
    PMC      * const  lex_pad = Parrot_sub_find_pad(interp, lex_name, ctx);

    if (PMC_IS_NULL(lex_pad)) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, NULL, EXCEPTION_LEX_NOT_FOUND, "Lexical '%Ss' not found", lex_name);

        return (opcode_t *)handler;
    }

    VTABLE_set_integer_keyed_str(interp, lex_pad, lex_name, ICONST(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_store_lex_s_n(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC      * const  ctx = CURRENT_CONTEXT(interp);
    STRING   * const  lex_name = SREG(1);
    PMC      * const  lex_pad = Parrot_sub_find_pad(interp, lex_name, ctx);

    if (PMC_IS_NULL(lex_pad)) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, NULL, EXCEPTION_LEX_NOT_FOUND, "Lexical '%Ss' not found", lex_name);

        return (opcode_t *)handler;
    }

    VTABLE_set_number_keyed_str(interp, lex_pad, lex_name, NREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_store_lex_sc_n(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC      * const  ctx = CURRENT_CONTEXT(interp);
    STRING   * const  lex_name = SCONST(1);
    PMC      * const  lex_pad = Parrot_sub_find_pad(interp, lex_name, ctx);

    if (PMC_IS_NULL(lex_pad)) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, NULL, EXCEPTION_LEX_NOT_FOUND, "Lexical '%Ss' not found", lex_name);

        return (opcode_t *)handler;
    }

    VTABLE_set_number_keyed_str(interp, lex_pad, lex_name, NREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_store_lex_s_nc(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC      * const  ctx = CURRENT_CONTEXT(interp);
    STRING   * const  lex_name = SREG(1);
    PMC      * const  lex_pad = Parrot_sub_find_pad(interp, lex_name, ctx);

    if (PMC_IS_NULL(lex_pad)) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, NULL, EXCEPTION_LEX_NOT_FOUND, "Lexical '%Ss' not found", lex_name);

        return (opcode_t *)handler;
    }

    VTABLE_set_number_keyed_str(interp, lex_pad, lex_name, NCONST(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_store_lex_sc_nc(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC      * const  ctx = CURRENT_CONTEXT(interp);
    STRING   * const  lex_name = SCONST(1);
    PMC      * const  lex_pad = Parrot_sub_find_pad(interp, lex_name, ctx);

    if (PMC_IS_NULL(lex_pad)) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, NULL, EXCEPTION_LEX_NOT_FOUND, "Lexical '%Ss' not found", lex_name);

        return (opcode_t *)handler;
    }

    VTABLE_set_number_keyed_str(interp, lex_pad, lex_name, NCONST(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_store_dynamic_lex_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
    STRING   * const  lex_name = SREG(1);
    PMC      * const  ctx = Parrot_pcc_get_caller_ctx(interp, CURRENT_CONTEXT(interp));
    PMC      * const  lex_pad = PMC_IS_NULL(ctx) ? PMCNULL : Parrot_sub_find_dynamic_pad(interp, lex_name, ctx);

    if (PMC_IS_NULL(lex_pad)) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, NULL, EXCEPTION_LEX_NOT_FOUND, "Lexical '%Ss' not found in dynamic scope", lex_name);

        return (opcode_t *)handler;
    }

    VTABLE_set_pmc_keyed_str(interp, lex_pad, lex_name, PREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_store_dynamic_lex_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
    STRING   * const  lex_name = SCONST(1);
    PMC      * const  ctx = Parrot_pcc_get_caller_ctx(interp, CURRENT_CONTEXT(interp));
    PMC      * const  lex_pad = PMC_IS_NULL(ctx) ? PMCNULL : Parrot_sub_find_dynamic_pad(interp, lex_name, ctx);

    if (PMC_IS_NULL(lex_pad)) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, NULL, EXCEPTION_LEX_NOT_FOUND, "Lexical '%Ss' not found in dynamic scope", lex_name);

        return (opcode_t *)handler;
    }

    VTABLE_set_pmc_keyed_str(interp, lex_pad, lex_name, PREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_find_lex_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC      * const  ctx = CURRENT_CONTEXT(interp);
    STRING   * const  lex_name = SREG(2);
    PMC      * const  lex_pad = Parrot_sub_find_pad(interp, lex_name, ctx);
    PMC  * const  result = PMC_IS_NULL(lex_pad) ? PMCNULL : VTABLE_get_pmc_keyed_str(interp, lex_pad, lex_name);

    PREG(1) = result;
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_find_lex_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC      * const  ctx = CURRENT_CONTEXT(interp);
    STRING   * const  lex_name = SCONST(2);
    PMC      * const  lex_pad = Parrot_sub_find_pad(interp, lex_name, ctx);
    PMC  * const  result = PMC_IS_NULL(lex_pad) ? PMCNULL : VTABLE_get_pmc_keyed_str(interp, lex_pad, lex_name);

    PREG(1) = result;
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_find_lex_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC      * const  ctx = CURRENT_CONTEXT(interp);
    STRING   * const  lex_name = SREG(2);
    PMC      * const  lex_pad = Parrot_sub_find_pad(interp, lex_name, ctx);
    STRING  * const  result = PMC_IS_NULL(lex_pad) ? STRINGNULL : VTABLE_get_string_keyed_str(interp, lex_pad, lex_name);

    SREG(1) = result;
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_find_lex_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC      * const  ctx = CURRENT_CONTEXT(interp);
    STRING   * const  lex_name = SCONST(2);
    PMC      * const  lex_pad = Parrot_sub_find_pad(interp, lex_name, ctx);
    STRING  * const  result = PMC_IS_NULL(lex_pad) ? STRINGNULL : VTABLE_get_string_keyed_str(interp, lex_pad, lex_name);

    SREG(1) = result;
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_find_lex_i_s(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC      * const  ctx = CURRENT_CONTEXT(interp);
    STRING   * const  lex_name = SREG(2);
    PMC      * const  lex_pad = Parrot_sub_find_pad(interp, lex_name, ctx);
    INTVAL   result = PMC_IS_NULL(lex_pad) ? 0 : VTABLE_get_integer_keyed_str(interp, lex_pad, lex_name);

    IREG(1) = result;
    return cur_opcode + 3;
}

opcode_t *
Parrot_find_lex_i_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC      * const  ctx = CURRENT_CONTEXT(interp);
    STRING   * const  lex_name = SCONST(2);
    PMC      * const  lex_pad = Parrot_sub_find_pad(interp, lex_name, ctx);
    INTVAL   result = PMC_IS_NULL(lex_pad) ? 0 : VTABLE_get_integer_keyed_str(interp, lex_pad, lex_name);

    IREG(1) = result;
    return cur_opcode + 3;
}

opcode_t *
Parrot_find_lex_n_s(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC      * const  ctx = CURRENT_CONTEXT(interp);
    STRING   * const  lex_name = SREG(2);
    PMC      * const  lex_pad = Parrot_sub_find_pad(interp, lex_name, ctx);
    FLOATVAL   result = PMC_IS_NULL(lex_pad) ? 0.0 : VTABLE_get_number_keyed_str(interp, lex_pad, lex_name);

    NREG(1) = result;
    return cur_opcode + 3;
}

opcode_t *
Parrot_find_lex_n_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC      * const  ctx = CURRENT_CONTEXT(interp);
    STRING   * const  lex_name = SCONST(2);
    PMC      * const  lex_pad = Parrot_sub_find_pad(interp, lex_name, ctx);
    FLOATVAL   result = PMC_IS_NULL(lex_pad) ? 0.0 : VTABLE_get_number_keyed_str(interp, lex_pad, lex_name);

    NREG(1) = result;
    return cur_opcode + 3;
}

opcode_t *
Parrot_find_dynamic_lex_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
    STRING   * const  lex_name = SREG(2);
    PMC      * const  ctx = Parrot_pcc_get_caller_ctx(interp, CURRENT_CONTEXT(interp));
    PMC      * const  lex_pad = PMC_IS_NULL(ctx) ? PMCNULL : Parrot_sub_find_dynamic_pad(interp, lex_name, ctx);
    PMC      * const  result = PMC_IS_NULL(lex_pad) ? PMCNULL : VTABLE_get_pmc_keyed_str(interp, lex_pad, lex_name);

    PREG(1) = result;
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_find_dynamic_lex_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    STRING   * const  lex_name = SCONST(2);
    PMC      * const  ctx = Parrot_pcc_get_caller_ctx(interp, CURRENT_CONTEXT(interp));
    PMC      * const  lex_pad = PMC_IS_NULL(ctx) ? PMCNULL : Parrot_sub_find_dynamic_pad(interp, lex_name, ctx);
    PMC      * const  result = PMC_IS_NULL(lex_pad) ? PMCNULL : VTABLE_get_pmc_keyed_str(interp, lex_pad, lex_name);

    PREG(1) = result;
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_find_caller_lex_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
    STRING   * const  lex_name = SREG(2);
    PMC      *  ctx = CURRENT_CONTEXT(interp);
    PMC      *  result = PMCNULL;

    for (ctx = Parrot_pcc_get_caller_ctx(interp, ctx); ((!PMC_IS_NULL(ctx)) && PMC_IS_NULL(result)); ctx = Parrot_pcc_get_caller_ctx(interp, ctx)) {
        PMC  * const  lex_pad = Parrot_sub_find_pad(interp, lex_name, ctx);

        if (!PMC_IS_NULL(lex_pad)) {
            result = VTABLE_get_pmc_keyed_str(interp, lex_pad, lex_name);
        }

        if (!result) {
            result = PMCNULL;
        }

    }

    PREG(1) = result;
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_find_caller_lex_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    STRING   * const  lex_name = SCONST(2);
    PMC      *  ctx = CURRENT_CONTEXT(interp);
    PMC      *  result = PMCNULL;

    for (ctx = Parrot_pcc_get_caller_ctx(interp, ctx); ((!PMC_IS_NULL(ctx)) && PMC_IS_NULL(result)); ctx = Parrot_pcc_get_caller_ctx(interp, ctx)) {
        PMC  * const  lex_pad = Parrot_sub_find_pad(interp, lex_name, ctx);

        if (!PMC_IS_NULL(lex_pad)) {
            result = VTABLE_get_pmc_keyed_str(interp, lex_pad, lex_name);
        }

        if (!result) {
            result = PMCNULL;
        }

    }

    PREG(1) = result;
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_get_namespace_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  cur_ns = Parrot_pcc_get_namespace(interp, CURRENT_CONTEXT(interp));

    PREG(1) = cur_ns;
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 2;
}

opcode_t *
Parrot_get_namespace_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  cur_ns = Parrot_pcc_get_namespace(interp, CURRENT_CONTEXT(interp));
    PMC  * const  ns = Parrot_ns_get_namespace_keyed(interp, cur_ns, PREG(2));

    PREG(1) = PMC_IS_NULL(ns) ? PMCNULL : ns;
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_get_namespace_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  cur_ns = Parrot_pcc_get_namespace(interp, CURRENT_CONTEXT(interp));
    PMC  * const  ns = Parrot_ns_get_namespace_keyed(interp, cur_ns, PCONST(2));

    PREG(1) = PMC_IS_NULL(ns) ? PMCNULL : ns;
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_get_hll_namespace_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  hll_ns = Parrot_hll_get_ctx_HLL_namespace(interp);

    PREG(1) = hll_ns;
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 2;
}

opcode_t *
Parrot_get_hll_namespace_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  hll_ns = Parrot_hll_get_ctx_HLL_namespace(interp);

    if (PMC_IS_NULL(hll_ns)) {
        PREG(1) = PMCNULL;
    }
    else {
        PMC  * const  ns = Parrot_ns_get_namespace_keyed(interp, hll_ns, PREG(2));

        PREG(1) = ns;
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_get_hll_namespace_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  hll_ns = Parrot_hll_get_ctx_HLL_namespace(interp);

    if (PMC_IS_NULL(hll_ns)) {
        PREG(1) = PMCNULL;
    }
    else {
        PMC  * const  ns = Parrot_ns_get_namespace_keyed(interp, hll_ns, PCONST(2));

        PREG(1) = ns;
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_get_root_namespace_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  root_ns = interp->root_namespace;

    PREG(1) = root_ns;
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 2;
}

opcode_t *
Parrot_get_root_namespace_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  root_ns = interp->root_namespace;

    if (PMC_IS_NULL(root_ns)) {
        PREG(1) = PMCNULL;
    }
    else {
        PMC  * const  ns = Parrot_ns_get_namespace_keyed(interp, root_ns, PREG(2));

        PREG(1) = ns;
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_get_root_namespace_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  root_ns = interp->root_namespace;

    if (PMC_IS_NULL(root_ns)) {
        PREG(1) = PMCNULL;
    }
    else {
        PMC  * const  ns = Parrot_ns_get_namespace_keyed(interp, root_ns, PCONST(2));

        PREG(1) = ns;
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_get_global_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  cur_ns = Parrot_pcc_get_namespace(interp, CURRENT_CONTEXT(interp));
    STRING  * const  name = SREG(2);
    PMC  * const  result = Parrot_ns_find_global_from_op(interp, cur_ns, name,  cur_opcode + 3);

    PARROT_ASSERT_INTERP(result, interp);
    PREG(1) = result;
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_get_global_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  cur_ns = Parrot_pcc_get_namespace(interp, CURRENT_CONTEXT(interp));
    STRING  * const  name = SCONST(2);
    PMC  * const  result = Parrot_ns_find_global_from_op(interp, cur_ns, name,  cur_opcode + 3);

    PARROT_ASSERT_INTERP(result, interp);
    PREG(1) = result;
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_get_global_p_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  cur_ns = Parrot_pcc_get_namespace(interp, CURRENT_CONTEXT(interp));

    if (PMC_IS_NULL(cur_ns)) {
        PREG(1) = PMCNULL;
    }
    else {
        PMC  * const  ns = Parrot_ns_get_namespace_keyed(interp, cur_ns, PREG(2));

        if (PMC_IS_NULL(ns)) {
            PREG(1) = PMCNULL;
        }
        else {
            PREG(1) = Parrot_ns_find_global_from_op(interp, ns, SREG(3),  cur_opcode + 4);
        }

    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_get_global_p_pc_s(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  cur_ns = Parrot_pcc_get_namespace(interp, CURRENT_CONTEXT(interp));

    if (PMC_IS_NULL(cur_ns)) {
        PREG(1) = PMCNULL;
    }
    else {
        PMC  * const  ns = Parrot_ns_get_namespace_keyed(interp, cur_ns, PCONST(2));

        if (PMC_IS_NULL(ns)) {
            PREG(1) = PMCNULL;
        }
        else {
            PREG(1) = Parrot_ns_find_global_from_op(interp, ns, SREG(3),  cur_opcode + 4);
        }

    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_get_global_p_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  cur_ns = Parrot_pcc_get_namespace(interp, CURRENT_CONTEXT(interp));

    if (PMC_IS_NULL(cur_ns)) {
        PREG(1) = PMCNULL;
    }
    else {
        PMC  * const  ns = Parrot_ns_get_namespace_keyed(interp, cur_ns, PREG(2));

        if (PMC_IS_NULL(ns)) {
            PREG(1) = PMCNULL;
        }
        else {
            PREG(1) = Parrot_ns_find_global_from_op(interp, ns, SCONST(3),  cur_opcode + 4);
        }

    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_get_global_p_pc_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  cur_ns = Parrot_pcc_get_namespace(interp, CURRENT_CONTEXT(interp));

    if (PMC_IS_NULL(cur_ns)) {
        PREG(1) = PMCNULL;
    }
    else {
        PMC  * const  ns = Parrot_ns_get_namespace_keyed(interp, cur_ns, PCONST(2));

        if (PMC_IS_NULL(ns)) {
            PREG(1) = PMCNULL;
        }
        else {
            PREG(1) = Parrot_ns_find_global_from_op(interp, ns, SCONST(3),  cur_opcode + 4);
        }

    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_get_hll_global_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  hll_ns = Parrot_hll_get_ctx_HLL_namespace(interp);

    PREG(1) = Parrot_ns_find_global_from_op(interp, hll_ns, SREG(2),  cur_opcode + 3);
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_get_hll_global_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  hll_ns = Parrot_hll_get_ctx_HLL_namespace(interp);

    PREG(1) = Parrot_ns_find_global_from_op(interp, hll_ns, SCONST(2),  cur_opcode + 3);
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_get_hll_global_p_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  hll_ns = Parrot_hll_get_ctx_HLL_namespace(interp);

    if (PMC_IS_NULL(hll_ns)) {
        PREG(1) = hll_ns;
    }
    else {
        PMC  * const  ns = Parrot_ns_get_namespace_keyed(interp, hll_ns, PREG(2));

        if (PMC_IS_NULL(ns)) {
            PREG(1) = PMCNULL;
        }
        else {
            PREG(1) = Parrot_ns_find_global_from_op(interp, ns, SREG(3),  cur_opcode + 4);
        }

    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_get_hll_global_p_pc_s(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  hll_ns = Parrot_hll_get_ctx_HLL_namespace(interp);

    if (PMC_IS_NULL(hll_ns)) {
        PREG(1) = hll_ns;
    }
    else {
        PMC  * const  ns = Parrot_ns_get_namespace_keyed(interp, hll_ns, PCONST(2));

        if (PMC_IS_NULL(ns)) {
            PREG(1) = PMCNULL;
        }
        else {
            PREG(1) = Parrot_ns_find_global_from_op(interp, ns, SREG(3),  cur_opcode + 4);
        }

    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_get_hll_global_p_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  hll_ns = Parrot_hll_get_ctx_HLL_namespace(interp);

    if (PMC_IS_NULL(hll_ns)) {
        PREG(1) = hll_ns;
    }
    else {
        PMC  * const  ns = Parrot_ns_get_namespace_keyed(interp, hll_ns, PREG(2));

        if (PMC_IS_NULL(ns)) {
            PREG(1) = PMCNULL;
        }
        else {
            PREG(1) = Parrot_ns_find_global_from_op(interp, ns, SCONST(3),  cur_opcode + 4);
        }

    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_get_hll_global_p_pc_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  hll_ns = Parrot_hll_get_ctx_HLL_namespace(interp);

    if (PMC_IS_NULL(hll_ns)) {
        PREG(1) = hll_ns;
    }
    else {
        PMC  * const  ns = Parrot_ns_get_namespace_keyed(interp, hll_ns, PCONST(2));

        if (PMC_IS_NULL(ns)) {
            PREG(1) = PMCNULL;
        }
        else {
            PREG(1) = Parrot_ns_find_global_from_op(interp, ns, SCONST(3),  cur_opcode + 4);
        }

    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_get_root_global_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  root_ns = interp->root_namespace;

    PREG(1) = Parrot_ns_find_global_from_op(interp, root_ns, SREG(2),  cur_opcode + 3);
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_get_root_global_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  root_ns = interp->root_namespace;

    PREG(1) = Parrot_ns_find_global_from_op(interp, root_ns, SCONST(2),  cur_opcode + 3);
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_get_root_global_p_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  root_ns = interp->root_namespace;

    if (PMC_IS_NULL(root_ns)) {
        PREG(1) = PMCNULL;
    }
    else {
        PMC  * const  ns = Parrot_ns_get_namespace_keyed(interp, root_ns, PREG(2));

        if (PMC_IS_NULL(ns)) {
            PREG(1) = PMCNULL;
        }
        else {
            PREG(1) = Parrot_ns_find_global_from_op(interp, ns, SREG(3),  cur_opcode + 4);
        }

    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_get_root_global_p_pc_s(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  root_ns = interp->root_namespace;

    if (PMC_IS_NULL(root_ns)) {
        PREG(1) = PMCNULL;
    }
    else {
        PMC  * const  ns = Parrot_ns_get_namespace_keyed(interp, root_ns, PCONST(2));

        if (PMC_IS_NULL(ns)) {
            PREG(1) = PMCNULL;
        }
        else {
            PREG(1) = Parrot_ns_find_global_from_op(interp, ns, SREG(3),  cur_opcode + 4);
        }

    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_get_root_global_p_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  root_ns = interp->root_namespace;

    if (PMC_IS_NULL(root_ns)) {
        PREG(1) = PMCNULL;
    }
    else {
        PMC  * const  ns = Parrot_ns_get_namespace_keyed(interp, root_ns, PREG(2));

        if (PMC_IS_NULL(ns)) {
            PREG(1) = PMCNULL;
        }
        else {
            PREG(1) = Parrot_ns_find_global_from_op(interp, ns, SCONST(3),  cur_opcode + 4);
        }

    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_get_root_global_p_pc_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  root_ns = interp->root_namespace;

    if (PMC_IS_NULL(root_ns)) {
        PREG(1) = PMCNULL;
    }
    else {
        PMC  * const  ns = Parrot_ns_get_namespace_keyed(interp, root_ns, PCONST(2));

        if (PMC_IS_NULL(ns)) {
            PREG(1) = PMCNULL;
        }
        else {
            PREG(1) = Parrot_ns_find_global_from_op(interp, ns, SCONST(3),  cur_opcode + 4);
        }

    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_set_global_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  cur_ns = Parrot_pcc_get_namespace(interp, CURRENT_CONTEXT(interp));

    Parrot_ns_set_global(interp, cur_ns, SREG(1), PREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_set_global_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  cur_ns = Parrot_pcc_get_namespace(interp, CURRENT_CONTEXT(interp));

    Parrot_ns_set_global(interp, cur_ns, SCONST(1), PREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_set_global_p_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  cur_ns = Parrot_pcc_get_namespace(interp, CURRENT_CONTEXT(interp));
    PMC  * const  ns = Parrot_ns_make_namespace_keyed(interp, cur_ns, PREG(1));

    Parrot_ns_set_global(interp, ns, SREG(2), PREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_set_global_pc_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  cur_ns = Parrot_pcc_get_namespace(interp, CURRENT_CONTEXT(interp));
    PMC  * const  ns = Parrot_ns_make_namespace_keyed(interp, cur_ns, PCONST(1));

    Parrot_ns_set_global(interp, ns, SREG(2), PREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_set_global_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  cur_ns = Parrot_pcc_get_namespace(interp, CURRENT_CONTEXT(interp));
    PMC  * const  ns = Parrot_ns_make_namespace_keyed(interp, cur_ns, PREG(1));

    Parrot_ns_set_global(interp, ns, SCONST(2), PREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_set_global_pc_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  cur_ns = Parrot_pcc_get_namespace(interp, CURRENT_CONTEXT(interp));
    PMC  * const  ns = Parrot_ns_make_namespace_keyed(interp, cur_ns, PCONST(1));

    Parrot_ns_set_global(interp, ns, SCONST(2), PREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_set_hll_global_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  hll_ns = Parrot_hll_get_ctx_HLL_namespace(interp);

    Parrot_ns_set_global(interp, hll_ns, SREG(1), PREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_set_hll_global_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  hll_ns = Parrot_hll_get_ctx_HLL_namespace(interp);

    Parrot_ns_set_global(interp, hll_ns, SCONST(1), PREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_set_hll_global_p_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  hll_ns = Parrot_hll_get_ctx_HLL_namespace(interp);
    PMC  * const  ns = Parrot_ns_make_namespace_keyed(interp, hll_ns, PREG(1));

    Parrot_ns_set_global(interp, ns, SREG(2), PREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_set_hll_global_pc_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  hll_ns = Parrot_hll_get_ctx_HLL_namespace(interp);
    PMC  * const  ns = Parrot_ns_make_namespace_keyed(interp, hll_ns, PCONST(1));

    Parrot_ns_set_global(interp, ns, SREG(2), PREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_set_hll_global_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  hll_ns = Parrot_hll_get_ctx_HLL_namespace(interp);
    PMC  * const  ns = Parrot_ns_make_namespace_keyed(interp, hll_ns, PREG(1));

    Parrot_ns_set_global(interp, ns, SCONST(2), PREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_set_hll_global_pc_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  hll_ns = Parrot_hll_get_ctx_HLL_namespace(interp);
    PMC  * const  ns = Parrot_ns_make_namespace_keyed(interp, hll_ns, PCONST(1));

    Parrot_ns_set_global(interp, ns, SCONST(2), PREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_set_root_global_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  root_ns = interp->root_namespace;

    Parrot_ns_set_global(interp, root_ns, SREG(1), PREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_set_root_global_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  root_ns = interp->root_namespace;

    Parrot_ns_set_global(interp, root_ns, SCONST(1), PREG(2));
    return cur_opcode + 3;
}

opcode_t *
Parrot_set_root_global_p_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  root_ns = interp->root_namespace;
    PMC  * const  ns = Parrot_ns_make_namespace_keyed(interp, root_ns, PREG(1));

    Parrot_ns_set_global(interp, ns, SREG(2), PREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_set_root_global_pc_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  root_ns = interp->root_namespace;
    PMC  * const  ns = Parrot_ns_make_namespace_keyed(interp, root_ns, PCONST(1));

    Parrot_ns_set_global(interp, ns, SREG(2), PREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_set_root_global_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  root_ns = interp->root_namespace;
    PMC  * const  ns = Parrot_ns_make_namespace_keyed(interp, root_ns, PREG(1));

    Parrot_ns_set_global(interp, ns, SCONST(2), PREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_set_root_global_pc_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  root_ns = interp->root_namespace;
    PMC  * const  ns = Parrot_ns_make_namespace_keyed(interp, root_ns, PCONST(1));

    Parrot_ns_set_global(interp, ns, SCONST(2), PREG(3));
    return cur_opcode + 4;
}

opcode_t *
Parrot_find_name_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
    if (!SREG(2)) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, NULL, EXCEPTION_INVALID_OPERATION, "Tried to find null name");

        PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
        return (opcode_t *)handler;
    }

    PREG(1) = Parrot_ns_find_named_item(interp, SREG(2),  cur_opcode + 3);
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_find_name_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    if (!SCONST(2)) {
        opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, NULL, EXCEPTION_INVALID_OPERATION, "Tried to find null name");

        PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
        return (opcode_t *)handler;
    }

    PREG(1) = Parrot_ns_find_named_item(interp, SCONST(2),  cur_opcode + 3);
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_find_sub_not_null_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
    opcode_t  * const  dest =  cur_opcode + 3;
    PMC       * const  sub = Parrot_ns_find_named_item(interp, SREG(2), dest);

    if (PMC_IS_NULL(sub)) {
        opcode_t  * handler;

        Parrot_pcc_set_pc(interp, CURRENT_CONTEXT(interp), dest);
        handler = Parrot_ex_throw_from_op_args(interp, dest, EXCEPTION_GLOBAL_NOT_FOUND, "Could not find sub %Ss", SREG(2));
        {
            PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
            return (opcode_t *)handler;
        }

    }

    PREG(1) = sub;
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_find_sub_not_null_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
    opcode_t  * const  dest =  cur_opcode + 3;
    PMC       * const  sub = Parrot_ns_find_named_item(interp, SCONST(2), dest);

    if (PMC_IS_NULL(sub)) {
        opcode_t  * handler;

        Parrot_pcc_set_pc(interp, CURRENT_CONTEXT(interp), dest);
        handler = Parrot_ex_throw_from_op_args(interp, dest, EXCEPTION_GLOBAL_NOT_FOUND, "Could not find sub %Ss", SCONST(2));
        {
            PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
            return (opcode_t *)handler;
        }

    }

    PREG(1) = sub;
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 3;
}

opcode_t *
Parrot_trap(opcode_t *cur_opcode, PARROT_INTERP) {
    UNUSED(interp);
    #if defined(__GNUC__) && (defined(i386) || defined(__x86_64__)) && !defined(sun)
        __asm__("int3");

#endif
;
    #if defined(__GNUC__) && defined(PPC)
        __asm__("trap");

#endif
;
    return cur_opcode + 1;
}

opcode_t *
Parrot_set_label_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    VTABLE_set_pointer(interp, PREG(1), ((CUR_OPCODE + ICONST(2))));
    return cur_opcode + 3;
}

opcode_t *
Parrot_get_label_i_p(opcode_t *cur_opcode, PARROT_INTERP) {
    void  * const  ptr = VTABLE_get_pointer(interp, PREG(2));

    IREG(1) = PTR2INTVAL(ptr);
    return cur_opcode + 3;
}

opcode_t *
Parrot_get_id_i_p(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = Parrot_hash_pointer((void *)PREG(2), interp->hash_seed);
    return cur_opcode + 3;
}

opcode_t *
Parrot_get_id_i_pc(opcode_t *cur_opcode, PARROT_INTERP) {
    IREG(1) = Parrot_hash_pointer((void *)PCONST(2), interp->hash_seed);
    return cur_opcode + 3;
}

opcode_t *
Parrot_fetch_p_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_get_pmc_keyed(interp, PREG(2), PREG(3));
    if (PMC_IS_NULL(PREG(1))) {
        PREG(1) = Parrot_pmc_new_from_type(interp, PREG(4));
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_fetch_p_pc_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_get_pmc_keyed(interp, PCONST(2), PREG(3));
    if (PMC_IS_NULL(PREG(1))) {
        PREG(1) = Parrot_pmc_new_from_type(interp, PREG(4));
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_fetch_p_p_pc_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_get_pmc_keyed(interp, PREG(2), PCONST(3));
    if (PMC_IS_NULL(PREG(1))) {
        PREG(1) = Parrot_pmc_new_from_type(interp, PREG(4));
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_fetch_p_pc_pc_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_get_pmc_keyed(interp, PCONST(2), PCONST(3));
    if (PMC_IS_NULL(PREG(1))) {
        PREG(1) = Parrot_pmc_new_from_type(interp, PREG(4));
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_fetch_p_p_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_get_pmc_keyed(interp, PREG(2), PREG(3));
    if (PMC_IS_NULL(PREG(1))) {
        PREG(1) = Parrot_pmc_new_from_type(interp, PCONST(4));
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_fetch_p_pc_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_get_pmc_keyed(interp, PCONST(2), PREG(3));
    if (PMC_IS_NULL(PREG(1))) {
        PREG(1) = Parrot_pmc_new_from_type(interp, PCONST(4));
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_fetch_p_p_pc_pc(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_get_pmc_keyed(interp, PREG(2), PCONST(3));
    if (PMC_IS_NULL(PREG(1))) {
        PREG(1) = Parrot_pmc_new_from_type(interp, PCONST(4));
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_fetch_p_pc_pc_pc(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_get_pmc_keyed(interp, PCONST(2), PCONST(3));
    if (PMC_IS_NULL(PREG(1))) {
        PREG(1) = Parrot_pmc_new_from_type(interp, PCONST(4));
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_fetch_p_p_i_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_get_pmc_keyed_int(interp, PREG(2), IREG(3));
    if (PMC_IS_NULL(PREG(1))) {
        PREG(1) = Parrot_pmc_new_from_type(interp, PREG(4));
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_fetch_p_pc_i_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_get_pmc_keyed_int(interp, PCONST(2), IREG(3));
    if (PMC_IS_NULL(PREG(1))) {
        PREG(1) = Parrot_pmc_new_from_type(interp, PREG(4));
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_fetch_p_p_ic_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_get_pmc_keyed_int(interp, PREG(2), ICONST(3));
    if (PMC_IS_NULL(PREG(1))) {
        PREG(1) = Parrot_pmc_new_from_type(interp, PREG(4));
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_fetch_p_pc_ic_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_get_pmc_keyed_int(interp, PCONST(2), ICONST(3));
    if (PMC_IS_NULL(PREG(1))) {
        PREG(1) = Parrot_pmc_new_from_type(interp, PREG(4));
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_fetch_p_p_i_pc(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_get_pmc_keyed_int(interp, PREG(2), IREG(3));
    if (PMC_IS_NULL(PREG(1))) {
        PREG(1) = Parrot_pmc_new_from_type(interp, PCONST(4));
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_fetch_p_pc_i_pc(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_get_pmc_keyed_int(interp, PCONST(2), IREG(3));
    if (PMC_IS_NULL(PREG(1))) {
        PREG(1) = Parrot_pmc_new_from_type(interp, PCONST(4));
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_fetch_p_p_ic_pc(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_get_pmc_keyed_int(interp, PREG(2), ICONST(3));
    if (PMC_IS_NULL(PREG(1))) {
        PREG(1) = Parrot_pmc_new_from_type(interp, PCONST(4));
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_fetch_p_pc_ic_pc(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_get_pmc_keyed_int(interp, PCONST(2), ICONST(3));
    if (PMC_IS_NULL(PREG(1))) {
        PREG(1) = Parrot_pmc_new_from_type(interp, PCONST(4));
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_fetch_p_p_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_get_pmc_keyed_str(interp, PREG(2), SREG(3));
    if (PMC_IS_NULL(PREG(1))) {
        PREG(1) = Parrot_pmc_new_from_type(interp, PREG(4));
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_fetch_p_pc_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_get_pmc_keyed_str(interp, PCONST(2), SREG(3));
    if (PMC_IS_NULL(PREG(1))) {
        PREG(1) = Parrot_pmc_new_from_type(interp, PREG(4));
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_fetch_p_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_get_pmc_keyed_str(interp, PREG(2), SCONST(3));
    if (PMC_IS_NULL(PREG(1))) {
        PREG(1) = Parrot_pmc_new_from_type(interp, PREG(4));
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_fetch_p_pc_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_get_pmc_keyed_str(interp, PCONST(2), SCONST(3));
    if (PMC_IS_NULL(PREG(1))) {
        PREG(1) = Parrot_pmc_new_from_type(interp, PREG(4));
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_fetch_p_p_s_pc(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_get_pmc_keyed_str(interp, PREG(2), SREG(3));
    if (PMC_IS_NULL(PREG(1))) {
        PREG(1) = Parrot_pmc_new_from_type(interp, PCONST(4));
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_fetch_p_pc_s_pc(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_get_pmc_keyed_str(interp, PCONST(2), SREG(3));
    if (PMC_IS_NULL(PREG(1))) {
        PREG(1) = Parrot_pmc_new_from_type(interp, PCONST(4));
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_fetch_p_p_sc_pc(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_get_pmc_keyed_str(interp, PREG(2), SCONST(3));
    if (PMC_IS_NULL(PREG(1))) {
        PREG(1) = Parrot_pmc_new_from_type(interp, PCONST(4));
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_fetch_p_pc_sc_pc(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_get_pmc_keyed_str(interp, PCONST(2), SCONST(3));
    if (PMC_IS_NULL(PREG(1))) {
        PREG(1) = Parrot_pmc_new_from_type(interp, PCONST(4));
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_vivify_p_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_get_pmc_keyed(interp, PREG(2), PREG(3));
    if (PMC_IS_NULL(PREG(1))) {
        PREG(1) = Parrot_pmc_new_from_type(interp, PREG(4));
        VTABLE_set_pmc_keyed(interp, PREG(2), PREG(3), PREG(1));
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_vivify_p_pc_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_get_pmc_keyed(interp, PCONST(2), PREG(3));
    if (PMC_IS_NULL(PREG(1))) {
        PREG(1) = Parrot_pmc_new_from_type(interp, PREG(4));
        VTABLE_set_pmc_keyed(interp, PCONST(2), PREG(3), PREG(1));
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_vivify_p_p_pc_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_get_pmc_keyed(interp, PREG(2), PCONST(3));
    if (PMC_IS_NULL(PREG(1))) {
        PREG(1) = Parrot_pmc_new_from_type(interp, PREG(4));
        VTABLE_set_pmc_keyed(interp, PREG(2), PCONST(3), PREG(1));
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_vivify_p_pc_pc_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_get_pmc_keyed(interp, PCONST(2), PCONST(3));
    if (PMC_IS_NULL(PREG(1))) {
        PREG(1) = Parrot_pmc_new_from_type(interp, PREG(4));
        VTABLE_set_pmc_keyed(interp, PCONST(2), PCONST(3), PREG(1));
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_vivify_p_p_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_get_pmc_keyed(interp, PREG(2), PREG(3));
    if (PMC_IS_NULL(PREG(1))) {
        PREG(1) = Parrot_pmc_new_from_type(interp, PCONST(4));
        VTABLE_set_pmc_keyed(interp, PREG(2), PREG(3), PREG(1));
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_vivify_p_pc_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_get_pmc_keyed(interp, PCONST(2), PREG(3));
    if (PMC_IS_NULL(PREG(1))) {
        PREG(1) = Parrot_pmc_new_from_type(interp, PCONST(4));
        VTABLE_set_pmc_keyed(interp, PCONST(2), PREG(3), PREG(1));
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_vivify_p_p_pc_pc(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_get_pmc_keyed(interp, PREG(2), PCONST(3));
    if (PMC_IS_NULL(PREG(1))) {
        PREG(1) = Parrot_pmc_new_from_type(interp, PCONST(4));
        VTABLE_set_pmc_keyed(interp, PREG(2), PCONST(3), PREG(1));
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_vivify_p_pc_pc_pc(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_get_pmc_keyed(interp, PCONST(2), PCONST(3));
    if (PMC_IS_NULL(PREG(1))) {
        PREG(1) = Parrot_pmc_new_from_type(interp, PCONST(4));
        VTABLE_set_pmc_keyed(interp, PCONST(2), PCONST(3), PREG(1));
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_vivify_p_p_i_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_get_pmc_keyed_int(interp, PREG(2), IREG(3));
    if (PMC_IS_NULL(PREG(1))) {
        PREG(1) = Parrot_pmc_new_from_type(interp, PREG(4));
        VTABLE_set_pmc_keyed_int(interp, PREG(2), IREG(3), PREG(1));
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_vivify_p_pc_i_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_get_pmc_keyed_int(interp, PCONST(2), IREG(3));
    if (PMC_IS_NULL(PREG(1))) {
        PREG(1) = Parrot_pmc_new_from_type(interp, PREG(4));
        VTABLE_set_pmc_keyed_int(interp, PCONST(2), IREG(3), PREG(1));
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_vivify_p_p_ic_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_get_pmc_keyed_int(interp, PREG(2), ICONST(3));
    if (PMC_IS_NULL(PREG(1))) {
        PREG(1) = Parrot_pmc_new_from_type(interp, PREG(4));
        VTABLE_set_pmc_keyed_int(interp, PREG(2), ICONST(3), PREG(1));
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_vivify_p_pc_ic_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_get_pmc_keyed_int(interp, PCONST(2), ICONST(3));
    if (PMC_IS_NULL(PREG(1))) {
        PREG(1) = Parrot_pmc_new_from_type(interp, PREG(4));
        VTABLE_set_pmc_keyed_int(interp, PCONST(2), ICONST(3), PREG(1));
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_vivify_p_p_i_pc(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_get_pmc_keyed_int(interp, PREG(2), IREG(3));
    if (PMC_IS_NULL(PREG(1))) {
        PREG(1) = Parrot_pmc_new_from_type(interp, PCONST(4));
        VTABLE_set_pmc_keyed_int(interp, PREG(2), IREG(3), PREG(1));
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_vivify_p_pc_i_pc(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_get_pmc_keyed_int(interp, PCONST(2), IREG(3));
    if (PMC_IS_NULL(PREG(1))) {
        PREG(1) = Parrot_pmc_new_from_type(interp, PCONST(4));
        VTABLE_set_pmc_keyed_int(interp, PCONST(2), IREG(3), PREG(1));
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_vivify_p_p_ic_pc(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_get_pmc_keyed_int(interp, PREG(2), ICONST(3));
    if (PMC_IS_NULL(PREG(1))) {
        PREG(1) = Parrot_pmc_new_from_type(interp, PCONST(4));
        VTABLE_set_pmc_keyed_int(interp, PREG(2), ICONST(3), PREG(1));
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_vivify_p_pc_ic_pc(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_get_pmc_keyed_int(interp, PCONST(2), ICONST(3));
    if (PMC_IS_NULL(PREG(1))) {
        PREG(1) = Parrot_pmc_new_from_type(interp, PCONST(4));
        VTABLE_set_pmc_keyed_int(interp, PCONST(2), ICONST(3), PREG(1));
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_vivify_p_p_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_get_pmc_keyed_str(interp, PREG(2), SREG(3));
    if (PMC_IS_NULL(PREG(1))) {
        PREG(1) = Parrot_pmc_new_from_type(interp, PREG(4));
        VTABLE_set_pmc_keyed_str(interp, PREG(2), SREG(3), PREG(1));
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_vivify_p_pc_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_get_pmc_keyed_str(interp, PCONST(2), SREG(3));
    if (PMC_IS_NULL(PREG(1))) {
        PREG(1) = Parrot_pmc_new_from_type(interp, PREG(4));
        VTABLE_set_pmc_keyed_str(interp, PCONST(2), SREG(3), PREG(1));
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_vivify_p_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_get_pmc_keyed_str(interp, PREG(2), SCONST(3));
    if (PMC_IS_NULL(PREG(1))) {
        PREG(1) = Parrot_pmc_new_from_type(interp, PREG(4));
        VTABLE_set_pmc_keyed_str(interp, PREG(2), SCONST(3), PREG(1));
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_vivify_p_pc_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_get_pmc_keyed_str(interp, PCONST(2), SCONST(3));
    if (PMC_IS_NULL(PREG(1))) {
        PREG(1) = Parrot_pmc_new_from_type(interp, PREG(4));
        VTABLE_set_pmc_keyed_str(interp, PCONST(2), SCONST(3), PREG(1));
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_vivify_p_p_s_pc(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_get_pmc_keyed_str(interp, PREG(2), SREG(3));
    if (PMC_IS_NULL(PREG(1))) {
        PREG(1) = Parrot_pmc_new_from_type(interp, PCONST(4));
        VTABLE_set_pmc_keyed_str(interp, PREG(2), SREG(3), PREG(1));
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_vivify_p_pc_s_pc(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_get_pmc_keyed_str(interp, PCONST(2), SREG(3));
    if (PMC_IS_NULL(PREG(1))) {
        PREG(1) = Parrot_pmc_new_from_type(interp, PCONST(4));
        VTABLE_set_pmc_keyed_str(interp, PCONST(2), SREG(3), PREG(1));
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_vivify_p_p_sc_pc(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_get_pmc_keyed_str(interp, PREG(2), SCONST(3));
    if (PMC_IS_NULL(PREG(1))) {
        PREG(1) = Parrot_pmc_new_from_type(interp, PCONST(4));
        VTABLE_set_pmc_keyed_str(interp, PREG(2), SCONST(3), PREG(1));
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_vivify_p_pc_sc_pc(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = VTABLE_get_pmc_keyed_str(interp, PCONST(2), SCONST(3));
    if (PMC_IS_NULL(PREG(1))) {
        PREG(1) = Parrot_pmc_new_from_type(interp, PCONST(4));
        VTABLE_set_pmc_keyed_str(interp, PCONST(2), SCONST(3), PREG(1));
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 5;
}

opcode_t *
Parrot_new_p_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
    STRING  * const  name = SREG(2);
    PMC     * const  _class = Parrot_pcc_get_HLL(interp, CURRENT_CONTEXT(interp)) ? Parrot_oo_get_class_str(interp, name) : PMCNULL;

    if (!PMC_IS_NULL(_class)) {
        PMC  * const  initial = Parrot_pmc_new(interp, Parrot_hll_get_ctx_HLL_type(interp, enum_class_Integer));

        VTABLE_set_integer_native(interp, initial, IREG(3));
        PREG(1) = VTABLE_instantiate(interp, _class, initial);
    }
    else {
        const INTVAL   type = Parrot_pmc_get_type_str(interp, name);

        if (type <= 0) {
            opcode_t  * dest = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 4, EXCEPTION_NO_CLASS, "Class '%Ss' not found", name);

            PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
            return (opcode_t *)dest;
        }

        PREG(1) = Parrot_pmc_new_init_int(interp, type, IREG(3));
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_new_p_sc_i(opcode_t *cur_opcode, PARROT_INTERP) {
    STRING  * const  name = SCONST(2);
    PMC     * const  _class = Parrot_pcc_get_HLL(interp, CURRENT_CONTEXT(interp)) ? Parrot_oo_get_class_str(interp, name) : PMCNULL;

    if (!PMC_IS_NULL(_class)) {
        PMC  * const  initial = Parrot_pmc_new(interp, Parrot_hll_get_ctx_HLL_type(interp, enum_class_Integer));

        VTABLE_set_integer_native(interp, initial, IREG(3));
        PREG(1) = VTABLE_instantiate(interp, _class, initial);
    }
    else {
        const INTVAL   type = Parrot_pmc_get_type_str(interp, name);

        if (type <= 0) {
            opcode_t  * dest = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 4, EXCEPTION_NO_CLASS, "Class '%Ss' not found", name);

            PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
            return (opcode_t *)dest;
        }

        PREG(1) = Parrot_pmc_new_init_int(interp, type, IREG(3));
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_new_p_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    STRING  * const  name = SREG(2);
    PMC     * const  _class = Parrot_pcc_get_HLL(interp, CURRENT_CONTEXT(interp)) ? Parrot_oo_get_class_str(interp, name) : PMCNULL;

    if (!PMC_IS_NULL(_class)) {
        PMC  * const  initial = Parrot_pmc_new(interp, Parrot_hll_get_ctx_HLL_type(interp, enum_class_Integer));

        VTABLE_set_integer_native(interp, initial, ICONST(3));
        PREG(1) = VTABLE_instantiate(interp, _class, initial);
    }
    else {
        const INTVAL   type = Parrot_pmc_get_type_str(interp, name);

        if (type <= 0) {
            opcode_t  * dest = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 4, EXCEPTION_NO_CLASS, "Class '%Ss' not found", name);

            PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
            return (opcode_t *)dest;
        }

        PREG(1) = Parrot_pmc_new_init_int(interp, type, ICONST(3));
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_new_p_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    STRING  * const  name = SCONST(2);
    PMC     * const  _class = Parrot_pcc_get_HLL(interp, CURRENT_CONTEXT(interp)) ? Parrot_oo_get_class_str(interp, name) : PMCNULL;

    if (!PMC_IS_NULL(_class)) {
        PMC  * const  initial = Parrot_pmc_new(interp, Parrot_hll_get_ctx_HLL_type(interp, enum_class_Integer));

        VTABLE_set_integer_native(interp, initial, ICONST(3));
        PREG(1) = VTABLE_instantiate(interp, _class, initial);
    }
    else {
        const INTVAL   type = Parrot_pmc_get_type_str(interp, name);

        if (type <= 0) {
            opcode_t  * dest = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 4, EXCEPTION_NO_CLASS, "Class '%Ss' not found", name);

            PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
            return (opcode_t *)dest;
        }

        PREG(1) = Parrot_pmc_new_init_int(interp, type, ICONST(3));
    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_new_p_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const   name_key = PREG(2);
    const INTVAL   type = Parrot_pmc_get_type(interp, name_key);

    if (type > enum_class_core_max) {
        PMC  * const  _class = Parrot_oo_get_class(interp, name_key);

        if (!PMC_IS_NULL(_class)) {
            PMC  * const  initial = Parrot_pmc_new(interp, Parrot_hll_get_ctx_HLL_type(interp, enum_class_Integer));

            VTABLE_set_integer_native(interp, initial, IREG(3));
            PREG(1) = VTABLE_instantiate(interp, _class, initial);
        }

    }
    else {
        if (type > enum_class_default) {
            PREG(1) = Parrot_pmc_new_init_int(interp, type, IREG(3));
        }
        else {
            opcode_t  * const  dest = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 4, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, name_key));

            PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
            return (opcode_t *)dest;
        }

    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_new_p_pc_i(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const   name_key = PCONST(2);
    const INTVAL   type = Parrot_pmc_get_type(interp, name_key);

    if (type > enum_class_core_max) {
        PMC  * const  _class = Parrot_oo_get_class(interp, name_key);

        if (!PMC_IS_NULL(_class)) {
            PMC  * const  initial = Parrot_pmc_new(interp, Parrot_hll_get_ctx_HLL_type(interp, enum_class_Integer));

            VTABLE_set_integer_native(interp, initial, IREG(3));
            PREG(1) = VTABLE_instantiate(interp, _class, initial);
        }

    }
    else {
        if (type > enum_class_default) {
            PREG(1) = Parrot_pmc_new_init_int(interp, type, IREG(3));
        }
        else {
            opcode_t  * const  dest = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 4, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, name_key));

            PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
            return (opcode_t *)dest;
        }

    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_new_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const   name_key = PREG(2);
    const INTVAL   type = Parrot_pmc_get_type(interp, name_key);

    if (type > enum_class_core_max) {
        PMC  * const  _class = Parrot_oo_get_class(interp, name_key);

        if (!PMC_IS_NULL(_class)) {
            PMC  * const  initial = Parrot_pmc_new(interp, Parrot_hll_get_ctx_HLL_type(interp, enum_class_Integer));

            VTABLE_set_integer_native(interp, initial, ICONST(3));
            PREG(1) = VTABLE_instantiate(interp, _class, initial);
        }

    }
    else {
        if (type > enum_class_default) {
            PREG(1) = Parrot_pmc_new_init_int(interp, type, ICONST(3));
        }
        else {
            opcode_t  * const  dest = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 4, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, name_key));

            PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
            return (opcode_t *)dest;
        }

    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_new_p_pc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const   name_key = PCONST(2);
    const INTVAL   type = Parrot_pmc_get_type(interp, name_key);

    if (type > enum_class_core_max) {
        PMC  * const  _class = Parrot_oo_get_class(interp, name_key);

        if (!PMC_IS_NULL(_class)) {
            PMC  * const  initial = Parrot_pmc_new(interp, Parrot_hll_get_ctx_HLL_type(interp, enum_class_Integer));

            VTABLE_set_integer_native(interp, initial, ICONST(3));
            PREG(1) = VTABLE_instantiate(interp, _class, initial);
        }

    }
    else {
        if (type > enum_class_default) {
            PREG(1) = Parrot_pmc_new_init_int(interp, type, ICONST(3));
        }
        else {
            opcode_t  * const  dest = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 4, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, name_key));

            PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
            return (opcode_t *)dest;
        }

    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_root_new_p_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const   name_key = PREG(2);
    const INTVAL   type = Parrot_pmc_get_type(interp, name_key);

    if (type > enum_class_core_max) {
        PMC  * const  root_ns = interp->root_namespace;
        PMC  * const  ns = Parrot_ns_get_namespace_keyed(interp, root_ns, name_key);
        PMC  * const  _class = Parrot_oo_get_class(interp, ns);

        if (!PMC_IS_NULL(_class)) {
            PMC  * const  initial = Parrot_pmc_new(interp, Parrot_hll_get_ctx_HLL_type(interp, enum_class_Integer));

            VTABLE_set_integer_native(interp, initial, IREG(3));
            PREG(1) = VTABLE_instantiate(interp, _class, initial);
        }

    }
    else {
        if (type > enum_class_default) {
            PREG(1) = Parrot_pmc_new_init_int(interp, type, IREG(3));
        }
        else {
            opcode_t  * const  dest = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 4, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, name_key));

            PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
            return (opcode_t *)dest;
        }

    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_root_new_p_pc_i(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const   name_key = PCONST(2);
    const INTVAL   type = Parrot_pmc_get_type(interp, name_key);

    if (type > enum_class_core_max) {
        PMC  * const  root_ns = interp->root_namespace;
        PMC  * const  ns = Parrot_ns_get_namespace_keyed(interp, root_ns, name_key);
        PMC  * const  _class = Parrot_oo_get_class(interp, ns);

        if (!PMC_IS_NULL(_class)) {
            PMC  * const  initial = Parrot_pmc_new(interp, Parrot_hll_get_ctx_HLL_type(interp, enum_class_Integer));

            VTABLE_set_integer_native(interp, initial, IREG(3));
            PREG(1) = VTABLE_instantiate(interp, _class, initial);
        }

    }
    else {
        if (type > enum_class_default) {
            PREG(1) = Parrot_pmc_new_init_int(interp, type, IREG(3));
        }
        else {
            opcode_t  * const  dest = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 4, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, name_key));

            PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
            return (opcode_t *)dest;
        }

    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_root_new_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const   name_key = PREG(2);
    const INTVAL   type = Parrot_pmc_get_type(interp, name_key);

    if (type > enum_class_core_max) {
        PMC  * const  root_ns = interp->root_namespace;
        PMC  * const  ns = Parrot_ns_get_namespace_keyed(interp, root_ns, name_key);
        PMC  * const  _class = Parrot_oo_get_class(interp, ns);

        if (!PMC_IS_NULL(_class)) {
            PMC  * const  initial = Parrot_pmc_new(interp, Parrot_hll_get_ctx_HLL_type(interp, enum_class_Integer));

            VTABLE_set_integer_native(interp, initial, ICONST(3));
            PREG(1) = VTABLE_instantiate(interp, _class, initial);
        }

    }
    else {
        if (type > enum_class_default) {
            PREG(1) = Parrot_pmc_new_init_int(interp, type, ICONST(3));
        }
        else {
            opcode_t  * const  dest = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 4, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, name_key));

            PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
            return (opcode_t *)dest;
        }

    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_root_new_p_pc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const   name_key = PCONST(2);
    const INTVAL   type = Parrot_pmc_get_type(interp, name_key);

    if (type > enum_class_core_max) {
        PMC  * const  root_ns = interp->root_namespace;
        PMC  * const  ns = Parrot_ns_get_namespace_keyed(interp, root_ns, name_key);
        PMC  * const  _class = Parrot_oo_get_class(interp, ns);

        if (!PMC_IS_NULL(_class)) {
            PMC  * const  initial = Parrot_pmc_new(interp, Parrot_hll_get_ctx_HLL_type(interp, enum_class_Integer));

            VTABLE_set_integer_native(interp, initial, ICONST(3));
            PREG(1) = VTABLE_instantiate(interp, _class, initial);
        }

    }
    else {
        if (type > enum_class_default) {
            PREG(1) = Parrot_pmc_new_init_int(interp, type, ICONST(3));
        }
        else {
            opcode_t  * const  dest = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 4, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, name_key));

            PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
            return (opcode_t *)dest;
        }

    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_get_context_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = CURRENT_CONTEXT(interp);
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 2;
}

opcode_t *
Parrot_new_call_context_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PREG(1) = Parrot_pcc_new_call_object(interp);
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 2;
}

opcode_t *
Parrot_invokecc_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC       * const  p = PREG(1);
    opcode_t  * dest =  cur_opcode + 3;

    Parrot_pcc_set_pc(interp, CURRENT_CONTEXT(interp), dest);
    Parrot_pcc_reuse_continuation(interp, CURRENT_CONTEXT(interp), dest);
    dest = VTABLE_invoke(interp, p, dest);
    return (opcode_t *)dest;
}

opcode_t *
Parrot_flatten_array_into_p_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  dest = PREG(1);
    PMC  * const  src = PREG(2);
    const INTVAL   overwrite = IREG(3);
    INTVAL   i;
    INTVAL   start_idx = overwrite ? 0 : VTABLE_elements(interp, dest);
    INTVAL   src_elems = VTABLE_elements(interp, src);

    for (i = 0; (i < src_elems); (i++)) {
        PMC  * const  val = VTABLE_get_pmc_keyed_int(interp, dest, i);

        VTABLE_set_pmc_keyed_int(interp, dest, (i + start_idx), val);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_flatten_array_into_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  dest = PREG(1);
    PMC  * const  src = PREG(2);
    const INTVAL   overwrite = ICONST(3);
    INTVAL   i;
    INTVAL   start_idx = overwrite ? 0 : VTABLE_elements(interp, dest);
    INTVAL   src_elems = VTABLE_elements(interp, src);

    for (i = 0; (i < src_elems); (i++)) {
        PMC  * const  val = VTABLE_get_pmc_keyed_int(interp, dest, i);

        VTABLE_set_pmc_keyed_int(interp, dest, (i + start_idx), val);
    }

    return cur_opcode + 4;
}

opcode_t *
Parrot_flatten_hash_into_p_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  dest = PREG(1);
    PMC  * const  src = PREG(2);
    const INTVAL   overwrite = IREG(3);

    Parrot_hash_flatten_hash_into(interp, dest, src, overwrite);
    return cur_opcode + 4;
}

opcode_t *
Parrot_flatten_hash_into_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  dest = PREG(1);
    PMC  * const  src = PREG(2);
    const INTVAL   overwrite = ICONST(3);

    Parrot_hash_flatten_hash_into(interp, dest, src, overwrite);
    return cur_opcode + 4;
}

opcode_t *
Parrot_slurp_array_from_p_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  dest = Parrot_pmc_new(interp, enum_class_ResizablePMCArray);
    PMC  * const  src = PREG(2);
    const INTVAL   src_elems = VTABLE_elements(interp, src);
    INTVAL   i;

    for (i = IREG(3); (i < src_elems); (i++)) {
        PMC  * const  value = VTABLE_get_pmc_keyed_int(interp, src, i);

        VTABLE_push_pmc(interp, src, value);
    }

    PREG(1) = dest;
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_slurp_array_from_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
    PMC  * const  dest = Parrot_pmc_new(interp, enum_class_ResizablePMCArray);
    PMC  * const  src = PREG(2);
    const INTVAL   src_elems = VTABLE_elements(interp, src);
    INTVAL   i;

    for (i = ICONST(3); (i < src_elems); (i++)) {
        PMC  * const  value = VTABLE_get_pmc_keyed_int(interp, src, i);

        VTABLE_push_pmc(interp, src, value);
    }

    PREG(1) = dest;
    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 4;
}

opcode_t *
Parrot_receive_p(opcode_t *cur_opcode, PARROT_INTERP) {
    opcode_t  *const  dest =  cur_opcode + 2;
    PMC  * cur_task = Parrot_cx_current_task(interp);
    Parrot_Task_attributes  * tdata = PARROT_TASK(cur_task);
    int   msg_count;

    if (tdata->partner) {
        Parrot_Task_attributes  * const  pdata = PARROT_TASK(tdata->partner);

        LOCK(pdata->mailbox_lock);
        Parrot_block_GC_mark(interp);
        if (PMC_IS_NULL(pdata->mailbox)) {
            msg_count = 0;
        }
        else {
            msg_count = VTABLE_elements(interp, pdata->mailbox);
        }

        if (msg_count > 0) {
            PREG(1) = VTABLE_shift_pmc(pdata->interp, pdata->mailbox);
            Parrot_unblock_GC_mark(interp);
            UNLOCK(pdata->mailbox_lock);
            {
                PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
                return (opcode_t *)dest;
            }

        }
        else {
            Parrot_unblock_GC_mark(interp);
            TASK_recv_block_SET(cur_task);
            (void)Parrot_cx_stop_task(interp, cur_opcode);
            UNLOCK(pdata->mailbox_lock);
            {
                PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
                return (opcode_t *)0;
            }

        }

    }
    else {
        if (PMC_IS_NULL(tdata->mailbox)) {
            msg_count = 0;
        }
        else {
            msg_count = VTABLE_elements(interp, tdata->mailbox);
        }

        if (msg_count > 0) {
            PREG(1) = VTABLE_shift_pmc(interp, tdata->mailbox);
            {
                PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
                return (opcode_t *)dest;
            }

        }
        else {
            TASK_recv_block_SET(cur_task);
            (void)Parrot_cx_stop_task(interp, cur_opcode);
            {
                PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
                return (opcode_t *)0;
            }

        }

    }

    PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
    return cur_opcode + 2;
}

opcode_t *
Parrot_wait_p(opcode_t *cur_opcode, PARROT_INTERP) {
    opcode_t  *const  next =  cur_opcode + 2;
    PMC  * task = PREG(1);
    PMC  * cur_task;
    Parrot_Task_attributes  * tdata;

    if (!VTABLE_isa(interp, task, Parrot_str_new_constant(interp, "Task"))) {
        Parrot_ex_throw_from_c_noargs(interp, EXCEPTION_INVALID_OPERATION, "Argument to wait op must be a Task");
    }

    tdata = PARROT_TASK(task);
    LOCK(tdata->waiters_lock);
    if (tdata->killed) {
        UNLOCK(tdata->waiters_lock);
        return (opcode_t *)next;
    }

    cur_task = Parrot_cx_stop_task(interp, next);
    if (PMC_IS_NULL(tdata->waiters)) {
        tdata->waiters = Parrot_pmc_new(interp, enum_class_ResizablePMCArray);
        PARROT_GC_WRITE_BARRIER(interp, task);
    }

    VTABLE_push_pmc(interp, tdata->waiters, cur_task);
    UNLOCK(tdata->waiters_lock);
    return (opcode_t *)0;
    return cur_opcode + 2;
}

opcode_t *
Parrot_wait_pc(opcode_t *cur_opcode, PARROT_INTERP) {
    opcode_t  *const  next =  cur_opcode + 2;
    PMC  * task = PCONST(1);
    PMC  * cur_task;
    Parrot_Task_attributes  * tdata;

    if (!VTABLE_isa(interp, task, Parrot_str_new_constant(interp, "Task"))) {
        Parrot_ex_throw_from_c_noargs(interp, EXCEPTION_INVALID_OPERATION, "Argument to wait op must be a Task");
    }

    tdata = PARROT_TASK(task);
    LOCK(tdata->waiters_lock);
    if (tdata->killed) {
        UNLOCK(tdata->waiters_lock);
        return (opcode_t *)next;
    }

    cur_task = Parrot_cx_stop_task(interp, next);
    if (PMC_IS_NULL(tdata->waiters)) {
        tdata->waiters = Parrot_pmc_new(interp, enum_class_ResizablePMCArray);
        PARROT_GC_WRITE_BARRIER(interp, task);
    }

    VTABLE_push_pmc(interp, tdata->waiters, cur_task);
    UNLOCK(tdata->waiters_lock);
    return (opcode_t *)0;
    return cur_opcode + 2;
}

opcode_t *
Parrot_pass(opcode_t *cur_opcode, PARROT_INTERP) {
    opcode_t  *const  next =  cur_opcode + 1;
    opcode_t  *const  addr = Parrot_cx_preempt_task(interp, interp->scheduler, next);

    return (opcode_t *)addr;
    return cur_opcode + 1;
}

opcode_t *
Parrot_disable_preemption(opcode_t *cur_opcode, PARROT_INTERP) {
    Parrot_cx_disable_preemption(interp);
    return cur_opcode + 1;
}

opcode_t *
Parrot_enable_preemption(opcode_t *cur_opcode, PARROT_INTERP) {
    Parrot_cx_enable_preemption(interp);
    return cur_opcode + 1;
}

opcode_t *
Parrot_terminate(opcode_t *cur_opcode, PARROT_INTERP) {
    UNUSED(interp);
    UNUSED(cur_opcode);
    return (opcode_t *)0;
    return cur_opcode + 1;
}


/*
** op lib descriptor:
*/

/* XXX should be static, but C++ doesn't want to play ball */
op_lib_t core_op_lib = {
  "core_ops",                /* name */
  "",                  /* suffix */
  PARROT_FUNCTION_CORE,                       /* core_type = PARROT_XX_CORE */
  0,                                /* flags */
  PARROT_PBC_MAJOR,
  PARROT_PBC_MINOR,
  1129,             /* op_count */
  core_op_info_table,       /* op_info_table */
  core_op_func_table,       /* op_func_table */
  get_op          /* op_code() */ 
};

/*
** Op lookup function:
*/

#define OP_HASH_SIZE 3041

/* we could calculate a prime somewhat bigger than
 * n of fullnames + n of names
 * for now this should be ok
 *
 * look up an op_code: at first call to op_code() a hash
 * of short and full opcode names is created
 * hash functions are from imcc, thanks to Melvin.
 */


typedef struct hop {
    op_info_t * info;
    struct hop *next;
} HOP;

static HOP *hop_buckets;
static HOP **hop;

static void hop_init(PARROT_INTERP);
static size_t hash_str(ARGIN(const char *str));
static void store_op(ARGIN(op_info_t *info), ARGMOD(HOP *p), ARGIN(const char *name));

/* XXX on changing interpreters, this should be called,
   through a hook */

static void hop_deinit(PARROT_INTERP);

/*
 * find a short or full opcode
 * usage:
 *
 * interp->op_lib->op_code("set", 0)
 * interp->op_lib->op_code("set_i_i", 1)
 *
 * returns >= 0 (found idx into info_table), -1 if not
 */

PARROT_PURE_FUNCTION
static
size_t hash_str(ARGIN(const char *str))
{
    size_t      key = 0;
    const char *s   = str;

    while (*s) {
        key *= 65599;
        key += *s++;
    }

    return key;
}


static void store_op(ARGIN(op_info_t *info), ARGMOD(HOP *p), ARGIN(const char *name))
{
    const size_t hidx = hash_str(name) % OP_HASH_SIZE;

    p->info           = info;
    p->next           = hop[hidx];
    hop[hidx]         = p;
}

static int get_op(PARROT_INTERP, ARGIN(const char *name), int full)
{
    const HOP   *p;
    const size_t hidx = hash_str(name) % OP_HASH_SIZE;

    if (!hop) {
        hop = mem_gc_allocate_n_zeroed_typed(interp, OP_HASH_SIZE,HOP *);
        hop_init(interp);
    }

    for (p = hop[hidx]; p; p = p->next) {
        if (STREQ(name, full ? p->info->full_name : p->info->name))
            return p->info - core_op_lib.op_info_table;
    }

    return -1;
}


static void hop_init(PARROT_INTERP)
{
    op_info_t * const info = core_op_lib.op_info_table;
    opcode_t i;

    /* allocate the storage all in one chunk
     * yes, this is profligate, but we can tighten it later */
    HOP *hops;

    hop_buckets = mem_gc_allocate_n_zeroed_typed(interp, core_op_lib.op_count * 2, HOP );
    hops        = hop_buckets;


    /* store full names */
    for (i = 0; i < core_op_lib.op_count; i++) {
        store_op(info + i, hops++, info[i].full_name);

        /* plus one short name */
        if (i && info[i - 1].name != info[i].name)
            store_op(info + i, hops++, info[i].name);
    }
}

static void hop_deinit(PARROT_INTERP)
{
    if (hop)
        mem_sys_free(hop);
    if (hop_buckets)
        mem_gc_free(interp, hop_buckets);

    hop         = NULL;
    hop_buckets = NULL;
}

PARROT_EXPORT
op_lib_t *
PARROT_CORE_OPLIB_INIT(PARROT_INTERP, long init) {
    /* initialize and return op_lib ptr */
    if (init == 1) {

        return &core_op_lib;
    }
    /* set op_lib to the passed ptr (in init) */
    else if (init) {

    }
    /* deinit - free resources */
    else {
        hop_deinit(interp);
    }
    return NULL;
}


/*
 * dynamic lib load function - called once
 */
 PMC*
Parrot_lib_core_ops_load(PARROT_INTERP);

 PMC*
Parrot_lib_core_ops_load(PARROT_INTERP)

{
    PMC *const lib = Parrot_pmc_new(interp, enum_class_ParrotLibrary);
    ((Parrot_ParrotLibrary_attributes*)PMC_data(lib))->oplib_init = (void *) PARROT_CORE_OPLIB_INIT;
    Parrot_dynop_register(interp, lib);
    return lib;
}


/*
 * Local variables:
 *   c-file-style: "parrot"
 *   buffer-read-only: t
 * End:
 * vim: expandtab shiftwidth=4:
 */
