1 /* ex: set ro:
2  * !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
3  *
4  * This file is generated automatically from 'src/ops/core.ops' (and possibly other
5  * .ops files). by ops2c.nqp.
6  *
7  * Any changes made here will be lost!  To regenerate this file after making
8  * changes to any ops, use the bootstrap-ops makefile target.
9  *
10  */
11 
12 #include "parrot/oplib/core_ops.h"
13 #include "parrot/pbcversion.h"
14 #include "pmc/pmc_parrotlibrary.h"
15 #include "pmc/pmc_callcontext.h"
16 
17 
18 /* defines - Ops::Trans::C */
19 #define REL_PC     ((size_t)(cur_opcode - (opcode_t *)interp->code->base.data))
20 #define CUR_OPCODE cur_opcode
21 #define IREG(i) REG_INT(interp, cur_opcode[i])
22 #define NREG(i) REG_NUM(interp, cur_opcode[i])
23 #define PREG(i) REG_PMC(interp, cur_opcode[i])
24 #define SREG(i) REG_STR(interp, cur_opcode[i])
25 #define ICONST(i) cur_opcode[i]
26 #define NCONST(i) Parrot_pcc_get_num_constants(interp, interp->ctx)[cur_opcode[i]]
27 #define SCONST(i) Parrot_pcc_get_str_constants(interp, interp->ctx)[cur_opcode[i]]
28 #undef  PCONST
29 #define PCONST(i) Parrot_pcc_get_pmc_constants(interp, interp->ctx)[cur_opcode[i]]
30 
31 static int get_op(PARROT_INTERP, const char * name, int full);
32 
33 
34 /* XXX should be static, but C++ doesn't want to play ball */
35 extern op_lib_t core_op_lib;
36 
37 
38 
39 #include "parrot/dynext.h"
40 #include "parrot/runcore_api.h"
41 #include "parrot/events.h"
42 #include "pmc/pmc_exception.h"
43 #include "pmc/pmc_exceptionhandler.h"
44 #include "pmc/pmc_continuation.h"
45 #include "pmc/pmc_fixedintegerarray.h"
46 #include "pmc/pmc_parrotlibrary.h"
47 
48 
49 
50  /* Signed shift operator that is compatible with PMC shifts.  This is
51   * guaranteed to produce the same result as bitwise_left_shift_internal modulo
52   * word size, ignoring the fact that Parrot integers are always signed.  This
53   * usually gives the same answer regardless whether you shift PMC operands and
54   * then assign to an I-reg, or move the operands to I-regs and do the shift
55   * there -- except when the true result is between 2^{w-1} and 2^w (where w is
56   * the word size), in which case the high order bit is taken as the sign,
57   * giving a truncated result that is 2^w lower.
58   */
59 #define bit_shift_left(number, bits) \
60     ((bits) >= 8*INTVAL_SIZE     ? 0                    \
61      : (bits) >= 0               ? (number) << (bits)   \
62      : (bits) > -8*INTVAL_SIZE   ? (number) >> -(bits)   \
63      : 0)
64 
65 
66 #include "../io/io_private.h"
67 
68 
69 #include "parrot/encoding.h"
70 #include "parrot/namealias.h"
71 #if PARROT_HAS_ICU
72 #  include <unicode/uchar.h>
73 #endif
74 
75 
76 
77 #include "parrot/scheduler_private.h"
78 #include "pmc/pmc_task.h"
79 
80 
81 
82 INTVAL core_numops = 1130;
83 
84 /*
85 ** Op Function Table:
86 */
87 
88 static op_func_t core_op_func_table[1130] = {
89   Parrot_end,                                        /*      0 */
90   Parrot_noop,                                       /*      1 */
91   Parrot_check_events,                               /*      2 */
92   Parrot_check_events__,                             /*      3 */
93   Parrot_load_bytecode_s,                            /*      4 */
94   Parrot_load_bytecode_sc,                           /*      5 */
95   Parrot_load_bytecode_p_s,                          /*      6 */
96   Parrot_load_bytecode_p_sc,                         /*      7 */
97   Parrot_load_language_s,                            /*      8 */
98   Parrot_load_language_sc,                           /*      9 */
99   Parrot_branch_i,                                   /*     10 */
100   Parrot_branch_ic,                                  /*     11 */
101   Parrot_local_branch_p_i,                           /*     12 */
102   Parrot_local_branch_p_ic,                          /*     13 */
103   Parrot_local_return_p,                             /*     14 */
104   Parrot_jump_i,                                     /*     15 */
105   Parrot_jump_ic,                                    /*     16 */
106   Parrot_if_i_ic,                                    /*     17 */
107   Parrot_if_n_ic,                                    /*     18 */
108   Parrot_if_s_ic,                                    /*     19 */
109   Parrot_if_p_ic,                                    /*     20 */
110   Parrot_unless_i_ic,                                /*     21 */
111   Parrot_unless_n_ic,                                /*     22 */
112   Parrot_unless_s_ic,                                /*     23 */
113   Parrot_unless_p_ic,                                /*     24 */
114   Parrot_invokecc_p,                                 /*     25 */
115   Parrot_invoke_p_p,                                 /*     26 */
116   Parrot_yield,                                      /*     27 */
117   Parrot_tailcall_p,                                 /*     28 */
118   Parrot_returncc,                                   /*     29 */
119   Parrot_capture_lex_p,                              /*     30 */
120   Parrot_newclosure_p_p,                             /*     31 */
121   Parrot_set_args_pc,                                /*     32 */
122   Parrot_get_params_pc,                              /*     33 */
123   Parrot_set_returns_pc,                             /*     34 */
124   Parrot_get_results_pc,                             /*     35 */
125   Parrot_set_result_info_p,                          /*     36 */
126   Parrot_set_result_info_pc,                         /*     37 */
127   Parrot_result_info_p,                              /*     38 */
128   Parrot_set_addr_i_ic,                              /*     39 */
129   Parrot_set_addr_p_ic,                              /*     40 */
130   Parrot_set_addr_p_i,                               /*     41 */
131   Parrot_get_addr_i_p,                               /*     42 */
132   Parrot_schedule_p,                                 /*     43 */
133   Parrot_schedule_local_p,                           /*     44 */
134   Parrot_addhandler_p,                               /*     45 */
135   Parrot_push_eh_ic,                                 /*     46 */
136   Parrot_push_eh_p,                                  /*     47 */
137   Parrot_pop_eh,                                     /*     48 */
138   Parrot_throw_p,                                    /*     49 */
139   Parrot_throw_p_p,                                  /*     50 */
140   Parrot_rethrow_p,                                  /*     51 */
141   Parrot_count_eh_i,                                 /*     52 */
142   Parrot_die_s,                                      /*     53 */
143   Parrot_die_sc,                                     /*     54 */
144   Parrot_die_p,                                      /*     55 */
145   Parrot_die_pc,                                     /*     56 */
146   Parrot_die_i_i,                                    /*     57 */
147   Parrot_die_ic_i,                                   /*     58 */
148   Parrot_die_i_ic,                                   /*     59 */
149   Parrot_die_ic_ic,                                  /*     60 */
150   Parrot_exit_i,                                     /*     61 */
151   Parrot_exit_ic,                                    /*     62 */
152   Parrot_finalize_p,                                 /*     63 */
153   Parrot_finalize_pc,                                /*     64 */
154   Parrot_pop_upto_eh_p,                              /*     65 */
155   Parrot_pop_upto_eh_pc,                             /*     66 */
156   Parrot_peek_exception_p,                           /*     67 */
157   Parrot_debug_i,                                    /*     68 */
158   Parrot_debug_ic,                                   /*     69 */
159   Parrot_bounds_i,                                   /*     70 */
160   Parrot_bounds_ic,                                  /*     71 */
161   Parrot_profile_i,                                  /*     72 */
162   Parrot_profile_ic,                                 /*     73 */
163   Parrot_trace_i,                                    /*     74 */
164   Parrot_trace_ic,                                   /*     75 */
165   Parrot_gc_debug_i,                                 /*     76 */
166   Parrot_gc_debug_ic,                                /*     77 */
167   Parrot_interpinfo_i_i,                             /*     78 */
168   Parrot_interpinfo_i_ic,                            /*     79 */
169   Parrot_interpinfo_p_i,                             /*     80 */
170   Parrot_interpinfo_p_ic,                            /*     81 */
171   Parrot_interpinfo_s_i,                             /*     82 */
172   Parrot_interpinfo_s_ic,                            /*     83 */
173   Parrot_warningson_i,                               /*     84 */
174   Parrot_warningson_ic,                              /*     85 */
175   Parrot_warningsoff_i,                              /*     86 */
176   Parrot_warningsoff_ic,                             /*     87 */
177   Parrot_errorson_i,                                 /*     88 */
178   Parrot_errorson_ic,                                /*     89 */
179   Parrot_errorsoff_i,                                /*     90 */
180   Parrot_errorsoff_ic,                               /*     91 */
181   Parrot_set_runcore_s,                              /*     92 */
182   Parrot_set_runcore_sc,                             /*     93 */
183   Parrot_runinterp_p_i,                              /*     94 */
184   Parrot_runinterp_p_ic,                             /*     95 */
185   Parrot_getinterp_p,                                /*     96 */
186   Parrot_sweep_ic,                                   /*     97 */
187   Parrot_collect,                                    /*     98 */
188   Parrot_sweepoff,                                   /*     99 */
189   Parrot_sweepon,                                    /*    100 */
190   Parrot_collectoff,                                 /*    101 */
191   Parrot_collecton,                                  /*    102 */
192   Parrot_needs_destroy_p,                            /*    103 */
193   Parrot_loadlib_p_s,                                /*    104 */
194   Parrot_loadlib_p_sc,                               /*    105 */
195   Parrot_loadlib_p_s_p,                              /*    106 */
196   Parrot_loadlib_p_sc_p,                             /*    107 */
197   Parrot_loadlib_p_s_pc,                             /*    108 */
198   Parrot_loadlib_p_sc_pc,                            /*    109 */
199   Parrot_dlfunc_p_p_s_s,                             /*    110 */
200   Parrot_dlfunc_p_p_sc_s,                            /*    111 */
201   Parrot_dlfunc_p_p_s_sc,                            /*    112 */
202   Parrot_dlfunc_p_p_sc_sc,                           /*    113 */
203   Parrot_dlfunc_p_p_s_p,                             /*    114 */
204   Parrot_dlfunc_p_p_sc_p,                            /*    115 */
205   Parrot_dlvar_p_p_s,                                /*    116 */
206   Parrot_dlvar_p_p_sc,                               /*    117 */
207   Parrot_compreg_s_p,                                /*    118 */
208   Parrot_compreg_sc_p,                               /*    119 */
209   Parrot_compreg_p_s,                                /*    120 */
210   Parrot_compreg_p_sc,                               /*    121 */
211   Parrot_new_callback_p_p_p_s,                       /*    122 */
212   Parrot_new_callback_p_p_p_sc,                      /*    123 */
213   Parrot_annotations_p,                              /*    124 */
214   Parrot_annotations_p_s,                            /*    125 */
215   Parrot_annotations_p_sc,                           /*    126 */
216   Parrot_band_i_i,                                   /*    127 */
217   Parrot_band_i_ic,                                  /*    128 */
218   Parrot_band_i_i_i,                                 /*    129 */
219   Parrot_band_i_ic_i,                                /*    130 */
220   Parrot_band_i_i_ic,                                /*    131 */
221   Parrot_bor_i_i,                                    /*    132 */
222   Parrot_bor_i_ic,                                   /*    133 */
223   Parrot_bor_i_i_i,                                  /*    134 */
224   Parrot_bor_i_ic_i,                                 /*    135 */
225   Parrot_bor_i_i_ic,                                 /*    136 */
226   Parrot_shl_i_i,                                    /*    137 */
227   Parrot_shl_i_ic,                                   /*    138 */
228   Parrot_shl_i_i_i,                                  /*    139 */
229   Parrot_shl_i_ic_i,                                 /*    140 */
230   Parrot_shl_i_i_ic,                                 /*    141 */
231   Parrot_shr_i_i,                                    /*    142 */
232   Parrot_shr_i_ic,                                   /*    143 */
233   Parrot_shr_i_i_i,                                  /*    144 */
234   Parrot_shr_i_ic_i,                                 /*    145 */
235   Parrot_shr_i_i_ic,                                 /*    146 */
236   Parrot_lsr_i_i,                                    /*    147 */
237   Parrot_lsr_i_ic,                                   /*    148 */
238   Parrot_lsr_i_i_i,                                  /*    149 */
239   Parrot_lsr_i_ic_i,                                 /*    150 */
240   Parrot_lsr_i_i_ic,                                 /*    151 */
241   Parrot_bxor_i_i,                                   /*    152 */
242   Parrot_bxor_i_ic,                                  /*    153 */
243   Parrot_bxor_i_i_i,                                 /*    154 */
244   Parrot_bxor_i_ic_i,                                /*    155 */
245   Parrot_bxor_i_i_ic,                                /*    156 */
246   Parrot_eq_i_i_ic,                                  /*    157 */
247   Parrot_eq_ic_i_ic,                                 /*    158 */
248   Parrot_eq_i_ic_ic,                                 /*    159 */
249   Parrot_eq_n_n_ic,                                  /*    160 */
250   Parrot_eq_nc_n_ic,                                 /*    161 */
251   Parrot_eq_n_nc_ic,                                 /*    162 */
252   Parrot_eq_s_s_ic,                                  /*    163 */
253   Parrot_eq_sc_s_ic,                                 /*    164 */
254   Parrot_eq_s_sc_ic,                                 /*    165 */
255   Parrot_eq_p_p_ic,                                  /*    166 */
256   Parrot_eq_p_i_ic,                                  /*    167 */
257   Parrot_eq_p_ic_ic,                                 /*    168 */
258   Parrot_eq_p_n_ic,                                  /*    169 */
259   Parrot_eq_p_nc_ic,                                 /*    170 */
260   Parrot_eq_p_s_ic,                                  /*    171 */
261   Parrot_eq_p_sc_ic,                                 /*    172 */
262   Parrot_eq_str_p_p_ic,                              /*    173 */
263   Parrot_eq_num_p_p_ic,                              /*    174 */
264   Parrot_eq_addr_s_s_ic,                             /*    175 */
265   Parrot_eq_addr_sc_s_ic,                            /*    176 */
266   Parrot_eq_addr_s_sc_ic,                            /*    177 */
267   Parrot_eq_addr_sc_sc_ic,                           /*    178 */
268   Parrot_eq_addr_p_p_ic,                             /*    179 */
269   Parrot_ne_i_i_ic,                                  /*    180 */
270   Parrot_ne_ic_i_ic,                                 /*    181 */
271   Parrot_ne_i_ic_ic,                                 /*    182 */
272   Parrot_ne_n_n_ic,                                  /*    183 */
273   Parrot_ne_nc_n_ic,                                 /*    184 */
274   Parrot_ne_n_nc_ic,                                 /*    185 */
275   Parrot_ne_s_s_ic,                                  /*    186 */
276   Parrot_ne_sc_s_ic,                                 /*    187 */
277   Parrot_ne_s_sc_ic,                                 /*    188 */
278   Parrot_ne_p_p_ic,                                  /*    189 */
279   Parrot_ne_p_i_ic,                                  /*    190 */
280   Parrot_ne_p_ic_ic,                                 /*    191 */
281   Parrot_ne_p_n_ic,                                  /*    192 */
282   Parrot_ne_p_nc_ic,                                 /*    193 */
283   Parrot_ne_p_s_ic,                                  /*    194 */
284   Parrot_ne_p_sc_ic,                                 /*    195 */
285   Parrot_ne_str_p_p_ic,                              /*    196 */
286   Parrot_ne_num_p_p_ic,                              /*    197 */
287   Parrot_ne_addr_s_s_ic,                             /*    198 */
288   Parrot_ne_addr_sc_s_ic,                            /*    199 */
289   Parrot_ne_addr_s_sc_ic,                            /*    200 */
290   Parrot_ne_addr_sc_sc_ic,                           /*    201 */
291   Parrot_ne_addr_p_p_ic,                             /*    202 */
292   Parrot_lt_i_i_ic,                                  /*    203 */
293   Parrot_lt_ic_i_ic,                                 /*    204 */
294   Parrot_lt_i_ic_ic,                                 /*    205 */
295   Parrot_lt_n_n_ic,                                  /*    206 */
296   Parrot_lt_nc_n_ic,                                 /*    207 */
297   Parrot_lt_n_nc_ic,                                 /*    208 */
298   Parrot_lt_s_s_ic,                                  /*    209 */
299   Parrot_lt_sc_s_ic,                                 /*    210 */
300   Parrot_lt_s_sc_ic,                                 /*    211 */
301   Parrot_lt_p_p_ic,                                  /*    212 */
302   Parrot_lt_p_i_ic,                                  /*    213 */
303   Parrot_lt_p_ic_ic,                                 /*    214 */
304   Parrot_lt_p_n_ic,                                  /*    215 */
305   Parrot_lt_p_nc_ic,                                 /*    216 */
306   Parrot_lt_p_s_ic,                                  /*    217 */
307   Parrot_lt_p_sc_ic,                                 /*    218 */
308   Parrot_lt_str_p_p_ic,                              /*    219 */
309   Parrot_lt_num_p_p_ic,                              /*    220 */
310   Parrot_le_i_i_ic,                                  /*    221 */
311   Parrot_le_ic_i_ic,                                 /*    222 */
312   Parrot_le_i_ic_ic,                                 /*    223 */
313   Parrot_le_n_n_ic,                                  /*    224 */
314   Parrot_le_nc_n_ic,                                 /*    225 */
315   Parrot_le_n_nc_ic,                                 /*    226 */
316   Parrot_le_s_s_ic,                                  /*    227 */
317   Parrot_le_sc_s_ic,                                 /*    228 */
318   Parrot_le_s_sc_ic,                                 /*    229 */
319   Parrot_le_p_p_ic,                                  /*    230 */
320   Parrot_le_p_i_ic,                                  /*    231 */
321   Parrot_le_p_ic_ic,                                 /*    232 */
322   Parrot_le_p_n_ic,                                  /*    233 */
323   Parrot_le_p_nc_ic,                                 /*    234 */
324   Parrot_le_p_s_ic,                                  /*    235 */
325   Parrot_le_p_sc_ic,                                 /*    236 */
326   Parrot_le_str_p_p_ic,                              /*    237 */
327   Parrot_le_num_p_p_ic,                              /*    238 */
328   Parrot_gt_p_p_ic,                                  /*    239 */
329   Parrot_gt_p_i_ic,                                  /*    240 */
330   Parrot_gt_p_ic_ic,                                 /*    241 */
331   Parrot_gt_p_n_ic,                                  /*    242 */
332   Parrot_gt_p_nc_ic,                                 /*    243 */
333   Parrot_gt_p_s_ic,                                  /*    244 */
334   Parrot_gt_p_sc_ic,                                 /*    245 */
335   Parrot_gt_str_p_p_ic,                              /*    246 */
336   Parrot_gt_num_p_p_ic,                              /*    247 */
337   Parrot_ge_p_p_ic,                                  /*    248 */
338   Parrot_ge_p_i_ic,                                  /*    249 */
339   Parrot_ge_p_ic_ic,                                 /*    250 */
340   Parrot_ge_p_n_ic,                                  /*    251 */
341   Parrot_ge_p_nc_ic,                                 /*    252 */
342   Parrot_ge_p_s_ic,                                  /*    253 */
343   Parrot_ge_p_sc_ic,                                 /*    254 */
344   Parrot_ge_str_p_p_ic,                              /*    255 */
345   Parrot_ge_num_p_p_ic,                              /*    256 */
346   Parrot_if_null_p_ic,                               /*    257 */
347   Parrot_if_null_s_ic,                               /*    258 */
348   Parrot_unless_null_p_ic,                           /*    259 */
349   Parrot_unless_null_s_ic,                           /*    260 */
350   Parrot_cmp_i_i_i,                                  /*    261 */
351   Parrot_cmp_i_ic_i,                                 /*    262 */
352   Parrot_cmp_i_i_ic,                                 /*    263 */
353   Parrot_cmp_i_n_n,                                  /*    264 */
354   Parrot_cmp_i_nc_n,                                 /*    265 */
355   Parrot_cmp_i_n_nc,                                 /*    266 */
356   Parrot_cmp_i_s_s,                                  /*    267 */
357   Parrot_cmp_i_sc_s,                                 /*    268 */
358   Parrot_cmp_i_s_sc,                                 /*    269 */
359   Parrot_cmp_i_p_p,                                  /*    270 */
360   Parrot_cmp_i_p_i,                                  /*    271 */
361   Parrot_cmp_i_p_ic,                                 /*    272 */
362   Parrot_cmp_i_p_n,                                  /*    273 */
363   Parrot_cmp_i_p_nc,                                 /*    274 */
364   Parrot_cmp_i_p_s,                                  /*    275 */
365   Parrot_cmp_i_p_sc,                                 /*    276 */
366   Parrot_cmp_str_i_p_p,                              /*    277 */
367   Parrot_cmp_num_i_p_p,                              /*    278 */
368   Parrot_cmp_pmc_p_p_p,                              /*    279 */
369   Parrot_issame_i_p_p,                               /*    280 */
370   Parrot_issame_i_s_s,                               /*    281 */
371   Parrot_issame_i_sc_s,                              /*    282 */
372   Parrot_issame_i_s_sc,                              /*    283 */
373   Parrot_issame_i_sc_sc,                             /*    284 */
374   Parrot_isntsame_i_p_p,                             /*    285 */
375   Parrot_isntsame_i_s_s,                             /*    286 */
376   Parrot_isntsame_i_sc_s,                            /*    287 */
377   Parrot_isntsame_i_s_sc,                            /*    288 */
378   Parrot_isntsame_i_sc_sc,                           /*    289 */
379   Parrot_istrue_i_p,                                 /*    290 */
380   Parrot_isfalse_i_p,                                /*    291 */
381   Parrot_isnull_i_p,                                 /*    292 */
382   Parrot_isnull_i_pc,                                /*    293 */
383   Parrot_isnull_i_s,                                 /*    294 */
384   Parrot_isnull_i_sc,                                /*    295 */
385   Parrot_isgt_i_p_p,                                 /*    296 */
386   Parrot_isge_i_p_p,                                 /*    297 */
387   Parrot_isle_i_i_i,                                 /*    298 */
388   Parrot_isle_i_ic_i,                                /*    299 */
389   Parrot_isle_i_i_ic,                                /*    300 */
390   Parrot_isle_i_n_n,                                 /*    301 */
391   Parrot_isle_i_nc_n,                                /*    302 */
392   Parrot_isle_i_n_nc,                                /*    303 */
393   Parrot_isle_i_s_s,                                 /*    304 */
394   Parrot_isle_i_sc_s,                                /*    305 */
395   Parrot_isle_i_s_sc,                                /*    306 */
396   Parrot_isle_i_p_p,                                 /*    307 */
397   Parrot_islt_i_i_i,                                 /*    308 */
398   Parrot_islt_i_ic_i,                                /*    309 */
399   Parrot_islt_i_i_ic,                                /*    310 */
400   Parrot_islt_i_n_n,                                 /*    311 */
401   Parrot_islt_i_nc_n,                                /*    312 */
402   Parrot_islt_i_n_nc,                                /*    313 */
403   Parrot_islt_i_s_s,                                 /*    314 */
404   Parrot_islt_i_sc_s,                                /*    315 */
405   Parrot_islt_i_s_sc,                                /*    316 */
406   Parrot_islt_i_p_p,                                 /*    317 */
407   Parrot_iseq_i_i_i,                                 /*    318 */
408   Parrot_iseq_i_ic_i,                                /*    319 */
409   Parrot_iseq_i_i_ic,                                /*    320 */
410   Parrot_iseq_i_n_n,                                 /*    321 */
411   Parrot_iseq_i_nc_n,                                /*    322 */
412   Parrot_iseq_i_n_nc,                                /*    323 */
413   Parrot_iseq_i_s_s,                                 /*    324 */
414   Parrot_iseq_i_sc_s,                                /*    325 */
415   Parrot_iseq_i_s_sc,                                /*    326 */
416   Parrot_iseq_i_p_p,                                 /*    327 */
417   Parrot_isne_i_i_i,                                 /*    328 */
418   Parrot_isne_i_ic_i,                                /*    329 */
419   Parrot_isne_i_i_ic,                                /*    330 */
420   Parrot_isne_i_n_n,                                 /*    331 */
421   Parrot_isne_i_nc_n,                                /*    332 */
422   Parrot_isne_i_n_nc,                                /*    333 */
423   Parrot_isne_i_s_s,                                 /*    334 */
424   Parrot_isne_i_sc_s,                                /*    335 */
425   Parrot_isne_i_s_sc,                                /*    336 */
426   Parrot_isne_i_p_p,                                 /*    337 */
427   Parrot_and_i_i_i,                                  /*    338 */
428   Parrot_and_i_ic_i,                                 /*    339 */
429   Parrot_and_i_i_ic,                                 /*    340 */
430   Parrot_and_p_p_p,                                  /*    341 */
431   Parrot_not_i,                                      /*    342 */
432   Parrot_not_i_i,                                    /*    343 */
433   Parrot_not_p,                                      /*    344 */
434   Parrot_not_p_p,                                    /*    345 */
435   Parrot_or_i_i_i,                                   /*    346 */
436   Parrot_or_i_ic_i,                                  /*    347 */
437   Parrot_or_i_i_ic,                                  /*    348 */
438   Parrot_or_p_p_p,                                   /*    349 */
439   Parrot_xor_i_i_i,                                  /*    350 */
440   Parrot_xor_i_ic_i,                                 /*    351 */
441   Parrot_xor_i_i_ic,                                 /*    352 */
442   Parrot_xor_p_p_p,                                  /*    353 */
443   Parrot_print_i,                                    /*    354 */
444   Parrot_print_ic,                                   /*    355 */
445   Parrot_print_n,                                    /*    356 */
446   Parrot_print_nc,                                   /*    357 */
447   Parrot_print_s,                                    /*    358 */
448   Parrot_print_sc,                                   /*    359 */
449   Parrot_print_p,                                    /*    360 */
450   Parrot_say_i,                                      /*    361 */
451   Parrot_say_ic,                                     /*    362 */
452   Parrot_say_n,                                      /*    363 */
453   Parrot_say_nc,                                     /*    364 */
454   Parrot_say_s,                                      /*    365 */
455   Parrot_say_sc,                                     /*    366 */
456   Parrot_say_p,                                      /*    367 */
457   Parrot_print_p_i,                                  /*    368 */
458   Parrot_print_p_ic,                                 /*    369 */
459   Parrot_print_p_n,                                  /*    370 */
460   Parrot_print_p_nc,                                 /*    371 */
461   Parrot_print_p_s,                                  /*    372 */
462   Parrot_print_p_sc,                                 /*    373 */
463   Parrot_print_p_p,                                  /*    374 */
464   Parrot_getstdin_p,                                 /*    375 */
465   Parrot_getstdout_p,                                /*    376 */
466   Parrot_getstderr_p,                                /*    377 */
467   Parrot_abs_i,                                      /*    378 */
468   Parrot_abs_n,                                      /*    379 */
469   Parrot_abs_i_i,                                    /*    380 */
470   Parrot_abs_n_n,                                    /*    381 */
471   Parrot_abs_p,                                      /*    382 */
472   Parrot_abs_p_p,                                    /*    383 */
473   Parrot_add_i_i,                                    /*    384 */
474   Parrot_add_i_ic,                                   /*    385 */
475   Parrot_add_n_n,                                    /*    386 */
476   Parrot_add_n_nc,                                   /*    387 */
477   Parrot_add_p_p,                                    /*    388 */
478   Parrot_add_p_i,                                    /*    389 */
479   Parrot_add_p_ic,                                   /*    390 */
480   Parrot_add_p_n,                                    /*    391 */
481   Parrot_add_p_nc,                                   /*    392 */
482   Parrot_add_i_i_i,                                  /*    393 */
483   Parrot_add_i_ic_i,                                 /*    394 */
484   Parrot_add_i_i_ic,                                 /*    395 */
485   Parrot_add_n_n_n,                                  /*    396 */
486   Parrot_add_n_nc_n,                                 /*    397 */
487   Parrot_add_n_n_nc,                                 /*    398 */
488   Parrot_add_p_p_p,                                  /*    399 */
489   Parrot_add_p_p_i,                                  /*    400 */
490   Parrot_add_p_p_ic,                                 /*    401 */
491   Parrot_add_p_p_n,                                  /*    402 */
492   Parrot_add_p_p_nc,                                 /*    403 */
493   Parrot_dec_i,                                      /*    404 */
494   Parrot_dec_n,                                      /*    405 */
495   Parrot_dec_p,                                      /*    406 */
496   Parrot_div_i_i,                                    /*    407 */
497   Parrot_div_i_ic,                                   /*    408 */
498   Parrot_div_n_n,                                    /*    409 */
499   Parrot_div_n_nc,                                   /*    410 */
500   Parrot_div_p_p,                                    /*    411 */
501   Parrot_div_p_i,                                    /*    412 */
502   Parrot_div_p_ic,                                   /*    413 */
503   Parrot_div_p_n,                                    /*    414 */
504   Parrot_div_p_nc,                                   /*    415 */
505   Parrot_div_i_i_i,                                  /*    416 */
506   Parrot_div_i_ic_i,                                 /*    417 */
507   Parrot_div_i_i_ic,                                 /*    418 */
508   Parrot_div_i_ic_ic,                                /*    419 */
509   Parrot_div_n_n_n,                                  /*    420 */
510   Parrot_div_n_nc_n,                                 /*    421 */
511   Parrot_div_n_n_nc,                                 /*    422 */
512   Parrot_div_n_nc_nc,                                /*    423 */
513   Parrot_div_p_p_p,                                  /*    424 */
514   Parrot_div_p_p_i,                                  /*    425 */
515   Parrot_div_p_p_ic,                                 /*    426 */
516   Parrot_div_p_p_n,                                  /*    427 */
517   Parrot_div_p_p_nc,                                 /*    428 */
518   Parrot_fdiv_i_i,                                   /*    429 */
519   Parrot_fdiv_i_ic,                                  /*    430 */
520   Parrot_fdiv_n_n,                                   /*    431 */
521   Parrot_fdiv_n_nc,                                  /*    432 */
522   Parrot_fdiv_p_p,                                   /*    433 */
523   Parrot_fdiv_p_i,                                   /*    434 */
524   Parrot_fdiv_p_ic,                                  /*    435 */
525   Parrot_fdiv_p_n,                                   /*    436 */
526   Parrot_fdiv_p_nc,                                  /*    437 */
527   Parrot_fdiv_i_i_i,                                 /*    438 */
528   Parrot_fdiv_i_ic_i,                                /*    439 */
529   Parrot_fdiv_i_i_ic,                                /*    440 */
530   Parrot_fdiv_n_n_n,                                 /*    441 */
531   Parrot_fdiv_n_nc_n,                                /*    442 */
532   Parrot_fdiv_n_n_nc,                                /*    443 */
533   Parrot_fdiv_p_p_p,                                 /*    444 */
534   Parrot_fdiv_p_p_i,                                 /*    445 */
535   Parrot_fdiv_p_p_ic,                                /*    446 */
536   Parrot_fdiv_p_p_n,                                 /*    447 */
537   Parrot_fdiv_p_p_nc,                                /*    448 */
538   Parrot_ceil_n,                                     /*    449 */
539   Parrot_ceil_i_n,                                   /*    450 */
540   Parrot_ceil_n_n,                                   /*    451 */
541   Parrot_floor_n,                                    /*    452 */
542   Parrot_floor_i_n,                                  /*    453 */
543   Parrot_floor_n_n,                                  /*    454 */
544   Parrot_inc_i,                                      /*    455 */
545   Parrot_inc_n,                                      /*    456 */
546   Parrot_inc_p,                                      /*    457 */
547   Parrot_mod_i_i,                                    /*    458 */
548   Parrot_mod_i_ic,                                   /*    459 */
549   Parrot_mod_n_n,                                    /*    460 */
550   Parrot_mod_n_nc,                                   /*    461 */
551   Parrot_mod_p_p,                                    /*    462 */
552   Parrot_mod_p_i,                                    /*    463 */
553   Parrot_mod_p_ic,                                   /*    464 */
554   Parrot_mod_p_n,                                    /*    465 */
555   Parrot_mod_p_nc,                                   /*    466 */
556   Parrot_mod_i_i_i,                                  /*    467 */
557   Parrot_mod_i_ic_i,                                 /*    468 */
558   Parrot_mod_i_i_ic,                                 /*    469 */
559   Parrot_mod_n_n_n,                                  /*    470 */
560   Parrot_mod_n_nc_n,                                 /*    471 */
561   Parrot_mod_n_n_nc,                                 /*    472 */
562   Parrot_mod_p_p_p,                                  /*    473 */
563   Parrot_mod_p_p_i,                                  /*    474 */
564   Parrot_mod_p_p_ic,                                 /*    475 */
565   Parrot_mod_p_p_n,                                  /*    476 */
566   Parrot_mod_p_p_nc,                                 /*    477 */
567   Parrot_mul_i_i,                                    /*    478 */
568   Parrot_mul_i_ic,                                   /*    479 */
569   Parrot_mul_n_n,                                    /*    480 */
570   Parrot_mul_n_nc,                                   /*    481 */
571   Parrot_mul_p_p,                                    /*    482 */
572   Parrot_mul_p_i,                                    /*    483 */
573   Parrot_mul_p_ic,                                   /*    484 */
574   Parrot_mul_p_n,                                    /*    485 */
575   Parrot_mul_p_nc,                                   /*    486 */
576   Parrot_mul_i_i_i,                                  /*    487 */
577   Parrot_mul_i_ic_i,                                 /*    488 */
578   Parrot_mul_i_i_ic,                                 /*    489 */
579   Parrot_mul_n_n_n,                                  /*    490 */
580   Parrot_mul_n_nc_n,                                 /*    491 */
581   Parrot_mul_n_n_nc,                                 /*    492 */
582   Parrot_mul_p_p_p,                                  /*    493 */
583   Parrot_mul_p_p_i,                                  /*    494 */
584   Parrot_mul_p_p_ic,                                 /*    495 */
585   Parrot_mul_p_p_n,                                  /*    496 */
586   Parrot_mul_p_p_nc,                                 /*    497 */
587   Parrot_neg_i,                                      /*    498 */
588   Parrot_neg_n,                                      /*    499 */
589   Parrot_neg_p,                                      /*    500 */
590   Parrot_neg_i_i,                                    /*    501 */
591   Parrot_neg_n_n,                                    /*    502 */
592   Parrot_neg_p_p,                                    /*    503 */
593   Parrot_sub_i_i,                                    /*    504 */
594   Parrot_sub_i_ic,                                   /*    505 */
595   Parrot_sub_n_n,                                    /*    506 */
596   Parrot_sub_n_nc,                                   /*    507 */
597   Parrot_sub_p_p,                                    /*    508 */
598   Parrot_sub_p_i,                                    /*    509 */
599   Parrot_sub_p_ic,                                   /*    510 */
600   Parrot_sub_p_n,                                    /*    511 */
601   Parrot_sub_p_nc,                                   /*    512 */
602   Parrot_sub_i_i_i,                                  /*    513 */
603   Parrot_sub_i_ic_i,                                 /*    514 */
604   Parrot_sub_i_i_ic,                                 /*    515 */
605   Parrot_sub_n_n_n,                                  /*    516 */
606   Parrot_sub_n_nc_n,                                 /*    517 */
607   Parrot_sub_n_n_nc,                                 /*    518 */
608   Parrot_sub_p_p_p,                                  /*    519 */
609   Parrot_sub_p_p_i,                                  /*    520 */
610   Parrot_sub_p_p_ic,                                 /*    521 */
611   Parrot_sub_p_p_n,                                  /*    522 */
612   Parrot_sub_p_p_nc,                                 /*    523 */
613   Parrot_sqrt_n_n,                                   /*    524 */
614   Parrot_is_inf_or_nan_i_n,                          /*    525 */
615   Parrot_is_inf_or_nan_i_nc,                         /*    526 */
616   Parrot_callmethodcc_p_s,                           /*    527 */
617   Parrot_callmethodcc_p_sc,                          /*    528 */
618   Parrot_callmethodcc_p_p,                           /*    529 */
619   Parrot_callmethod_p_s_p,                           /*    530 */
620   Parrot_callmethod_p_sc_p,                          /*    531 */
621   Parrot_callmethod_p_p_p,                           /*    532 */
622   Parrot_tailcallmethod_p_s,                         /*    533 */
623   Parrot_tailcallmethod_p_sc,                        /*    534 */
624   Parrot_tailcallmethod_p_p,                         /*    535 */
625   Parrot_addmethod_p_s_p,                            /*    536 */
626   Parrot_addmethod_p_sc_p,                           /*    537 */
627   Parrot_can_i_p_s,                                  /*    538 */
628   Parrot_can_i_p_sc,                                 /*    539 */
629   Parrot_does_i_p_s,                                 /*    540 */
630   Parrot_does_i_p_sc,                                /*    541 */
631   Parrot_does_i_p_p,                                 /*    542 */
632   Parrot_does_i_p_pc,                                /*    543 */
633   Parrot_isa_i_p_s,                                  /*    544 */
634   Parrot_isa_i_p_sc,                                 /*    545 */
635   Parrot_isa_i_p_p,                                  /*    546 */
636   Parrot_isa_i_p_pc,                                 /*    547 */
637   Parrot_newclass_p_s,                               /*    548 */
638   Parrot_newclass_p_sc,                              /*    549 */
639   Parrot_newclass_p_p,                               /*    550 */
640   Parrot_newclass_p_pc,                              /*    551 */
641   Parrot_subclass_p_p,                               /*    552 */
642   Parrot_subclass_p_pc,                              /*    553 */
643   Parrot_subclass_p_p_s,                             /*    554 */
644   Parrot_subclass_p_pc_s,                            /*    555 */
645   Parrot_subclass_p_p_sc,                            /*    556 */
646   Parrot_subclass_p_pc_sc,                           /*    557 */
647   Parrot_subclass_p_p_p,                             /*    558 */
648   Parrot_subclass_p_pc_p,                            /*    559 */
649   Parrot_subclass_p_p_pc,                            /*    560 */
650   Parrot_subclass_p_pc_pc,                           /*    561 */
651   Parrot_subclass_p_s,                               /*    562 */
652   Parrot_subclass_p_sc,                              /*    563 */
653   Parrot_subclass_p_s_s,                             /*    564 */
654   Parrot_subclass_p_sc_s,                            /*    565 */
655   Parrot_subclass_p_s_sc,                            /*    566 */
656   Parrot_subclass_p_sc_sc,                           /*    567 */
657   Parrot_subclass_p_s_p,                             /*    568 */
658   Parrot_subclass_p_sc_p,                            /*    569 */
659   Parrot_subclass_p_s_pc,                            /*    570 */
660   Parrot_subclass_p_sc_pc,                           /*    571 */
661   Parrot_get_class_p_s,                              /*    572 */
662   Parrot_get_class_p_sc,                             /*    573 */
663   Parrot_get_class_p_p,                              /*    574 */
664   Parrot_get_class_p_pc,                             /*    575 */
665   Parrot_class_p_p,                                  /*    576 */
666   Parrot_addparent_p_p,                              /*    577 */
667   Parrot_removeparent_p_p,                           /*    578 */
668   Parrot_addrole_p_p,                                /*    579 */
669   Parrot_addattribute_p_s,                           /*    580 */
670   Parrot_addattribute_p_sc,                          /*    581 */
671   Parrot_removeattribute_p_s,                        /*    582 */
672   Parrot_removeattribute_p_sc,                       /*    583 */
673   Parrot_getattribute_p_p_s,                         /*    584 */
674   Parrot_getattribute_p_p_sc,                        /*    585 */
675   Parrot_getattribute_p_p_p_s,                       /*    586 */
676   Parrot_getattribute_p_p_pc_s,                      /*    587 */
677   Parrot_getattribute_p_p_p_sc,                      /*    588 */
678   Parrot_getattribute_p_p_pc_sc,                     /*    589 */
679   Parrot_setattribute_p_s_p,                         /*    590 */
680   Parrot_setattribute_p_sc_p,                        /*    591 */
681   Parrot_setattribute_p_p_s_p,                       /*    592 */
682   Parrot_setattribute_p_pc_s_p,                      /*    593 */
683   Parrot_setattribute_p_p_sc_p,                      /*    594 */
684   Parrot_setattribute_p_pc_sc_p,                     /*    595 */
685   Parrot_inspect_p_p,                                /*    596 */
686   Parrot_inspect_p_pc,                               /*    597 */
687   Parrot_inspect_p_p_s,                              /*    598 */
688   Parrot_inspect_p_pc_s,                             /*    599 */
689   Parrot_inspect_p_p_sc,                             /*    600 */
690   Parrot_inspect_p_pc_sc,                            /*    601 */
691   Parrot_new_p_s,                                    /*    602 */
692   Parrot_new_p_sc,                                   /*    603 */
693   Parrot_new_p_s_p,                                  /*    604 */
694   Parrot_new_p_sc_p,                                 /*    605 */
695   Parrot_new_p_s_pc,                                 /*    606 */
696   Parrot_new_p_sc_pc,                                /*    607 */
697   Parrot_new_p_p,                                    /*    608 */
698   Parrot_new_p_pc,                                   /*    609 */
699   Parrot_new_p_p_p,                                  /*    610 */
700   Parrot_new_p_pc_p,                                 /*    611 */
701   Parrot_new_p_p_pc,                                 /*    612 */
702   Parrot_new_p_pc_pc,                                /*    613 */
703   Parrot_root_new_p_p,                               /*    614 */
704   Parrot_root_new_p_pc,                              /*    615 */
705   Parrot_root_new_p_p_p,                             /*    616 */
706   Parrot_root_new_p_pc_p,                            /*    617 */
707   Parrot_root_new_p_p_pc,                            /*    618 */
708   Parrot_root_new_p_pc_pc,                           /*    619 */
709   Parrot_typeof_s_p,                                 /*    620 */
710   Parrot_typeof_p_p,                                 /*    621 */
711   Parrot_get_repr_s_p,                               /*    622 */
712   Parrot_find_method_p_p_s,                          /*    623 */
713   Parrot_find_method_p_p_sc,                         /*    624 */
714   Parrot_defined_i_p,                                /*    625 */
715   Parrot_defined_i_p_ki,                             /*    626 */
716   Parrot_defined_i_p_kic,                            /*    627 */
717   Parrot_defined_i_p_k,                              /*    628 */
718   Parrot_defined_i_p_kc,                             /*    629 */
719   Parrot_exists_i_p_ki,                              /*    630 */
720   Parrot_exists_i_p_kic,                             /*    631 */
721   Parrot_exists_i_p_k,                               /*    632 */
722   Parrot_exists_i_p_kc,                              /*    633 */
723   Parrot_delete_p_k,                                 /*    634 */
724   Parrot_delete_p_kc,                                /*    635 */
725   Parrot_delete_p_ki,                                /*    636 */
726   Parrot_delete_p_kic,                               /*    637 */
727   Parrot_elements_i_p,                               /*    638 */
728   Parrot_push_p_i,                                   /*    639 */
729   Parrot_push_p_ic,                                  /*    640 */
730   Parrot_push_p_n,                                   /*    641 */
731   Parrot_push_p_nc,                                  /*    642 */
732   Parrot_push_p_s,                                   /*    643 */
733   Parrot_push_p_sc,                                  /*    644 */
734   Parrot_push_p_p,                                   /*    645 */
735   Parrot_pop_i_p,                                    /*    646 */
736   Parrot_pop_n_p,                                    /*    647 */
737   Parrot_pop_s_p,                                    /*    648 */
738   Parrot_pop_p_p,                                    /*    649 */
739   Parrot_unshift_p_i,                                /*    650 */
740   Parrot_unshift_p_ic,                               /*    651 */
741   Parrot_unshift_p_n,                                /*    652 */
742   Parrot_unshift_p_nc,                               /*    653 */
743   Parrot_unshift_p_s,                                /*    654 */
744   Parrot_unshift_p_sc,                               /*    655 */
745   Parrot_unshift_p_p,                                /*    656 */
746   Parrot_shift_i_p,                                  /*    657 */
747   Parrot_shift_n_p,                                  /*    658 */
748   Parrot_shift_s_p,                                  /*    659 */
749   Parrot_shift_p_p,                                  /*    660 */
750   Parrot_splice_p_p_i_i,                             /*    661 */
751   Parrot_splice_p_p_ic_i,                            /*    662 */
752   Parrot_splice_p_p_i_ic,                            /*    663 */
753   Parrot_splice_p_p_ic_ic,                           /*    664 */
754   Parrot_setprop_p_s_p,                              /*    665 */
755   Parrot_setprop_p_sc_p,                             /*    666 */
756   Parrot_getprop_p_s_p,                              /*    667 */
757   Parrot_getprop_p_sc_p,                             /*    668 */
758   Parrot_getprop_p_p_s,                              /*    669 */
759   Parrot_getprop_p_p_sc,                             /*    670 */
760   Parrot_delprop_p_s,                                /*    671 */
761   Parrot_delprop_p_sc,                               /*    672 */
762   Parrot_prophash_p_p,                               /*    673 */
763   Parrot_freeze_s_p,                                 /*    674 */
764   Parrot_thaw_p_s,                                   /*    675 */
765   Parrot_thaw_p_sc,                                  /*    676 */
766   Parrot_add_multi_s_s_p,                            /*    677 */
767   Parrot_add_multi_sc_s_p,                           /*    678 */
768   Parrot_add_multi_s_sc_p,                           /*    679 */
769   Parrot_add_multi_sc_sc_p,                          /*    680 */
770   Parrot_find_multi_p_s_s,                           /*    681 */
771   Parrot_find_multi_p_sc_s,                          /*    682 */
772   Parrot_find_multi_p_s_sc,                          /*    683 */
773   Parrot_find_multi_p_sc_sc,                         /*    684 */
774   Parrot_register_p,                                 /*    685 */
775   Parrot_unregister_p,                               /*    686 */
776   Parrot_box_p_i,                                    /*    687 */
777   Parrot_box_p_ic,                                   /*    688 */
778   Parrot_box_p_n,                                    /*    689 */
779   Parrot_box_p_nc,                                   /*    690 */
780   Parrot_box_p_s,                                    /*    691 */
781   Parrot_box_p_sc,                                   /*    692 */
782   Parrot_iter_p_p,                                   /*    693 */
783   Parrot_morph_p_p,                                  /*    694 */
784   Parrot_morph_p_pc,                                 /*    695 */
785   Parrot_clone_s_s,                                  /*    696 */
786   Parrot_clone_s_sc,                                 /*    697 */
787   Parrot_set_i_i,                                    /*    698 */
788   Parrot_set_i_ic,                                   /*    699 */
789   Parrot_set_i_n,                                    /*    700 */
790   Parrot_set_i_nc,                                   /*    701 */
791   Parrot_set_i_s,                                    /*    702 */
792   Parrot_set_i_sc,                                   /*    703 */
793   Parrot_set_n_n,                                    /*    704 */
794   Parrot_set_n_nc,                                   /*    705 */
795   Parrot_set_n_i,                                    /*    706 */
796   Parrot_set_n_ic,                                   /*    707 */
797   Parrot_set_n_s,                                    /*    708 */
798   Parrot_set_n_sc,                                   /*    709 */
799   Parrot_set_n_p,                                    /*    710 */
800   Parrot_set_s_p,                                    /*    711 */
801   Parrot_set_s_s,                                    /*    712 */
802   Parrot_set_s_sc,                                   /*    713 */
803   Parrot_set_s_i,                                    /*    714 */
804   Parrot_set_s_ic,                                   /*    715 */
805   Parrot_set_s_n,                                    /*    716 */
806   Parrot_set_s_nc,                                   /*    717 */
807   Parrot_set_p_pc,                                   /*    718 */
808   Parrot_set_p_p,                                    /*    719 */
809   Parrot_set_p_i,                                    /*    720 */
810   Parrot_set_p_ic,                                   /*    721 */
811   Parrot_set_p_n,                                    /*    722 */
812   Parrot_set_p_nc,                                   /*    723 */
813   Parrot_set_p_s,                                    /*    724 */
814   Parrot_set_p_sc,                                   /*    725 */
815   Parrot_set_i_p,                                    /*    726 */
816   Parrot_assign_p_p,                                 /*    727 */
817   Parrot_assign_p_i,                                 /*    728 */
818   Parrot_assign_p_ic,                                /*    729 */
819   Parrot_assign_p_n,                                 /*    730 */
820   Parrot_assign_p_nc,                                /*    731 */
821   Parrot_assign_p_s,                                 /*    732 */
822   Parrot_assign_p_sc,                                /*    733 */
823   Parrot_assign_s_s,                                 /*    734 */
824   Parrot_assign_s_sc,                                /*    735 */
825   Parrot_setref_p_p,                                 /*    736 */
826   Parrot_deref_p_p,                                  /*    737 */
827   Parrot_set_p_ki_i,                                 /*    738 */
828   Parrot_set_p_kic_i,                                /*    739 */
829   Parrot_set_p_ki_ic,                                /*    740 */
830   Parrot_set_p_kic_ic,                               /*    741 */
831   Parrot_set_p_ki_n,                                 /*    742 */
832   Parrot_set_p_kic_n,                                /*    743 */
833   Parrot_set_p_ki_nc,                                /*    744 */
834   Parrot_set_p_kic_nc,                               /*    745 */
835   Parrot_set_p_ki_s,                                 /*    746 */
836   Parrot_set_p_kic_s,                                /*    747 */
837   Parrot_set_p_ki_sc,                                /*    748 */
838   Parrot_set_p_kic_sc,                               /*    749 */
839   Parrot_set_p_ki_p,                                 /*    750 */
840   Parrot_set_p_kic_p,                                /*    751 */
841   Parrot_set_i_p_ki,                                 /*    752 */
842   Parrot_set_i_p_kic,                                /*    753 */
843   Parrot_set_n_p_ki,                                 /*    754 */
844   Parrot_set_n_p_kic,                                /*    755 */
845   Parrot_set_s_p_ki,                                 /*    756 */
846   Parrot_set_s_p_kic,                                /*    757 */
847   Parrot_set_p_p_ki,                                 /*    758 */
848   Parrot_set_p_p_kic,                                /*    759 */
849   Parrot_set_p_k_i,                                  /*    760 */
850   Parrot_set_p_kc_i,                                 /*    761 */
851   Parrot_set_p_k_ic,                                 /*    762 */
852   Parrot_set_p_kc_ic,                                /*    763 */
853   Parrot_set_p_k_n,                                  /*    764 */
854   Parrot_set_p_kc_n,                                 /*    765 */
855   Parrot_set_p_k_nc,                                 /*    766 */
856   Parrot_set_p_kc_nc,                                /*    767 */
857   Parrot_set_p_k_s,                                  /*    768 */
858   Parrot_set_p_kc_s,                                 /*    769 */
859   Parrot_set_p_k_sc,                                 /*    770 */
860   Parrot_set_p_kc_sc,                                /*    771 */
861   Parrot_set_p_k_p,                                  /*    772 */
862   Parrot_set_p_kc_p,                                 /*    773 */
863   Parrot_set_i_p_k,                                  /*    774 */
864   Parrot_set_i_p_kc,                                 /*    775 */
865   Parrot_set_n_p_k,                                  /*    776 */
866   Parrot_set_n_p_kc,                                 /*    777 */
867   Parrot_set_s_p_k,                                  /*    778 */
868   Parrot_set_s_p_kc,                                 /*    779 */
869   Parrot_set_p_p_k,                                  /*    780 */
870   Parrot_set_p_p_kc,                                 /*    781 */
871   Parrot_clone_p_p,                                  /*    782 */
872   Parrot_clone_p_p_p,                                /*    783 */
873   Parrot_clone_p_p_pc,                               /*    784 */
874   Parrot_copy_p_p,                                   /*    785 */
875   Parrot_null_s,                                     /*    786 */
876   Parrot_null_i,                                     /*    787 */
877   Parrot_null_p,                                     /*    788 */
878   Parrot_null_n,                                     /*    789 */
879   Parrot_ord_i_s,                                    /*    790 */
880   Parrot_ord_i_sc,                                   /*    791 */
881   Parrot_ord_i_s_i,                                  /*    792 */
882   Parrot_ord_i_sc_i,                                 /*    793 */
883   Parrot_ord_i_s_ic,                                 /*    794 */
884   Parrot_ord_i_sc_ic,                                /*    795 */
885   Parrot_chr_s_i,                                    /*    796 */
886   Parrot_chr_s_ic,                                   /*    797 */
887   Parrot_chopn_s_s_i,                                /*    798 */
888   Parrot_chopn_s_sc_i,                               /*    799 */
889   Parrot_chopn_s_s_ic,                               /*    800 */
890   Parrot_chopn_s_sc_ic,                              /*    801 */
891   Parrot_concat_p_p,                                 /*    802 */
892   Parrot_concat_p_s,                                 /*    803 */
893   Parrot_concat_p_sc,                                /*    804 */
894   Parrot_concat_s_s_s,                               /*    805 */
895   Parrot_concat_s_sc_s,                              /*    806 */
896   Parrot_concat_s_s_sc,                              /*    807 */
897   Parrot_concat_p_p_s,                               /*    808 */
898   Parrot_concat_p_p_sc,                              /*    809 */
899   Parrot_concat_p_p_p,                               /*    810 */
900   Parrot_repeat_s_s_i,                               /*    811 */
901   Parrot_repeat_s_sc_i,                              /*    812 */
902   Parrot_repeat_s_s_ic,                              /*    813 */
903   Parrot_repeat_s_sc_ic,                             /*    814 */
904   Parrot_repeat_p_p_i,                               /*    815 */
905   Parrot_repeat_p_p_ic,                              /*    816 */
906   Parrot_repeat_p_p_p,                               /*    817 */
907   Parrot_repeat_p_i,                                 /*    818 */
908   Parrot_repeat_p_ic,                                /*    819 */
909   Parrot_repeat_p_p,                                 /*    820 */
910   Parrot_length_i_s,                                 /*    821 */
911   Parrot_length_i_sc,                                /*    822 */
912   Parrot_bytelength_i_s,                             /*    823 */
913   Parrot_bytelength_i_sc,                            /*    824 */
914   Parrot_pin_s,                                      /*    825 */
915   Parrot_unpin_s,                                    /*    826 */
916   Parrot_substr_s_s_i,                               /*    827 */
917   Parrot_substr_s_sc_i,                              /*    828 */
918   Parrot_substr_s_s_ic,                              /*    829 */
919   Parrot_substr_s_sc_ic,                             /*    830 */
920   Parrot_substr_s_s_i_i,                             /*    831 */
921   Parrot_substr_s_sc_i_i,                            /*    832 */
922   Parrot_substr_s_s_ic_i,                            /*    833 */
923   Parrot_substr_s_sc_ic_i,                           /*    834 */
924   Parrot_substr_s_s_i_ic,                            /*    835 */
925   Parrot_substr_s_sc_i_ic,                           /*    836 */
926   Parrot_substr_s_s_ic_ic,                           /*    837 */
927   Parrot_substr_s_sc_ic_ic,                          /*    838 */
928   Parrot_substr_s_p_i_i,                             /*    839 */
929   Parrot_substr_s_p_ic_i,                            /*    840 */
930   Parrot_substr_s_p_i_ic,                            /*    841 */
931   Parrot_substr_s_p_ic_ic,                           /*    842 */
932   Parrot_replace_s_s_i_i_s,                          /*    843 */
933   Parrot_replace_s_sc_i_i_s,                         /*    844 */
934   Parrot_replace_s_s_ic_i_s,                         /*    845 */
935   Parrot_replace_s_sc_ic_i_s,                        /*    846 */
936   Parrot_replace_s_s_i_ic_s,                         /*    847 */
937   Parrot_replace_s_sc_i_ic_s,                        /*    848 */
938   Parrot_replace_s_s_ic_ic_s,                        /*    849 */
939   Parrot_replace_s_sc_ic_ic_s,                       /*    850 */
940   Parrot_replace_s_s_i_i_sc,                         /*    851 */
941   Parrot_replace_s_sc_i_i_sc,                        /*    852 */
942   Parrot_replace_s_s_ic_i_sc,                        /*    853 */
943   Parrot_replace_s_sc_ic_i_sc,                       /*    854 */
944   Parrot_replace_s_s_i_ic_sc,                        /*    855 */
945   Parrot_replace_s_sc_i_ic_sc,                       /*    856 */
946   Parrot_replace_s_s_ic_ic_sc,                       /*    857 */
947   Parrot_replace_s_sc_ic_ic_sc,                      /*    858 */
948   Parrot_index_i_s_s,                                /*    859 */
949   Parrot_index_i_sc_s,                               /*    860 */
950   Parrot_index_i_s_sc,                               /*    861 */
951   Parrot_index_i_sc_sc,                              /*    862 */
952   Parrot_index_i_s_s_i,                              /*    863 */
953   Parrot_index_i_sc_s_i,                             /*    864 */
954   Parrot_index_i_s_sc_i,                             /*    865 */
955   Parrot_index_i_sc_sc_i,                            /*    866 */
956   Parrot_index_i_s_s_ic,                             /*    867 */
957   Parrot_index_i_sc_s_ic,                            /*    868 */
958   Parrot_index_i_s_sc_ic,                            /*    869 */
959   Parrot_index_i_sc_sc_ic,                           /*    870 */
960   Parrot_rindex_i_s_s,                               /*    871 */
961   Parrot_rindex_i_sc_s,                              /*    872 */
962   Parrot_rindex_i_s_sc,                              /*    873 */
963   Parrot_rindex_i_sc_sc,                             /*    874 */
964   Parrot_rindex_i_s_s_i,                             /*    875 */
965   Parrot_rindex_i_sc_s_i,                            /*    876 */
966   Parrot_rindex_i_s_sc_i,                            /*    877 */
967   Parrot_rindex_i_sc_sc_i,                           /*    878 */
968   Parrot_rindex_i_s_s_ic,                            /*    879 */
969   Parrot_rindex_i_sc_s_ic,                           /*    880 */
970   Parrot_rindex_i_s_sc_ic,                           /*    881 */
971   Parrot_rindex_i_sc_sc_ic,                          /*    882 */
972   Parrot_sprintf_s_s_p,                              /*    883 */
973   Parrot_sprintf_s_sc_p,                             /*    884 */
974   Parrot_sprintf_p_p_p,                              /*    885 */
975   Parrot_new_s,                                      /*    886 */
976   Parrot_stringinfo_i_s_i,                           /*    887 */
977   Parrot_stringinfo_i_sc_i,                          /*    888 */
978   Parrot_stringinfo_i_s_ic,                          /*    889 */
979   Parrot_stringinfo_i_sc_ic,                         /*    890 */
980   Parrot_upcase_s_s,                                 /*    891 */
981   Parrot_upcase_s_sc,                                /*    892 */
982   Parrot_downcase_s_s,                               /*    893 */
983   Parrot_downcase_s_sc,                              /*    894 */
984   Parrot_titlecase_s_s,                              /*    895 */
985   Parrot_titlecase_s_sc,                             /*    896 */
986   Parrot_join_s_s_p,                                 /*    897 */
987   Parrot_join_s_sc_p,                                /*    898 */
988   Parrot_split_p_s_s,                                /*    899 */
989   Parrot_split_p_sc_s,                               /*    900 */
990   Parrot_split_p_s_sc,                               /*    901 */
991   Parrot_split_p_sc_sc,                              /*    902 */
992   Parrot_encoding_i_s,                               /*    903 */
993   Parrot_encoding_i_sc,                              /*    904 */
994   Parrot_encodingname_s_i,                           /*    905 */
995   Parrot_encodingname_s_ic,                          /*    906 */
996   Parrot_find_encoding_i_s,                          /*    907 */
997   Parrot_find_encoding_i_sc,                         /*    908 */
998   Parrot_trans_encoding_s_s_i,                       /*    909 */
999   Parrot_trans_encoding_s_sc_i,                      /*    910 */
1000   Parrot_trans_encoding_s_s_ic,                      /*    911 */
1001   Parrot_trans_encoding_s_sc_ic,                     /*    912 */
1002   Parrot_is_cclass_i_i_s_i,                          /*    913 */
1003   Parrot_is_cclass_i_ic_s_i,                         /*    914 */
1004   Parrot_is_cclass_i_i_sc_i,                         /*    915 */
1005   Parrot_is_cclass_i_ic_sc_i,                        /*    916 */
1006   Parrot_is_cclass_i_i_s_ic,                         /*    917 */
1007   Parrot_is_cclass_i_ic_s_ic,                        /*    918 */
1008   Parrot_is_cclass_i_i_sc_ic,                        /*    919 */
1009   Parrot_is_cclass_i_ic_sc_ic,                       /*    920 */
1010   Parrot_find_cclass_i_i_s_i_i,                      /*    921 */
1011   Parrot_find_cclass_i_ic_s_i_i,                     /*    922 */
1012   Parrot_find_cclass_i_i_sc_i_i,                     /*    923 */
1013   Parrot_find_cclass_i_ic_sc_i_i,                    /*    924 */
1014   Parrot_find_cclass_i_i_s_ic_i,                     /*    925 */
1015   Parrot_find_cclass_i_ic_s_ic_i,                    /*    926 */
1016   Parrot_find_cclass_i_i_sc_ic_i,                    /*    927 */
1017   Parrot_find_cclass_i_ic_sc_ic_i,                   /*    928 */
1018   Parrot_find_cclass_i_i_s_i_ic,                     /*    929 */
1019   Parrot_find_cclass_i_ic_s_i_ic,                    /*    930 */
1020   Parrot_find_cclass_i_i_sc_i_ic,                    /*    931 */
1021   Parrot_find_cclass_i_ic_sc_i_ic,                   /*    932 */
1022   Parrot_find_cclass_i_i_s_ic_ic,                    /*    933 */
1023   Parrot_find_cclass_i_ic_s_ic_ic,                   /*    934 */
1024   Parrot_find_cclass_i_i_sc_ic_ic,                   /*    935 */
1025   Parrot_find_cclass_i_ic_sc_ic_ic,                  /*    936 */
1026   Parrot_find_not_cclass_i_i_s_i_i,                  /*    937 */
1027   Parrot_find_not_cclass_i_ic_s_i_i,                 /*    938 */
1028   Parrot_find_not_cclass_i_i_sc_i_i,                 /*    939 */
1029   Parrot_find_not_cclass_i_ic_sc_i_i,                /*    940 */
1030   Parrot_find_not_cclass_i_i_s_ic_i,                 /*    941 */
1031   Parrot_find_not_cclass_i_ic_s_ic_i,                /*    942 */
1032   Parrot_find_not_cclass_i_i_sc_ic_i,                /*    943 */
1033   Parrot_find_not_cclass_i_ic_sc_ic_i,               /*    944 */
1034   Parrot_find_not_cclass_i_i_s_i_ic,                 /*    945 */
1035   Parrot_find_not_cclass_i_ic_s_i_ic,                /*    946 */
1036   Parrot_find_not_cclass_i_i_sc_i_ic,                /*    947 */
1037   Parrot_find_not_cclass_i_ic_sc_i_ic,               /*    948 */
1038   Parrot_find_not_cclass_i_i_s_ic_ic,                /*    949 */
1039   Parrot_find_not_cclass_i_ic_s_ic_ic,               /*    950 */
1040   Parrot_find_not_cclass_i_i_sc_ic_ic,               /*    951 */
1041   Parrot_find_not_cclass_i_ic_sc_ic_ic,              /*    952 */
1042   Parrot_escape_s_s,                                 /*    953 */
1043   Parrot_compose_s_s,                                /*    954 */
1044   Parrot_compose_s_sc,                               /*    955 */
1045   Parrot_find_codepoint_i_s,                         /*    956 */
1046   Parrot_find_codepoint_i_sc,                        /*    957 */
1047   Parrot_spawnw_i_s,                                 /*    958 */
1048   Parrot_spawnw_i_sc,                                /*    959 */
1049   Parrot_spawnw_i_p,                                 /*    960 */
1050   Parrot_err_i,                                      /*    961 */
1051   Parrot_err_s,                                      /*    962 */
1052   Parrot_err_s_i,                                    /*    963 */
1053   Parrot_err_s_ic,                                   /*    964 */
1054   Parrot_time_i,                                     /*    965 */
1055   Parrot_time_n,                                     /*    966 */
1056   Parrot_sleep_i,                                    /*    967 */
1057   Parrot_sleep_ic,                                   /*    968 */
1058   Parrot_sleep_n,                                    /*    969 */
1059   Parrot_sleep_nc,                                   /*    970 */
1060   Parrot_store_lex_s_p,                              /*    971 */
1061   Parrot_store_lex_sc_p,                             /*    972 */
1062   Parrot_store_lex_s_s,                              /*    973 */
1063   Parrot_store_lex_sc_s,                             /*    974 */
1064   Parrot_store_lex_s_sc,                             /*    975 */
1065   Parrot_store_lex_sc_sc,                            /*    976 */
1066   Parrot_store_lex_s_i,                              /*    977 */
1067   Parrot_store_lex_sc_i,                             /*    978 */
1068   Parrot_store_lex_s_ic,                             /*    979 */
1069   Parrot_store_lex_sc_ic,                            /*    980 */
1070   Parrot_store_lex_s_n,                              /*    981 */
1071   Parrot_store_lex_sc_n,                             /*    982 */
1072   Parrot_store_lex_s_nc,                             /*    983 */
1073   Parrot_store_lex_sc_nc,                            /*    984 */
1074   Parrot_store_dynamic_lex_s_p,                      /*    985 */
1075   Parrot_store_dynamic_lex_sc_p,                     /*    986 */
1076   Parrot_find_lex_p_s,                               /*    987 */
1077   Parrot_find_lex_p_sc,                              /*    988 */
1078   Parrot_find_lex_s_s,                               /*    989 */
1079   Parrot_find_lex_s_sc,                              /*    990 */
1080   Parrot_find_lex_i_s,                               /*    991 */
1081   Parrot_find_lex_i_sc,                              /*    992 */
1082   Parrot_find_lex_n_s,                               /*    993 */
1083   Parrot_find_lex_n_sc,                              /*    994 */
1084   Parrot_find_dynamic_lex_p_s,                       /*    995 */
1085   Parrot_find_dynamic_lex_p_sc,                      /*    996 */
1086   Parrot_find_caller_lex_p_s,                        /*    997 */
1087   Parrot_find_caller_lex_p_sc,                       /*    998 */
1088   Parrot_get_namespace_p,                            /*    999 */
1089   Parrot_get_namespace_p_p,                          /*   1000 */
1090   Parrot_get_namespace_p_pc,                         /*   1001 */
1091   Parrot_get_hll_namespace_p,                        /*   1002 */
1092   Parrot_get_hll_namespace_p_p,                      /*   1003 */
1093   Parrot_get_hll_namespace_p_pc,                     /*   1004 */
1094   Parrot_get_root_namespace_p,                       /*   1005 */
1095   Parrot_get_root_namespace_p_p,                     /*   1006 */
1096   Parrot_get_root_namespace_p_pc,                    /*   1007 */
1097   Parrot_get_global_p_s,                             /*   1008 */
1098   Parrot_get_global_p_sc,                            /*   1009 */
1099   Parrot_get_global_p_p_s,                           /*   1010 */
1100   Parrot_get_global_p_pc_s,                          /*   1011 */
1101   Parrot_get_global_p_p_sc,                          /*   1012 */
1102   Parrot_get_global_p_pc_sc,                         /*   1013 */
1103   Parrot_get_hll_global_p_s,                         /*   1014 */
1104   Parrot_get_hll_global_p_sc,                        /*   1015 */
1105   Parrot_get_hll_global_p_p_s,                       /*   1016 */
1106   Parrot_get_hll_global_p_pc_s,                      /*   1017 */
1107   Parrot_get_hll_global_p_p_sc,                      /*   1018 */
1108   Parrot_get_hll_global_p_pc_sc,                     /*   1019 */
1109   Parrot_get_root_global_p_s,                        /*   1020 */
1110   Parrot_get_root_global_p_sc,                       /*   1021 */
1111   Parrot_get_root_global_p_p_s,                      /*   1022 */
1112   Parrot_get_root_global_p_pc_s,                     /*   1023 */
1113   Parrot_get_root_global_p_p_sc,                     /*   1024 */
1114   Parrot_get_root_global_p_pc_sc,                    /*   1025 */
1115   Parrot_set_global_s_p,                             /*   1026 */
1116   Parrot_set_global_sc_p,                            /*   1027 */
1117   Parrot_set_global_p_s_p,                           /*   1028 */
1118   Parrot_set_global_pc_s_p,                          /*   1029 */
1119   Parrot_set_global_p_sc_p,                          /*   1030 */
1120   Parrot_set_global_pc_sc_p,                         /*   1031 */
1121   Parrot_set_hll_global_s_p,                         /*   1032 */
1122   Parrot_set_hll_global_sc_p,                        /*   1033 */
1123   Parrot_set_hll_global_p_s_p,                       /*   1034 */
1124   Parrot_set_hll_global_pc_s_p,                      /*   1035 */
1125   Parrot_set_hll_global_p_sc_p,                      /*   1036 */
1126   Parrot_set_hll_global_pc_sc_p,                     /*   1037 */
1127   Parrot_set_root_global_s_p,                        /*   1038 */
1128   Parrot_set_root_global_sc_p,                       /*   1039 */
1129   Parrot_set_root_global_p_s_p,                      /*   1040 */
1130   Parrot_set_root_global_pc_s_p,                     /*   1041 */
1131   Parrot_set_root_global_p_sc_p,                     /*   1042 */
1132   Parrot_set_root_global_pc_sc_p,                    /*   1043 */
1133   Parrot_find_name_p_s,                              /*   1044 */
1134   Parrot_find_name_p_sc,                             /*   1045 */
1135   Parrot_find_sub_not_null_p_s,                      /*   1046 */
1136   Parrot_find_sub_not_null_p_sc,                     /*   1047 */
1137   Parrot_trap,                                       /*   1048 */
1138   Parrot_set_label_p_ic,                             /*   1049 */
1139   Parrot_get_label_i_p,                              /*   1050 */
1140   Parrot_get_id_i_p,                                 /*   1051 */
1141   Parrot_get_id_i_pc,                                /*   1052 */
1142   Parrot_fetch_p_p_p_p,                              /*   1053 */
1143   Parrot_fetch_p_pc_p_p,                             /*   1054 */
1144   Parrot_fetch_p_p_pc_p,                             /*   1055 */
1145   Parrot_fetch_p_pc_pc_p,                            /*   1056 */
1146   Parrot_fetch_p_p_p_pc,                             /*   1057 */
1147   Parrot_fetch_p_pc_p_pc,                            /*   1058 */
1148   Parrot_fetch_p_p_pc_pc,                            /*   1059 */
1149   Parrot_fetch_p_pc_pc_pc,                           /*   1060 */
1150   Parrot_fetch_p_p_i_p,                              /*   1061 */
1151   Parrot_fetch_p_pc_i_p,                             /*   1062 */
1152   Parrot_fetch_p_p_ic_p,                             /*   1063 */
1153   Parrot_fetch_p_pc_ic_p,                            /*   1064 */
1154   Parrot_fetch_p_p_i_pc,                             /*   1065 */
1155   Parrot_fetch_p_pc_i_pc,                            /*   1066 */
1156   Parrot_fetch_p_p_ic_pc,                            /*   1067 */
1157   Parrot_fetch_p_pc_ic_pc,                           /*   1068 */
1158   Parrot_fetch_p_p_s_p,                              /*   1069 */
1159   Parrot_fetch_p_pc_s_p,                             /*   1070 */
1160   Parrot_fetch_p_p_sc_p,                             /*   1071 */
1161   Parrot_fetch_p_pc_sc_p,                            /*   1072 */
1162   Parrot_fetch_p_p_s_pc,                             /*   1073 */
1163   Parrot_fetch_p_pc_s_pc,                            /*   1074 */
1164   Parrot_fetch_p_p_sc_pc,                            /*   1075 */
1165   Parrot_fetch_p_pc_sc_pc,                           /*   1076 */
1166   Parrot_vivify_p_p_p_p,                             /*   1077 */
1167   Parrot_vivify_p_pc_p_p,                            /*   1078 */
1168   Parrot_vivify_p_p_pc_p,                            /*   1079 */
1169   Parrot_vivify_p_pc_pc_p,                           /*   1080 */
1170   Parrot_vivify_p_p_p_pc,                            /*   1081 */
1171   Parrot_vivify_p_pc_p_pc,                           /*   1082 */
1172   Parrot_vivify_p_p_pc_pc,                           /*   1083 */
1173   Parrot_vivify_p_pc_pc_pc,                          /*   1084 */
1174   Parrot_vivify_p_p_i_p,                             /*   1085 */
1175   Parrot_vivify_p_pc_i_p,                            /*   1086 */
1176   Parrot_vivify_p_p_ic_p,                            /*   1087 */
1177   Parrot_vivify_p_pc_ic_p,                           /*   1088 */
1178   Parrot_vivify_p_p_i_pc,                            /*   1089 */
1179   Parrot_vivify_p_pc_i_pc,                           /*   1090 */
1180   Parrot_vivify_p_p_ic_pc,                           /*   1091 */
1181   Parrot_vivify_p_pc_ic_pc,                          /*   1092 */
1182   Parrot_vivify_p_p_s_p,                             /*   1093 */
1183   Parrot_vivify_p_pc_s_p,                            /*   1094 */
1184   Parrot_vivify_p_p_sc_p,                            /*   1095 */
1185   Parrot_vivify_p_pc_sc_p,                           /*   1096 */
1186   Parrot_vivify_p_p_s_pc,                            /*   1097 */
1187   Parrot_vivify_p_pc_s_pc,                           /*   1098 */
1188   Parrot_vivify_p_p_sc_pc,                           /*   1099 */
1189   Parrot_vivify_p_pc_sc_pc,                          /*   1100 */
1190   Parrot_new_p_s_i,                                  /*   1101 */
1191   Parrot_new_p_sc_i,                                 /*   1102 */
1192   Parrot_new_p_s_ic,                                 /*   1103 */
1193   Parrot_new_p_sc_ic,                                /*   1104 */
1194   Parrot_new_p_p_i,                                  /*   1105 */
1195   Parrot_new_p_pc_i,                                 /*   1106 */
1196   Parrot_new_p_p_ic,                                 /*   1107 */
1197   Parrot_new_p_pc_ic,                                /*   1108 */
1198   Parrot_root_new_p_p_i,                             /*   1109 */
1199   Parrot_root_new_p_pc_i,                            /*   1110 */
1200   Parrot_root_new_p_p_ic,                            /*   1111 */
1201   Parrot_root_new_p_pc_ic,                           /*   1112 */
1202   Parrot_get_context_p,                              /*   1113 */
1203   Parrot_new_call_context_p,                         /*   1114 */
1204   Parrot_invokecc_p_p,                               /*   1115 */
1205   Parrot_flatten_array_into_p_p_i,                   /*   1116 */
1206   Parrot_flatten_array_into_p_p_ic,                  /*   1117 */
1207   Parrot_flatten_hash_into_p_p_i,                    /*   1118 */
1208   Parrot_flatten_hash_into_p_p_ic,                   /*   1119 */
1209   Parrot_slurp_array_from_p_p_i,                     /*   1120 */
1210   Parrot_slurp_array_from_p_p_ic,                    /*   1121 */
1211   Parrot_receive_p,                                  /*   1122 */
1212   Parrot_wait_p,                                     /*   1123 */
1213   Parrot_wait_pc,                                    /*   1124 */
1214   Parrot_pass,                                       /*   1125 */
1215   Parrot_disable_preemption,                         /*   1126 */
1216   Parrot_enable_preemption,                          /*   1127 */
1217   Parrot_terminate,                                  /*   1128 */
1218 
1219   NULL /* NULL function pointer */
1220 };
1221 
1222 
1223 
1224 /*
1225 ** Op Info Table:
1226 */
1227 
1228 static op_info_t core_op_info_table[1130] = {
1229   { /* 0 */
1230     "end",
1231     "end",
1232     "Parrot_end",
1233     0,
1234     1,
1235     { (arg_type_t) 0 },
1236     { (arg_dir_t) 0 },
1237     { 0 },
1238     &core_op_lib
1239   },
1240   { /* 1 */
1241     "noop",
1242     "noop",
1243     "Parrot_noop",
1244     0,
1245     1,
1246     { (arg_type_t) 0 },
1247     { (arg_dir_t) 0 },
1248     { 0 },
1249     &core_op_lib
1250   },
1251   { /* 2 */
1252     "check_events",
1253     "check_events",
1254     "Parrot_check_events",
1255     0,
1256     1,
1257     { (arg_type_t) 0 },
1258     { (arg_dir_t) 0 },
1259     { 0 },
1260     &core_op_lib
1261   },
1262   { /* 3 */
1263     "check_events__",
1264     "check_events__",
1265     "Parrot_check_events__",
1266     0,
1267     1,
1268     { (arg_type_t) 0 },
1269     { (arg_dir_t) 0 },
1270     { 0 },
1271     &core_op_lib
1272   },
1273   { /* 4 */
1274     "load_bytecode",
1275     "load_bytecode_s",
1276     "Parrot_load_bytecode_s",
1277     0,
1278     2,
1279     { PARROT_ARG_S },
1280     { PARROT_ARGDIR_IN },
1281     { 0 },
1282     &core_op_lib
1283   },
1284   { /* 5 */
1285     "load_bytecode",
1286     "load_bytecode_sc",
1287     "Parrot_load_bytecode_sc",
1288     0,
1289     2,
1290     { PARROT_ARG_SC },
1291     { PARROT_ARGDIR_IN },
1292     { 0 },
1293     &core_op_lib
1294   },
1295   { /* 6 */
1296     "load_bytecode",
1297     "load_bytecode_p_s",
1298     "Parrot_load_bytecode_p_s",
1299     0,
1300     3,
1301     { PARROT_ARG_P, PARROT_ARG_S },
1302     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
1303     { 0, 0 },
1304     &core_op_lib
1305   },
1306   { /* 7 */
1307     "load_bytecode",
1308     "load_bytecode_p_sc",
1309     "Parrot_load_bytecode_p_sc",
1310     0,
1311     3,
1312     { PARROT_ARG_P, PARROT_ARG_SC },
1313     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
1314     { 0, 0 },
1315     &core_op_lib
1316   },
1317   { /* 8 */
1318     "load_language",
1319     "load_language_s",
1320     "Parrot_load_language_s",
1321     0,
1322     2,
1323     { PARROT_ARG_S },
1324     { PARROT_ARGDIR_IN },
1325     { 0 },
1326     &core_op_lib
1327   },
1328   { /* 9 */
1329     "load_language",
1330     "load_language_sc",
1331     "Parrot_load_language_sc",
1332     0,
1333     2,
1334     { PARROT_ARG_SC },
1335     { PARROT_ARGDIR_IN },
1336     { 0 },
1337     &core_op_lib
1338   },
1339   { /* 10 */
1340     "branch",
1341     "branch_i",
1342     "Parrot_branch_i",
1343     PARROT_JUMP_RELATIVE,
1344     2,
1345     { PARROT_ARG_I },
1346     { PARROT_ARGDIR_IN },
1347     { 1 },
1348     &core_op_lib
1349   },
1350   { /* 11 */
1351     "branch",
1352     "branch_ic",
1353     "Parrot_branch_ic",
1354     PARROT_JUMP_RELATIVE,
1355     2,
1356     { PARROT_ARG_IC },
1357     { PARROT_ARGDIR_IN },
1358     { 1 },
1359     &core_op_lib
1360   },
1361   { /* 12 */
1362     "local_branch",
1363     "local_branch_p_i",
1364     "Parrot_local_branch_p_i",
1365     PARROT_JUMP_RELATIVE,
1366     3,
1367     { PARROT_ARG_P, PARROT_ARG_I },
1368     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
1369     { 0, 1 },
1370     &core_op_lib
1371   },
1372   { /* 13 */
1373     "local_branch",
1374     "local_branch_p_ic",
1375     "Parrot_local_branch_p_ic",
1376     PARROT_JUMP_RELATIVE,
1377     3,
1378     { PARROT_ARG_P, PARROT_ARG_IC },
1379     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
1380     { 0, 1 },
1381     &core_op_lib
1382   },
1383   { /* 14 */
1384     "local_return",
1385     "local_return_p",
1386     "Parrot_local_return_p",
1387     0,
1388     2,
1389     { PARROT_ARG_P },
1390     { PARROT_ARGDIR_IN },
1391     { 0 },
1392     &core_op_lib
1393   },
1394   { /* 15 */
1395     "jump",
1396     "jump_i",
1397     "Parrot_jump_i",
1398     0,
1399     2,
1400     { PARROT_ARG_I },
1401     { PARROT_ARGDIR_IN },
1402     { 1 },
1403     &core_op_lib
1404   },
1405   { /* 16 */
1406     "jump",
1407     "jump_ic",
1408     "Parrot_jump_ic",
1409     0,
1410     2,
1411     { PARROT_ARG_IC },
1412     { PARROT_ARGDIR_IN },
1413     { 1 },
1414     &core_op_lib
1415   },
1416   { /* 17 */
1417     "if",
1418     "if_i_ic",
1419     "Parrot_if_i_ic",
1420     PARROT_JUMP_RELATIVE,
1421     3,
1422     { PARROT_ARG_I, PARROT_ARG_IC },
1423     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
1424     { 0, 1 },
1425     &core_op_lib
1426   },
1427   { /* 18 */
1428     "if",
1429     "if_n_ic",
1430     "Parrot_if_n_ic",
1431     PARROT_JUMP_RELATIVE,
1432     3,
1433     { PARROT_ARG_N, PARROT_ARG_IC },
1434     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
1435     { 0, 1 },
1436     &core_op_lib
1437   },
1438   { /* 19 */
1439     "if",
1440     "if_s_ic",
1441     "Parrot_if_s_ic",
1442     PARROT_JUMP_RELATIVE,
1443     3,
1444     { PARROT_ARG_S, PARROT_ARG_IC },
1445     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
1446     { 0, 1 },
1447     &core_op_lib
1448   },
1449   { /* 20 */
1450     "if",
1451     "if_p_ic",
1452     "Parrot_if_p_ic",
1453     PARROT_JUMP_RELATIVE,
1454     3,
1455     { PARROT_ARG_P, PARROT_ARG_IC },
1456     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
1457     { 0, 1 },
1458     &core_op_lib
1459   },
1460   { /* 21 */
1461     "unless",
1462     "unless_i_ic",
1463     "Parrot_unless_i_ic",
1464     PARROT_JUMP_RELATIVE,
1465     3,
1466     { PARROT_ARG_I, PARROT_ARG_IC },
1467     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
1468     { 0, 1 },
1469     &core_op_lib
1470   },
1471   { /* 22 */
1472     "unless",
1473     "unless_n_ic",
1474     "Parrot_unless_n_ic",
1475     PARROT_JUMP_RELATIVE,
1476     3,
1477     { PARROT_ARG_N, PARROT_ARG_IC },
1478     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
1479     { 0, 1 },
1480     &core_op_lib
1481   },
1482   { /* 23 */
1483     "unless",
1484     "unless_s_ic",
1485     "Parrot_unless_s_ic",
1486     PARROT_JUMP_RELATIVE,
1487     3,
1488     { PARROT_ARG_S, PARROT_ARG_IC },
1489     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
1490     { 0, 1 },
1491     &core_op_lib
1492   },
1493   { /* 24 */
1494     "unless",
1495     "unless_p_ic",
1496     "Parrot_unless_p_ic",
1497     PARROT_JUMP_RELATIVE,
1498     3,
1499     { PARROT_ARG_P, PARROT_ARG_IC },
1500     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
1501     { 0, 1 },
1502     &core_op_lib
1503   },
1504   { /* 25 */
1505     "invokecc",
1506     "invokecc_p",
1507     "Parrot_invokecc_p",
1508     0,
1509     2,
1510     { PARROT_ARG_P },
1511     { PARROT_ARGDIR_IN },
1512     { 0 },
1513     &core_op_lib
1514   },
1515   { /* 26 */
1516     "invoke",
1517     "invoke_p_p",
1518     "Parrot_invoke_p_p",
1519     0,
1520     3,
1521     { PARROT_ARG_P, PARROT_ARG_P },
1522     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
1523     { 0, 0 },
1524     &core_op_lib
1525   },
1526   { /* 27 */
1527     "yield",
1528     "yield",
1529     "Parrot_yield",
1530     0,
1531     1,
1532     { (arg_type_t) 0 },
1533     { (arg_dir_t) 0 },
1534     { 0 },
1535     &core_op_lib
1536   },
1537   { /* 28 */
1538     "tailcall",
1539     "tailcall_p",
1540     "Parrot_tailcall_p",
1541     0,
1542     2,
1543     { PARROT_ARG_P },
1544     { PARROT_ARGDIR_IN },
1545     { 0 },
1546     &core_op_lib
1547   },
1548   { /* 29 */
1549     "returncc",
1550     "returncc",
1551     "Parrot_returncc",
1552     0,
1553     1,
1554     { (arg_type_t) 0 },
1555     { (arg_dir_t) 0 },
1556     { 0 },
1557     &core_op_lib
1558   },
1559   { /* 30 */
1560     "capture_lex",
1561     "capture_lex_p",
1562     "Parrot_capture_lex_p",
1563     0,
1564     2,
1565     { PARROT_ARG_P },
1566     { PARROT_ARGDIR_IN },
1567     { 0 },
1568     &core_op_lib
1569   },
1570   { /* 31 */
1571     "newclosure",
1572     "newclosure_p_p",
1573     "Parrot_newclosure_p_p",
1574     0,
1575     3,
1576     { PARROT_ARG_P, PARROT_ARG_P },
1577     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
1578     { 0, 0 },
1579     &core_op_lib
1580   },
1581   { /* 32 */
1582     "set_args",
1583     "set_args_pc",
1584     "Parrot_set_args_pc",
1585     PARROT_JUMP_RELATIVE,
1586     2,
1587     { PARROT_ARG_PC },
1588     { PARROT_ARGDIR_IN },
1589     { 0 },
1590     &core_op_lib
1591   },
1592   { /* 33 */
1593     "get_params",
1594     "get_params_pc",
1595     "Parrot_get_params_pc",
1596     PARROT_JUMP_RELATIVE,
1597     2,
1598     { PARROT_ARG_PC },
1599     { PARROT_ARGDIR_IN },
1600     { 0 },
1601     &core_op_lib
1602   },
1603   { /* 34 */
1604     "set_returns",
1605     "set_returns_pc",
1606     "Parrot_set_returns_pc",
1607     PARROT_JUMP_RELATIVE,
1608     2,
1609     { PARROT_ARG_PC },
1610     { PARROT_ARGDIR_IN },
1611     { 0 },
1612     &core_op_lib
1613   },
1614   { /* 35 */
1615     "get_results",
1616     "get_results_pc",
1617     "Parrot_get_results_pc",
1618     PARROT_JUMP_RELATIVE,
1619     2,
1620     { PARROT_ARG_PC },
1621     { PARROT_ARGDIR_IN },
1622     { 0 },
1623     &core_op_lib
1624   },
1625   { /* 36 */
1626     "set_result_info",
1627     "set_result_info_p",
1628     "Parrot_set_result_info_p",
1629     0,
1630     2,
1631     { PARROT_ARG_P },
1632     { PARROT_ARGDIR_IN },
1633     { 0 },
1634     &core_op_lib
1635   },
1636   { /* 37 */
1637     "set_result_info",
1638     "set_result_info_pc",
1639     "Parrot_set_result_info_pc",
1640     0,
1641     2,
1642     { PARROT_ARG_PC },
1643     { PARROT_ARGDIR_IN },
1644     { 0 },
1645     &core_op_lib
1646   },
1647   { /* 38 */
1648     "result_info",
1649     "result_info_p",
1650     "Parrot_result_info_p",
1651     0,
1652     2,
1653     { PARROT_ARG_P },
1654     { PARROT_ARGDIR_OUT },
1655     { 0 },
1656     &core_op_lib
1657   },
1658   { /* 39 */
1659     "set_addr",
1660     "set_addr_i_ic",
1661     "Parrot_set_addr_i_ic",
1662     0,
1663     3,
1664     { PARROT_ARG_I, PARROT_ARG_IC },
1665     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
1666     { 0, 1 },
1667     &core_op_lib
1668   },
1669   { /* 40 */
1670     "set_addr",
1671     "set_addr_p_ic",
1672     "Parrot_set_addr_p_ic",
1673     0,
1674     3,
1675     { PARROT_ARG_P, PARROT_ARG_IC },
1676     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
1677     { 0, 1 },
1678     &core_op_lib
1679   },
1680   { /* 41 */
1681     "set_addr",
1682     "set_addr_p_i",
1683     "Parrot_set_addr_p_i",
1684     0,
1685     3,
1686     { PARROT_ARG_P, PARROT_ARG_I },
1687     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
1688     { 0, 1 },
1689     &core_op_lib
1690   },
1691   { /* 42 */
1692     "get_addr",
1693     "get_addr_i_p",
1694     "Parrot_get_addr_i_p",
1695     0,
1696     3,
1697     { PARROT_ARG_I, PARROT_ARG_P },
1698     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
1699     { 0, 0 },
1700     &core_op_lib
1701   },
1702   { /* 43 */
1703     "schedule",
1704     "schedule_p",
1705     "Parrot_schedule_p",
1706     0,
1707     2,
1708     { PARROT_ARG_P },
1709     { PARROT_ARGDIR_IN },
1710     { 0 },
1711     &core_op_lib
1712   },
1713   { /* 44 */
1714     "schedule_local",
1715     "schedule_local_p",
1716     "Parrot_schedule_local_p",
1717     0,
1718     2,
1719     { PARROT_ARG_P },
1720     { PARROT_ARGDIR_IN },
1721     { 0 },
1722     &core_op_lib
1723   },
1724   { /* 45 */
1725     "addhandler",
1726     "addhandler_p",
1727     "Parrot_addhandler_p",
1728     0,
1729     2,
1730     { PARROT_ARG_P },
1731     { PARROT_ARGDIR_IN },
1732     { 0 },
1733     &core_op_lib
1734   },
1735   { /* 46 */
1736     "push_eh",
1737     "push_eh_ic",
1738     "Parrot_push_eh_ic",
1739     0,
1740     2,
1741     { PARROT_ARG_IC },
1742     { PARROT_ARGDIR_IN },
1743     { 1 },
1744     &core_op_lib
1745   },
1746   { /* 47 */
1747     "push_eh",
1748     "push_eh_p",
1749     "Parrot_push_eh_p",
1750     0,
1751     2,
1752     { PARROT_ARG_P },
1753     { PARROT_ARGDIR_IN },
1754     { 0 },
1755     &core_op_lib
1756   },
1757   { /* 48 */
1758     "pop_eh",
1759     "pop_eh",
1760     "Parrot_pop_eh",
1761     0,
1762     1,
1763     { (arg_type_t) 0 },
1764     { (arg_dir_t) 0 },
1765     { 0 },
1766     &core_op_lib
1767   },
1768   { /* 49 */
1769     "throw",
1770     "throw_p",
1771     "Parrot_throw_p",
1772     0,
1773     2,
1774     { PARROT_ARG_P },
1775     { PARROT_ARGDIR_IN },
1776     { 0 },
1777     &core_op_lib
1778   },
1779   { /* 50 */
1780     "throw",
1781     "throw_p_p",
1782     "Parrot_throw_p_p",
1783     0,
1784     3,
1785     { PARROT_ARG_P, PARROT_ARG_P },
1786     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
1787     { 0, 0 },
1788     &core_op_lib
1789   },
1790   { /* 51 */
1791     "rethrow",
1792     "rethrow_p",
1793     "Parrot_rethrow_p",
1794     0,
1795     2,
1796     { PARROT_ARG_P },
1797     { PARROT_ARGDIR_IN },
1798     { 0 },
1799     &core_op_lib
1800   },
1801   { /* 52 */
1802     "count_eh",
1803     "count_eh_i",
1804     "Parrot_count_eh_i",
1805     0,
1806     2,
1807     { PARROT_ARG_I },
1808     { PARROT_ARGDIR_OUT },
1809     { 0 },
1810     &core_op_lib
1811   },
1812   { /* 53 */
1813     "die",
1814     "die_s",
1815     "Parrot_die_s",
1816     0,
1817     2,
1818     { PARROT_ARG_S },
1819     { PARROT_ARGDIR_IN },
1820     { 0 },
1821     &core_op_lib
1822   },
1823   { /* 54 */
1824     "die",
1825     "die_sc",
1826     "Parrot_die_sc",
1827     0,
1828     2,
1829     { PARROT_ARG_SC },
1830     { PARROT_ARGDIR_IN },
1831     { 0 },
1832     &core_op_lib
1833   },
1834   { /* 55 */
1835     "die",
1836     "die_p",
1837     "Parrot_die_p",
1838     0,
1839     2,
1840     { PARROT_ARG_P },
1841     { PARROT_ARGDIR_IN },
1842     { 0 },
1843     &core_op_lib
1844   },
1845   { /* 56 */
1846     "die",
1847     "die_pc",
1848     "Parrot_die_pc",
1849     0,
1850     2,
1851     { PARROT_ARG_PC },
1852     { PARROT_ARGDIR_IN },
1853     { 0 },
1854     &core_op_lib
1855   },
1856   { /* 57 */
1857     "die",
1858     "die_i_i",
1859     "Parrot_die_i_i",
1860     0,
1861     3,
1862     { PARROT_ARG_I, PARROT_ARG_I },
1863     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
1864     { 0, 0 },
1865     &core_op_lib
1866   },
1867   { /* 58 */
1868     "die",
1869     "die_ic_i",
1870     "Parrot_die_ic_i",
1871     0,
1872     3,
1873     { PARROT_ARG_IC, PARROT_ARG_I },
1874     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
1875     { 0, 0 },
1876     &core_op_lib
1877   },
1878   { /* 59 */
1879     "die",
1880     "die_i_ic",
1881     "Parrot_die_i_ic",
1882     0,
1883     3,
1884     { PARROT_ARG_I, PARROT_ARG_IC },
1885     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
1886     { 0, 0 },
1887     &core_op_lib
1888   },
1889   { /* 60 */
1890     "die",
1891     "die_ic_ic",
1892     "Parrot_die_ic_ic",
1893     0,
1894     3,
1895     { PARROT_ARG_IC, PARROT_ARG_IC },
1896     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
1897     { 0, 0 },
1898     &core_op_lib
1899   },
1900   { /* 61 */
1901     "exit",
1902     "exit_i",
1903     "Parrot_exit_i",
1904     0,
1905     2,
1906     { PARROT_ARG_I },
1907     { PARROT_ARGDIR_IN },
1908     { 0 },
1909     &core_op_lib
1910   },
1911   { /* 62 */
1912     "exit",
1913     "exit_ic",
1914     "Parrot_exit_ic",
1915     0,
1916     2,
1917     { PARROT_ARG_IC },
1918     { PARROT_ARGDIR_IN },
1919     { 0 },
1920     &core_op_lib
1921   },
1922   { /* 63 */
1923     "finalize",
1924     "finalize_p",
1925     "Parrot_finalize_p",
1926     0,
1927     2,
1928     { PARROT_ARG_P },
1929     { PARROT_ARGDIR_IN },
1930     { 0 },
1931     &core_op_lib
1932   },
1933   { /* 64 */
1934     "finalize",
1935     "finalize_pc",
1936     "Parrot_finalize_pc",
1937     0,
1938     2,
1939     { PARROT_ARG_PC },
1940     { PARROT_ARGDIR_IN },
1941     { 0 },
1942     &core_op_lib
1943   },
1944   { /* 65 */
1945     "pop_upto_eh",
1946     "pop_upto_eh_p",
1947     "Parrot_pop_upto_eh_p",
1948     0,
1949     2,
1950     { PARROT_ARG_P },
1951     { PARROT_ARGDIR_IN },
1952     { 0 },
1953     &core_op_lib
1954   },
1955   { /* 66 */
1956     "pop_upto_eh",
1957     "pop_upto_eh_pc",
1958     "Parrot_pop_upto_eh_pc",
1959     0,
1960     2,
1961     { PARROT_ARG_PC },
1962     { PARROT_ARGDIR_IN },
1963     { 0 },
1964     &core_op_lib
1965   },
1966   { /* 67 */
1967     "peek_exception",
1968     "peek_exception_p",
1969     "Parrot_peek_exception_p",
1970     0,
1971     2,
1972     { PARROT_ARG_P },
1973     { PARROT_ARGDIR_OUT },
1974     { 0 },
1975     &core_op_lib
1976   },
1977   { /* 68 */
1978     "debug",
1979     "debug_i",
1980     "Parrot_debug_i",
1981     0,
1982     2,
1983     { PARROT_ARG_I },
1984     { PARROT_ARGDIR_IN },
1985     { 0 },
1986     &core_op_lib
1987   },
1988   { /* 69 */
1989     "debug",
1990     "debug_ic",
1991     "Parrot_debug_ic",
1992     0,
1993     2,
1994     { PARROT_ARG_IC },
1995     { PARROT_ARGDIR_IN },
1996     { 0 },
1997     &core_op_lib
1998   },
1999   { /* 70 */
2000     "bounds",
2001     "bounds_i",
2002     "Parrot_bounds_i",
2003     0,
2004     2,
2005     { PARROT_ARG_I },
2006     { PARROT_ARGDIR_IN },
2007     { 0 },
2008     &core_op_lib
2009   },
2010   { /* 71 */
2011     "bounds",
2012     "bounds_ic",
2013     "Parrot_bounds_ic",
2014     0,
2015     2,
2016     { PARROT_ARG_IC },
2017     { PARROT_ARGDIR_IN },
2018     { 0 },
2019     &core_op_lib
2020   },
2021   { /* 72 */
2022     "profile",
2023     "profile_i",
2024     "Parrot_profile_i",
2025     0,
2026     2,
2027     { PARROT_ARG_I },
2028     { PARROT_ARGDIR_IN },
2029     { 0 },
2030     &core_op_lib
2031   },
2032   { /* 73 */
2033     "profile",
2034     "profile_ic",
2035     "Parrot_profile_ic",
2036     0,
2037     2,
2038     { PARROT_ARG_IC },
2039     { PARROT_ARGDIR_IN },
2040     { 0 },
2041     &core_op_lib
2042   },
2043   { /* 74 */
2044     "trace",
2045     "trace_i",
2046     "Parrot_trace_i",
2047     0,
2048     2,
2049     { PARROT_ARG_I },
2050     { PARROT_ARGDIR_IN },
2051     { 0 },
2052     &core_op_lib
2053   },
2054   { /* 75 */
2055     "trace",
2056     "trace_ic",
2057     "Parrot_trace_ic",
2058     0,
2059     2,
2060     { PARROT_ARG_IC },
2061     { PARROT_ARGDIR_IN },
2062     { 0 },
2063     &core_op_lib
2064   },
2065   { /* 76 */
2066     "gc_debug",
2067     "gc_debug_i",
2068     "Parrot_gc_debug_i",
2069     0,
2070     2,
2071     { PARROT_ARG_I },
2072     { PARROT_ARGDIR_IN },
2073     { 0 },
2074     &core_op_lib
2075   },
2076   { /* 77 */
2077     "gc_debug",
2078     "gc_debug_ic",
2079     "Parrot_gc_debug_ic",
2080     0,
2081     2,
2082     { PARROT_ARG_IC },
2083     { PARROT_ARGDIR_IN },
2084     { 0 },
2085     &core_op_lib
2086   },
2087   { /* 78 */
2088     "interpinfo",
2089     "interpinfo_i_i",
2090     "Parrot_interpinfo_i_i",
2091     0,
2092     3,
2093     { PARROT_ARG_I, PARROT_ARG_I },
2094     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
2095     { 0, 0 },
2096     &core_op_lib
2097   },
2098   { /* 79 */
2099     "interpinfo",
2100     "interpinfo_i_ic",
2101     "Parrot_interpinfo_i_ic",
2102     0,
2103     3,
2104     { PARROT_ARG_I, PARROT_ARG_IC },
2105     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
2106     { 0, 0 },
2107     &core_op_lib
2108   },
2109   { /* 80 */
2110     "interpinfo",
2111     "interpinfo_p_i",
2112     "Parrot_interpinfo_p_i",
2113     0,
2114     3,
2115     { PARROT_ARG_P, PARROT_ARG_I },
2116     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
2117     { 0, 0 },
2118     &core_op_lib
2119   },
2120   { /* 81 */
2121     "interpinfo",
2122     "interpinfo_p_ic",
2123     "Parrot_interpinfo_p_ic",
2124     0,
2125     3,
2126     { PARROT_ARG_P, PARROT_ARG_IC },
2127     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
2128     { 0, 0 },
2129     &core_op_lib
2130   },
2131   { /* 82 */
2132     "interpinfo",
2133     "interpinfo_s_i",
2134     "Parrot_interpinfo_s_i",
2135     0,
2136     3,
2137     { PARROT_ARG_S, PARROT_ARG_I },
2138     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
2139     { 0, 0 },
2140     &core_op_lib
2141   },
2142   { /* 83 */
2143     "interpinfo",
2144     "interpinfo_s_ic",
2145     "Parrot_interpinfo_s_ic",
2146     0,
2147     3,
2148     { PARROT_ARG_S, PARROT_ARG_IC },
2149     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
2150     { 0, 0 },
2151     &core_op_lib
2152   },
2153   { /* 84 */
2154     "warningson",
2155     "warningson_i",
2156     "Parrot_warningson_i",
2157     0,
2158     2,
2159     { PARROT_ARG_I },
2160     { PARROT_ARGDIR_IN },
2161     { 0 },
2162     &core_op_lib
2163   },
2164   { /* 85 */
2165     "warningson",
2166     "warningson_ic",
2167     "Parrot_warningson_ic",
2168     0,
2169     2,
2170     { PARROT_ARG_IC },
2171     { PARROT_ARGDIR_IN },
2172     { 0 },
2173     &core_op_lib
2174   },
2175   { /* 86 */
2176     "warningsoff",
2177     "warningsoff_i",
2178     "Parrot_warningsoff_i",
2179     0,
2180     2,
2181     { PARROT_ARG_I },
2182     { PARROT_ARGDIR_IN },
2183     { 0 },
2184     &core_op_lib
2185   },
2186   { /* 87 */
2187     "warningsoff",
2188     "warningsoff_ic",
2189     "Parrot_warningsoff_ic",
2190     0,
2191     2,
2192     { PARROT_ARG_IC },
2193     { PARROT_ARGDIR_IN },
2194     { 0 },
2195     &core_op_lib
2196   },
2197   { /* 88 */
2198     "errorson",
2199     "errorson_i",
2200     "Parrot_errorson_i",
2201     0,
2202     2,
2203     { PARROT_ARG_I },
2204     { PARROT_ARGDIR_IN },
2205     { 0 },
2206     &core_op_lib
2207   },
2208   { /* 89 */
2209     "errorson",
2210     "errorson_ic",
2211     "Parrot_errorson_ic",
2212     0,
2213     2,
2214     { PARROT_ARG_IC },
2215     { PARROT_ARGDIR_IN },
2216     { 0 },
2217     &core_op_lib
2218   },
2219   { /* 90 */
2220     "errorsoff",
2221     "errorsoff_i",
2222     "Parrot_errorsoff_i",
2223     0,
2224     2,
2225     { PARROT_ARG_I },
2226     { PARROT_ARGDIR_IN },
2227     { 0 },
2228     &core_op_lib
2229   },
2230   { /* 91 */
2231     "errorsoff",
2232     "errorsoff_ic",
2233     "Parrot_errorsoff_ic",
2234     0,
2235     2,
2236     { PARROT_ARG_IC },
2237     { PARROT_ARGDIR_IN },
2238     { 0 },
2239     &core_op_lib
2240   },
2241   { /* 92 */
2242     "set_runcore",
2243     "set_runcore_s",
2244     "Parrot_set_runcore_s",
2245     0,
2246     2,
2247     { PARROT_ARG_S },
2248     { PARROT_ARGDIR_IN },
2249     { 0 },
2250     &core_op_lib
2251   },
2252   { /* 93 */
2253     "set_runcore",
2254     "set_runcore_sc",
2255     "Parrot_set_runcore_sc",
2256     0,
2257     2,
2258     { PARROT_ARG_SC },
2259     { PARROT_ARGDIR_IN },
2260     { 0 },
2261     &core_op_lib
2262   },
2263   { /* 94 */
2264     "runinterp",
2265     "runinterp_p_i",
2266     "Parrot_runinterp_p_i",
2267     PARROT_JUMP_RELATIVE,
2268     3,
2269     { PARROT_ARG_P, PARROT_ARG_I },
2270     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
2271     { 0, 1 },
2272     &core_op_lib
2273   },
2274   { /* 95 */
2275     "runinterp",
2276     "runinterp_p_ic",
2277     "Parrot_runinterp_p_ic",
2278     PARROT_JUMP_RELATIVE,
2279     3,
2280     { PARROT_ARG_P, PARROT_ARG_IC },
2281     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
2282     { 0, 1 },
2283     &core_op_lib
2284   },
2285   { /* 96 */
2286     "getinterp",
2287     "getinterp_p",
2288     "Parrot_getinterp_p",
2289     0,
2290     2,
2291     { PARROT_ARG_P },
2292     { PARROT_ARGDIR_OUT },
2293     { 0 },
2294     &core_op_lib
2295   },
2296   { /* 97 */
2297     "sweep",
2298     "sweep_ic",
2299     "Parrot_sweep_ic",
2300     0,
2301     2,
2302     { PARROT_ARG_IC },
2303     { PARROT_ARGDIR_IN },
2304     { 0 },
2305     &core_op_lib
2306   },
2307   { /* 98 */
2308     "collect",
2309     "collect",
2310     "Parrot_collect",
2311     0,
2312     1,
2313     { (arg_type_t) 0 },
2314     { (arg_dir_t) 0 },
2315     { 0 },
2316     &core_op_lib
2317   },
2318   { /* 99 */
2319     "sweepoff",
2320     "sweepoff",
2321     "Parrot_sweepoff",
2322     0,
2323     1,
2324     { (arg_type_t) 0 },
2325     { (arg_dir_t) 0 },
2326     { 0 },
2327     &core_op_lib
2328   },
2329   { /* 100 */
2330     "sweepon",
2331     "sweepon",
2332     "Parrot_sweepon",
2333     0,
2334     1,
2335     { (arg_type_t) 0 },
2336     { (arg_dir_t) 0 },
2337     { 0 },
2338     &core_op_lib
2339   },
2340   { /* 101 */
2341     "collectoff",
2342     "collectoff",
2343     "Parrot_collectoff",
2344     0,
2345     1,
2346     { (arg_type_t) 0 },
2347     { (arg_dir_t) 0 },
2348     { 0 },
2349     &core_op_lib
2350   },
2351   { /* 102 */
2352     "collecton",
2353     "collecton",
2354     "Parrot_collecton",
2355     0,
2356     1,
2357     { (arg_type_t) 0 },
2358     { (arg_dir_t) 0 },
2359     { 0 },
2360     &core_op_lib
2361   },
2362   { /* 103 */
2363     "needs_destroy",
2364     "needs_destroy_p",
2365     "Parrot_needs_destroy_p",
2366     0,
2367     2,
2368     { PARROT_ARG_P },
2369     { PARROT_ARGDIR_IN },
2370     { 0 },
2371     &core_op_lib
2372   },
2373   { /* 104 */
2374     "loadlib",
2375     "loadlib_p_s",
2376     "Parrot_loadlib_p_s",
2377     0,
2378     3,
2379     { PARROT_ARG_P, PARROT_ARG_S },
2380     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
2381     { 0, 0 },
2382     &core_op_lib
2383   },
2384   { /* 105 */
2385     "loadlib",
2386     "loadlib_p_sc",
2387     "Parrot_loadlib_p_sc",
2388     0,
2389     3,
2390     { PARROT_ARG_P, PARROT_ARG_SC },
2391     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
2392     { 0, 0 },
2393     &core_op_lib
2394   },
2395   { /* 106 */
2396     "loadlib",
2397     "loadlib_p_s_p",
2398     "Parrot_loadlib_p_s_p",
2399     0,
2400     4,
2401     { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_P },
2402     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
2403     { 0, 0, 0 },
2404     &core_op_lib
2405   },
2406   { /* 107 */
2407     "loadlib",
2408     "loadlib_p_sc_p",
2409     "Parrot_loadlib_p_sc_p",
2410     0,
2411     4,
2412     { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_P },
2413     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
2414     { 0, 0, 0 },
2415     &core_op_lib
2416   },
2417   { /* 108 */
2418     "loadlib",
2419     "loadlib_p_s_pc",
2420     "Parrot_loadlib_p_s_pc",
2421     0,
2422     4,
2423     { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_PC },
2424     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
2425     { 0, 0, 0 },
2426     &core_op_lib
2427   },
2428   { /* 109 */
2429     "loadlib",
2430     "loadlib_p_sc_pc",
2431     "Parrot_loadlib_p_sc_pc",
2432     0,
2433     4,
2434     { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_PC },
2435     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
2436     { 0, 0, 0 },
2437     &core_op_lib
2438   },
2439   { /* 110 */
2440     "dlfunc",
2441     "dlfunc_p_p_s_s",
2442     "Parrot_dlfunc_p_p_s_s",
2443     0,
2444     5,
2445     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_S },
2446     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
2447     { 0, 0, 0, 0 },
2448     &core_op_lib
2449   },
2450   { /* 111 */
2451     "dlfunc",
2452     "dlfunc_p_p_sc_s",
2453     "Parrot_dlfunc_p_p_sc_s",
2454     0,
2455     5,
2456     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_S },
2457     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
2458     { 0, 0, 0, 0 },
2459     &core_op_lib
2460   },
2461   { /* 112 */
2462     "dlfunc",
2463     "dlfunc_p_p_s_sc",
2464     "Parrot_dlfunc_p_p_s_sc",
2465     0,
2466     5,
2467     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_SC },
2468     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
2469     { 0, 0, 0, 0 },
2470     &core_op_lib
2471   },
2472   { /* 113 */
2473     "dlfunc",
2474     "dlfunc_p_p_sc_sc",
2475     "Parrot_dlfunc_p_p_sc_sc",
2476     0,
2477     5,
2478     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_SC },
2479     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
2480     { 0, 0, 0, 0 },
2481     &core_op_lib
2482   },
2483   { /* 114 */
2484     "dlfunc",
2485     "dlfunc_p_p_s_p",
2486     "Parrot_dlfunc_p_p_s_p",
2487     0,
2488     5,
2489     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_P },
2490     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
2491     { 0, 0, 0, 0 },
2492     &core_op_lib
2493   },
2494   { /* 115 */
2495     "dlfunc",
2496     "dlfunc_p_p_sc_p",
2497     "Parrot_dlfunc_p_p_sc_p",
2498     0,
2499     5,
2500     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_P },
2501     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
2502     { 0, 0, 0, 0 },
2503     &core_op_lib
2504   },
2505   { /* 116 */
2506     "dlvar",
2507     "dlvar_p_p_s",
2508     "Parrot_dlvar_p_p_s",
2509     0,
2510     4,
2511     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S },
2512     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
2513     { 0, 0, 0 },
2514     &core_op_lib
2515   },
2516   { /* 117 */
2517     "dlvar",
2518     "dlvar_p_p_sc",
2519     "Parrot_dlvar_p_p_sc",
2520     0,
2521     4,
2522     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC },
2523     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
2524     { 0, 0, 0 },
2525     &core_op_lib
2526   },
2527   { /* 118 */
2528     "compreg",
2529     "compreg_s_p",
2530     "Parrot_compreg_s_p",
2531     0,
2532     3,
2533     { PARROT_ARG_S, PARROT_ARG_P },
2534     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
2535     { 0, 0 },
2536     &core_op_lib
2537   },
2538   { /* 119 */
2539     "compreg",
2540     "compreg_sc_p",
2541     "Parrot_compreg_sc_p",
2542     0,
2543     3,
2544     { PARROT_ARG_SC, PARROT_ARG_P },
2545     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
2546     { 0, 0 },
2547     &core_op_lib
2548   },
2549   { /* 120 */
2550     "compreg",
2551     "compreg_p_s",
2552     "Parrot_compreg_p_s",
2553     0,
2554     3,
2555     { PARROT_ARG_P, PARROT_ARG_S },
2556     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
2557     { 0, 0 },
2558     &core_op_lib
2559   },
2560   { /* 121 */
2561     "compreg",
2562     "compreg_p_sc",
2563     "Parrot_compreg_p_sc",
2564     0,
2565     3,
2566     { PARROT_ARG_P, PARROT_ARG_SC },
2567     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
2568     { 0, 0 },
2569     &core_op_lib
2570   },
2571   { /* 122 */
2572     "new_callback",
2573     "new_callback_p_p_p_s",
2574     "Parrot_new_callback_p_p_p_s",
2575     0,
2576     5,
2577     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S },
2578     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
2579     { 0, 0, 0, 0 },
2580     &core_op_lib
2581   },
2582   { /* 123 */
2583     "new_callback",
2584     "new_callback_p_p_p_sc",
2585     "Parrot_new_callback_p_p_p_sc",
2586     0,
2587     5,
2588     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC },
2589     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
2590     { 0, 0, 0, 0 },
2591     &core_op_lib
2592   },
2593   { /* 124 */
2594     "annotations",
2595     "annotations_p",
2596     "Parrot_annotations_p",
2597     0,
2598     2,
2599     { PARROT_ARG_P },
2600     { PARROT_ARGDIR_OUT },
2601     { 0 },
2602     &core_op_lib
2603   },
2604   { /* 125 */
2605     "annotations",
2606     "annotations_p_s",
2607     "Parrot_annotations_p_s",
2608     0,
2609     3,
2610     { PARROT_ARG_P, PARROT_ARG_S },
2611     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
2612     { 0, 0 },
2613     &core_op_lib
2614   },
2615   { /* 126 */
2616     "annotations",
2617     "annotations_p_sc",
2618     "Parrot_annotations_p_sc",
2619     0,
2620     3,
2621     { PARROT_ARG_P, PARROT_ARG_SC },
2622     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
2623     { 0, 0 },
2624     &core_op_lib
2625   },
2626   { /* 127 */
2627     "band",
2628     "band_i_i",
2629     "Parrot_band_i_i",
2630     0,
2631     3,
2632     { PARROT_ARG_I, PARROT_ARG_I },
2633     { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
2634     { 0, 0 },
2635     &core_op_lib
2636   },
2637   { /* 128 */
2638     "band",
2639     "band_i_ic",
2640     "Parrot_band_i_ic",
2641     0,
2642     3,
2643     { PARROT_ARG_I, PARROT_ARG_IC },
2644     { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
2645     { 0, 0 },
2646     &core_op_lib
2647   },
2648   { /* 129 */
2649     "band",
2650     "band_i_i_i",
2651     "Parrot_band_i_i_i",
2652     0,
2653     4,
2654     { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
2655     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
2656     { 0, 0, 0 },
2657     &core_op_lib
2658   },
2659   { /* 130 */
2660     "band",
2661     "band_i_ic_i",
2662     "Parrot_band_i_ic_i",
2663     0,
2664     4,
2665     { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
2666     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
2667     { 0, 0, 0 },
2668     &core_op_lib
2669   },
2670   { /* 131 */
2671     "band",
2672     "band_i_i_ic",
2673     "Parrot_band_i_i_ic",
2674     0,
2675     4,
2676     { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
2677     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
2678     { 0, 0, 0 },
2679     &core_op_lib
2680   },
2681   { /* 132 */
2682     "bor",
2683     "bor_i_i",
2684     "Parrot_bor_i_i",
2685     0,
2686     3,
2687     { PARROT_ARG_I, PARROT_ARG_I },
2688     { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
2689     { 0, 0 },
2690     &core_op_lib
2691   },
2692   { /* 133 */
2693     "bor",
2694     "bor_i_ic",
2695     "Parrot_bor_i_ic",
2696     0,
2697     3,
2698     { PARROT_ARG_I, PARROT_ARG_IC },
2699     { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
2700     { 0, 0 },
2701     &core_op_lib
2702   },
2703   { /* 134 */
2704     "bor",
2705     "bor_i_i_i",
2706     "Parrot_bor_i_i_i",
2707     0,
2708     4,
2709     { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
2710     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
2711     { 0, 0, 0 },
2712     &core_op_lib
2713   },
2714   { /* 135 */
2715     "bor",
2716     "bor_i_ic_i",
2717     "Parrot_bor_i_ic_i",
2718     0,
2719     4,
2720     { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
2721     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
2722     { 0, 0, 0 },
2723     &core_op_lib
2724   },
2725   { /* 136 */
2726     "bor",
2727     "bor_i_i_ic",
2728     "Parrot_bor_i_i_ic",
2729     0,
2730     4,
2731     { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
2732     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
2733     { 0, 0, 0 },
2734     &core_op_lib
2735   },
2736   { /* 137 */
2737     "shl",
2738     "shl_i_i",
2739     "Parrot_shl_i_i",
2740     0,
2741     3,
2742     { PARROT_ARG_I, PARROT_ARG_I },
2743     { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
2744     { 0, 0 },
2745     &core_op_lib
2746   },
2747   { /* 138 */
2748     "shl",
2749     "shl_i_ic",
2750     "Parrot_shl_i_ic",
2751     0,
2752     3,
2753     { PARROT_ARG_I, PARROT_ARG_IC },
2754     { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
2755     { 0, 0 },
2756     &core_op_lib
2757   },
2758   { /* 139 */
2759     "shl",
2760     "shl_i_i_i",
2761     "Parrot_shl_i_i_i",
2762     0,
2763     4,
2764     { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
2765     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
2766     { 0, 0, 0 },
2767     &core_op_lib
2768   },
2769   { /* 140 */
2770     "shl",
2771     "shl_i_ic_i",
2772     "Parrot_shl_i_ic_i",
2773     0,
2774     4,
2775     { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
2776     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
2777     { 0, 0, 0 },
2778     &core_op_lib
2779   },
2780   { /* 141 */
2781     "shl",
2782     "shl_i_i_ic",
2783     "Parrot_shl_i_i_ic",
2784     0,
2785     4,
2786     { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
2787     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
2788     { 0, 0, 0 },
2789     &core_op_lib
2790   },
2791   { /* 142 */
2792     "shr",
2793     "shr_i_i",
2794     "Parrot_shr_i_i",
2795     0,
2796     3,
2797     { PARROT_ARG_I, PARROT_ARG_I },
2798     { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
2799     { 0, 0 },
2800     &core_op_lib
2801   },
2802   { /* 143 */
2803     "shr",
2804     "shr_i_ic",
2805     "Parrot_shr_i_ic",
2806     0,
2807     3,
2808     { PARROT_ARG_I, PARROT_ARG_IC },
2809     { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
2810     { 0, 0 },
2811     &core_op_lib
2812   },
2813   { /* 144 */
2814     "shr",
2815     "shr_i_i_i",
2816     "Parrot_shr_i_i_i",
2817     0,
2818     4,
2819     { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
2820     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
2821     { 0, 0, 0 },
2822     &core_op_lib
2823   },
2824   { /* 145 */
2825     "shr",
2826     "shr_i_ic_i",
2827     "Parrot_shr_i_ic_i",
2828     0,
2829     4,
2830     { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
2831     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
2832     { 0, 0, 0 },
2833     &core_op_lib
2834   },
2835   { /* 146 */
2836     "shr",
2837     "shr_i_i_ic",
2838     "Parrot_shr_i_i_ic",
2839     0,
2840     4,
2841     { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
2842     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
2843     { 0, 0, 0 },
2844     &core_op_lib
2845   },
2846   { /* 147 */
2847     "lsr",
2848     "lsr_i_i",
2849     "Parrot_lsr_i_i",
2850     0,
2851     3,
2852     { PARROT_ARG_I, PARROT_ARG_I },
2853     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
2854     { 0, 0 },
2855     &core_op_lib
2856   },
2857   { /* 148 */
2858     "lsr",
2859     "lsr_i_ic",
2860     "Parrot_lsr_i_ic",
2861     0,
2862     3,
2863     { PARROT_ARG_I, PARROT_ARG_IC },
2864     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
2865     { 0, 0 },
2866     &core_op_lib
2867   },
2868   { /* 149 */
2869     "lsr",
2870     "lsr_i_i_i",
2871     "Parrot_lsr_i_i_i",
2872     0,
2873     4,
2874     { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
2875     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
2876     { 0, 0, 0 },
2877     &core_op_lib
2878   },
2879   { /* 150 */
2880     "lsr",
2881     "lsr_i_ic_i",
2882     "Parrot_lsr_i_ic_i",
2883     0,
2884     4,
2885     { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
2886     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
2887     { 0, 0, 0 },
2888     &core_op_lib
2889   },
2890   { /* 151 */
2891     "lsr",
2892     "lsr_i_i_ic",
2893     "Parrot_lsr_i_i_ic",
2894     0,
2895     4,
2896     { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
2897     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
2898     { 0, 0, 0 },
2899     &core_op_lib
2900   },
2901   { /* 152 */
2902     "bxor",
2903     "bxor_i_i",
2904     "Parrot_bxor_i_i",
2905     0,
2906     3,
2907     { PARROT_ARG_I, PARROT_ARG_I },
2908     { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
2909     { 0, 0 },
2910     &core_op_lib
2911   },
2912   { /* 153 */
2913     "bxor",
2914     "bxor_i_ic",
2915     "Parrot_bxor_i_ic",
2916     0,
2917     3,
2918     { PARROT_ARG_I, PARROT_ARG_IC },
2919     { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
2920     { 0, 0 },
2921     &core_op_lib
2922   },
2923   { /* 154 */
2924     "bxor",
2925     "bxor_i_i_i",
2926     "Parrot_bxor_i_i_i",
2927     0,
2928     4,
2929     { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
2930     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
2931     { 0, 0, 0 },
2932     &core_op_lib
2933   },
2934   { /* 155 */
2935     "bxor",
2936     "bxor_i_ic_i",
2937     "Parrot_bxor_i_ic_i",
2938     0,
2939     4,
2940     { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
2941     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
2942     { 0, 0, 0 },
2943     &core_op_lib
2944   },
2945   { /* 156 */
2946     "bxor",
2947     "bxor_i_i_ic",
2948     "Parrot_bxor_i_i_ic",
2949     0,
2950     4,
2951     { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
2952     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
2953     { 0, 0, 0 },
2954     &core_op_lib
2955   },
2956   { /* 157 */
2957     "eq",
2958     "eq_i_i_ic",
2959     "Parrot_eq_i_i_ic",
2960     PARROT_JUMP_RELATIVE,
2961     4,
2962     { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
2963     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
2964     { 0, 0, 1 },
2965     &core_op_lib
2966   },
2967   { /* 158 */
2968     "eq",
2969     "eq_ic_i_ic",
2970     "Parrot_eq_ic_i_ic",
2971     PARROT_JUMP_RELATIVE,
2972     4,
2973     { PARROT_ARG_IC, PARROT_ARG_I, PARROT_ARG_IC },
2974     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
2975     { 0, 0, 1 },
2976     &core_op_lib
2977   },
2978   { /* 159 */
2979     "eq",
2980     "eq_i_ic_ic",
2981     "Parrot_eq_i_ic_ic",
2982     PARROT_JUMP_RELATIVE,
2983     4,
2984     { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_IC },
2985     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
2986     { 0, 0, 1 },
2987     &core_op_lib
2988   },
2989   { /* 160 */
2990     "eq",
2991     "eq_n_n_ic",
2992     "Parrot_eq_n_n_ic",
2993     PARROT_JUMP_RELATIVE,
2994     4,
2995     { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_IC },
2996     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
2997     { 0, 0, 1 },
2998     &core_op_lib
2999   },
3000   { /* 161 */
3001     "eq",
3002     "eq_nc_n_ic",
3003     "Parrot_eq_nc_n_ic",
3004     PARROT_JUMP_RELATIVE,
3005     4,
3006     { PARROT_ARG_NC, PARROT_ARG_N, PARROT_ARG_IC },
3007     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3008     { 0, 0, 1 },
3009     &core_op_lib
3010   },
3011   { /* 162 */
3012     "eq",
3013     "eq_n_nc_ic",
3014     "Parrot_eq_n_nc_ic",
3015     PARROT_JUMP_RELATIVE,
3016     4,
3017     { PARROT_ARG_N, PARROT_ARG_NC, PARROT_ARG_IC },
3018     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3019     { 0, 0, 1 },
3020     &core_op_lib
3021   },
3022   { /* 163 */
3023     "eq",
3024     "eq_s_s_ic",
3025     "Parrot_eq_s_s_ic",
3026     PARROT_JUMP_RELATIVE,
3027     4,
3028     { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC },
3029     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3030     { 0, 0, 1 },
3031     &core_op_lib
3032   },
3033   { /* 164 */
3034     "eq",
3035     "eq_sc_s_ic",
3036     "Parrot_eq_sc_s_ic",
3037     PARROT_JUMP_RELATIVE,
3038     4,
3039     { PARROT_ARG_SC, PARROT_ARG_S, PARROT_ARG_IC },
3040     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3041     { 0, 0, 1 },
3042     &core_op_lib
3043   },
3044   { /* 165 */
3045     "eq",
3046     "eq_s_sc_ic",
3047     "Parrot_eq_s_sc_ic",
3048     PARROT_JUMP_RELATIVE,
3049     4,
3050     { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC },
3051     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3052     { 0, 0, 1 },
3053     &core_op_lib
3054   },
3055   { /* 166 */
3056     "eq",
3057     "eq_p_p_ic",
3058     "Parrot_eq_p_p_ic",
3059     PARROT_JUMP_RELATIVE,
3060     4,
3061     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
3062     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3063     { 0, 0, 1 },
3064     &core_op_lib
3065   },
3066   { /* 167 */
3067     "eq",
3068     "eq_p_i_ic",
3069     "Parrot_eq_p_i_ic",
3070     PARROT_JUMP_RELATIVE,
3071     4,
3072     { PARROT_ARG_P, PARROT_ARG_I, PARROT_ARG_IC },
3073     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3074     { 0, 0, 1 },
3075     &core_op_lib
3076   },
3077   { /* 168 */
3078     "eq",
3079     "eq_p_ic_ic",
3080     "Parrot_eq_p_ic_ic",
3081     PARROT_JUMP_RELATIVE,
3082     4,
3083     { PARROT_ARG_P, PARROT_ARG_IC, PARROT_ARG_IC },
3084     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3085     { 0, 0, 1 },
3086     &core_op_lib
3087   },
3088   { /* 169 */
3089     "eq",
3090     "eq_p_n_ic",
3091     "Parrot_eq_p_n_ic",
3092     PARROT_JUMP_RELATIVE,
3093     4,
3094     { PARROT_ARG_P, PARROT_ARG_N, PARROT_ARG_IC },
3095     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3096     { 0, 0, 1 },
3097     &core_op_lib
3098   },
3099   { /* 170 */
3100     "eq",
3101     "eq_p_nc_ic",
3102     "Parrot_eq_p_nc_ic",
3103     PARROT_JUMP_RELATIVE,
3104     4,
3105     { PARROT_ARG_P, PARROT_ARG_NC, PARROT_ARG_IC },
3106     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3107     { 0, 0, 1 },
3108     &core_op_lib
3109   },
3110   { /* 171 */
3111     "eq",
3112     "eq_p_s_ic",
3113     "Parrot_eq_p_s_ic",
3114     PARROT_JUMP_RELATIVE,
3115     4,
3116     { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_IC },
3117     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3118     { 0, 0, 1 },
3119     &core_op_lib
3120   },
3121   { /* 172 */
3122     "eq",
3123     "eq_p_sc_ic",
3124     "Parrot_eq_p_sc_ic",
3125     PARROT_JUMP_RELATIVE,
3126     4,
3127     { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_IC },
3128     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3129     { 0, 0, 1 },
3130     &core_op_lib
3131   },
3132   { /* 173 */
3133     "eq_str",
3134     "eq_str_p_p_ic",
3135     "Parrot_eq_str_p_p_ic",
3136     PARROT_JUMP_RELATIVE,
3137     4,
3138     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
3139     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3140     { 0, 0, 1 },
3141     &core_op_lib
3142   },
3143   { /* 174 */
3144     "eq_num",
3145     "eq_num_p_p_ic",
3146     "Parrot_eq_num_p_p_ic",
3147     PARROT_JUMP_RELATIVE,
3148     4,
3149     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
3150     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3151     { 0, 0, 1 },
3152     &core_op_lib
3153   },
3154   { /* 175 */
3155     "eq_addr",
3156     "eq_addr_s_s_ic",
3157     "Parrot_eq_addr_s_s_ic",
3158     PARROT_JUMP_RELATIVE,
3159     4,
3160     { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC },
3161     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3162     { 0, 0, 1 },
3163     &core_op_lib
3164   },
3165   { /* 176 */
3166     "eq_addr",
3167     "eq_addr_sc_s_ic",
3168     "Parrot_eq_addr_sc_s_ic",
3169     PARROT_JUMP_RELATIVE,
3170     4,
3171     { PARROT_ARG_SC, PARROT_ARG_S, PARROT_ARG_IC },
3172     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3173     { 0, 0, 1 },
3174     &core_op_lib
3175   },
3176   { /* 177 */
3177     "eq_addr",
3178     "eq_addr_s_sc_ic",
3179     "Parrot_eq_addr_s_sc_ic",
3180     PARROT_JUMP_RELATIVE,
3181     4,
3182     { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC },
3183     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3184     { 0, 0, 1 },
3185     &core_op_lib
3186   },
3187   { /* 178 */
3188     "eq_addr",
3189     "eq_addr_sc_sc_ic",
3190     "Parrot_eq_addr_sc_sc_ic",
3191     PARROT_JUMP_RELATIVE,
3192     4,
3193     { PARROT_ARG_SC, PARROT_ARG_SC, PARROT_ARG_IC },
3194     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3195     { 0, 0, 1 },
3196     &core_op_lib
3197   },
3198   { /* 179 */
3199     "eq_addr",
3200     "eq_addr_p_p_ic",
3201     "Parrot_eq_addr_p_p_ic",
3202     PARROT_JUMP_RELATIVE,
3203     4,
3204     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
3205     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3206     { 0, 0, 1 },
3207     &core_op_lib
3208   },
3209   { /* 180 */
3210     "ne",
3211     "ne_i_i_ic",
3212     "Parrot_ne_i_i_ic",
3213     PARROT_JUMP_RELATIVE,
3214     4,
3215     { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
3216     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3217     { 0, 0, 1 },
3218     &core_op_lib
3219   },
3220   { /* 181 */
3221     "ne",
3222     "ne_ic_i_ic",
3223     "Parrot_ne_ic_i_ic",
3224     PARROT_JUMP_RELATIVE,
3225     4,
3226     { PARROT_ARG_IC, PARROT_ARG_I, PARROT_ARG_IC },
3227     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3228     { 0, 0, 1 },
3229     &core_op_lib
3230   },
3231   { /* 182 */
3232     "ne",
3233     "ne_i_ic_ic",
3234     "Parrot_ne_i_ic_ic",
3235     PARROT_JUMP_RELATIVE,
3236     4,
3237     { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_IC },
3238     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3239     { 0, 0, 1 },
3240     &core_op_lib
3241   },
3242   { /* 183 */
3243     "ne",
3244     "ne_n_n_ic",
3245     "Parrot_ne_n_n_ic",
3246     PARROT_JUMP_RELATIVE,
3247     4,
3248     { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_IC },
3249     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3250     { 0, 0, 1 },
3251     &core_op_lib
3252   },
3253   { /* 184 */
3254     "ne",
3255     "ne_nc_n_ic",
3256     "Parrot_ne_nc_n_ic",
3257     PARROT_JUMP_RELATIVE,
3258     4,
3259     { PARROT_ARG_NC, PARROT_ARG_N, PARROT_ARG_IC },
3260     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3261     { 0, 0, 1 },
3262     &core_op_lib
3263   },
3264   { /* 185 */
3265     "ne",
3266     "ne_n_nc_ic",
3267     "Parrot_ne_n_nc_ic",
3268     PARROT_JUMP_RELATIVE,
3269     4,
3270     { PARROT_ARG_N, PARROT_ARG_NC, PARROT_ARG_IC },
3271     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3272     { 0, 0, 1 },
3273     &core_op_lib
3274   },
3275   { /* 186 */
3276     "ne",
3277     "ne_s_s_ic",
3278     "Parrot_ne_s_s_ic",
3279     PARROT_JUMP_RELATIVE,
3280     4,
3281     { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC },
3282     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3283     { 0, 0, 1 },
3284     &core_op_lib
3285   },
3286   { /* 187 */
3287     "ne",
3288     "ne_sc_s_ic",
3289     "Parrot_ne_sc_s_ic",
3290     PARROT_JUMP_RELATIVE,
3291     4,
3292     { PARROT_ARG_SC, PARROT_ARG_S, PARROT_ARG_IC },
3293     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3294     { 0, 0, 1 },
3295     &core_op_lib
3296   },
3297   { /* 188 */
3298     "ne",
3299     "ne_s_sc_ic",
3300     "Parrot_ne_s_sc_ic",
3301     PARROT_JUMP_RELATIVE,
3302     4,
3303     { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC },
3304     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3305     { 0, 0, 1 },
3306     &core_op_lib
3307   },
3308   { /* 189 */
3309     "ne",
3310     "ne_p_p_ic",
3311     "Parrot_ne_p_p_ic",
3312     PARROT_JUMP_RELATIVE,
3313     4,
3314     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
3315     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3316     { 0, 0, 1 },
3317     &core_op_lib
3318   },
3319   { /* 190 */
3320     "ne",
3321     "ne_p_i_ic",
3322     "Parrot_ne_p_i_ic",
3323     PARROT_JUMP_RELATIVE,
3324     4,
3325     { PARROT_ARG_P, PARROT_ARG_I, PARROT_ARG_IC },
3326     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3327     { 0, 0, 1 },
3328     &core_op_lib
3329   },
3330   { /* 191 */
3331     "ne",
3332     "ne_p_ic_ic",
3333     "Parrot_ne_p_ic_ic",
3334     PARROT_JUMP_RELATIVE,
3335     4,
3336     { PARROT_ARG_P, PARROT_ARG_IC, PARROT_ARG_IC },
3337     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3338     { 0, 0, 1 },
3339     &core_op_lib
3340   },
3341   { /* 192 */
3342     "ne",
3343     "ne_p_n_ic",
3344     "Parrot_ne_p_n_ic",
3345     PARROT_JUMP_RELATIVE,
3346     4,
3347     { PARROT_ARG_P, PARROT_ARG_N, PARROT_ARG_IC },
3348     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3349     { 0, 0, 1 },
3350     &core_op_lib
3351   },
3352   { /* 193 */
3353     "ne",
3354     "ne_p_nc_ic",
3355     "Parrot_ne_p_nc_ic",
3356     PARROT_JUMP_RELATIVE,
3357     4,
3358     { PARROT_ARG_P, PARROT_ARG_NC, PARROT_ARG_IC },
3359     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3360     { 0, 0, 1 },
3361     &core_op_lib
3362   },
3363   { /* 194 */
3364     "ne",
3365     "ne_p_s_ic",
3366     "Parrot_ne_p_s_ic",
3367     PARROT_JUMP_RELATIVE,
3368     4,
3369     { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_IC },
3370     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3371     { 0, 0, 1 },
3372     &core_op_lib
3373   },
3374   { /* 195 */
3375     "ne",
3376     "ne_p_sc_ic",
3377     "Parrot_ne_p_sc_ic",
3378     PARROT_JUMP_RELATIVE,
3379     4,
3380     { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_IC },
3381     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3382     { 0, 0, 1 },
3383     &core_op_lib
3384   },
3385   { /* 196 */
3386     "ne_str",
3387     "ne_str_p_p_ic",
3388     "Parrot_ne_str_p_p_ic",
3389     PARROT_JUMP_RELATIVE,
3390     4,
3391     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
3392     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3393     { 0, 0, 1 },
3394     &core_op_lib
3395   },
3396   { /* 197 */
3397     "ne_num",
3398     "ne_num_p_p_ic",
3399     "Parrot_ne_num_p_p_ic",
3400     PARROT_JUMP_RELATIVE,
3401     4,
3402     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
3403     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3404     { 0, 0, 1 },
3405     &core_op_lib
3406   },
3407   { /* 198 */
3408     "ne_addr",
3409     "ne_addr_s_s_ic",
3410     "Parrot_ne_addr_s_s_ic",
3411     PARROT_JUMP_RELATIVE,
3412     4,
3413     { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC },
3414     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3415     { 0, 0, 1 },
3416     &core_op_lib
3417   },
3418   { /* 199 */
3419     "ne_addr",
3420     "ne_addr_sc_s_ic",
3421     "Parrot_ne_addr_sc_s_ic",
3422     PARROT_JUMP_RELATIVE,
3423     4,
3424     { PARROT_ARG_SC, PARROT_ARG_S, PARROT_ARG_IC },
3425     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3426     { 0, 0, 1 },
3427     &core_op_lib
3428   },
3429   { /* 200 */
3430     "ne_addr",
3431     "ne_addr_s_sc_ic",
3432     "Parrot_ne_addr_s_sc_ic",
3433     PARROT_JUMP_RELATIVE,
3434     4,
3435     { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC },
3436     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3437     { 0, 0, 1 },
3438     &core_op_lib
3439   },
3440   { /* 201 */
3441     "ne_addr",
3442     "ne_addr_sc_sc_ic",
3443     "Parrot_ne_addr_sc_sc_ic",
3444     PARROT_JUMP_RELATIVE,
3445     4,
3446     { PARROT_ARG_SC, PARROT_ARG_SC, PARROT_ARG_IC },
3447     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3448     { 0, 0, 1 },
3449     &core_op_lib
3450   },
3451   { /* 202 */
3452     "ne_addr",
3453     "ne_addr_p_p_ic",
3454     "Parrot_ne_addr_p_p_ic",
3455     PARROT_JUMP_RELATIVE,
3456     4,
3457     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
3458     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3459     { 0, 0, 1 },
3460     &core_op_lib
3461   },
3462   { /* 203 */
3463     "lt",
3464     "lt_i_i_ic",
3465     "Parrot_lt_i_i_ic",
3466     PARROT_JUMP_RELATIVE,
3467     4,
3468     { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
3469     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3470     { 0, 0, 1 },
3471     &core_op_lib
3472   },
3473   { /* 204 */
3474     "lt",
3475     "lt_ic_i_ic",
3476     "Parrot_lt_ic_i_ic",
3477     PARROT_JUMP_RELATIVE,
3478     4,
3479     { PARROT_ARG_IC, PARROT_ARG_I, PARROT_ARG_IC },
3480     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3481     { 0, 0, 1 },
3482     &core_op_lib
3483   },
3484   { /* 205 */
3485     "lt",
3486     "lt_i_ic_ic",
3487     "Parrot_lt_i_ic_ic",
3488     PARROT_JUMP_RELATIVE,
3489     4,
3490     { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_IC },
3491     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3492     { 0, 0, 1 },
3493     &core_op_lib
3494   },
3495   { /* 206 */
3496     "lt",
3497     "lt_n_n_ic",
3498     "Parrot_lt_n_n_ic",
3499     PARROT_JUMP_RELATIVE,
3500     4,
3501     { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_IC },
3502     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3503     { 0, 0, 1 },
3504     &core_op_lib
3505   },
3506   { /* 207 */
3507     "lt",
3508     "lt_nc_n_ic",
3509     "Parrot_lt_nc_n_ic",
3510     PARROT_JUMP_RELATIVE,
3511     4,
3512     { PARROT_ARG_NC, PARROT_ARG_N, PARROT_ARG_IC },
3513     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3514     { 0, 0, 1 },
3515     &core_op_lib
3516   },
3517   { /* 208 */
3518     "lt",
3519     "lt_n_nc_ic",
3520     "Parrot_lt_n_nc_ic",
3521     PARROT_JUMP_RELATIVE,
3522     4,
3523     { PARROT_ARG_N, PARROT_ARG_NC, PARROT_ARG_IC },
3524     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3525     { 0, 0, 1 },
3526     &core_op_lib
3527   },
3528   { /* 209 */
3529     "lt",
3530     "lt_s_s_ic",
3531     "Parrot_lt_s_s_ic",
3532     PARROT_JUMP_RELATIVE,
3533     4,
3534     { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC },
3535     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3536     { 0, 0, 1 },
3537     &core_op_lib
3538   },
3539   { /* 210 */
3540     "lt",
3541     "lt_sc_s_ic",
3542     "Parrot_lt_sc_s_ic",
3543     PARROT_JUMP_RELATIVE,
3544     4,
3545     { PARROT_ARG_SC, PARROT_ARG_S, PARROT_ARG_IC },
3546     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3547     { 0, 0, 1 },
3548     &core_op_lib
3549   },
3550   { /* 211 */
3551     "lt",
3552     "lt_s_sc_ic",
3553     "Parrot_lt_s_sc_ic",
3554     PARROT_JUMP_RELATIVE,
3555     4,
3556     { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC },
3557     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3558     { 0, 0, 1 },
3559     &core_op_lib
3560   },
3561   { /* 212 */
3562     "lt",
3563     "lt_p_p_ic",
3564     "Parrot_lt_p_p_ic",
3565     PARROT_JUMP_RELATIVE,
3566     4,
3567     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
3568     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3569     { 0, 0, 1 },
3570     &core_op_lib
3571   },
3572   { /* 213 */
3573     "lt",
3574     "lt_p_i_ic",
3575     "Parrot_lt_p_i_ic",
3576     PARROT_JUMP_RELATIVE,
3577     4,
3578     { PARROT_ARG_P, PARROT_ARG_I, PARROT_ARG_IC },
3579     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3580     { 0, 0, 1 },
3581     &core_op_lib
3582   },
3583   { /* 214 */
3584     "lt",
3585     "lt_p_ic_ic",
3586     "Parrot_lt_p_ic_ic",
3587     PARROT_JUMP_RELATIVE,
3588     4,
3589     { PARROT_ARG_P, PARROT_ARG_IC, PARROT_ARG_IC },
3590     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3591     { 0, 0, 1 },
3592     &core_op_lib
3593   },
3594   { /* 215 */
3595     "lt",
3596     "lt_p_n_ic",
3597     "Parrot_lt_p_n_ic",
3598     PARROT_JUMP_RELATIVE,
3599     4,
3600     { PARROT_ARG_P, PARROT_ARG_N, PARROT_ARG_IC },
3601     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3602     { 0, 0, 1 },
3603     &core_op_lib
3604   },
3605   { /* 216 */
3606     "lt",
3607     "lt_p_nc_ic",
3608     "Parrot_lt_p_nc_ic",
3609     PARROT_JUMP_RELATIVE,
3610     4,
3611     { PARROT_ARG_P, PARROT_ARG_NC, PARROT_ARG_IC },
3612     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3613     { 0, 0, 1 },
3614     &core_op_lib
3615   },
3616   { /* 217 */
3617     "lt",
3618     "lt_p_s_ic",
3619     "Parrot_lt_p_s_ic",
3620     PARROT_JUMP_RELATIVE,
3621     4,
3622     { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_IC },
3623     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3624     { 0, 0, 1 },
3625     &core_op_lib
3626   },
3627   { /* 218 */
3628     "lt",
3629     "lt_p_sc_ic",
3630     "Parrot_lt_p_sc_ic",
3631     PARROT_JUMP_RELATIVE,
3632     4,
3633     { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_IC },
3634     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3635     { 0, 0, 1 },
3636     &core_op_lib
3637   },
3638   { /* 219 */
3639     "lt_str",
3640     "lt_str_p_p_ic",
3641     "Parrot_lt_str_p_p_ic",
3642     PARROT_JUMP_RELATIVE,
3643     4,
3644     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
3645     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3646     { 0, 0, 1 },
3647     &core_op_lib
3648   },
3649   { /* 220 */
3650     "lt_num",
3651     "lt_num_p_p_ic",
3652     "Parrot_lt_num_p_p_ic",
3653     PARROT_JUMP_RELATIVE,
3654     4,
3655     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
3656     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3657     { 0, 0, 1 },
3658     &core_op_lib
3659   },
3660   { /* 221 */
3661     "le",
3662     "le_i_i_ic",
3663     "Parrot_le_i_i_ic",
3664     PARROT_JUMP_RELATIVE,
3665     4,
3666     { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
3667     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3668     { 0, 0, 1 },
3669     &core_op_lib
3670   },
3671   { /* 222 */
3672     "le",
3673     "le_ic_i_ic",
3674     "Parrot_le_ic_i_ic",
3675     PARROT_JUMP_RELATIVE,
3676     4,
3677     { PARROT_ARG_IC, PARROT_ARG_I, PARROT_ARG_IC },
3678     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3679     { 0, 0, 1 },
3680     &core_op_lib
3681   },
3682   { /* 223 */
3683     "le",
3684     "le_i_ic_ic",
3685     "Parrot_le_i_ic_ic",
3686     PARROT_JUMP_RELATIVE,
3687     4,
3688     { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_IC },
3689     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3690     { 0, 0, 1 },
3691     &core_op_lib
3692   },
3693   { /* 224 */
3694     "le",
3695     "le_n_n_ic",
3696     "Parrot_le_n_n_ic",
3697     PARROT_JUMP_RELATIVE,
3698     4,
3699     { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_IC },
3700     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3701     { 0, 0, 1 },
3702     &core_op_lib
3703   },
3704   { /* 225 */
3705     "le",
3706     "le_nc_n_ic",
3707     "Parrot_le_nc_n_ic",
3708     PARROT_JUMP_RELATIVE,
3709     4,
3710     { PARROT_ARG_NC, PARROT_ARG_N, PARROT_ARG_IC },
3711     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3712     { 0, 0, 1 },
3713     &core_op_lib
3714   },
3715   { /* 226 */
3716     "le",
3717     "le_n_nc_ic",
3718     "Parrot_le_n_nc_ic",
3719     PARROT_JUMP_RELATIVE,
3720     4,
3721     { PARROT_ARG_N, PARROT_ARG_NC, PARROT_ARG_IC },
3722     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3723     { 0, 0, 1 },
3724     &core_op_lib
3725   },
3726   { /* 227 */
3727     "le",
3728     "le_s_s_ic",
3729     "Parrot_le_s_s_ic",
3730     PARROT_JUMP_RELATIVE,
3731     4,
3732     { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC },
3733     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3734     { 0, 0, 1 },
3735     &core_op_lib
3736   },
3737   { /* 228 */
3738     "le",
3739     "le_sc_s_ic",
3740     "Parrot_le_sc_s_ic",
3741     PARROT_JUMP_RELATIVE,
3742     4,
3743     { PARROT_ARG_SC, PARROT_ARG_S, PARROT_ARG_IC },
3744     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3745     { 0, 0, 1 },
3746     &core_op_lib
3747   },
3748   { /* 229 */
3749     "le",
3750     "le_s_sc_ic",
3751     "Parrot_le_s_sc_ic",
3752     PARROT_JUMP_RELATIVE,
3753     4,
3754     { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC },
3755     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3756     { 0, 0, 1 },
3757     &core_op_lib
3758   },
3759   { /* 230 */
3760     "le",
3761     "le_p_p_ic",
3762     "Parrot_le_p_p_ic",
3763     PARROT_JUMP_RELATIVE,
3764     4,
3765     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
3766     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3767     { 0, 0, 1 },
3768     &core_op_lib
3769   },
3770   { /* 231 */
3771     "le",
3772     "le_p_i_ic",
3773     "Parrot_le_p_i_ic",
3774     PARROT_JUMP_RELATIVE,
3775     4,
3776     { PARROT_ARG_P, PARROT_ARG_I, PARROT_ARG_IC },
3777     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3778     { 0, 0, 1 },
3779     &core_op_lib
3780   },
3781   { /* 232 */
3782     "le",
3783     "le_p_ic_ic",
3784     "Parrot_le_p_ic_ic",
3785     PARROT_JUMP_RELATIVE,
3786     4,
3787     { PARROT_ARG_P, PARROT_ARG_IC, PARROT_ARG_IC },
3788     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3789     { 0, 0, 1 },
3790     &core_op_lib
3791   },
3792   { /* 233 */
3793     "le",
3794     "le_p_n_ic",
3795     "Parrot_le_p_n_ic",
3796     PARROT_JUMP_RELATIVE,
3797     4,
3798     { PARROT_ARG_P, PARROT_ARG_N, PARROT_ARG_IC },
3799     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3800     { 0, 0, 1 },
3801     &core_op_lib
3802   },
3803   { /* 234 */
3804     "le",
3805     "le_p_nc_ic",
3806     "Parrot_le_p_nc_ic",
3807     PARROT_JUMP_RELATIVE,
3808     4,
3809     { PARROT_ARG_P, PARROT_ARG_NC, PARROT_ARG_IC },
3810     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3811     { 0, 0, 1 },
3812     &core_op_lib
3813   },
3814   { /* 235 */
3815     "le",
3816     "le_p_s_ic",
3817     "Parrot_le_p_s_ic",
3818     PARROT_JUMP_RELATIVE,
3819     4,
3820     { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_IC },
3821     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3822     { 0, 0, 1 },
3823     &core_op_lib
3824   },
3825   { /* 236 */
3826     "le",
3827     "le_p_sc_ic",
3828     "Parrot_le_p_sc_ic",
3829     PARROT_JUMP_RELATIVE,
3830     4,
3831     { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_IC },
3832     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3833     { 0, 0, 1 },
3834     &core_op_lib
3835   },
3836   { /* 237 */
3837     "le_str",
3838     "le_str_p_p_ic",
3839     "Parrot_le_str_p_p_ic",
3840     PARROT_JUMP_RELATIVE,
3841     4,
3842     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
3843     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3844     { 0, 0, 1 },
3845     &core_op_lib
3846   },
3847   { /* 238 */
3848     "le_num",
3849     "le_num_p_p_ic",
3850     "Parrot_le_num_p_p_ic",
3851     PARROT_JUMP_RELATIVE,
3852     4,
3853     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
3854     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3855     { 0, 0, 1 },
3856     &core_op_lib
3857   },
3858   { /* 239 */
3859     "gt",
3860     "gt_p_p_ic",
3861     "Parrot_gt_p_p_ic",
3862     PARROT_JUMP_RELATIVE,
3863     4,
3864     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
3865     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3866     { 0, 0, 1 },
3867     &core_op_lib
3868   },
3869   { /* 240 */
3870     "gt",
3871     "gt_p_i_ic",
3872     "Parrot_gt_p_i_ic",
3873     PARROT_JUMP_RELATIVE,
3874     4,
3875     { PARROT_ARG_P, PARROT_ARG_I, PARROT_ARG_IC },
3876     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3877     { 0, 0, 1 },
3878     &core_op_lib
3879   },
3880   { /* 241 */
3881     "gt",
3882     "gt_p_ic_ic",
3883     "Parrot_gt_p_ic_ic",
3884     PARROT_JUMP_RELATIVE,
3885     4,
3886     { PARROT_ARG_P, PARROT_ARG_IC, PARROT_ARG_IC },
3887     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3888     { 0, 0, 1 },
3889     &core_op_lib
3890   },
3891   { /* 242 */
3892     "gt",
3893     "gt_p_n_ic",
3894     "Parrot_gt_p_n_ic",
3895     PARROT_JUMP_RELATIVE,
3896     4,
3897     { PARROT_ARG_P, PARROT_ARG_N, PARROT_ARG_IC },
3898     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3899     { 0, 0, 1 },
3900     &core_op_lib
3901   },
3902   { /* 243 */
3903     "gt",
3904     "gt_p_nc_ic",
3905     "Parrot_gt_p_nc_ic",
3906     PARROT_JUMP_RELATIVE,
3907     4,
3908     { PARROT_ARG_P, PARROT_ARG_NC, PARROT_ARG_IC },
3909     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3910     { 0, 0, 1 },
3911     &core_op_lib
3912   },
3913   { /* 244 */
3914     "gt",
3915     "gt_p_s_ic",
3916     "Parrot_gt_p_s_ic",
3917     PARROT_JUMP_RELATIVE,
3918     4,
3919     { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_IC },
3920     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3921     { 0, 0, 1 },
3922     &core_op_lib
3923   },
3924   { /* 245 */
3925     "gt",
3926     "gt_p_sc_ic",
3927     "Parrot_gt_p_sc_ic",
3928     PARROT_JUMP_RELATIVE,
3929     4,
3930     { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_IC },
3931     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3932     { 0, 0, 1 },
3933     &core_op_lib
3934   },
3935   { /* 246 */
3936     "gt_str",
3937     "gt_str_p_p_ic",
3938     "Parrot_gt_str_p_p_ic",
3939     PARROT_JUMP_RELATIVE,
3940     4,
3941     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
3942     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3943     { 0, 0, 1 },
3944     &core_op_lib
3945   },
3946   { /* 247 */
3947     "gt_num",
3948     "gt_num_p_p_ic",
3949     "Parrot_gt_num_p_p_ic",
3950     PARROT_JUMP_RELATIVE,
3951     4,
3952     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
3953     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3954     { 0, 0, 1 },
3955     &core_op_lib
3956   },
3957   { /* 248 */
3958     "ge",
3959     "ge_p_p_ic",
3960     "Parrot_ge_p_p_ic",
3961     PARROT_JUMP_RELATIVE,
3962     4,
3963     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
3964     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3965     { 0, 0, 1 },
3966     &core_op_lib
3967   },
3968   { /* 249 */
3969     "ge",
3970     "ge_p_i_ic",
3971     "Parrot_ge_p_i_ic",
3972     PARROT_JUMP_RELATIVE,
3973     4,
3974     { PARROT_ARG_P, PARROT_ARG_I, PARROT_ARG_IC },
3975     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3976     { 0, 0, 1 },
3977     &core_op_lib
3978   },
3979   { /* 250 */
3980     "ge",
3981     "ge_p_ic_ic",
3982     "Parrot_ge_p_ic_ic",
3983     PARROT_JUMP_RELATIVE,
3984     4,
3985     { PARROT_ARG_P, PARROT_ARG_IC, PARROT_ARG_IC },
3986     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3987     { 0, 0, 1 },
3988     &core_op_lib
3989   },
3990   { /* 251 */
3991     "ge",
3992     "ge_p_n_ic",
3993     "Parrot_ge_p_n_ic",
3994     PARROT_JUMP_RELATIVE,
3995     4,
3996     { PARROT_ARG_P, PARROT_ARG_N, PARROT_ARG_IC },
3997     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
3998     { 0, 0, 1 },
3999     &core_op_lib
4000   },
4001   { /* 252 */
4002     "ge",
4003     "ge_p_nc_ic",
4004     "Parrot_ge_p_nc_ic",
4005     PARROT_JUMP_RELATIVE,
4006     4,
4007     { PARROT_ARG_P, PARROT_ARG_NC, PARROT_ARG_IC },
4008     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4009     { 0, 0, 1 },
4010     &core_op_lib
4011   },
4012   { /* 253 */
4013     "ge",
4014     "ge_p_s_ic",
4015     "Parrot_ge_p_s_ic",
4016     PARROT_JUMP_RELATIVE,
4017     4,
4018     { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_IC },
4019     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4020     { 0, 0, 1 },
4021     &core_op_lib
4022   },
4023   { /* 254 */
4024     "ge",
4025     "ge_p_sc_ic",
4026     "Parrot_ge_p_sc_ic",
4027     PARROT_JUMP_RELATIVE,
4028     4,
4029     { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_IC },
4030     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4031     { 0, 0, 1 },
4032     &core_op_lib
4033   },
4034   { /* 255 */
4035     "ge_str",
4036     "ge_str_p_p_ic",
4037     "Parrot_ge_str_p_p_ic",
4038     PARROT_JUMP_RELATIVE,
4039     4,
4040     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
4041     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4042     { 0, 0, 1 },
4043     &core_op_lib
4044   },
4045   { /* 256 */
4046     "ge_num",
4047     "ge_num_p_p_ic",
4048     "Parrot_ge_num_p_p_ic",
4049     PARROT_JUMP_RELATIVE,
4050     4,
4051     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
4052     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4053     { 0, 0, 1 },
4054     &core_op_lib
4055   },
4056   { /* 257 */
4057     "if_null",
4058     "if_null_p_ic",
4059     "Parrot_if_null_p_ic",
4060     PARROT_JUMP_RELATIVE,
4061     3,
4062     { PARROT_ARG_P, PARROT_ARG_IC },
4063     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4064     { 0, 1 },
4065     &core_op_lib
4066   },
4067   { /* 258 */
4068     "if_null",
4069     "if_null_s_ic",
4070     "Parrot_if_null_s_ic",
4071     PARROT_JUMP_RELATIVE,
4072     3,
4073     { PARROT_ARG_S, PARROT_ARG_IC },
4074     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4075     { 0, 1 },
4076     &core_op_lib
4077   },
4078   { /* 259 */
4079     "unless_null",
4080     "unless_null_p_ic",
4081     "Parrot_unless_null_p_ic",
4082     PARROT_JUMP_RELATIVE,
4083     3,
4084     { PARROT_ARG_P, PARROT_ARG_IC },
4085     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4086     { 0, 1 },
4087     &core_op_lib
4088   },
4089   { /* 260 */
4090     "unless_null",
4091     "unless_null_s_ic",
4092     "Parrot_unless_null_s_ic",
4093     PARROT_JUMP_RELATIVE,
4094     3,
4095     { PARROT_ARG_S, PARROT_ARG_IC },
4096     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4097     { 0, 1 },
4098     &core_op_lib
4099   },
4100   { /* 261 */
4101     "cmp",
4102     "cmp_i_i_i",
4103     "Parrot_cmp_i_i_i",
4104     0,
4105     4,
4106     { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
4107     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4108     { 0, 0, 0 },
4109     &core_op_lib
4110   },
4111   { /* 262 */
4112     "cmp",
4113     "cmp_i_ic_i",
4114     "Parrot_cmp_i_ic_i",
4115     0,
4116     4,
4117     { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
4118     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4119     { 0, 0, 0 },
4120     &core_op_lib
4121   },
4122   { /* 263 */
4123     "cmp",
4124     "cmp_i_i_ic",
4125     "Parrot_cmp_i_i_ic",
4126     0,
4127     4,
4128     { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
4129     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4130     { 0, 0, 0 },
4131     &core_op_lib
4132   },
4133   { /* 264 */
4134     "cmp",
4135     "cmp_i_n_n",
4136     "Parrot_cmp_i_n_n",
4137     0,
4138     4,
4139     { PARROT_ARG_I, PARROT_ARG_N, PARROT_ARG_N },
4140     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4141     { 0, 0, 0 },
4142     &core_op_lib
4143   },
4144   { /* 265 */
4145     "cmp",
4146     "cmp_i_nc_n",
4147     "Parrot_cmp_i_nc_n",
4148     0,
4149     4,
4150     { PARROT_ARG_I, PARROT_ARG_NC, PARROT_ARG_N },
4151     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4152     { 0, 0, 0 },
4153     &core_op_lib
4154   },
4155   { /* 266 */
4156     "cmp",
4157     "cmp_i_n_nc",
4158     "Parrot_cmp_i_n_nc",
4159     0,
4160     4,
4161     { PARROT_ARG_I, PARROT_ARG_N, PARROT_ARG_NC },
4162     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4163     { 0, 0, 0 },
4164     &core_op_lib
4165   },
4166   { /* 267 */
4167     "cmp",
4168     "cmp_i_s_s",
4169     "Parrot_cmp_i_s_s",
4170     0,
4171     4,
4172     { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_S },
4173     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4174     { 0, 0, 0 },
4175     &core_op_lib
4176   },
4177   { /* 268 */
4178     "cmp",
4179     "cmp_i_sc_s",
4180     "Parrot_cmp_i_sc_s",
4181     0,
4182     4,
4183     { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_S },
4184     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4185     { 0, 0, 0 },
4186     &core_op_lib
4187   },
4188   { /* 269 */
4189     "cmp",
4190     "cmp_i_s_sc",
4191     "Parrot_cmp_i_s_sc",
4192     0,
4193     4,
4194     { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_SC },
4195     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4196     { 0, 0, 0 },
4197     &core_op_lib
4198   },
4199   { /* 270 */
4200     "cmp",
4201     "cmp_i_p_p",
4202     "Parrot_cmp_i_p_p",
4203     0,
4204     4,
4205     { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_P },
4206     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4207     { 0, 0, 0 },
4208     &core_op_lib
4209   },
4210   { /* 271 */
4211     "cmp",
4212     "cmp_i_p_i",
4213     "Parrot_cmp_i_p_i",
4214     0,
4215     4,
4216     { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_I },
4217     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4218     { 0, 0, 0 },
4219     &core_op_lib
4220   },
4221   { /* 272 */
4222     "cmp",
4223     "cmp_i_p_ic",
4224     "Parrot_cmp_i_p_ic",
4225     0,
4226     4,
4227     { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_IC },
4228     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4229     { 0, 0, 0 },
4230     &core_op_lib
4231   },
4232   { /* 273 */
4233     "cmp",
4234     "cmp_i_p_n",
4235     "Parrot_cmp_i_p_n",
4236     0,
4237     4,
4238     { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_N },
4239     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4240     { 0, 0, 0 },
4241     &core_op_lib
4242   },
4243   { /* 274 */
4244     "cmp",
4245     "cmp_i_p_nc",
4246     "Parrot_cmp_i_p_nc",
4247     0,
4248     4,
4249     { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_NC },
4250     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4251     { 0, 0, 0 },
4252     &core_op_lib
4253   },
4254   { /* 275 */
4255     "cmp",
4256     "cmp_i_p_s",
4257     "Parrot_cmp_i_p_s",
4258     0,
4259     4,
4260     { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_S },
4261     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4262     { 0, 0, 0 },
4263     &core_op_lib
4264   },
4265   { /* 276 */
4266     "cmp",
4267     "cmp_i_p_sc",
4268     "Parrot_cmp_i_p_sc",
4269     0,
4270     4,
4271     { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_SC },
4272     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4273     { 0, 0, 0 },
4274     &core_op_lib
4275   },
4276   { /* 277 */
4277     "cmp_str",
4278     "cmp_str_i_p_p",
4279     "Parrot_cmp_str_i_p_p",
4280     0,
4281     4,
4282     { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_P },
4283     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4284     { 0, 0, 0 },
4285     &core_op_lib
4286   },
4287   { /* 278 */
4288     "cmp_num",
4289     "cmp_num_i_p_p",
4290     "Parrot_cmp_num_i_p_p",
4291     0,
4292     4,
4293     { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_P },
4294     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4295     { 0, 0, 0 },
4296     &core_op_lib
4297   },
4298   { /* 279 */
4299     "cmp_pmc",
4300     "cmp_pmc_p_p_p",
4301     "Parrot_cmp_pmc_p_p_p",
4302     0,
4303     4,
4304     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
4305     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4306     { 0, 0, 0 },
4307     &core_op_lib
4308   },
4309   { /* 280 */
4310     "issame",
4311     "issame_i_p_p",
4312     "Parrot_issame_i_p_p",
4313     0,
4314     4,
4315     { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_P },
4316     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4317     { 0, 0, 0 },
4318     &core_op_lib
4319   },
4320   { /* 281 */
4321     "issame",
4322     "issame_i_s_s",
4323     "Parrot_issame_i_s_s",
4324     0,
4325     4,
4326     { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_S },
4327     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4328     { 0, 0, 0 },
4329     &core_op_lib
4330   },
4331   { /* 282 */
4332     "issame",
4333     "issame_i_sc_s",
4334     "Parrot_issame_i_sc_s",
4335     0,
4336     4,
4337     { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_S },
4338     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4339     { 0, 0, 0 },
4340     &core_op_lib
4341   },
4342   { /* 283 */
4343     "issame",
4344     "issame_i_s_sc",
4345     "Parrot_issame_i_s_sc",
4346     0,
4347     4,
4348     { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_SC },
4349     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4350     { 0, 0, 0 },
4351     &core_op_lib
4352   },
4353   { /* 284 */
4354     "issame",
4355     "issame_i_sc_sc",
4356     "Parrot_issame_i_sc_sc",
4357     0,
4358     4,
4359     { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_SC },
4360     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4361     { 0, 0, 0 },
4362     &core_op_lib
4363   },
4364   { /* 285 */
4365     "isntsame",
4366     "isntsame_i_p_p",
4367     "Parrot_isntsame_i_p_p",
4368     0,
4369     4,
4370     { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_P },
4371     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4372     { 0, 0, 0 },
4373     &core_op_lib
4374   },
4375   { /* 286 */
4376     "isntsame",
4377     "isntsame_i_s_s",
4378     "Parrot_isntsame_i_s_s",
4379     0,
4380     4,
4381     { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_S },
4382     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4383     { 0, 0, 0 },
4384     &core_op_lib
4385   },
4386   { /* 287 */
4387     "isntsame",
4388     "isntsame_i_sc_s",
4389     "Parrot_isntsame_i_sc_s",
4390     0,
4391     4,
4392     { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_S },
4393     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4394     { 0, 0, 0 },
4395     &core_op_lib
4396   },
4397   { /* 288 */
4398     "isntsame",
4399     "isntsame_i_s_sc",
4400     "Parrot_isntsame_i_s_sc",
4401     0,
4402     4,
4403     { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_SC },
4404     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4405     { 0, 0, 0 },
4406     &core_op_lib
4407   },
4408   { /* 289 */
4409     "isntsame",
4410     "isntsame_i_sc_sc",
4411     "Parrot_isntsame_i_sc_sc",
4412     0,
4413     4,
4414     { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_SC },
4415     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4416     { 0, 0, 0 },
4417     &core_op_lib
4418   },
4419   { /* 290 */
4420     "istrue",
4421     "istrue_i_p",
4422     "Parrot_istrue_i_p",
4423     0,
4424     3,
4425     { PARROT_ARG_I, PARROT_ARG_P },
4426     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
4427     { 0, 0 },
4428     &core_op_lib
4429   },
4430   { /* 291 */
4431     "isfalse",
4432     "isfalse_i_p",
4433     "Parrot_isfalse_i_p",
4434     0,
4435     3,
4436     { PARROT_ARG_I, PARROT_ARG_P },
4437     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
4438     { 0, 0 },
4439     &core_op_lib
4440   },
4441   { /* 292 */
4442     "isnull",
4443     "isnull_i_p",
4444     "Parrot_isnull_i_p",
4445     0,
4446     3,
4447     { PARROT_ARG_I, PARROT_ARG_P },
4448     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
4449     { 0, 0 },
4450     &core_op_lib
4451   },
4452   { /* 293 */
4453     "isnull",
4454     "isnull_i_pc",
4455     "Parrot_isnull_i_pc",
4456     0,
4457     3,
4458     { PARROT_ARG_I, PARROT_ARG_PC },
4459     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
4460     { 0, 0 },
4461     &core_op_lib
4462   },
4463   { /* 294 */
4464     "isnull",
4465     "isnull_i_s",
4466     "Parrot_isnull_i_s",
4467     0,
4468     3,
4469     { PARROT_ARG_I, PARROT_ARG_S },
4470     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
4471     { 0, 0 },
4472     &core_op_lib
4473   },
4474   { /* 295 */
4475     "isnull",
4476     "isnull_i_sc",
4477     "Parrot_isnull_i_sc",
4478     0,
4479     3,
4480     { PARROT_ARG_I, PARROT_ARG_SC },
4481     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
4482     { 0, 0 },
4483     &core_op_lib
4484   },
4485   { /* 296 */
4486     "isgt",
4487     "isgt_i_p_p",
4488     "Parrot_isgt_i_p_p",
4489     0,
4490     4,
4491     { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_P },
4492     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4493     { 0, 0, 0 },
4494     &core_op_lib
4495   },
4496   { /* 297 */
4497     "isge",
4498     "isge_i_p_p",
4499     "Parrot_isge_i_p_p",
4500     0,
4501     4,
4502     { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_P },
4503     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4504     { 0, 0, 0 },
4505     &core_op_lib
4506   },
4507   { /* 298 */
4508     "isle",
4509     "isle_i_i_i",
4510     "Parrot_isle_i_i_i",
4511     0,
4512     4,
4513     { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
4514     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4515     { 0, 0, 0 },
4516     &core_op_lib
4517   },
4518   { /* 299 */
4519     "isle",
4520     "isle_i_ic_i",
4521     "Parrot_isle_i_ic_i",
4522     0,
4523     4,
4524     { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
4525     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4526     { 0, 0, 0 },
4527     &core_op_lib
4528   },
4529   { /* 300 */
4530     "isle",
4531     "isle_i_i_ic",
4532     "Parrot_isle_i_i_ic",
4533     0,
4534     4,
4535     { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
4536     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4537     { 0, 0, 0 },
4538     &core_op_lib
4539   },
4540   { /* 301 */
4541     "isle",
4542     "isle_i_n_n",
4543     "Parrot_isle_i_n_n",
4544     0,
4545     4,
4546     { PARROT_ARG_I, PARROT_ARG_N, PARROT_ARG_N },
4547     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4548     { 0, 0, 0 },
4549     &core_op_lib
4550   },
4551   { /* 302 */
4552     "isle",
4553     "isle_i_nc_n",
4554     "Parrot_isle_i_nc_n",
4555     0,
4556     4,
4557     { PARROT_ARG_I, PARROT_ARG_NC, PARROT_ARG_N },
4558     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4559     { 0, 0, 0 },
4560     &core_op_lib
4561   },
4562   { /* 303 */
4563     "isle",
4564     "isle_i_n_nc",
4565     "Parrot_isle_i_n_nc",
4566     0,
4567     4,
4568     { PARROT_ARG_I, PARROT_ARG_N, PARROT_ARG_NC },
4569     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4570     { 0, 0, 0 },
4571     &core_op_lib
4572   },
4573   { /* 304 */
4574     "isle",
4575     "isle_i_s_s",
4576     "Parrot_isle_i_s_s",
4577     0,
4578     4,
4579     { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_S },
4580     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4581     { 0, 0, 0 },
4582     &core_op_lib
4583   },
4584   { /* 305 */
4585     "isle",
4586     "isle_i_sc_s",
4587     "Parrot_isle_i_sc_s",
4588     0,
4589     4,
4590     { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_S },
4591     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4592     { 0, 0, 0 },
4593     &core_op_lib
4594   },
4595   { /* 306 */
4596     "isle",
4597     "isle_i_s_sc",
4598     "Parrot_isle_i_s_sc",
4599     0,
4600     4,
4601     { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_SC },
4602     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4603     { 0, 0, 0 },
4604     &core_op_lib
4605   },
4606   { /* 307 */
4607     "isle",
4608     "isle_i_p_p",
4609     "Parrot_isle_i_p_p",
4610     0,
4611     4,
4612     { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_P },
4613     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4614     { 0, 0, 0 },
4615     &core_op_lib
4616   },
4617   { /* 308 */
4618     "islt",
4619     "islt_i_i_i",
4620     "Parrot_islt_i_i_i",
4621     0,
4622     4,
4623     { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
4624     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4625     { 0, 0, 0 },
4626     &core_op_lib
4627   },
4628   { /* 309 */
4629     "islt",
4630     "islt_i_ic_i",
4631     "Parrot_islt_i_ic_i",
4632     0,
4633     4,
4634     { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
4635     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4636     { 0, 0, 0 },
4637     &core_op_lib
4638   },
4639   { /* 310 */
4640     "islt",
4641     "islt_i_i_ic",
4642     "Parrot_islt_i_i_ic",
4643     0,
4644     4,
4645     { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
4646     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4647     { 0, 0, 0 },
4648     &core_op_lib
4649   },
4650   { /* 311 */
4651     "islt",
4652     "islt_i_n_n",
4653     "Parrot_islt_i_n_n",
4654     0,
4655     4,
4656     { PARROT_ARG_I, PARROT_ARG_N, PARROT_ARG_N },
4657     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4658     { 0, 0, 0 },
4659     &core_op_lib
4660   },
4661   { /* 312 */
4662     "islt",
4663     "islt_i_nc_n",
4664     "Parrot_islt_i_nc_n",
4665     0,
4666     4,
4667     { PARROT_ARG_I, PARROT_ARG_NC, PARROT_ARG_N },
4668     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4669     { 0, 0, 0 },
4670     &core_op_lib
4671   },
4672   { /* 313 */
4673     "islt",
4674     "islt_i_n_nc",
4675     "Parrot_islt_i_n_nc",
4676     0,
4677     4,
4678     { PARROT_ARG_I, PARROT_ARG_N, PARROT_ARG_NC },
4679     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4680     { 0, 0, 0 },
4681     &core_op_lib
4682   },
4683   { /* 314 */
4684     "islt",
4685     "islt_i_s_s",
4686     "Parrot_islt_i_s_s",
4687     0,
4688     4,
4689     { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_S },
4690     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4691     { 0, 0, 0 },
4692     &core_op_lib
4693   },
4694   { /* 315 */
4695     "islt",
4696     "islt_i_sc_s",
4697     "Parrot_islt_i_sc_s",
4698     0,
4699     4,
4700     { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_S },
4701     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4702     { 0, 0, 0 },
4703     &core_op_lib
4704   },
4705   { /* 316 */
4706     "islt",
4707     "islt_i_s_sc",
4708     "Parrot_islt_i_s_sc",
4709     0,
4710     4,
4711     { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_SC },
4712     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4713     { 0, 0, 0 },
4714     &core_op_lib
4715   },
4716   { /* 317 */
4717     "islt",
4718     "islt_i_p_p",
4719     "Parrot_islt_i_p_p",
4720     0,
4721     4,
4722     { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_P },
4723     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4724     { 0, 0, 0 },
4725     &core_op_lib
4726   },
4727   { /* 318 */
4728     "iseq",
4729     "iseq_i_i_i",
4730     "Parrot_iseq_i_i_i",
4731     0,
4732     4,
4733     { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
4734     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4735     { 0, 0, 0 },
4736     &core_op_lib
4737   },
4738   { /* 319 */
4739     "iseq",
4740     "iseq_i_ic_i",
4741     "Parrot_iseq_i_ic_i",
4742     0,
4743     4,
4744     { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
4745     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4746     { 0, 0, 0 },
4747     &core_op_lib
4748   },
4749   { /* 320 */
4750     "iseq",
4751     "iseq_i_i_ic",
4752     "Parrot_iseq_i_i_ic",
4753     0,
4754     4,
4755     { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
4756     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4757     { 0, 0, 0 },
4758     &core_op_lib
4759   },
4760   { /* 321 */
4761     "iseq",
4762     "iseq_i_n_n",
4763     "Parrot_iseq_i_n_n",
4764     0,
4765     4,
4766     { PARROT_ARG_I, PARROT_ARG_N, PARROT_ARG_N },
4767     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4768     { 0, 0, 0 },
4769     &core_op_lib
4770   },
4771   { /* 322 */
4772     "iseq",
4773     "iseq_i_nc_n",
4774     "Parrot_iseq_i_nc_n",
4775     0,
4776     4,
4777     { PARROT_ARG_I, PARROT_ARG_NC, PARROT_ARG_N },
4778     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4779     { 0, 0, 0 },
4780     &core_op_lib
4781   },
4782   { /* 323 */
4783     "iseq",
4784     "iseq_i_n_nc",
4785     "Parrot_iseq_i_n_nc",
4786     0,
4787     4,
4788     { PARROT_ARG_I, PARROT_ARG_N, PARROT_ARG_NC },
4789     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4790     { 0, 0, 0 },
4791     &core_op_lib
4792   },
4793   { /* 324 */
4794     "iseq",
4795     "iseq_i_s_s",
4796     "Parrot_iseq_i_s_s",
4797     0,
4798     4,
4799     { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_S },
4800     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4801     { 0, 0, 0 },
4802     &core_op_lib
4803   },
4804   { /* 325 */
4805     "iseq",
4806     "iseq_i_sc_s",
4807     "Parrot_iseq_i_sc_s",
4808     0,
4809     4,
4810     { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_S },
4811     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4812     { 0, 0, 0 },
4813     &core_op_lib
4814   },
4815   { /* 326 */
4816     "iseq",
4817     "iseq_i_s_sc",
4818     "Parrot_iseq_i_s_sc",
4819     0,
4820     4,
4821     { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_SC },
4822     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4823     { 0, 0, 0 },
4824     &core_op_lib
4825   },
4826   { /* 327 */
4827     "iseq",
4828     "iseq_i_p_p",
4829     "Parrot_iseq_i_p_p",
4830     0,
4831     4,
4832     { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_P },
4833     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4834     { 0, 0, 0 },
4835     &core_op_lib
4836   },
4837   { /* 328 */
4838     "isne",
4839     "isne_i_i_i",
4840     "Parrot_isne_i_i_i",
4841     0,
4842     4,
4843     { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
4844     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4845     { 0, 0, 0 },
4846     &core_op_lib
4847   },
4848   { /* 329 */
4849     "isne",
4850     "isne_i_ic_i",
4851     "Parrot_isne_i_ic_i",
4852     0,
4853     4,
4854     { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
4855     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4856     { 0, 0, 0 },
4857     &core_op_lib
4858   },
4859   { /* 330 */
4860     "isne",
4861     "isne_i_i_ic",
4862     "Parrot_isne_i_i_ic",
4863     0,
4864     4,
4865     { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
4866     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4867     { 0, 0, 0 },
4868     &core_op_lib
4869   },
4870   { /* 331 */
4871     "isne",
4872     "isne_i_n_n",
4873     "Parrot_isne_i_n_n",
4874     0,
4875     4,
4876     { PARROT_ARG_I, PARROT_ARG_N, PARROT_ARG_N },
4877     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4878     { 0, 0, 0 },
4879     &core_op_lib
4880   },
4881   { /* 332 */
4882     "isne",
4883     "isne_i_nc_n",
4884     "Parrot_isne_i_nc_n",
4885     0,
4886     4,
4887     { PARROT_ARG_I, PARROT_ARG_NC, PARROT_ARG_N },
4888     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4889     { 0, 0, 0 },
4890     &core_op_lib
4891   },
4892   { /* 333 */
4893     "isne",
4894     "isne_i_n_nc",
4895     "Parrot_isne_i_n_nc",
4896     0,
4897     4,
4898     { PARROT_ARG_I, PARROT_ARG_N, PARROT_ARG_NC },
4899     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4900     { 0, 0, 0 },
4901     &core_op_lib
4902   },
4903   { /* 334 */
4904     "isne",
4905     "isne_i_s_s",
4906     "Parrot_isne_i_s_s",
4907     0,
4908     4,
4909     { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_S },
4910     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4911     { 0, 0, 0 },
4912     &core_op_lib
4913   },
4914   { /* 335 */
4915     "isne",
4916     "isne_i_sc_s",
4917     "Parrot_isne_i_sc_s",
4918     0,
4919     4,
4920     { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_S },
4921     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4922     { 0, 0, 0 },
4923     &core_op_lib
4924   },
4925   { /* 336 */
4926     "isne",
4927     "isne_i_s_sc",
4928     "Parrot_isne_i_s_sc",
4929     0,
4930     4,
4931     { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_SC },
4932     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4933     { 0, 0, 0 },
4934     &core_op_lib
4935   },
4936   { /* 337 */
4937     "isne",
4938     "isne_i_p_p",
4939     "Parrot_isne_i_p_p",
4940     0,
4941     4,
4942     { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_P },
4943     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4944     { 0, 0, 0 },
4945     &core_op_lib
4946   },
4947   { /* 338 */
4948     "and",
4949     "and_i_i_i",
4950     "Parrot_and_i_i_i",
4951     0,
4952     4,
4953     { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
4954     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4955     { 0, 0, 0 },
4956     &core_op_lib
4957   },
4958   { /* 339 */
4959     "and",
4960     "and_i_ic_i",
4961     "Parrot_and_i_ic_i",
4962     0,
4963     4,
4964     { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
4965     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4966     { 0, 0, 0 },
4967     &core_op_lib
4968   },
4969   { /* 340 */
4970     "and",
4971     "and_i_i_ic",
4972     "Parrot_and_i_i_ic",
4973     0,
4974     4,
4975     { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
4976     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4977     { 0, 0, 0 },
4978     &core_op_lib
4979   },
4980   { /* 341 */
4981     "and",
4982     "and_p_p_p",
4983     "Parrot_and_p_p_p",
4984     0,
4985     4,
4986     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
4987     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
4988     { 0, 0, 0 },
4989     &core_op_lib
4990   },
4991   { /* 342 */
4992     "not",
4993     "not_i",
4994     "Parrot_not_i",
4995     0,
4996     2,
4997     { PARROT_ARG_I },
4998     { PARROT_ARGDIR_INOUT },
4999     { 0 },
5000     &core_op_lib
5001   },
5002   { /* 343 */
5003     "not",
5004     "not_i_i",
5005     "Parrot_not_i_i",
5006     0,
5007     3,
5008     { PARROT_ARG_I, PARROT_ARG_I },
5009     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
5010     { 0, 0 },
5011     &core_op_lib
5012   },
5013   { /* 344 */
5014     "not",
5015     "not_p",
5016     "Parrot_not_p",
5017     0,
5018     2,
5019     { PARROT_ARG_P },
5020     { PARROT_ARGDIR_IN },
5021     { 0 },
5022     &core_op_lib
5023   },
5024   { /* 345 */
5025     "not",
5026     "not_p_p",
5027     "Parrot_not_p_p",
5028     0,
5029     3,
5030     { PARROT_ARG_P, PARROT_ARG_P },
5031     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
5032     { 0, 0 },
5033     &core_op_lib
5034   },
5035   { /* 346 */
5036     "or",
5037     "or_i_i_i",
5038     "Parrot_or_i_i_i",
5039     0,
5040     4,
5041     { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
5042     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
5043     { 0, 0, 0 },
5044     &core_op_lib
5045   },
5046   { /* 347 */
5047     "or",
5048     "or_i_ic_i",
5049     "Parrot_or_i_ic_i",
5050     0,
5051     4,
5052     { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
5053     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
5054     { 0, 0, 0 },
5055     &core_op_lib
5056   },
5057   { /* 348 */
5058     "or",
5059     "or_i_i_ic",
5060     "Parrot_or_i_i_ic",
5061     0,
5062     4,
5063     { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
5064     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
5065     { 0, 0, 0 },
5066     &core_op_lib
5067   },
5068   { /* 349 */
5069     "or",
5070     "or_p_p_p",
5071     "Parrot_or_p_p_p",
5072     0,
5073     4,
5074     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
5075     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
5076     { 0, 0, 0 },
5077     &core_op_lib
5078   },
5079   { /* 350 */
5080     "xor",
5081     "xor_i_i_i",
5082     "Parrot_xor_i_i_i",
5083     0,
5084     4,
5085     { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
5086     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
5087     { 0, 0, 0 },
5088     &core_op_lib
5089   },
5090   { /* 351 */
5091     "xor",
5092     "xor_i_ic_i",
5093     "Parrot_xor_i_ic_i",
5094     0,
5095     4,
5096     { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
5097     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
5098     { 0, 0, 0 },
5099     &core_op_lib
5100   },
5101   { /* 352 */
5102     "xor",
5103     "xor_i_i_ic",
5104     "Parrot_xor_i_i_ic",
5105     0,
5106     4,
5107     { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
5108     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
5109     { 0, 0, 0 },
5110     &core_op_lib
5111   },
5112   { /* 353 */
5113     "xor",
5114     "xor_p_p_p",
5115     "Parrot_xor_p_p_p",
5116     0,
5117     4,
5118     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
5119     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
5120     { 0, 0, 0 },
5121     &core_op_lib
5122   },
5123   { /* 354 */
5124     "print",
5125     "print_i",
5126     "Parrot_print_i",
5127     0,
5128     2,
5129     { PARROT_ARG_I },
5130     { PARROT_ARGDIR_IN },
5131     { 0 },
5132     &core_op_lib
5133   },
5134   { /* 355 */
5135     "print",
5136     "print_ic",
5137     "Parrot_print_ic",
5138     0,
5139     2,
5140     { PARROT_ARG_IC },
5141     { PARROT_ARGDIR_IN },
5142     { 0 },
5143     &core_op_lib
5144   },
5145   { /* 356 */
5146     "print",
5147     "print_n",
5148     "Parrot_print_n",
5149     0,
5150     2,
5151     { PARROT_ARG_N },
5152     { PARROT_ARGDIR_IN },
5153     { 0 },
5154     &core_op_lib
5155   },
5156   { /* 357 */
5157     "print",
5158     "print_nc",
5159     "Parrot_print_nc",
5160     0,
5161     2,
5162     { PARROT_ARG_NC },
5163     { PARROT_ARGDIR_IN },
5164     { 0 },
5165     &core_op_lib
5166   },
5167   { /* 358 */
5168     "print",
5169     "print_s",
5170     "Parrot_print_s",
5171     0,
5172     2,
5173     { PARROT_ARG_S },
5174     { PARROT_ARGDIR_IN },
5175     { 0 },
5176     &core_op_lib
5177   },
5178   { /* 359 */
5179     "print",
5180     "print_sc",
5181     "Parrot_print_sc",
5182     0,
5183     2,
5184     { PARROT_ARG_SC },
5185     { PARROT_ARGDIR_IN },
5186     { 0 },
5187     &core_op_lib
5188   },
5189   { /* 360 */
5190     "print",
5191     "print_p",
5192     "Parrot_print_p",
5193     0,
5194     2,
5195     { PARROT_ARG_P },
5196     { PARROT_ARGDIR_IN },
5197     { 0 },
5198     &core_op_lib
5199   },
5200   { /* 361 */
5201     "say",
5202     "say_i",
5203     "Parrot_say_i",
5204     0,
5205     2,
5206     { PARROT_ARG_I },
5207     { PARROT_ARGDIR_IN },
5208     { 0 },
5209     &core_op_lib
5210   },
5211   { /* 362 */
5212     "say",
5213     "say_ic",
5214     "Parrot_say_ic",
5215     0,
5216     2,
5217     { PARROT_ARG_IC },
5218     { PARROT_ARGDIR_IN },
5219     { 0 },
5220     &core_op_lib
5221   },
5222   { /* 363 */
5223     "say",
5224     "say_n",
5225     "Parrot_say_n",
5226     0,
5227     2,
5228     { PARROT_ARG_N },
5229     { PARROT_ARGDIR_IN },
5230     { 0 },
5231     &core_op_lib
5232   },
5233   { /* 364 */
5234     "say",
5235     "say_nc",
5236     "Parrot_say_nc",
5237     0,
5238     2,
5239     { PARROT_ARG_NC },
5240     { PARROT_ARGDIR_IN },
5241     { 0 },
5242     &core_op_lib
5243   },
5244   { /* 365 */
5245     "say",
5246     "say_s",
5247     "Parrot_say_s",
5248     0,
5249     2,
5250     { PARROT_ARG_S },
5251     { PARROT_ARGDIR_IN },
5252     { 0 },
5253     &core_op_lib
5254   },
5255   { /* 366 */
5256     "say",
5257     "say_sc",
5258     "Parrot_say_sc",
5259     0,
5260     2,
5261     { PARROT_ARG_SC },
5262     { PARROT_ARGDIR_IN },
5263     { 0 },
5264     &core_op_lib
5265   },
5266   { /* 367 */
5267     "say",
5268     "say_p",
5269     "Parrot_say_p",
5270     0,
5271     2,
5272     { PARROT_ARG_P },
5273     { PARROT_ARGDIR_IN },
5274     { 0 },
5275     &core_op_lib
5276   },
5277   { /* 368 */
5278     "print",
5279     "print_p_i",
5280     "Parrot_print_p_i",
5281     0,
5282     3,
5283     { PARROT_ARG_P, PARROT_ARG_I },
5284     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
5285     { 0, 0 },
5286     &core_op_lib
5287   },
5288   { /* 369 */
5289     "print",
5290     "print_p_ic",
5291     "Parrot_print_p_ic",
5292     0,
5293     3,
5294     { PARROT_ARG_P, PARROT_ARG_IC },
5295     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
5296     { 0, 0 },
5297     &core_op_lib
5298   },
5299   { /* 370 */
5300     "print",
5301     "print_p_n",
5302     "Parrot_print_p_n",
5303     0,
5304     3,
5305     { PARROT_ARG_P, PARROT_ARG_N },
5306     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
5307     { 0, 0 },
5308     &core_op_lib
5309   },
5310   { /* 371 */
5311     "print",
5312     "print_p_nc",
5313     "Parrot_print_p_nc",
5314     0,
5315     3,
5316     { PARROT_ARG_P, PARROT_ARG_NC },
5317     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
5318     { 0, 0 },
5319     &core_op_lib
5320   },
5321   { /* 372 */
5322     "print",
5323     "print_p_s",
5324     "Parrot_print_p_s",
5325     0,
5326     3,
5327     { PARROT_ARG_P, PARROT_ARG_S },
5328     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
5329     { 0, 0 },
5330     &core_op_lib
5331   },
5332   { /* 373 */
5333     "print",
5334     "print_p_sc",
5335     "Parrot_print_p_sc",
5336     0,
5337     3,
5338     { PARROT_ARG_P, PARROT_ARG_SC },
5339     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
5340     { 0, 0 },
5341     &core_op_lib
5342   },
5343   { /* 374 */
5344     "print",
5345     "print_p_p",
5346     "Parrot_print_p_p",
5347     0,
5348     3,
5349     { PARROT_ARG_P, PARROT_ARG_P },
5350     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
5351     { 0, 0 },
5352     &core_op_lib
5353   },
5354   { /* 375 */
5355     "getstdin",
5356     "getstdin_p",
5357     "Parrot_getstdin_p",
5358     0,
5359     2,
5360     { PARROT_ARG_P },
5361     { PARROT_ARGDIR_OUT },
5362     { 0 },
5363     &core_op_lib
5364   },
5365   { /* 376 */
5366     "getstdout",
5367     "getstdout_p",
5368     "Parrot_getstdout_p",
5369     0,
5370     2,
5371     { PARROT_ARG_P },
5372     { PARROT_ARGDIR_OUT },
5373     { 0 },
5374     &core_op_lib
5375   },
5376   { /* 377 */
5377     "getstderr",
5378     "getstderr_p",
5379     "Parrot_getstderr_p",
5380     0,
5381     2,
5382     { PARROT_ARG_P },
5383     { PARROT_ARGDIR_OUT },
5384     { 0 },
5385     &core_op_lib
5386   },
5387   { /* 378 */
5388     "abs",
5389     "abs_i",
5390     "Parrot_abs_i",
5391     0,
5392     2,
5393     { PARROT_ARG_I },
5394     { PARROT_ARGDIR_INOUT },
5395     { 0 },
5396     &core_op_lib
5397   },
5398   { /* 379 */
5399     "abs",
5400     "abs_n",
5401     "Parrot_abs_n",
5402     0,
5403     2,
5404     { PARROT_ARG_N },
5405     { PARROT_ARGDIR_INOUT },
5406     { 0 },
5407     &core_op_lib
5408   },
5409   { /* 380 */
5410     "abs",
5411     "abs_i_i",
5412     "Parrot_abs_i_i",
5413     0,
5414     3,
5415     { PARROT_ARG_I, PARROT_ARG_I },
5416     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
5417     { 0, 0 },
5418     &core_op_lib
5419   },
5420   { /* 381 */
5421     "abs",
5422     "abs_n_n",
5423     "Parrot_abs_n_n",
5424     0,
5425     3,
5426     { PARROT_ARG_N, PARROT_ARG_N },
5427     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
5428     { 0, 0 },
5429     &core_op_lib
5430   },
5431   { /* 382 */
5432     "abs",
5433     "abs_p",
5434     "Parrot_abs_p",
5435     0,
5436     2,
5437     { PARROT_ARG_P },
5438     { PARROT_ARGDIR_IN },
5439     { 0 },
5440     &core_op_lib
5441   },
5442   { /* 383 */
5443     "abs",
5444     "abs_p_p",
5445     "Parrot_abs_p_p",
5446     0,
5447     3,
5448     { PARROT_ARG_P, PARROT_ARG_P },
5449     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
5450     { 0, 0 },
5451     &core_op_lib
5452   },
5453   { /* 384 */
5454     "add",
5455     "add_i_i",
5456     "Parrot_add_i_i",
5457     0,
5458     3,
5459     { PARROT_ARG_I, PARROT_ARG_I },
5460     { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
5461     { 0, 0 },
5462     &core_op_lib
5463   },
5464   { /* 385 */
5465     "add",
5466     "add_i_ic",
5467     "Parrot_add_i_ic",
5468     0,
5469     3,
5470     { PARROT_ARG_I, PARROT_ARG_IC },
5471     { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
5472     { 0, 0 },
5473     &core_op_lib
5474   },
5475   { /* 386 */
5476     "add",
5477     "add_n_n",
5478     "Parrot_add_n_n",
5479     0,
5480     3,
5481     { PARROT_ARG_N, PARROT_ARG_N },
5482     { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
5483     { 0, 0 },
5484     &core_op_lib
5485   },
5486   { /* 387 */
5487     "add",
5488     "add_n_nc",
5489     "Parrot_add_n_nc",
5490     0,
5491     3,
5492     { PARROT_ARG_N, PARROT_ARG_NC },
5493     { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
5494     { 0, 0 },
5495     &core_op_lib
5496   },
5497   { /* 388 */
5498     "add",
5499     "add_p_p",
5500     "Parrot_add_p_p",
5501     0,
5502     3,
5503     { PARROT_ARG_P, PARROT_ARG_P },
5504     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
5505     { 0, 0 },
5506     &core_op_lib
5507   },
5508   { /* 389 */
5509     "add",
5510     "add_p_i",
5511     "Parrot_add_p_i",
5512     0,
5513     3,
5514     { PARROT_ARG_P, PARROT_ARG_I },
5515     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
5516     { 0, 0 },
5517     &core_op_lib
5518   },
5519   { /* 390 */
5520     "add",
5521     "add_p_ic",
5522     "Parrot_add_p_ic",
5523     0,
5524     3,
5525     { PARROT_ARG_P, PARROT_ARG_IC },
5526     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
5527     { 0, 0 },
5528     &core_op_lib
5529   },
5530   { /* 391 */
5531     "add",
5532     "add_p_n",
5533     "Parrot_add_p_n",
5534     0,
5535     3,
5536     { PARROT_ARG_P, PARROT_ARG_N },
5537     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
5538     { 0, 0 },
5539     &core_op_lib
5540   },
5541   { /* 392 */
5542     "add",
5543     "add_p_nc",
5544     "Parrot_add_p_nc",
5545     0,
5546     3,
5547     { PARROT_ARG_P, PARROT_ARG_NC },
5548     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
5549     { 0, 0 },
5550     &core_op_lib
5551   },
5552   { /* 393 */
5553     "add",
5554     "add_i_i_i",
5555     "Parrot_add_i_i_i",
5556     0,
5557     4,
5558     { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
5559     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
5560     { 0, 0, 0 },
5561     &core_op_lib
5562   },
5563   { /* 394 */
5564     "add",
5565     "add_i_ic_i",
5566     "Parrot_add_i_ic_i",
5567     0,
5568     4,
5569     { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
5570     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
5571     { 0, 0, 0 },
5572     &core_op_lib
5573   },
5574   { /* 395 */
5575     "add",
5576     "add_i_i_ic",
5577     "Parrot_add_i_i_ic",
5578     0,
5579     4,
5580     { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
5581     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
5582     { 0, 0, 0 },
5583     &core_op_lib
5584   },
5585   { /* 396 */
5586     "add",
5587     "add_n_n_n",
5588     "Parrot_add_n_n_n",
5589     0,
5590     4,
5591     { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_N },
5592     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
5593     { 0, 0, 0 },
5594     &core_op_lib
5595   },
5596   { /* 397 */
5597     "add",
5598     "add_n_nc_n",
5599     "Parrot_add_n_nc_n",
5600     0,
5601     4,
5602     { PARROT_ARG_N, PARROT_ARG_NC, PARROT_ARG_N },
5603     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
5604     { 0, 0, 0 },
5605     &core_op_lib
5606   },
5607   { /* 398 */
5608     "add",
5609     "add_n_n_nc",
5610     "Parrot_add_n_n_nc",
5611     0,
5612     4,
5613     { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_NC },
5614     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
5615     { 0, 0, 0 },
5616     &core_op_lib
5617   },
5618   { /* 399 */
5619     "add",
5620     "add_p_p_p",
5621     "Parrot_add_p_p_p",
5622     0,
5623     4,
5624     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
5625     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
5626     { 0, 0, 0 },
5627     &core_op_lib
5628   },
5629   { /* 400 */
5630     "add",
5631     "add_p_p_i",
5632     "Parrot_add_p_p_i",
5633     0,
5634     4,
5635     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I },
5636     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
5637     { 0, 0, 0 },
5638     &core_op_lib
5639   },
5640   { /* 401 */
5641     "add",
5642     "add_p_p_ic",
5643     "Parrot_add_p_p_ic",
5644     0,
5645     4,
5646     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
5647     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
5648     { 0, 0, 0 },
5649     &core_op_lib
5650   },
5651   { /* 402 */
5652     "add",
5653     "add_p_p_n",
5654     "Parrot_add_p_p_n",
5655     0,
5656     4,
5657     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_N },
5658     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
5659     { 0, 0, 0 },
5660     &core_op_lib
5661   },
5662   { /* 403 */
5663     "add",
5664     "add_p_p_nc",
5665     "Parrot_add_p_p_nc",
5666     0,
5667     4,
5668     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_NC },
5669     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
5670     { 0, 0, 0 },
5671     &core_op_lib
5672   },
5673   { /* 404 */
5674     "dec",
5675     "dec_i",
5676     "Parrot_dec_i",
5677     0,
5678     2,
5679     { PARROT_ARG_I },
5680     { PARROT_ARGDIR_INOUT },
5681     { 0 },
5682     &core_op_lib
5683   },
5684   { /* 405 */
5685     "dec",
5686     "dec_n",
5687     "Parrot_dec_n",
5688     0,
5689     2,
5690     { PARROT_ARG_N },
5691     { PARROT_ARGDIR_INOUT },
5692     { 0 },
5693     &core_op_lib
5694   },
5695   { /* 406 */
5696     "dec",
5697     "dec_p",
5698     "Parrot_dec_p",
5699     0,
5700     2,
5701     { PARROT_ARG_P },
5702     { PARROT_ARGDIR_IN },
5703     { 0 },
5704     &core_op_lib
5705   },
5706   { /* 407 */
5707     "div",
5708     "div_i_i",
5709     "Parrot_div_i_i",
5710     0,
5711     3,
5712     { PARROT_ARG_I, PARROT_ARG_I },
5713     { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
5714     { 0, 0 },
5715     &core_op_lib
5716   },
5717   { /* 408 */
5718     "div",
5719     "div_i_ic",
5720     "Parrot_div_i_ic",
5721     0,
5722     3,
5723     { PARROT_ARG_I, PARROT_ARG_IC },
5724     { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
5725     { 0, 0 },
5726     &core_op_lib
5727   },
5728   { /* 409 */
5729     "div",
5730     "div_n_n",
5731     "Parrot_div_n_n",
5732     0,
5733     3,
5734     { PARROT_ARG_N, PARROT_ARG_N },
5735     { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
5736     { 0, 0 },
5737     &core_op_lib
5738   },
5739   { /* 410 */
5740     "div",
5741     "div_n_nc",
5742     "Parrot_div_n_nc",
5743     0,
5744     3,
5745     { PARROT_ARG_N, PARROT_ARG_NC },
5746     { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
5747     { 0, 0 },
5748     &core_op_lib
5749   },
5750   { /* 411 */
5751     "div",
5752     "div_p_p",
5753     "Parrot_div_p_p",
5754     0,
5755     3,
5756     { PARROT_ARG_P, PARROT_ARG_P },
5757     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
5758     { 0, 0 },
5759     &core_op_lib
5760   },
5761   { /* 412 */
5762     "div",
5763     "div_p_i",
5764     "Parrot_div_p_i",
5765     0,
5766     3,
5767     { PARROT_ARG_P, PARROT_ARG_I },
5768     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
5769     { 0, 0 },
5770     &core_op_lib
5771   },
5772   { /* 413 */
5773     "div",
5774     "div_p_ic",
5775     "Parrot_div_p_ic",
5776     0,
5777     3,
5778     { PARROT_ARG_P, PARROT_ARG_IC },
5779     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
5780     { 0, 0 },
5781     &core_op_lib
5782   },
5783   { /* 414 */
5784     "div",
5785     "div_p_n",
5786     "Parrot_div_p_n",
5787     0,
5788     3,
5789     { PARROT_ARG_P, PARROT_ARG_N },
5790     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
5791     { 0, 0 },
5792     &core_op_lib
5793   },
5794   { /* 415 */
5795     "div",
5796     "div_p_nc",
5797     "Parrot_div_p_nc",
5798     0,
5799     3,
5800     { PARROT_ARG_P, PARROT_ARG_NC },
5801     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
5802     { 0, 0 },
5803     &core_op_lib
5804   },
5805   { /* 416 */
5806     "div",
5807     "div_i_i_i",
5808     "Parrot_div_i_i_i",
5809     0,
5810     4,
5811     { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
5812     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
5813     { 0, 0, 0 },
5814     &core_op_lib
5815   },
5816   { /* 417 */
5817     "div",
5818     "div_i_ic_i",
5819     "Parrot_div_i_ic_i",
5820     0,
5821     4,
5822     { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
5823     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
5824     { 0, 0, 0 },
5825     &core_op_lib
5826   },
5827   { /* 418 */
5828     "div",
5829     "div_i_i_ic",
5830     "Parrot_div_i_i_ic",
5831     0,
5832     4,
5833     { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
5834     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
5835     { 0, 0, 0 },
5836     &core_op_lib
5837   },
5838   { /* 419 */
5839     "div",
5840     "div_i_ic_ic",
5841     "Parrot_div_i_ic_ic",
5842     0,
5843     4,
5844     { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_IC },
5845     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
5846     { 0, 0, 0 },
5847     &core_op_lib
5848   },
5849   { /* 420 */
5850     "div",
5851     "div_n_n_n",
5852     "Parrot_div_n_n_n",
5853     0,
5854     4,
5855     { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_N },
5856     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
5857     { 0, 0, 0 },
5858     &core_op_lib
5859   },
5860   { /* 421 */
5861     "div",
5862     "div_n_nc_n",
5863     "Parrot_div_n_nc_n",
5864     0,
5865     4,
5866     { PARROT_ARG_N, PARROT_ARG_NC, PARROT_ARG_N },
5867     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
5868     { 0, 0, 0 },
5869     &core_op_lib
5870   },
5871   { /* 422 */
5872     "div",
5873     "div_n_n_nc",
5874     "Parrot_div_n_n_nc",
5875     0,
5876     4,
5877     { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_NC },
5878     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
5879     { 0, 0, 0 },
5880     &core_op_lib
5881   },
5882   { /* 423 */
5883     "div",
5884     "div_n_nc_nc",
5885     "Parrot_div_n_nc_nc",
5886     0,
5887     4,
5888     { PARROT_ARG_N, PARROT_ARG_NC, PARROT_ARG_NC },
5889     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
5890     { 0, 0, 0 },
5891     &core_op_lib
5892   },
5893   { /* 424 */
5894     "div",
5895     "div_p_p_p",
5896     "Parrot_div_p_p_p",
5897     0,
5898     4,
5899     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
5900     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
5901     { 0, 0, 0 },
5902     &core_op_lib
5903   },
5904   { /* 425 */
5905     "div",
5906     "div_p_p_i",
5907     "Parrot_div_p_p_i",
5908     0,
5909     4,
5910     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I },
5911     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
5912     { 0, 0, 0 },
5913     &core_op_lib
5914   },
5915   { /* 426 */
5916     "div",
5917     "div_p_p_ic",
5918     "Parrot_div_p_p_ic",
5919     0,
5920     4,
5921     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
5922     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
5923     { 0, 0, 0 },
5924     &core_op_lib
5925   },
5926   { /* 427 */
5927     "div",
5928     "div_p_p_n",
5929     "Parrot_div_p_p_n",
5930     0,
5931     4,
5932     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_N },
5933     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
5934     { 0, 0, 0 },
5935     &core_op_lib
5936   },
5937   { /* 428 */
5938     "div",
5939     "div_p_p_nc",
5940     "Parrot_div_p_p_nc",
5941     0,
5942     4,
5943     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_NC },
5944     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
5945     { 0, 0, 0 },
5946     &core_op_lib
5947   },
5948   { /* 429 */
5949     "fdiv",
5950     "fdiv_i_i",
5951     "Parrot_fdiv_i_i",
5952     0,
5953     3,
5954     { PARROT_ARG_I, PARROT_ARG_I },
5955     { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
5956     { 0, 0 },
5957     &core_op_lib
5958   },
5959   { /* 430 */
5960     "fdiv",
5961     "fdiv_i_ic",
5962     "Parrot_fdiv_i_ic",
5963     0,
5964     3,
5965     { PARROT_ARG_I, PARROT_ARG_IC },
5966     { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
5967     { 0, 0 },
5968     &core_op_lib
5969   },
5970   { /* 431 */
5971     "fdiv",
5972     "fdiv_n_n",
5973     "Parrot_fdiv_n_n",
5974     0,
5975     3,
5976     { PARROT_ARG_N, PARROT_ARG_N },
5977     { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
5978     { 0, 0 },
5979     &core_op_lib
5980   },
5981   { /* 432 */
5982     "fdiv",
5983     "fdiv_n_nc",
5984     "Parrot_fdiv_n_nc",
5985     0,
5986     3,
5987     { PARROT_ARG_N, PARROT_ARG_NC },
5988     { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
5989     { 0, 0 },
5990     &core_op_lib
5991   },
5992   { /* 433 */
5993     "fdiv",
5994     "fdiv_p_p",
5995     "Parrot_fdiv_p_p",
5996     0,
5997     3,
5998     { PARROT_ARG_P, PARROT_ARG_P },
5999     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
6000     { 0, 0 },
6001     &core_op_lib
6002   },
6003   { /* 434 */
6004     "fdiv",
6005     "fdiv_p_i",
6006     "Parrot_fdiv_p_i",
6007     0,
6008     3,
6009     { PARROT_ARG_P, PARROT_ARG_I },
6010     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
6011     { 0, 0 },
6012     &core_op_lib
6013   },
6014   { /* 435 */
6015     "fdiv",
6016     "fdiv_p_ic",
6017     "Parrot_fdiv_p_ic",
6018     0,
6019     3,
6020     { PARROT_ARG_P, PARROT_ARG_IC },
6021     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
6022     { 0, 0 },
6023     &core_op_lib
6024   },
6025   { /* 436 */
6026     "fdiv",
6027     "fdiv_p_n",
6028     "Parrot_fdiv_p_n",
6029     0,
6030     3,
6031     { PARROT_ARG_P, PARROT_ARG_N },
6032     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
6033     { 0, 0 },
6034     &core_op_lib
6035   },
6036   { /* 437 */
6037     "fdiv",
6038     "fdiv_p_nc",
6039     "Parrot_fdiv_p_nc",
6040     0,
6041     3,
6042     { PARROT_ARG_P, PARROT_ARG_NC },
6043     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
6044     { 0, 0 },
6045     &core_op_lib
6046   },
6047   { /* 438 */
6048     "fdiv",
6049     "fdiv_i_i_i",
6050     "Parrot_fdiv_i_i_i",
6051     0,
6052     4,
6053     { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
6054     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
6055     { 0, 0, 0 },
6056     &core_op_lib
6057   },
6058   { /* 439 */
6059     "fdiv",
6060     "fdiv_i_ic_i",
6061     "Parrot_fdiv_i_ic_i",
6062     0,
6063     4,
6064     { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
6065     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
6066     { 0, 0, 0 },
6067     &core_op_lib
6068   },
6069   { /* 440 */
6070     "fdiv",
6071     "fdiv_i_i_ic",
6072     "Parrot_fdiv_i_i_ic",
6073     0,
6074     4,
6075     { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
6076     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
6077     { 0, 0, 0 },
6078     &core_op_lib
6079   },
6080   { /* 441 */
6081     "fdiv",
6082     "fdiv_n_n_n",
6083     "Parrot_fdiv_n_n_n",
6084     0,
6085     4,
6086     { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_N },
6087     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
6088     { 0, 0, 0 },
6089     &core_op_lib
6090   },
6091   { /* 442 */
6092     "fdiv",
6093     "fdiv_n_nc_n",
6094     "Parrot_fdiv_n_nc_n",
6095     0,
6096     4,
6097     { PARROT_ARG_N, PARROT_ARG_NC, PARROT_ARG_N },
6098     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
6099     { 0, 0, 0 },
6100     &core_op_lib
6101   },
6102   { /* 443 */
6103     "fdiv",
6104     "fdiv_n_n_nc",
6105     "Parrot_fdiv_n_n_nc",
6106     0,
6107     4,
6108     { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_NC },
6109     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
6110     { 0, 0, 0 },
6111     &core_op_lib
6112   },
6113   { /* 444 */
6114     "fdiv",
6115     "fdiv_p_p_p",
6116     "Parrot_fdiv_p_p_p",
6117     0,
6118     4,
6119     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
6120     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
6121     { 0, 0, 0 },
6122     &core_op_lib
6123   },
6124   { /* 445 */
6125     "fdiv",
6126     "fdiv_p_p_i",
6127     "Parrot_fdiv_p_p_i",
6128     0,
6129     4,
6130     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I },
6131     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
6132     { 0, 0, 0 },
6133     &core_op_lib
6134   },
6135   { /* 446 */
6136     "fdiv",
6137     "fdiv_p_p_ic",
6138     "Parrot_fdiv_p_p_ic",
6139     0,
6140     4,
6141     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
6142     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
6143     { 0, 0, 0 },
6144     &core_op_lib
6145   },
6146   { /* 447 */
6147     "fdiv",
6148     "fdiv_p_p_n",
6149     "Parrot_fdiv_p_p_n",
6150     0,
6151     4,
6152     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_N },
6153     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
6154     { 0, 0, 0 },
6155     &core_op_lib
6156   },
6157   { /* 448 */
6158     "fdiv",
6159     "fdiv_p_p_nc",
6160     "Parrot_fdiv_p_p_nc",
6161     0,
6162     4,
6163     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_NC },
6164     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
6165     { 0, 0, 0 },
6166     &core_op_lib
6167   },
6168   { /* 449 */
6169     "ceil",
6170     "ceil_n",
6171     "Parrot_ceil_n",
6172     0,
6173     2,
6174     { PARROT_ARG_N },
6175     { PARROT_ARGDIR_INOUT },
6176     { 0 },
6177     &core_op_lib
6178   },
6179   { /* 450 */
6180     "ceil",
6181     "ceil_i_n",
6182     "Parrot_ceil_i_n",
6183     0,
6184     3,
6185     { PARROT_ARG_I, PARROT_ARG_N },
6186     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
6187     { 0, 0 },
6188     &core_op_lib
6189   },
6190   { /* 451 */
6191     "ceil",
6192     "ceil_n_n",
6193     "Parrot_ceil_n_n",
6194     0,
6195     3,
6196     { PARROT_ARG_N, PARROT_ARG_N },
6197     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
6198     { 0, 0 },
6199     &core_op_lib
6200   },
6201   { /* 452 */
6202     "floor",
6203     "floor_n",
6204     "Parrot_floor_n",
6205     0,
6206     2,
6207     { PARROT_ARG_N },
6208     { PARROT_ARGDIR_INOUT },
6209     { 0 },
6210     &core_op_lib
6211   },
6212   { /* 453 */
6213     "floor",
6214     "floor_i_n",
6215     "Parrot_floor_i_n",
6216     0,
6217     3,
6218     { PARROT_ARG_I, PARROT_ARG_N },
6219     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
6220     { 0, 0 },
6221     &core_op_lib
6222   },
6223   { /* 454 */
6224     "floor",
6225     "floor_n_n",
6226     "Parrot_floor_n_n",
6227     0,
6228     3,
6229     { PARROT_ARG_N, PARROT_ARG_N },
6230     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
6231     { 0, 0 },
6232     &core_op_lib
6233   },
6234   { /* 455 */
6235     "inc",
6236     "inc_i",
6237     "Parrot_inc_i",
6238     0,
6239     2,
6240     { PARROT_ARG_I },
6241     { PARROT_ARGDIR_INOUT },
6242     { 0 },
6243     &core_op_lib
6244   },
6245   { /* 456 */
6246     "inc",
6247     "inc_n",
6248     "Parrot_inc_n",
6249     0,
6250     2,
6251     { PARROT_ARG_N },
6252     { PARROT_ARGDIR_INOUT },
6253     { 0 },
6254     &core_op_lib
6255   },
6256   { /* 457 */
6257     "inc",
6258     "inc_p",
6259     "Parrot_inc_p",
6260     0,
6261     2,
6262     { PARROT_ARG_P },
6263     { PARROT_ARGDIR_IN },
6264     { 0 },
6265     &core_op_lib
6266   },
6267   { /* 458 */
6268     "mod",
6269     "mod_i_i",
6270     "Parrot_mod_i_i",
6271     0,
6272     3,
6273     { PARROT_ARG_I, PARROT_ARG_I },
6274     { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
6275     { 0, 0 },
6276     &core_op_lib
6277   },
6278   { /* 459 */
6279     "mod",
6280     "mod_i_ic",
6281     "Parrot_mod_i_ic",
6282     0,
6283     3,
6284     { PARROT_ARG_I, PARROT_ARG_IC },
6285     { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
6286     { 0, 0 },
6287     &core_op_lib
6288   },
6289   { /* 460 */
6290     "mod",
6291     "mod_n_n",
6292     "Parrot_mod_n_n",
6293     0,
6294     3,
6295     { PARROT_ARG_N, PARROT_ARG_N },
6296     { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
6297     { 0, 0 },
6298     &core_op_lib
6299   },
6300   { /* 461 */
6301     "mod",
6302     "mod_n_nc",
6303     "Parrot_mod_n_nc",
6304     0,
6305     3,
6306     { PARROT_ARG_N, PARROT_ARG_NC },
6307     { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
6308     { 0, 0 },
6309     &core_op_lib
6310   },
6311   { /* 462 */
6312     "mod",
6313     "mod_p_p",
6314     "Parrot_mod_p_p",
6315     0,
6316     3,
6317     { PARROT_ARG_P, PARROT_ARG_P },
6318     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
6319     { 0, 0 },
6320     &core_op_lib
6321   },
6322   { /* 463 */
6323     "mod",
6324     "mod_p_i",
6325     "Parrot_mod_p_i",
6326     0,
6327     3,
6328     { PARROT_ARG_P, PARROT_ARG_I },
6329     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
6330     { 0, 0 },
6331     &core_op_lib
6332   },
6333   { /* 464 */
6334     "mod",
6335     "mod_p_ic",
6336     "Parrot_mod_p_ic",
6337     0,
6338     3,
6339     { PARROT_ARG_P, PARROT_ARG_IC },
6340     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
6341     { 0, 0 },
6342     &core_op_lib
6343   },
6344   { /* 465 */
6345     "mod",
6346     "mod_p_n",
6347     "Parrot_mod_p_n",
6348     0,
6349     3,
6350     { PARROT_ARG_P, PARROT_ARG_N },
6351     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
6352     { 0, 0 },
6353     &core_op_lib
6354   },
6355   { /* 466 */
6356     "mod",
6357     "mod_p_nc",
6358     "Parrot_mod_p_nc",
6359     0,
6360     3,
6361     { PARROT_ARG_P, PARROT_ARG_NC },
6362     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
6363     { 0, 0 },
6364     &core_op_lib
6365   },
6366   { /* 467 */
6367     "mod",
6368     "mod_i_i_i",
6369     "Parrot_mod_i_i_i",
6370     0,
6371     4,
6372     { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
6373     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
6374     { 0, 0, 0 },
6375     &core_op_lib
6376   },
6377   { /* 468 */
6378     "mod",
6379     "mod_i_ic_i",
6380     "Parrot_mod_i_ic_i",
6381     0,
6382     4,
6383     { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
6384     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
6385     { 0, 0, 0 },
6386     &core_op_lib
6387   },
6388   { /* 469 */
6389     "mod",
6390     "mod_i_i_ic",
6391     "Parrot_mod_i_i_ic",
6392     0,
6393     4,
6394     { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
6395     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
6396     { 0, 0, 0 },
6397     &core_op_lib
6398   },
6399   { /* 470 */
6400     "mod",
6401     "mod_n_n_n",
6402     "Parrot_mod_n_n_n",
6403     0,
6404     4,
6405     { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_N },
6406     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
6407     { 0, 0, 0 },
6408     &core_op_lib
6409   },
6410   { /* 471 */
6411     "mod",
6412     "mod_n_nc_n",
6413     "Parrot_mod_n_nc_n",
6414     0,
6415     4,
6416     { PARROT_ARG_N, PARROT_ARG_NC, PARROT_ARG_N },
6417     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
6418     { 0, 0, 0 },
6419     &core_op_lib
6420   },
6421   { /* 472 */
6422     "mod",
6423     "mod_n_n_nc",
6424     "Parrot_mod_n_n_nc",
6425     0,
6426     4,
6427     { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_NC },
6428     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
6429     { 0, 0, 0 },
6430     &core_op_lib
6431   },
6432   { /* 473 */
6433     "mod",
6434     "mod_p_p_p",
6435     "Parrot_mod_p_p_p",
6436     0,
6437     4,
6438     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
6439     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
6440     { 0, 0, 0 },
6441     &core_op_lib
6442   },
6443   { /* 474 */
6444     "mod",
6445     "mod_p_p_i",
6446     "Parrot_mod_p_p_i",
6447     0,
6448     4,
6449     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I },
6450     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
6451     { 0, 0, 0 },
6452     &core_op_lib
6453   },
6454   { /* 475 */
6455     "mod",
6456     "mod_p_p_ic",
6457     "Parrot_mod_p_p_ic",
6458     0,
6459     4,
6460     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
6461     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
6462     { 0, 0, 0 },
6463     &core_op_lib
6464   },
6465   { /* 476 */
6466     "mod",
6467     "mod_p_p_n",
6468     "Parrot_mod_p_p_n",
6469     0,
6470     4,
6471     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_N },
6472     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
6473     { 0, 0, 0 },
6474     &core_op_lib
6475   },
6476   { /* 477 */
6477     "mod",
6478     "mod_p_p_nc",
6479     "Parrot_mod_p_p_nc",
6480     0,
6481     4,
6482     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_NC },
6483     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
6484     { 0, 0, 0 },
6485     &core_op_lib
6486   },
6487   { /* 478 */
6488     "mul",
6489     "mul_i_i",
6490     "Parrot_mul_i_i",
6491     0,
6492     3,
6493     { PARROT_ARG_I, PARROT_ARG_I },
6494     { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
6495     { 0, 0 },
6496     &core_op_lib
6497   },
6498   { /* 479 */
6499     "mul",
6500     "mul_i_ic",
6501     "Parrot_mul_i_ic",
6502     0,
6503     3,
6504     { PARROT_ARG_I, PARROT_ARG_IC },
6505     { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
6506     { 0, 0 },
6507     &core_op_lib
6508   },
6509   { /* 480 */
6510     "mul",
6511     "mul_n_n",
6512     "Parrot_mul_n_n",
6513     0,
6514     3,
6515     { PARROT_ARG_N, PARROT_ARG_N },
6516     { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
6517     { 0, 0 },
6518     &core_op_lib
6519   },
6520   { /* 481 */
6521     "mul",
6522     "mul_n_nc",
6523     "Parrot_mul_n_nc",
6524     0,
6525     3,
6526     { PARROT_ARG_N, PARROT_ARG_NC },
6527     { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
6528     { 0, 0 },
6529     &core_op_lib
6530   },
6531   { /* 482 */
6532     "mul",
6533     "mul_p_p",
6534     "Parrot_mul_p_p",
6535     0,
6536     3,
6537     { PARROT_ARG_P, PARROT_ARG_P },
6538     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
6539     { 0, 0 },
6540     &core_op_lib
6541   },
6542   { /* 483 */
6543     "mul",
6544     "mul_p_i",
6545     "Parrot_mul_p_i",
6546     0,
6547     3,
6548     { PARROT_ARG_P, PARROT_ARG_I },
6549     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
6550     { 0, 0 },
6551     &core_op_lib
6552   },
6553   { /* 484 */
6554     "mul",
6555     "mul_p_ic",
6556     "Parrot_mul_p_ic",
6557     0,
6558     3,
6559     { PARROT_ARG_P, PARROT_ARG_IC },
6560     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
6561     { 0, 0 },
6562     &core_op_lib
6563   },
6564   { /* 485 */
6565     "mul",
6566     "mul_p_n",
6567     "Parrot_mul_p_n",
6568     0,
6569     3,
6570     { PARROT_ARG_P, PARROT_ARG_N },
6571     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
6572     { 0, 0 },
6573     &core_op_lib
6574   },
6575   { /* 486 */
6576     "mul",
6577     "mul_p_nc",
6578     "Parrot_mul_p_nc",
6579     0,
6580     3,
6581     { PARROT_ARG_P, PARROT_ARG_NC },
6582     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
6583     { 0, 0 },
6584     &core_op_lib
6585   },
6586   { /* 487 */
6587     "mul",
6588     "mul_i_i_i",
6589     "Parrot_mul_i_i_i",
6590     0,
6591     4,
6592     { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
6593     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
6594     { 0, 0, 0 },
6595     &core_op_lib
6596   },
6597   { /* 488 */
6598     "mul",
6599     "mul_i_ic_i",
6600     "Parrot_mul_i_ic_i",
6601     0,
6602     4,
6603     { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
6604     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
6605     { 0, 0, 0 },
6606     &core_op_lib
6607   },
6608   { /* 489 */
6609     "mul",
6610     "mul_i_i_ic",
6611     "Parrot_mul_i_i_ic",
6612     0,
6613     4,
6614     { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
6615     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
6616     { 0, 0, 0 },
6617     &core_op_lib
6618   },
6619   { /* 490 */
6620     "mul",
6621     "mul_n_n_n",
6622     "Parrot_mul_n_n_n",
6623     0,
6624     4,
6625     { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_N },
6626     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
6627     { 0, 0, 0 },
6628     &core_op_lib
6629   },
6630   { /* 491 */
6631     "mul",
6632     "mul_n_nc_n",
6633     "Parrot_mul_n_nc_n",
6634     0,
6635     4,
6636     { PARROT_ARG_N, PARROT_ARG_NC, PARROT_ARG_N },
6637     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
6638     { 0, 0, 0 },
6639     &core_op_lib
6640   },
6641   { /* 492 */
6642     "mul",
6643     "mul_n_n_nc",
6644     "Parrot_mul_n_n_nc",
6645     0,
6646     4,
6647     { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_NC },
6648     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
6649     { 0, 0, 0 },
6650     &core_op_lib
6651   },
6652   { /* 493 */
6653     "mul",
6654     "mul_p_p_p",
6655     "Parrot_mul_p_p_p",
6656     0,
6657     4,
6658     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
6659     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
6660     { 0, 0, 0 },
6661     &core_op_lib
6662   },
6663   { /* 494 */
6664     "mul",
6665     "mul_p_p_i",
6666     "Parrot_mul_p_p_i",
6667     0,
6668     4,
6669     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I },
6670     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
6671     { 0, 0, 0 },
6672     &core_op_lib
6673   },
6674   { /* 495 */
6675     "mul",
6676     "mul_p_p_ic",
6677     "Parrot_mul_p_p_ic",
6678     0,
6679     4,
6680     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
6681     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
6682     { 0, 0, 0 },
6683     &core_op_lib
6684   },
6685   { /* 496 */
6686     "mul",
6687     "mul_p_p_n",
6688     "Parrot_mul_p_p_n",
6689     0,
6690     4,
6691     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_N },
6692     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
6693     { 0, 0, 0 },
6694     &core_op_lib
6695   },
6696   { /* 497 */
6697     "mul",
6698     "mul_p_p_nc",
6699     "Parrot_mul_p_p_nc",
6700     0,
6701     4,
6702     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_NC },
6703     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
6704     { 0, 0, 0 },
6705     &core_op_lib
6706   },
6707   { /* 498 */
6708     "neg",
6709     "neg_i",
6710     "Parrot_neg_i",
6711     0,
6712     2,
6713     { PARROT_ARG_I },
6714     { PARROT_ARGDIR_INOUT },
6715     { 0 },
6716     &core_op_lib
6717   },
6718   { /* 499 */
6719     "neg",
6720     "neg_n",
6721     "Parrot_neg_n",
6722     0,
6723     2,
6724     { PARROT_ARG_N },
6725     { PARROT_ARGDIR_INOUT },
6726     { 0 },
6727     &core_op_lib
6728   },
6729   { /* 500 */
6730     "neg",
6731     "neg_p",
6732     "Parrot_neg_p",
6733     0,
6734     2,
6735     { PARROT_ARG_P },
6736     { PARROT_ARGDIR_IN },
6737     { 0 },
6738     &core_op_lib
6739   },
6740   { /* 501 */
6741     "neg",
6742     "neg_i_i",
6743     "Parrot_neg_i_i",
6744     0,
6745     3,
6746     { PARROT_ARG_I, PARROT_ARG_I },
6747     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
6748     { 0, 0 },
6749     &core_op_lib
6750   },
6751   { /* 502 */
6752     "neg",
6753     "neg_n_n",
6754     "Parrot_neg_n_n",
6755     0,
6756     3,
6757     { PARROT_ARG_N, PARROT_ARG_N },
6758     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
6759     { 0, 0 },
6760     &core_op_lib
6761   },
6762   { /* 503 */
6763     "neg",
6764     "neg_p_p",
6765     "Parrot_neg_p_p",
6766     0,
6767     3,
6768     { PARROT_ARG_P, PARROT_ARG_P },
6769     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
6770     { 0, 0 },
6771     &core_op_lib
6772   },
6773   { /* 504 */
6774     "sub",
6775     "sub_i_i",
6776     "Parrot_sub_i_i",
6777     0,
6778     3,
6779     { PARROT_ARG_I, PARROT_ARG_I },
6780     { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
6781     { 0, 0 },
6782     &core_op_lib
6783   },
6784   { /* 505 */
6785     "sub",
6786     "sub_i_ic",
6787     "Parrot_sub_i_ic",
6788     0,
6789     3,
6790     { PARROT_ARG_I, PARROT_ARG_IC },
6791     { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
6792     { 0, 0 },
6793     &core_op_lib
6794   },
6795   { /* 506 */
6796     "sub",
6797     "sub_n_n",
6798     "Parrot_sub_n_n",
6799     0,
6800     3,
6801     { PARROT_ARG_N, PARROT_ARG_N },
6802     { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
6803     { 0, 0 },
6804     &core_op_lib
6805   },
6806   { /* 507 */
6807     "sub",
6808     "sub_n_nc",
6809     "Parrot_sub_n_nc",
6810     0,
6811     3,
6812     { PARROT_ARG_N, PARROT_ARG_NC },
6813     { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
6814     { 0, 0 },
6815     &core_op_lib
6816   },
6817   { /* 508 */
6818     "sub",
6819     "sub_p_p",
6820     "Parrot_sub_p_p",
6821     0,
6822     3,
6823     { PARROT_ARG_P, PARROT_ARG_P },
6824     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
6825     { 0, 0 },
6826     &core_op_lib
6827   },
6828   { /* 509 */
6829     "sub",
6830     "sub_p_i",
6831     "Parrot_sub_p_i",
6832     0,
6833     3,
6834     { PARROT_ARG_P, PARROT_ARG_I },
6835     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
6836     { 0, 0 },
6837     &core_op_lib
6838   },
6839   { /* 510 */
6840     "sub",
6841     "sub_p_ic",
6842     "Parrot_sub_p_ic",
6843     0,
6844     3,
6845     { PARROT_ARG_P, PARROT_ARG_IC },
6846     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
6847     { 0, 0 },
6848     &core_op_lib
6849   },
6850   { /* 511 */
6851     "sub",
6852     "sub_p_n",
6853     "Parrot_sub_p_n",
6854     0,
6855     3,
6856     { PARROT_ARG_P, PARROT_ARG_N },
6857     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
6858     { 0, 0 },
6859     &core_op_lib
6860   },
6861   { /* 512 */
6862     "sub",
6863     "sub_p_nc",
6864     "Parrot_sub_p_nc",
6865     0,
6866     3,
6867     { PARROT_ARG_P, PARROT_ARG_NC },
6868     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
6869     { 0, 0 },
6870     &core_op_lib
6871   },
6872   { /* 513 */
6873     "sub",
6874     "sub_i_i_i",
6875     "Parrot_sub_i_i_i",
6876     0,
6877     4,
6878     { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
6879     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
6880     { 0, 0, 0 },
6881     &core_op_lib
6882   },
6883   { /* 514 */
6884     "sub",
6885     "sub_i_ic_i",
6886     "Parrot_sub_i_ic_i",
6887     0,
6888     4,
6889     { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
6890     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
6891     { 0, 0, 0 },
6892     &core_op_lib
6893   },
6894   { /* 515 */
6895     "sub",
6896     "sub_i_i_ic",
6897     "Parrot_sub_i_i_ic",
6898     0,
6899     4,
6900     { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
6901     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
6902     { 0, 0, 0 },
6903     &core_op_lib
6904   },
6905   { /* 516 */
6906     "sub",
6907     "sub_n_n_n",
6908     "Parrot_sub_n_n_n",
6909     0,
6910     4,
6911     { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_N },
6912     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
6913     { 0, 0, 0 },
6914     &core_op_lib
6915   },
6916   { /* 517 */
6917     "sub",
6918     "sub_n_nc_n",
6919     "Parrot_sub_n_nc_n",
6920     0,
6921     4,
6922     { PARROT_ARG_N, PARROT_ARG_NC, PARROT_ARG_N },
6923     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
6924     { 0, 0, 0 },
6925     &core_op_lib
6926   },
6927   { /* 518 */
6928     "sub",
6929     "sub_n_n_nc",
6930     "Parrot_sub_n_n_nc",
6931     0,
6932     4,
6933     { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_NC },
6934     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
6935     { 0, 0, 0 },
6936     &core_op_lib
6937   },
6938   { /* 519 */
6939     "sub",
6940     "sub_p_p_p",
6941     "Parrot_sub_p_p_p",
6942     0,
6943     4,
6944     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
6945     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
6946     { 0, 0, 0 },
6947     &core_op_lib
6948   },
6949   { /* 520 */
6950     "sub",
6951     "sub_p_p_i",
6952     "Parrot_sub_p_p_i",
6953     0,
6954     4,
6955     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I },
6956     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
6957     { 0, 0, 0 },
6958     &core_op_lib
6959   },
6960   { /* 521 */
6961     "sub",
6962     "sub_p_p_ic",
6963     "Parrot_sub_p_p_ic",
6964     0,
6965     4,
6966     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
6967     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
6968     { 0, 0, 0 },
6969     &core_op_lib
6970   },
6971   { /* 522 */
6972     "sub",
6973     "sub_p_p_n",
6974     "Parrot_sub_p_p_n",
6975     0,
6976     4,
6977     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_N },
6978     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
6979     { 0, 0, 0 },
6980     &core_op_lib
6981   },
6982   { /* 523 */
6983     "sub",
6984     "sub_p_p_nc",
6985     "Parrot_sub_p_p_nc",
6986     0,
6987     4,
6988     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_NC },
6989     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
6990     { 0, 0, 0 },
6991     &core_op_lib
6992   },
6993   { /* 524 */
6994     "sqrt",
6995     "sqrt_n_n",
6996     "Parrot_sqrt_n_n",
6997     0,
6998     3,
6999     { PARROT_ARG_N, PARROT_ARG_N },
7000     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
7001     { 0, 0 },
7002     &core_op_lib
7003   },
7004   { /* 525 */
7005     "is_inf_or_nan",
7006     "is_inf_or_nan_i_n",
7007     "Parrot_is_inf_or_nan_i_n",
7008     0,
7009     3,
7010     { PARROT_ARG_I, PARROT_ARG_N },
7011     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
7012     { 0, 0 },
7013     &core_op_lib
7014   },
7015   { /* 526 */
7016     "is_inf_or_nan",
7017     "is_inf_or_nan_i_nc",
7018     "Parrot_is_inf_or_nan_i_nc",
7019     0,
7020     3,
7021     { PARROT_ARG_I, PARROT_ARG_NC },
7022     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
7023     { 0, 0 },
7024     &core_op_lib
7025   },
7026   { /* 527 */
7027     "callmethodcc",
7028     "callmethodcc_p_s",
7029     "Parrot_callmethodcc_p_s",
7030     0,
7031     3,
7032     { PARROT_ARG_P, PARROT_ARG_S },
7033     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
7034     { 0, 0 },
7035     &core_op_lib
7036   },
7037   { /* 528 */
7038     "callmethodcc",
7039     "callmethodcc_p_sc",
7040     "Parrot_callmethodcc_p_sc",
7041     0,
7042     3,
7043     { PARROT_ARG_P, PARROT_ARG_SC },
7044     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
7045     { 0, 0 },
7046     &core_op_lib
7047   },
7048   { /* 529 */
7049     "callmethodcc",
7050     "callmethodcc_p_p",
7051     "Parrot_callmethodcc_p_p",
7052     0,
7053     3,
7054     { PARROT_ARG_P, PARROT_ARG_P },
7055     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
7056     { 0, 0 },
7057     &core_op_lib
7058   },
7059   { /* 530 */
7060     "callmethod",
7061     "callmethod_p_s_p",
7062     "Parrot_callmethod_p_s_p",
7063     0,
7064     4,
7065     { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_P },
7066     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
7067     { 0, 0, 0 },
7068     &core_op_lib
7069   },
7070   { /* 531 */
7071     "callmethod",
7072     "callmethod_p_sc_p",
7073     "Parrot_callmethod_p_sc_p",
7074     0,
7075     4,
7076     { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_P },
7077     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
7078     { 0, 0, 0 },
7079     &core_op_lib
7080   },
7081   { /* 532 */
7082     "callmethod",
7083     "callmethod_p_p_p",
7084     "Parrot_callmethod_p_p_p",
7085     0,
7086     4,
7087     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
7088     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
7089     { 0, 0, 0 },
7090     &core_op_lib
7091   },
7092   { /* 533 */
7093     "tailcallmethod",
7094     "tailcallmethod_p_s",
7095     "Parrot_tailcallmethod_p_s",
7096     0,
7097     3,
7098     { PARROT_ARG_P, PARROT_ARG_S },
7099     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
7100     { 0, 0 },
7101     &core_op_lib
7102   },
7103   { /* 534 */
7104     "tailcallmethod",
7105     "tailcallmethod_p_sc",
7106     "Parrot_tailcallmethod_p_sc",
7107     0,
7108     3,
7109     { PARROT_ARG_P, PARROT_ARG_SC },
7110     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
7111     { 0, 0 },
7112     &core_op_lib
7113   },
7114   { /* 535 */
7115     "tailcallmethod",
7116     "tailcallmethod_p_p",
7117     "Parrot_tailcallmethod_p_p",
7118     0,
7119     3,
7120     { PARROT_ARG_P, PARROT_ARG_P },
7121     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
7122     { 0, 0 },
7123     &core_op_lib
7124   },
7125   { /* 536 */
7126     "addmethod",
7127     "addmethod_p_s_p",
7128     "Parrot_addmethod_p_s_p",
7129     0,
7130     4,
7131     { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_P },
7132     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
7133     { 0, 0, 0 },
7134     &core_op_lib
7135   },
7136   { /* 537 */
7137     "addmethod",
7138     "addmethod_p_sc_p",
7139     "Parrot_addmethod_p_sc_p",
7140     0,
7141     4,
7142     { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_P },
7143     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
7144     { 0, 0, 0 },
7145     &core_op_lib
7146   },
7147   { /* 538 */
7148     "can",
7149     "can_i_p_s",
7150     "Parrot_can_i_p_s",
7151     0,
7152     4,
7153     { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_S },
7154     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
7155     { 0, 0, 0 },
7156     &core_op_lib
7157   },
7158   { /* 539 */
7159     "can",
7160     "can_i_p_sc",
7161     "Parrot_can_i_p_sc",
7162     0,
7163     4,
7164     { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_SC },
7165     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
7166     { 0, 0, 0 },
7167     &core_op_lib
7168   },
7169   { /* 540 */
7170     "does",
7171     "does_i_p_s",
7172     "Parrot_does_i_p_s",
7173     0,
7174     4,
7175     { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_S },
7176     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
7177     { 0, 0, 0 },
7178     &core_op_lib
7179   },
7180   { /* 541 */
7181     "does",
7182     "does_i_p_sc",
7183     "Parrot_does_i_p_sc",
7184     0,
7185     4,
7186     { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_SC },
7187     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
7188     { 0, 0, 0 },
7189     &core_op_lib
7190   },
7191   { /* 542 */
7192     "does",
7193     "does_i_p_p",
7194     "Parrot_does_i_p_p",
7195     0,
7196     4,
7197     { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_P },
7198     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
7199     { 0, 0, 0 },
7200     &core_op_lib
7201   },
7202   { /* 543 */
7203     "does",
7204     "does_i_p_pc",
7205     "Parrot_does_i_p_pc",
7206     0,
7207     4,
7208     { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_PC },
7209     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
7210     { 0, 0, 0 },
7211     &core_op_lib
7212   },
7213   { /* 544 */
7214     "isa",
7215     "isa_i_p_s",
7216     "Parrot_isa_i_p_s",
7217     0,
7218     4,
7219     { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_S },
7220     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
7221     { 0, 0, 0 },
7222     &core_op_lib
7223   },
7224   { /* 545 */
7225     "isa",
7226     "isa_i_p_sc",
7227     "Parrot_isa_i_p_sc",
7228     0,
7229     4,
7230     { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_SC },
7231     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
7232     { 0, 0, 0 },
7233     &core_op_lib
7234   },
7235   { /* 546 */
7236     "isa",
7237     "isa_i_p_p",
7238     "Parrot_isa_i_p_p",
7239     0,
7240     4,
7241     { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_P },
7242     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
7243     { 0, 0, 0 },
7244     &core_op_lib
7245   },
7246   { /* 547 */
7247     "isa",
7248     "isa_i_p_pc",
7249     "Parrot_isa_i_p_pc",
7250     0,
7251     4,
7252     { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_PC },
7253     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
7254     { 0, 0, 0 },
7255     &core_op_lib
7256   },
7257   { /* 548 */
7258     "newclass",
7259     "newclass_p_s",
7260     "Parrot_newclass_p_s",
7261     0,
7262     3,
7263     { PARROT_ARG_P, PARROT_ARG_S },
7264     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
7265     { 0, 0 },
7266     &core_op_lib
7267   },
7268   { /* 549 */
7269     "newclass",
7270     "newclass_p_sc",
7271     "Parrot_newclass_p_sc",
7272     0,
7273     3,
7274     { PARROT_ARG_P, PARROT_ARG_SC },
7275     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
7276     { 0, 0 },
7277     &core_op_lib
7278   },
7279   { /* 550 */
7280     "newclass",
7281     "newclass_p_p",
7282     "Parrot_newclass_p_p",
7283     0,
7284     3,
7285     { PARROT_ARG_P, PARROT_ARG_P },
7286     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
7287     { 0, 0 },
7288     &core_op_lib
7289   },
7290   { /* 551 */
7291     "newclass",
7292     "newclass_p_pc",
7293     "Parrot_newclass_p_pc",
7294     0,
7295     3,
7296     { PARROT_ARG_P, PARROT_ARG_PC },
7297     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
7298     { 0, 0 },
7299     &core_op_lib
7300   },
7301   { /* 552 */
7302     "subclass",
7303     "subclass_p_p",
7304     "Parrot_subclass_p_p",
7305     0,
7306     3,
7307     { PARROT_ARG_P, PARROT_ARG_P },
7308     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
7309     { 0, 0 },
7310     &core_op_lib
7311   },
7312   { /* 553 */
7313     "subclass",
7314     "subclass_p_pc",
7315     "Parrot_subclass_p_pc",
7316     0,
7317     3,
7318     { PARROT_ARG_P, PARROT_ARG_PC },
7319     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
7320     { 0, 0 },
7321     &core_op_lib
7322   },
7323   { /* 554 */
7324     "subclass",
7325     "subclass_p_p_s",
7326     "Parrot_subclass_p_p_s",
7327     0,
7328     4,
7329     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S },
7330     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
7331     { 0, 0, 0 },
7332     &core_op_lib
7333   },
7334   { /* 555 */
7335     "subclass",
7336     "subclass_p_pc_s",
7337     "Parrot_subclass_p_pc_s",
7338     0,
7339     4,
7340     { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_S },
7341     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
7342     { 0, 0, 0 },
7343     &core_op_lib
7344   },
7345   { /* 556 */
7346     "subclass",
7347     "subclass_p_p_sc",
7348     "Parrot_subclass_p_p_sc",
7349     0,
7350     4,
7351     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC },
7352     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
7353     { 0, 0, 0 },
7354     &core_op_lib
7355   },
7356   { /* 557 */
7357     "subclass",
7358     "subclass_p_pc_sc",
7359     "Parrot_subclass_p_pc_sc",
7360     0,
7361     4,
7362     { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_SC },
7363     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
7364     { 0, 0, 0 },
7365     &core_op_lib
7366   },
7367   { /* 558 */
7368     "subclass",
7369     "subclass_p_p_p",
7370     "Parrot_subclass_p_p_p",
7371     0,
7372     4,
7373     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
7374     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
7375     { 0, 0, 0 },
7376     &core_op_lib
7377   },
7378   { /* 559 */
7379     "subclass",
7380     "subclass_p_pc_p",
7381     "Parrot_subclass_p_pc_p",
7382     0,
7383     4,
7384     { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_P },
7385     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
7386     { 0, 0, 0 },
7387     &core_op_lib
7388   },
7389   { /* 560 */
7390     "subclass",
7391     "subclass_p_p_pc",
7392     "Parrot_subclass_p_p_pc",
7393     0,
7394     4,
7395     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_PC },
7396     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
7397     { 0, 0, 0 },
7398     &core_op_lib
7399   },
7400   { /* 561 */
7401     "subclass",
7402     "subclass_p_pc_pc",
7403     "Parrot_subclass_p_pc_pc",
7404     0,
7405     4,
7406     { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_PC },
7407     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
7408     { 0, 0, 0 },
7409     &core_op_lib
7410   },
7411   { /* 562 */
7412     "subclass",
7413     "subclass_p_s",
7414     "Parrot_subclass_p_s",
7415     0,
7416     3,
7417     { PARROT_ARG_P, PARROT_ARG_S },
7418     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
7419     { 0, 0 },
7420     &core_op_lib
7421   },
7422   { /* 563 */
7423     "subclass",
7424     "subclass_p_sc",
7425     "Parrot_subclass_p_sc",
7426     0,
7427     3,
7428     { PARROT_ARG_P, PARROT_ARG_SC },
7429     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
7430     { 0, 0 },
7431     &core_op_lib
7432   },
7433   { /* 564 */
7434     "subclass",
7435     "subclass_p_s_s",
7436     "Parrot_subclass_p_s_s",
7437     0,
7438     4,
7439     { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_S },
7440     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
7441     { 0, 0, 0 },
7442     &core_op_lib
7443   },
7444   { /* 565 */
7445     "subclass",
7446     "subclass_p_sc_s",
7447     "Parrot_subclass_p_sc_s",
7448     0,
7449     4,
7450     { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_S },
7451     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
7452     { 0, 0, 0 },
7453     &core_op_lib
7454   },
7455   { /* 566 */
7456     "subclass",
7457     "subclass_p_s_sc",
7458     "Parrot_subclass_p_s_sc",
7459     0,
7460     4,
7461     { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_SC },
7462     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
7463     { 0, 0, 0 },
7464     &core_op_lib
7465   },
7466   { /* 567 */
7467     "subclass",
7468     "subclass_p_sc_sc",
7469     "Parrot_subclass_p_sc_sc",
7470     0,
7471     4,
7472     { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_SC },
7473     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
7474     { 0, 0, 0 },
7475     &core_op_lib
7476   },
7477   { /* 568 */
7478     "subclass",
7479     "subclass_p_s_p",
7480     "Parrot_subclass_p_s_p",
7481     0,
7482     4,
7483     { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_P },
7484     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
7485     { 0, 0, 0 },
7486     &core_op_lib
7487   },
7488   { /* 569 */
7489     "subclass",
7490     "subclass_p_sc_p",
7491     "Parrot_subclass_p_sc_p",
7492     0,
7493     4,
7494     { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_P },
7495     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
7496     { 0, 0, 0 },
7497     &core_op_lib
7498   },
7499   { /* 570 */
7500     "subclass",
7501     "subclass_p_s_pc",
7502     "Parrot_subclass_p_s_pc",
7503     0,
7504     4,
7505     { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_PC },
7506     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
7507     { 0, 0, 0 },
7508     &core_op_lib
7509   },
7510   { /* 571 */
7511     "subclass",
7512     "subclass_p_sc_pc",
7513     "Parrot_subclass_p_sc_pc",
7514     0,
7515     4,
7516     { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_PC },
7517     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
7518     { 0, 0, 0 },
7519     &core_op_lib
7520   },
7521   { /* 572 */
7522     "get_class",
7523     "get_class_p_s",
7524     "Parrot_get_class_p_s",
7525     0,
7526     3,
7527     { PARROT_ARG_P, PARROT_ARG_S },
7528     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
7529     { 0, 0 },
7530     &core_op_lib
7531   },
7532   { /* 573 */
7533     "get_class",
7534     "get_class_p_sc",
7535     "Parrot_get_class_p_sc",
7536     0,
7537     3,
7538     { PARROT_ARG_P, PARROT_ARG_SC },
7539     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
7540     { 0, 0 },
7541     &core_op_lib
7542   },
7543   { /* 574 */
7544     "get_class",
7545     "get_class_p_p",
7546     "Parrot_get_class_p_p",
7547     0,
7548     3,
7549     { PARROT_ARG_P, PARROT_ARG_P },
7550     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
7551     { 0, 0 },
7552     &core_op_lib
7553   },
7554   { /* 575 */
7555     "get_class",
7556     "get_class_p_pc",
7557     "Parrot_get_class_p_pc",
7558     0,
7559     3,
7560     { PARROT_ARG_P, PARROT_ARG_PC },
7561     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
7562     { 0, 0 },
7563     &core_op_lib
7564   },
7565   { /* 576 */
7566     "class",
7567     "class_p_p",
7568     "Parrot_class_p_p",
7569     0,
7570     3,
7571     { PARROT_ARG_P, PARROT_ARG_P },
7572     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
7573     { 0, 0 },
7574     &core_op_lib
7575   },
7576   { /* 577 */
7577     "addparent",
7578     "addparent_p_p",
7579     "Parrot_addparent_p_p",
7580     0,
7581     3,
7582     { PARROT_ARG_P, PARROT_ARG_P },
7583     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
7584     { 0, 0 },
7585     &core_op_lib
7586   },
7587   { /* 578 */
7588     "removeparent",
7589     "removeparent_p_p",
7590     "Parrot_removeparent_p_p",
7591     0,
7592     3,
7593     { PARROT_ARG_P, PARROT_ARG_P },
7594     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
7595     { 0, 0 },
7596     &core_op_lib
7597   },
7598   { /* 579 */
7599     "addrole",
7600     "addrole_p_p",
7601     "Parrot_addrole_p_p",
7602     0,
7603     3,
7604     { PARROT_ARG_P, PARROT_ARG_P },
7605     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
7606     { 0, 0 },
7607     &core_op_lib
7608   },
7609   { /* 580 */
7610     "addattribute",
7611     "addattribute_p_s",
7612     "Parrot_addattribute_p_s",
7613     0,
7614     3,
7615     { PARROT_ARG_P, PARROT_ARG_S },
7616     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
7617     { 0, 0 },
7618     &core_op_lib
7619   },
7620   { /* 581 */
7621     "addattribute",
7622     "addattribute_p_sc",
7623     "Parrot_addattribute_p_sc",
7624     0,
7625     3,
7626     { PARROT_ARG_P, PARROT_ARG_SC },
7627     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
7628     { 0, 0 },
7629     &core_op_lib
7630   },
7631   { /* 582 */
7632     "removeattribute",
7633     "removeattribute_p_s",
7634     "Parrot_removeattribute_p_s",
7635     0,
7636     3,
7637     { PARROT_ARG_P, PARROT_ARG_S },
7638     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
7639     { 0, 0 },
7640     &core_op_lib
7641   },
7642   { /* 583 */
7643     "removeattribute",
7644     "removeattribute_p_sc",
7645     "Parrot_removeattribute_p_sc",
7646     0,
7647     3,
7648     { PARROT_ARG_P, PARROT_ARG_SC },
7649     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
7650     { 0, 0 },
7651     &core_op_lib
7652   },
7653   { /* 584 */
7654     "getattribute",
7655     "getattribute_p_p_s",
7656     "Parrot_getattribute_p_p_s",
7657     0,
7658     4,
7659     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S },
7660     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
7661     { 0, 0, 0 },
7662     &core_op_lib
7663   },
7664   { /* 585 */
7665     "getattribute",
7666     "getattribute_p_p_sc",
7667     "Parrot_getattribute_p_p_sc",
7668     0,
7669     4,
7670     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC },
7671     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
7672     { 0, 0, 0 },
7673     &core_op_lib
7674   },
7675   { /* 586 */
7676     "getattribute",
7677     "getattribute_p_p_p_s",
7678     "Parrot_getattribute_p_p_p_s",
7679     0,
7680     5,
7681     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S },
7682     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
7683     { 0, 0, 0, 0 },
7684     &core_op_lib
7685   },
7686   { /* 587 */
7687     "getattribute",
7688     "getattribute_p_p_pc_s",
7689     "Parrot_getattribute_p_p_pc_s",
7690     0,
7691     5,
7692     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_S },
7693     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
7694     { 0, 0, 0, 0 },
7695     &core_op_lib
7696   },
7697   { /* 588 */
7698     "getattribute",
7699     "getattribute_p_p_p_sc",
7700     "Parrot_getattribute_p_p_p_sc",
7701     0,
7702     5,
7703     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC },
7704     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
7705     { 0, 0, 0, 0 },
7706     &core_op_lib
7707   },
7708   { /* 589 */
7709     "getattribute",
7710     "getattribute_p_p_pc_sc",
7711     "Parrot_getattribute_p_p_pc_sc",
7712     0,
7713     5,
7714     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_SC },
7715     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
7716     { 0, 0, 0, 0 },
7717     &core_op_lib
7718   },
7719   { /* 590 */
7720     "setattribute",
7721     "setattribute_p_s_p",
7722     "Parrot_setattribute_p_s_p",
7723     0,
7724     4,
7725     { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_P },
7726     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
7727     { 0, 0, 0 },
7728     &core_op_lib
7729   },
7730   { /* 591 */
7731     "setattribute",
7732     "setattribute_p_sc_p",
7733     "Parrot_setattribute_p_sc_p",
7734     0,
7735     4,
7736     { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_P },
7737     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
7738     { 0, 0, 0 },
7739     &core_op_lib
7740   },
7741   { /* 592 */
7742     "setattribute",
7743     "setattribute_p_p_s_p",
7744     "Parrot_setattribute_p_p_s_p",
7745     0,
7746     5,
7747     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_P },
7748     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
7749     { 0, 0, 0, 0 },
7750     &core_op_lib
7751   },
7752   { /* 593 */
7753     "setattribute",
7754     "setattribute_p_pc_s_p",
7755     "Parrot_setattribute_p_pc_s_p",
7756     0,
7757     5,
7758     { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_S, PARROT_ARG_P },
7759     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
7760     { 0, 0, 0, 0 },
7761     &core_op_lib
7762   },
7763   { /* 594 */
7764     "setattribute",
7765     "setattribute_p_p_sc_p",
7766     "Parrot_setattribute_p_p_sc_p",
7767     0,
7768     5,
7769     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_P },
7770     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
7771     { 0, 0, 0, 0 },
7772     &core_op_lib
7773   },
7774   { /* 595 */
7775     "setattribute",
7776     "setattribute_p_pc_sc_p",
7777     "Parrot_setattribute_p_pc_sc_p",
7778     0,
7779     5,
7780     { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_SC, PARROT_ARG_P },
7781     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
7782     { 0, 0, 0, 0 },
7783     &core_op_lib
7784   },
7785   { /* 596 */
7786     "inspect",
7787     "inspect_p_p",
7788     "Parrot_inspect_p_p",
7789     0,
7790     3,
7791     { PARROT_ARG_P, PARROT_ARG_P },
7792     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
7793     { 0, 0 },
7794     &core_op_lib
7795   },
7796   { /* 597 */
7797     "inspect",
7798     "inspect_p_pc",
7799     "Parrot_inspect_p_pc",
7800     0,
7801     3,
7802     { PARROT_ARG_P, PARROT_ARG_PC },
7803     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
7804     { 0, 0 },
7805     &core_op_lib
7806   },
7807   { /* 598 */
7808     "inspect",
7809     "inspect_p_p_s",
7810     "Parrot_inspect_p_p_s",
7811     0,
7812     4,
7813     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S },
7814     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
7815     { 0, 0, 0 },
7816     &core_op_lib
7817   },
7818   { /* 599 */
7819     "inspect",
7820     "inspect_p_pc_s",
7821     "Parrot_inspect_p_pc_s",
7822     0,
7823     4,
7824     { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_S },
7825     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
7826     { 0, 0, 0 },
7827     &core_op_lib
7828   },
7829   { /* 600 */
7830     "inspect",
7831     "inspect_p_p_sc",
7832     "Parrot_inspect_p_p_sc",
7833     0,
7834     4,
7835     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC },
7836     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
7837     { 0, 0, 0 },
7838     &core_op_lib
7839   },
7840   { /* 601 */
7841     "inspect",
7842     "inspect_p_pc_sc",
7843     "Parrot_inspect_p_pc_sc",
7844     0,
7845     4,
7846     { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_SC },
7847     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
7848     { 0, 0, 0 },
7849     &core_op_lib
7850   },
7851   { /* 602 */
7852     "new",
7853     "new_p_s",
7854     "Parrot_new_p_s",
7855     0,
7856     3,
7857     { PARROT_ARG_P, PARROT_ARG_S },
7858     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
7859     { 0, 0 },
7860     &core_op_lib
7861   },
7862   { /* 603 */
7863     "new",
7864     "new_p_sc",
7865     "Parrot_new_p_sc",
7866     0,
7867     3,
7868     { PARROT_ARG_P, PARROT_ARG_SC },
7869     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
7870     { 0, 0 },
7871     &core_op_lib
7872   },
7873   { /* 604 */
7874     "new",
7875     "new_p_s_p",
7876     "Parrot_new_p_s_p",
7877     0,
7878     4,
7879     { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_P },
7880     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
7881     { 0, 0, 0 },
7882     &core_op_lib
7883   },
7884   { /* 605 */
7885     "new",
7886     "new_p_sc_p",
7887     "Parrot_new_p_sc_p",
7888     0,
7889     4,
7890     { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_P },
7891     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
7892     { 0, 0, 0 },
7893     &core_op_lib
7894   },
7895   { /* 606 */
7896     "new",
7897     "new_p_s_pc",
7898     "Parrot_new_p_s_pc",
7899     0,
7900     4,
7901     { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_PC },
7902     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
7903     { 0, 0, 0 },
7904     &core_op_lib
7905   },
7906   { /* 607 */
7907     "new",
7908     "new_p_sc_pc",
7909     "Parrot_new_p_sc_pc",
7910     0,
7911     4,
7912     { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_PC },
7913     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
7914     { 0, 0, 0 },
7915     &core_op_lib
7916   },
7917   { /* 608 */
7918     "new",
7919     "new_p_p",
7920     "Parrot_new_p_p",
7921     0,
7922     3,
7923     { PARROT_ARG_P, PARROT_ARG_P },
7924     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
7925     { 0, 0 },
7926     &core_op_lib
7927   },
7928   { /* 609 */
7929     "new",
7930     "new_p_pc",
7931     "Parrot_new_p_pc",
7932     0,
7933     3,
7934     { PARROT_ARG_P, PARROT_ARG_PC },
7935     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
7936     { 0, 0 },
7937     &core_op_lib
7938   },
7939   { /* 610 */
7940     "new",
7941     "new_p_p_p",
7942     "Parrot_new_p_p_p",
7943     0,
7944     4,
7945     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
7946     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
7947     { 0, 0, 0 },
7948     &core_op_lib
7949   },
7950   { /* 611 */
7951     "new",
7952     "new_p_pc_p",
7953     "Parrot_new_p_pc_p",
7954     0,
7955     4,
7956     { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_P },
7957     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
7958     { 0, 0, 0 },
7959     &core_op_lib
7960   },
7961   { /* 612 */
7962     "new",
7963     "new_p_p_pc",
7964     "Parrot_new_p_p_pc",
7965     0,
7966     4,
7967     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_PC },
7968     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
7969     { 0, 0, 0 },
7970     &core_op_lib
7971   },
7972   { /* 613 */
7973     "new",
7974     "new_p_pc_pc",
7975     "Parrot_new_p_pc_pc",
7976     0,
7977     4,
7978     { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_PC },
7979     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
7980     { 0, 0, 0 },
7981     &core_op_lib
7982   },
7983   { /* 614 */
7984     "root_new",
7985     "root_new_p_p",
7986     "Parrot_root_new_p_p",
7987     0,
7988     3,
7989     { PARROT_ARG_P, PARROT_ARG_P },
7990     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
7991     { 0, 0 },
7992     &core_op_lib
7993   },
7994   { /* 615 */
7995     "root_new",
7996     "root_new_p_pc",
7997     "Parrot_root_new_p_pc",
7998     0,
7999     3,
8000     { PARROT_ARG_P, PARROT_ARG_PC },
8001     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
8002     { 0, 0 },
8003     &core_op_lib
8004   },
8005   { /* 616 */
8006     "root_new",
8007     "root_new_p_p_p",
8008     "Parrot_root_new_p_p_p",
8009     0,
8010     4,
8011     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
8012     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
8013     { 0, 0, 0 },
8014     &core_op_lib
8015   },
8016   { /* 617 */
8017     "root_new",
8018     "root_new_p_pc_p",
8019     "Parrot_root_new_p_pc_p",
8020     0,
8021     4,
8022     { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_P },
8023     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
8024     { 0, 0, 0 },
8025     &core_op_lib
8026   },
8027   { /* 618 */
8028     "root_new",
8029     "root_new_p_p_pc",
8030     "Parrot_root_new_p_p_pc",
8031     0,
8032     4,
8033     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_PC },
8034     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
8035     { 0, 0, 0 },
8036     &core_op_lib
8037   },
8038   { /* 619 */
8039     "root_new",
8040     "root_new_p_pc_pc",
8041     "Parrot_root_new_p_pc_pc",
8042     0,
8043     4,
8044     { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_PC },
8045     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
8046     { 0, 0, 0 },
8047     &core_op_lib
8048   },
8049   { /* 620 */
8050     "typeof",
8051     "typeof_s_p",
8052     "Parrot_typeof_s_p",
8053     0,
8054     3,
8055     { PARROT_ARG_S, PARROT_ARG_P },
8056     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
8057     { 0, 0 },
8058     &core_op_lib
8059   },
8060   { /* 621 */
8061     "typeof",
8062     "typeof_p_p",
8063     "Parrot_typeof_p_p",
8064     0,
8065     3,
8066     { PARROT_ARG_P, PARROT_ARG_P },
8067     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
8068     { 0, 0 },
8069     &core_op_lib
8070   },
8071   { /* 622 */
8072     "get_repr",
8073     "get_repr_s_p",
8074     "Parrot_get_repr_s_p",
8075     0,
8076     3,
8077     { PARROT_ARG_S, PARROT_ARG_P },
8078     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
8079     { 0, 0 },
8080     &core_op_lib
8081   },
8082   { /* 623 */
8083     "find_method",
8084     "find_method_p_p_s",
8085     "Parrot_find_method_p_p_s",
8086     0,
8087     4,
8088     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S },
8089     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
8090     { 0, 0, 0 },
8091     &core_op_lib
8092   },
8093   { /* 624 */
8094     "find_method",
8095     "find_method_p_p_sc",
8096     "Parrot_find_method_p_p_sc",
8097     0,
8098     4,
8099     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC },
8100     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
8101     { 0, 0, 0 },
8102     &core_op_lib
8103   },
8104   { /* 625 */
8105     "defined",
8106     "defined_i_p",
8107     "Parrot_defined_i_p",
8108     0,
8109     3,
8110     { PARROT_ARG_I, PARROT_ARG_P },
8111     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
8112     { 0, 0 },
8113     &core_op_lib
8114   },
8115   { /* 626 */
8116     "defined",
8117     "defined_i_p_ki",
8118     "Parrot_defined_i_p_ki",
8119     0,
8120     4,
8121     { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_KI },
8122     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
8123     { 0, 0, 0 },
8124     &core_op_lib
8125   },
8126   { /* 627 */
8127     "defined",
8128     "defined_i_p_kic",
8129     "Parrot_defined_i_p_kic",
8130     0,
8131     4,
8132     { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_KIC },
8133     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
8134     { 0, 0, 0 },
8135     &core_op_lib
8136   },
8137   { /* 628 */
8138     "defined",
8139     "defined_i_p_k",
8140     "Parrot_defined_i_p_k",
8141     0,
8142     4,
8143     { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_K },
8144     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
8145     { 0, 0, 0 },
8146     &core_op_lib
8147   },
8148   { /* 629 */
8149     "defined",
8150     "defined_i_p_kc",
8151     "Parrot_defined_i_p_kc",
8152     0,
8153     4,
8154     { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_KC },
8155     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
8156     { 0, 0, 0 },
8157     &core_op_lib
8158   },
8159   { /* 630 */
8160     "exists",
8161     "exists_i_p_ki",
8162     "Parrot_exists_i_p_ki",
8163     0,
8164     4,
8165     { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_KI },
8166     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
8167     { 0, 0, 0 },
8168     &core_op_lib
8169   },
8170   { /* 631 */
8171     "exists",
8172     "exists_i_p_kic",
8173     "Parrot_exists_i_p_kic",
8174     0,
8175     4,
8176     { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_KIC },
8177     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
8178     { 0, 0, 0 },
8179     &core_op_lib
8180   },
8181   { /* 632 */
8182     "exists",
8183     "exists_i_p_k",
8184     "Parrot_exists_i_p_k",
8185     0,
8186     4,
8187     { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_K },
8188     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
8189     { 0, 0, 0 },
8190     &core_op_lib
8191   },
8192   { /* 633 */
8193     "exists",
8194     "exists_i_p_kc",
8195     "Parrot_exists_i_p_kc",
8196     0,
8197     4,
8198     { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_KC },
8199     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
8200     { 0, 0, 0 },
8201     &core_op_lib
8202   },
8203   { /* 634 */
8204     "delete",
8205     "delete_p_k",
8206     "Parrot_delete_p_k",
8207     0,
8208     3,
8209     { PARROT_ARG_P, PARROT_ARG_K },
8210     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
8211     { 0, 0 },
8212     &core_op_lib
8213   },
8214   { /* 635 */
8215     "delete",
8216     "delete_p_kc",
8217     "Parrot_delete_p_kc",
8218     0,
8219     3,
8220     { PARROT_ARG_P, PARROT_ARG_KC },
8221     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
8222     { 0, 0 },
8223     &core_op_lib
8224   },
8225   { /* 636 */
8226     "delete",
8227     "delete_p_ki",
8228     "Parrot_delete_p_ki",
8229     0,
8230     3,
8231     { PARROT_ARG_P, PARROT_ARG_KI },
8232     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
8233     { 0, 0 },
8234     &core_op_lib
8235   },
8236   { /* 637 */
8237     "delete",
8238     "delete_p_kic",
8239     "Parrot_delete_p_kic",
8240     0,
8241     3,
8242     { PARROT_ARG_P, PARROT_ARG_KIC },
8243     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
8244     { 0, 0 },
8245     &core_op_lib
8246   },
8247   { /* 638 */
8248     "elements",
8249     "elements_i_p",
8250     "Parrot_elements_i_p",
8251     0,
8252     3,
8253     { PARROT_ARG_I, PARROT_ARG_P },
8254     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
8255     { 0, 0 },
8256     &core_op_lib
8257   },
8258   { /* 639 */
8259     "push",
8260     "push_p_i",
8261     "Parrot_push_p_i",
8262     0,
8263     3,
8264     { PARROT_ARG_P, PARROT_ARG_I },
8265     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
8266     { 0, 0 },
8267     &core_op_lib
8268   },
8269   { /* 640 */
8270     "push",
8271     "push_p_ic",
8272     "Parrot_push_p_ic",
8273     0,
8274     3,
8275     { PARROT_ARG_P, PARROT_ARG_IC },
8276     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
8277     { 0, 0 },
8278     &core_op_lib
8279   },
8280   { /* 641 */
8281     "push",
8282     "push_p_n",
8283     "Parrot_push_p_n",
8284     0,
8285     3,
8286     { PARROT_ARG_P, PARROT_ARG_N },
8287     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
8288     { 0, 0 },
8289     &core_op_lib
8290   },
8291   { /* 642 */
8292     "push",
8293     "push_p_nc",
8294     "Parrot_push_p_nc",
8295     0,
8296     3,
8297     { PARROT_ARG_P, PARROT_ARG_NC },
8298     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
8299     { 0, 0 },
8300     &core_op_lib
8301   },
8302   { /* 643 */
8303     "push",
8304     "push_p_s",
8305     "Parrot_push_p_s",
8306     0,
8307     3,
8308     { PARROT_ARG_P, PARROT_ARG_S },
8309     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
8310     { 0, 0 },
8311     &core_op_lib
8312   },
8313   { /* 644 */
8314     "push",
8315     "push_p_sc",
8316     "Parrot_push_p_sc",
8317     0,
8318     3,
8319     { PARROT_ARG_P, PARROT_ARG_SC },
8320     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
8321     { 0, 0 },
8322     &core_op_lib
8323   },
8324   { /* 645 */
8325     "push",
8326     "push_p_p",
8327     "Parrot_push_p_p",
8328     0,
8329     3,
8330     { PARROT_ARG_P, PARROT_ARG_P },
8331     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
8332     { 0, 0 },
8333     &core_op_lib
8334   },
8335   { /* 646 */
8336     "pop",
8337     "pop_i_p",
8338     "Parrot_pop_i_p",
8339     0,
8340     3,
8341     { PARROT_ARG_I, PARROT_ARG_P },
8342     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
8343     { 0, 0 },
8344     &core_op_lib
8345   },
8346   { /* 647 */
8347     "pop",
8348     "pop_n_p",
8349     "Parrot_pop_n_p",
8350     0,
8351     3,
8352     { PARROT_ARG_N, PARROT_ARG_P },
8353     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
8354     { 0, 0 },
8355     &core_op_lib
8356   },
8357   { /* 648 */
8358     "pop",
8359     "pop_s_p",
8360     "Parrot_pop_s_p",
8361     0,
8362     3,
8363     { PARROT_ARG_S, PARROT_ARG_P },
8364     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
8365     { 0, 0 },
8366     &core_op_lib
8367   },
8368   { /* 649 */
8369     "pop",
8370     "pop_p_p",
8371     "Parrot_pop_p_p",
8372     0,
8373     3,
8374     { PARROT_ARG_P, PARROT_ARG_P },
8375     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
8376     { 0, 0 },
8377     &core_op_lib
8378   },
8379   { /* 650 */
8380     "unshift",
8381     "unshift_p_i",
8382     "Parrot_unshift_p_i",
8383     0,
8384     3,
8385     { PARROT_ARG_P, PARROT_ARG_I },
8386     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
8387     { 0, 0 },
8388     &core_op_lib
8389   },
8390   { /* 651 */
8391     "unshift",
8392     "unshift_p_ic",
8393     "Parrot_unshift_p_ic",
8394     0,
8395     3,
8396     { PARROT_ARG_P, PARROT_ARG_IC },
8397     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
8398     { 0, 0 },
8399     &core_op_lib
8400   },
8401   { /* 652 */
8402     "unshift",
8403     "unshift_p_n",
8404     "Parrot_unshift_p_n",
8405     0,
8406     3,
8407     { PARROT_ARG_P, PARROT_ARG_N },
8408     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
8409     { 0, 0 },
8410     &core_op_lib
8411   },
8412   { /* 653 */
8413     "unshift",
8414     "unshift_p_nc",
8415     "Parrot_unshift_p_nc",
8416     0,
8417     3,
8418     { PARROT_ARG_P, PARROT_ARG_NC },
8419     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
8420     { 0, 0 },
8421     &core_op_lib
8422   },
8423   { /* 654 */
8424     "unshift",
8425     "unshift_p_s",
8426     "Parrot_unshift_p_s",
8427     0,
8428     3,
8429     { PARROT_ARG_P, PARROT_ARG_S },
8430     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
8431     { 0, 0 },
8432     &core_op_lib
8433   },
8434   { /* 655 */
8435     "unshift",
8436     "unshift_p_sc",
8437     "Parrot_unshift_p_sc",
8438     0,
8439     3,
8440     { PARROT_ARG_P, PARROT_ARG_SC },
8441     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
8442     { 0, 0 },
8443     &core_op_lib
8444   },
8445   { /* 656 */
8446     "unshift",
8447     "unshift_p_p",
8448     "Parrot_unshift_p_p",
8449     0,
8450     3,
8451     { PARROT_ARG_P, PARROT_ARG_P },
8452     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
8453     { 0, 0 },
8454     &core_op_lib
8455   },
8456   { /* 657 */
8457     "shift",
8458     "shift_i_p",
8459     "Parrot_shift_i_p",
8460     0,
8461     3,
8462     { PARROT_ARG_I, PARROT_ARG_P },
8463     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
8464     { 0, 0 },
8465     &core_op_lib
8466   },
8467   { /* 658 */
8468     "shift",
8469     "shift_n_p",
8470     "Parrot_shift_n_p",
8471     0,
8472     3,
8473     { PARROT_ARG_N, PARROT_ARG_P },
8474     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
8475     { 0, 0 },
8476     &core_op_lib
8477   },
8478   { /* 659 */
8479     "shift",
8480     "shift_s_p",
8481     "Parrot_shift_s_p",
8482     0,
8483     3,
8484     { PARROT_ARG_S, PARROT_ARG_P },
8485     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
8486     { 0, 0 },
8487     &core_op_lib
8488   },
8489   { /* 660 */
8490     "shift",
8491     "shift_p_p",
8492     "Parrot_shift_p_p",
8493     0,
8494     3,
8495     { PARROT_ARG_P, PARROT_ARG_P },
8496     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
8497     { 0, 0 },
8498     &core_op_lib
8499   },
8500   { /* 661 */
8501     "splice",
8502     "splice_p_p_i_i",
8503     "Parrot_splice_p_p_i_i",
8504     0,
8505     5,
8506     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I, PARROT_ARG_I },
8507     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
8508     { 0, 0, 0, 0 },
8509     &core_op_lib
8510   },
8511   { /* 662 */
8512     "splice",
8513     "splice_p_p_ic_i",
8514     "Parrot_splice_p_p_ic_i",
8515     0,
8516     5,
8517     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC, PARROT_ARG_I },
8518     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
8519     { 0, 0, 0, 0 },
8520     &core_op_lib
8521   },
8522   { /* 663 */
8523     "splice",
8524     "splice_p_p_i_ic",
8525     "Parrot_splice_p_p_i_ic",
8526     0,
8527     5,
8528     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I, PARROT_ARG_IC },
8529     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
8530     { 0, 0, 0, 0 },
8531     &core_op_lib
8532   },
8533   { /* 664 */
8534     "splice",
8535     "splice_p_p_ic_ic",
8536     "Parrot_splice_p_p_ic_ic",
8537     0,
8538     5,
8539     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC, PARROT_ARG_IC },
8540     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
8541     { 0, 0, 0, 0 },
8542     &core_op_lib
8543   },
8544   { /* 665 */
8545     "setprop",
8546     "setprop_p_s_p",
8547     "Parrot_setprop_p_s_p",
8548     0,
8549     4,
8550     { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_P },
8551     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
8552     { 0, 0, 0 },
8553     &core_op_lib
8554   },
8555   { /* 666 */
8556     "setprop",
8557     "setprop_p_sc_p",
8558     "Parrot_setprop_p_sc_p",
8559     0,
8560     4,
8561     { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_P },
8562     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
8563     { 0, 0, 0 },
8564     &core_op_lib
8565   },
8566   { /* 667 */
8567     "getprop",
8568     "getprop_p_s_p",
8569     "Parrot_getprop_p_s_p",
8570     0,
8571     4,
8572     { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_P },
8573     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
8574     { 0, 0, 0 },
8575     &core_op_lib
8576   },
8577   { /* 668 */
8578     "getprop",
8579     "getprop_p_sc_p",
8580     "Parrot_getprop_p_sc_p",
8581     0,
8582     4,
8583     { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_P },
8584     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
8585     { 0, 0, 0 },
8586     &core_op_lib
8587   },
8588   { /* 669 */
8589     "getprop",
8590     "getprop_p_p_s",
8591     "Parrot_getprop_p_p_s",
8592     0,
8593     4,
8594     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S },
8595     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
8596     { 0, 0, 0 },
8597     &core_op_lib
8598   },
8599   { /* 670 */
8600     "getprop",
8601     "getprop_p_p_sc",
8602     "Parrot_getprop_p_p_sc",
8603     0,
8604     4,
8605     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC },
8606     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
8607     { 0, 0, 0 },
8608     &core_op_lib
8609   },
8610   { /* 671 */
8611     "delprop",
8612     "delprop_p_s",
8613     "Parrot_delprop_p_s",
8614     0,
8615     3,
8616     { PARROT_ARG_P, PARROT_ARG_S },
8617     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
8618     { 0, 0 },
8619     &core_op_lib
8620   },
8621   { /* 672 */
8622     "delprop",
8623     "delprop_p_sc",
8624     "Parrot_delprop_p_sc",
8625     0,
8626     3,
8627     { PARROT_ARG_P, PARROT_ARG_SC },
8628     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
8629     { 0, 0 },
8630     &core_op_lib
8631   },
8632   { /* 673 */
8633     "prophash",
8634     "prophash_p_p",
8635     "Parrot_prophash_p_p",
8636     0,
8637     3,
8638     { PARROT_ARG_P, PARROT_ARG_P },
8639     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
8640     { 0, 0 },
8641     &core_op_lib
8642   },
8643   { /* 674 */
8644     "freeze",
8645     "freeze_s_p",
8646     "Parrot_freeze_s_p",
8647     0,
8648     3,
8649     { PARROT_ARG_S, PARROT_ARG_P },
8650     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
8651     { 0, 0 },
8652     &core_op_lib
8653   },
8654   { /* 675 */
8655     "thaw",
8656     "thaw_p_s",
8657     "Parrot_thaw_p_s",
8658     0,
8659     3,
8660     { PARROT_ARG_P, PARROT_ARG_S },
8661     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
8662     { 0, 0 },
8663     &core_op_lib
8664   },
8665   { /* 676 */
8666     "thaw",
8667     "thaw_p_sc",
8668     "Parrot_thaw_p_sc",
8669     0,
8670     3,
8671     { PARROT_ARG_P, PARROT_ARG_SC },
8672     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
8673     { 0, 0 },
8674     &core_op_lib
8675   },
8676   { /* 677 */
8677     "add_multi",
8678     "add_multi_s_s_p",
8679     "Parrot_add_multi_s_s_p",
8680     0,
8681     4,
8682     { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_P },
8683     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
8684     { 0, 0, 0 },
8685     &core_op_lib
8686   },
8687   { /* 678 */
8688     "add_multi",
8689     "add_multi_sc_s_p",
8690     "Parrot_add_multi_sc_s_p",
8691     0,
8692     4,
8693     { PARROT_ARG_SC, PARROT_ARG_S, PARROT_ARG_P },
8694     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
8695     { 0, 0, 0 },
8696     &core_op_lib
8697   },
8698   { /* 679 */
8699     "add_multi",
8700     "add_multi_s_sc_p",
8701     "Parrot_add_multi_s_sc_p",
8702     0,
8703     4,
8704     { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_P },
8705     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
8706     { 0, 0, 0 },
8707     &core_op_lib
8708   },
8709   { /* 680 */
8710     "add_multi",
8711     "add_multi_sc_sc_p",
8712     "Parrot_add_multi_sc_sc_p",
8713     0,
8714     4,
8715     { PARROT_ARG_SC, PARROT_ARG_SC, PARROT_ARG_P },
8716     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
8717     { 0, 0, 0 },
8718     &core_op_lib
8719   },
8720   { /* 681 */
8721     "find_multi",
8722     "find_multi_p_s_s",
8723     "Parrot_find_multi_p_s_s",
8724     0,
8725     4,
8726     { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_S },
8727     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
8728     { 0, 0, 0 },
8729     &core_op_lib
8730   },
8731   { /* 682 */
8732     "find_multi",
8733     "find_multi_p_sc_s",
8734     "Parrot_find_multi_p_sc_s",
8735     0,
8736     4,
8737     { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_S },
8738     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
8739     { 0, 0, 0 },
8740     &core_op_lib
8741   },
8742   { /* 683 */
8743     "find_multi",
8744     "find_multi_p_s_sc",
8745     "Parrot_find_multi_p_s_sc",
8746     0,
8747     4,
8748     { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_SC },
8749     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
8750     { 0, 0, 0 },
8751     &core_op_lib
8752   },
8753   { /* 684 */
8754     "find_multi",
8755     "find_multi_p_sc_sc",
8756     "Parrot_find_multi_p_sc_sc",
8757     0,
8758     4,
8759     { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_SC },
8760     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
8761     { 0, 0, 0 },
8762     &core_op_lib
8763   },
8764   { /* 685 */
8765     "register",
8766     "register_p",
8767     "Parrot_register_p",
8768     0,
8769     2,
8770     { PARROT_ARG_P },
8771     { PARROT_ARGDIR_IN },
8772     { 0 },
8773     &core_op_lib
8774   },
8775   { /* 686 */
8776     "unregister",
8777     "unregister_p",
8778     "Parrot_unregister_p",
8779     0,
8780     2,
8781     { PARROT_ARG_P },
8782     { PARROT_ARGDIR_IN },
8783     { 0 },
8784     &core_op_lib
8785   },
8786   { /* 687 */
8787     "box",
8788     "box_p_i",
8789     "Parrot_box_p_i",
8790     0,
8791     3,
8792     { PARROT_ARG_P, PARROT_ARG_I },
8793     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
8794     { 0, 0 },
8795     &core_op_lib
8796   },
8797   { /* 688 */
8798     "box",
8799     "box_p_ic",
8800     "Parrot_box_p_ic",
8801     0,
8802     3,
8803     { PARROT_ARG_P, PARROT_ARG_IC },
8804     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
8805     { 0, 0 },
8806     &core_op_lib
8807   },
8808   { /* 689 */
8809     "box",
8810     "box_p_n",
8811     "Parrot_box_p_n",
8812     0,
8813     3,
8814     { PARROT_ARG_P, PARROT_ARG_N },
8815     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
8816     { 0, 0 },
8817     &core_op_lib
8818   },
8819   { /* 690 */
8820     "box",
8821     "box_p_nc",
8822     "Parrot_box_p_nc",
8823     0,
8824     3,
8825     { PARROT_ARG_P, PARROT_ARG_NC },
8826     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
8827     { 0, 0 },
8828     &core_op_lib
8829   },
8830   { /* 691 */
8831     "box",
8832     "box_p_s",
8833     "Parrot_box_p_s",
8834     0,
8835     3,
8836     { PARROT_ARG_P, PARROT_ARG_S },
8837     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
8838     { 0, 0 },
8839     &core_op_lib
8840   },
8841   { /* 692 */
8842     "box",
8843     "box_p_sc",
8844     "Parrot_box_p_sc",
8845     0,
8846     3,
8847     { PARROT_ARG_P, PARROT_ARG_SC },
8848     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
8849     { 0, 0 },
8850     &core_op_lib
8851   },
8852   { /* 693 */
8853     "iter",
8854     "iter_p_p",
8855     "Parrot_iter_p_p",
8856     0,
8857     3,
8858     { PARROT_ARG_P, PARROT_ARG_P },
8859     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
8860     { 0, 0 },
8861     &core_op_lib
8862   },
8863   { /* 694 */
8864     "morph",
8865     "morph_p_p",
8866     "Parrot_morph_p_p",
8867     0,
8868     3,
8869     { PARROT_ARG_P, PARROT_ARG_P },
8870     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
8871     { 0, 0 },
8872     &core_op_lib
8873   },
8874   { /* 695 */
8875     "morph",
8876     "morph_p_pc",
8877     "Parrot_morph_p_pc",
8878     0,
8879     3,
8880     { PARROT_ARG_P, PARROT_ARG_PC },
8881     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
8882     { 0, 0 },
8883     &core_op_lib
8884   },
8885   { /* 696 */
8886     "clone",
8887     "clone_s_s",
8888     "Parrot_clone_s_s",
8889     0,
8890     3,
8891     { PARROT_ARG_S, PARROT_ARG_S },
8892     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
8893     { 0, 0 },
8894     &core_op_lib
8895   },
8896   { /* 697 */
8897     "clone",
8898     "clone_s_sc",
8899     "Parrot_clone_s_sc",
8900     0,
8901     3,
8902     { PARROT_ARG_S, PARROT_ARG_SC },
8903     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
8904     { 0, 0 },
8905     &core_op_lib
8906   },
8907   { /* 698 */
8908     "set",
8909     "set_i_i",
8910     "Parrot_set_i_i",
8911     0,
8912     3,
8913     { PARROT_ARG_I, PARROT_ARG_I },
8914     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
8915     { 0, 0 },
8916     &core_op_lib
8917   },
8918   { /* 699 */
8919     "set",
8920     "set_i_ic",
8921     "Parrot_set_i_ic",
8922     0,
8923     3,
8924     { PARROT_ARG_I, PARROT_ARG_IC },
8925     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
8926     { 0, 0 },
8927     &core_op_lib
8928   },
8929   { /* 700 */
8930     "set",
8931     "set_i_n",
8932     "Parrot_set_i_n",
8933     0,
8934     3,
8935     { PARROT_ARG_I, PARROT_ARG_N },
8936     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
8937     { 0, 0 },
8938     &core_op_lib
8939   },
8940   { /* 701 */
8941     "set",
8942     "set_i_nc",
8943     "Parrot_set_i_nc",
8944     0,
8945     3,
8946     { PARROT_ARG_I, PARROT_ARG_NC },
8947     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
8948     { 0, 0 },
8949     &core_op_lib
8950   },
8951   { /* 702 */
8952     "set",
8953     "set_i_s",
8954     "Parrot_set_i_s",
8955     0,
8956     3,
8957     { PARROT_ARG_I, PARROT_ARG_S },
8958     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
8959     { 0, 0 },
8960     &core_op_lib
8961   },
8962   { /* 703 */
8963     "set",
8964     "set_i_sc",
8965     "Parrot_set_i_sc",
8966     0,
8967     3,
8968     { PARROT_ARG_I, PARROT_ARG_SC },
8969     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
8970     { 0, 0 },
8971     &core_op_lib
8972   },
8973   { /* 704 */
8974     "set",
8975     "set_n_n",
8976     "Parrot_set_n_n",
8977     0,
8978     3,
8979     { PARROT_ARG_N, PARROT_ARG_N },
8980     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
8981     { 0, 0 },
8982     &core_op_lib
8983   },
8984   { /* 705 */
8985     "set",
8986     "set_n_nc",
8987     "Parrot_set_n_nc",
8988     0,
8989     3,
8990     { PARROT_ARG_N, PARROT_ARG_NC },
8991     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
8992     { 0, 0 },
8993     &core_op_lib
8994   },
8995   { /* 706 */
8996     "set",
8997     "set_n_i",
8998     "Parrot_set_n_i",
8999     0,
9000     3,
9001     { PARROT_ARG_N, PARROT_ARG_I },
9002     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
9003     { 0, 0 },
9004     &core_op_lib
9005   },
9006   { /* 707 */
9007     "set",
9008     "set_n_ic",
9009     "Parrot_set_n_ic",
9010     0,
9011     3,
9012     { PARROT_ARG_N, PARROT_ARG_IC },
9013     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
9014     { 0, 0 },
9015     &core_op_lib
9016   },
9017   { /* 708 */
9018     "set",
9019     "set_n_s",
9020     "Parrot_set_n_s",
9021     0,
9022     3,
9023     { PARROT_ARG_N, PARROT_ARG_S },
9024     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
9025     { 0, 0 },
9026     &core_op_lib
9027   },
9028   { /* 709 */
9029     "set",
9030     "set_n_sc",
9031     "Parrot_set_n_sc",
9032     0,
9033     3,
9034     { PARROT_ARG_N, PARROT_ARG_SC },
9035     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
9036     { 0, 0 },
9037     &core_op_lib
9038   },
9039   { /* 710 */
9040     "set",
9041     "set_n_p",
9042     "Parrot_set_n_p",
9043     0,
9044     3,
9045     { PARROT_ARG_N, PARROT_ARG_P },
9046     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
9047     { 0, 0 },
9048     &core_op_lib
9049   },
9050   { /* 711 */
9051     "set",
9052     "set_s_p",
9053     "Parrot_set_s_p",
9054     0,
9055     3,
9056     { PARROT_ARG_S, PARROT_ARG_P },
9057     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
9058     { 0, 0 },
9059     &core_op_lib
9060   },
9061   { /* 712 */
9062     "set",
9063     "set_s_s",
9064     "Parrot_set_s_s",
9065     0,
9066     3,
9067     { PARROT_ARG_S, PARROT_ARG_S },
9068     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
9069     { 0, 0 },
9070     &core_op_lib
9071   },
9072   { /* 713 */
9073     "set",
9074     "set_s_sc",
9075     "Parrot_set_s_sc",
9076     0,
9077     3,
9078     { PARROT_ARG_S, PARROT_ARG_SC },
9079     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
9080     { 0, 0 },
9081     &core_op_lib
9082   },
9083   { /* 714 */
9084     "set",
9085     "set_s_i",
9086     "Parrot_set_s_i",
9087     0,
9088     3,
9089     { PARROT_ARG_S, PARROT_ARG_I },
9090     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
9091     { 0, 0 },
9092     &core_op_lib
9093   },
9094   { /* 715 */
9095     "set",
9096     "set_s_ic",
9097     "Parrot_set_s_ic",
9098     0,
9099     3,
9100     { PARROT_ARG_S, PARROT_ARG_IC },
9101     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
9102     { 0, 0 },
9103     &core_op_lib
9104   },
9105   { /* 716 */
9106     "set",
9107     "set_s_n",
9108     "Parrot_set_s_n",
9109     0,
9110     3,
9111     { PARROT_ARG_S, PARROT_ARG_N },
9112     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
9113     { 0, 0 },
9114     &core_op_lib
9115   },
9116   { /* 717 */
9117     "set",
9118     "set_s_nc",
9119     "Parrot_set_s_nc",
9120     0,
9121     3,
9122     { PARROT_ARG_S, PARROT_ARG_NC },
9123     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
9124     { 0, 0 },
9125     &core_op_lib
9126   },
9127   { /* 718 */
9128     "set",
9129     "set_p_pc",
9130     "Parrot_set_p_pc",
9131     0,
9132     3,
9133     { PARROT_ARG_P, PARROT_ARG_PC },
9134     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
9135     { 0, 0 },
9136     &core_op_lib
9137   },
9138   { /* 719 */
9139     "set",
9140     "set_p_p",
9141     "Parrot_set_p_p",
9142     0,
9143     3,
9144     { PARROT_ARG_P, PARROT_ARG_P },
9145     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
9146     { 0, 0 },
9147     &core_op_lib
9148   },
9149   { /* 720 */
9150     "set",
9151     "set_p_i",
9152     "Parrot_set_p_i",
9153     0,
9154     3,
9155     { PARROT_ARG_P, PARROT_ARG_I },
9156     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
9157     { 0, 0 },
9158     &core_op_lib
9159   },
9160   { /* 721 */
9161     "set",
9162     "set_p_ic",
9163     "Parrot_set_p_ic",
9164     0,
9165     3,
9166     { PARROT_ARG_P, PARROT_ARG_IC },
9167     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
9168     { 0, 0 },
9169     &core_op_lib
9170   },
9171   { /* 722 */
9172     "set",
9173     "set_p_n",
9174     "Parrot_set_p_n",
9175     0,
9176     3,
9177     { PARROT_ARG_P, PARROT_ARG_N },
9178     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
9179     { 0, 0 },
9180     &core_op_lib
9181   },
9182   { /* 723 */
9183     "set",
9184     "set_p_nc",
9185     "Parrot_set_p_nc",
9186     0,
9187     3,
9188     { PARROT_ARG_P, PARROT_ARG_NC },
9189     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
9190     { 0, 0 },
9191     &core_op_lib
9192   },
9193   { /* 724 */
9194     "set",
9195     "set_p_s",
9196     "Parrot_set_p_s",
9197     0,
9198     3,
9199     { PARROT_ARG_P, PARROT_ARG_S },
9200     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
9201     { 0, 0 },
9202     &core_op_lib
9203   },
9204   { /* 725 */
9205     "set",
9206     "set_p_sc",
9207     "Parrot_set_p_sc",
9208     0,
9209     3,
9210     { PARROT_ARG_P, PARROT_ARG_SC },
9211     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
9212     { 0, 0 },
9213     &core_op_lib
9214   },
9215   { /* 726 */
9216     "set",
9217     "set_i_p",
9218     "Parrot_set_i_p",
9219     0,
9220     3,
9221     { PARROT_ARG_I, PARROT_ARG_P },
9222     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
9223     { 0, 0 },
9224     &core_op_lib
9225   },
9226   { /* 727 */
9227     "assign",
9228     "assign_p_p",
9229     "Parrot_assign_p_p",
9230     0,
9231     3,
9232     { PARROT_ARG_P, PARROT_ARG_P },
9233     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
9234     { 0, 0 },
9235     &core_op_lib
9236   },
9237   { /* 728 */
9238     "assign",
9239     "assign_p_i",
9240     "Parrot_assign_p_i",
9241     0,
9242     3,
9243     { PARROT_ARG_P, PARROT_ARG_I },
9244     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
9245     { 0, 0 },
9246     &core_op_lib
9247   },
9248   { /* 729 */
9249     "assign",
9250     "assign_p_ic",
9251     "Parrot_assign_p_ic",
9252     0,
9253     3,
9254     { PARROT_ARG_P, PARROT_ARG_IC },
9255     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
9256     { 0, 0 },
9257     &core_op_lib
9258   },
9259   { /* 730 */
9260     "assign",
9261     "assign_p_n",
9262     "Parrot_assign_p_n",
9263     0,
9264     3,
9265     { PARROT_ARG_P, PARROT_ARG_N },
9266     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
9267     { 0, 0 },
9268     &core_op_lib
9269   },
9270   { /* 731 */
9271     "assign",
9272     "assign_p_nc",
9273     "Parrot_assign_p_nc",
9274     0,
9275     3,
9276     { PARROT_ARG_P, PARROT_ARG_NC },
9277     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
9278     { 0, 0 },
9279     &core_op_lib
9280   },
9281   { /* 732 */
9282     "assign",
9283     "assign_p_s",
9284     "Parrot_assign_p_s",
9285     0,
9286     3,
9287     { PARROT_ARG_P, PARROT_ARG_S },
9288     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
9289     { 0, 0 },
9290     &core_op_lib
9291   },
9292   { /* 733 */
9293     "assign",
9294     "assign_p_sc",
9295     "Parrot_assign_p_sc",
9296     0,
9297     3,
9298     { PARROT_ARG_P, PARROT_ARG_SC },
9299     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
9300     { 0, 0 },
9301     &core_op_lib
9302   },
9303   { /* 734 */
9304     "assign",
9305     "assign_s_s",
9306     "Parrot_assign_s_s",
9307     0,
9308     3,
9309     { PARROT_ARG_S, PARROT_ARG_S },
9310     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
9311     { 0, 0 },
9312     &core_op_lib
9313   },
9314   { /* 735 */
9315     "assign",
9316     "assign_s_sc",
9317     "Parrot_assign_s_sc",
9318     0,
9319     3,
9320     { PARROT_ARG_S, PARROT_ARG_SC },
9321     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
9322     { 0, 0 },
9323     &core_op_lib
9324   },
9325   { /* 736 */
9326     "setref",
9327     "setref_p_p",
9328     "Parrot_setref_p_p",
9329     0,
9330     3,
9331     { PARROT_ARG_P, PARROT_ARG_P },
9332     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
9333     { 0, 0 },
9334     &core_op_lib
9335   },
9336   { /* 737 */
9337     "deref",
9338     "deref_p_p",
9339     "Parrot_deref_p_p",
9340     0,
9341     3,
9342     { PARROT_ARG_P, PARROT_ARG_P },
9343     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
9344     { 0, 0 },
9345     &core_op_lib
9346   },
9347   { /* 738 */
9348     "set",
9349     "set_p_ki_i",
9350     "Parrot_set_p_ki_i",
9351     0,
9352     4,
9353     { PARROT_ARG_P, PARROT_ARG_KI, PARROT_ARG_I },
9354     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
9355     { 0, 0, 0 },
9356     &core_op_lib
9357   },
9358   { /* 739 */
9359     "set",
9360     "set_p_kic_i",
9361     "Parrot_set_p_kic_i",
9362     0,
9363     4,
9364     { PARROT_ARG_P, PARROT_ARG_KIC, PARROT_ARG_I },
9365     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
9366     { 0, 0, 0 },
9367     &core_op_lib
9368   },
9369   { /* 740 */
9370     "set",
9371     "set_p_ki_ic",
9372     "Parrot_set_p_ki_ic",
9373     0,
9374     4,
9375     { PARROT_ARG_P, PARROT_ARG_KI, PARROT_ARG_IC },
9376     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
9377     { 0, 0, 0 },
9378     &core_op_lib
9379   },
9380   { /* 741 */
9381     "set",
9382     "set_p_kic_ic",
9383     "Parrot_set_p_kic_ic",
9384     0,
9385     4,
9386     { PARROT_ARG_P, PARROT_ARG_KIC, PARROT_ARG_IC },
9387     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
9388     { 0, 0, 0 },
9389     &core_op_lib
9390   },
9391   { /* 742 */
9392     "set",
9393     "set_p_ki_n",
9394     "Parrot_set_p_ki_n",
9395     0,
9396     4,
9397     { PARROT_ARG_P, PARROT_ARG_KI, PARROT_ARG_N },
9398     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
9399     { 0, 0, 0 },
9400     &core_op_lib
9401   },
9402   { /* 743 */
9403     "set",
9404     "set_p_kic_n",
9405     "Parrot_set_p_kic_n",
9406     0,
9407     4,
9408     { PARROT_ARG_P, PARROT_ARG_KIC, PARROT_ARG_N },
9409     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
9410     { 0, 0, 0 },
9411     &core_op_lib
9412   },
9413   { /* 744 */
9414     "set",
9415     "set_p_ki_nc",
9416     "Parrot_set_p_ki_nc",
9417     0,
9418     4,
9419     { PARROT_ARG_P, PARROT_ARG_KI, PARROT_ARG_NC },
9420     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
9421     { 0, 0, 0 },
9422     &core_op_lib
9423   },
9424   { /* 745 */
9425     "set",
9426     "set_p_kic_nc",
9427     "Parrot_set_p_kic_nc",
9428     0,
9429     4,
9430     { PARROT_ARG_P, PARROT_ARG_KIC, PARROT_ARG_NC },
9431     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
9432     { 0, 0, 0 },
9433     &core_op_lib
9434   },
9435   { /* 746 */
9436     "set",
9437     "set_p_ki_s",
9438     "Parrot_set_p_ki_s",
9439     0,
9440     4,
9441     { PARROT_ARG_P, PARROT_ARG_KI, PARROT_ARG_S },
9442     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
9443     { 0, 0, 0 },
9444     &core_op_lib
9445   },
9446   { /* 747 */
9447     "set",
9448     "set_p_kic_s",
9449     "Parrot_set_p_kic_s",
9450     0,
9451     4,
9452     { PARROT_ARG_P, PARROT_ARG_KIC, PARROT_ARG_S },
9453     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
9454     { 0, 0, 0 },
9455     &core_op_lib
9456   },
9457   { /* 748 */
9458     "set",
9459     "set_p_ki_sc",
9460     "Parrot_set_p_ki_sc",
9461     0,
9462     4,
9463     { PARROT_ARG_P, PARROT_ARG_KI, PARROT_ARG_SC },
9464     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
9465     { 0, 0, 0 },
9466     &core_op_lib
9467   },
9468   { /* 749 */
9469     "set",
9470     "set_p_kic_sc",
9471     "Parrot_set_p_kic_sc",
9472     0,
9473     4,
9474     { PARROT_ARG_P, PARROT_ARG_KIC, PARROT_ARG_SC },
9475     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
9476     { 0, 0, 0 },
9477     &core_op_lib
9478   },
9479   { /* 750 */
9480     "set",
9481     "set_p_ki_p",
9482     "Parrot_set_p_ki_p",
9483     0,
9484     4,
9485     { PARROT_ARG_P, PARROT_ARG_KI, PARROT_ARG_P },
9486     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
9487     { 0, 0, 0 },
9488     &core_op_lib
9489   },
9490   { /* 751 */
9491     "set",
9492     "set_p_kic_p",
9493     "Parrot_set_p_kic_p",
9494     0,
9495     4,
9496     { PARROT_ARG_P, PARROT_ARG_KIC, PARROT_ARG_P },
9497     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
9498     { 0, 0, 0 },
9499     &core_op_lib
9500   },
9501   { /* 752 */
9502     "set",
9503     "set_i_p_ki",
9504     "Parrot_set_i_p_ki",
9505     0,
9506     4,
9507     { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_KI },
9508     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
9509     { 0, 0, 0 },
9510     &core_op_lib
9511   },
9512   { /* 753 */
9513     "set",
9514     "set_i_p_kic",
9515     "Parrot_set_i_p_kic",
9516     0,
9517     4,
9518     { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_KIC },
9519     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
9520     { 0, 0, 0 },
9521     &core_op_lib
9522   },
9523   { /* 754 */
9524     "set",
9525     "set_n_p_ki",
9526     "Parrot_set_n_p_ki",
9527     0,
9528     4,
9529     { PARROT_ARG_N, PARROT_ARG_P, PARROT_ARG_KI },
9530     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
9531     { 0, 0, 0 },
9532     &core_op_lib
9533   },
9534   { /* 755 */
9535     "set",
9536     "set_n_p_kic",
9537     "Parrot_set_n_p_kic",
9538     0,
9539     4,
9540     { PARROT_ARG_N, PARROT_ARG_P, PARROT_ARG_KIC },
9541     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
9542     { 0, 0, 0 },
9543     &core_op_lib
9544   },
9545   { /* 756 */
9546     "set",
9547     "set_s_p_ki",
9548     "Parrot_set_s_p_ki",
9549     0,
9550     4,
9551     { PARROT_ARG_S, PARROT_ARG_P, PARROT_ARG_KI },
9552     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
9553     { 0, 0, 0 },
9554     &core_op_lib
9555   },
9556   { /* 757 */
9557     "set",
9558     "set_s_p_kic",
9559     "Parrot_set_s_p_kic",
9560     0,
9561     4,
9562     { PARROT_ARG_S, PARROT_ARG_P, PARROT_ARG_KIC },
9563     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
9564     { 0, 0, 0 },
9565     &core_op_lib
9566   },
9567   { /* 758 */
9568     "set",
9569     "set_p_p_ki",
9570     "Parrot_set_p_p_ki",
9571     0,
9572     4,
9573     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_KI },
9574     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
9575     { 0, 0, 0 },
9576     &core_op_lib
9577   },
9578   { /* 759 */
9579     "set",
9580     "set_p_p_kic",
9581     "Parrot_set_p_p_kic",
9582     0,
9583     4,
9584     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_KIC },
9585     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
9586     { 0, 0, 0 },
9587     &core_op_lib
9588   },
9589   { /* 760 */
9590     "set",
9591     "set_p_k_i",
9592     "Parrot_set_p_k_i",
9593     0,
9594     4,
9595     { PARROT_ARG_P, PARROT_ARG_K, PARROT_ARG_I },
9596     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
9597     { 0, 0, 0 },
9598     &core_op_lib
9599   },
9600   { /* 761 */
9601     "set",
9602     "set_p_kc_i",
9603     "Parrot_set_p_kc_i",
9604     0,
9605     4,
9606     { PARROT_ARG_P, PARROT_ARG_KC, PARROT_ARG_I },
9607     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
9608     { 0, 0, 0 },
9609     &core_op_lib
9610   },
9611   { /* 762 */
9612     "set",
9613     "set_p_k_ic",
9614     "Parrot_set_p_k_ic",
9615     0,
9616     4,
9617     { PARROT_ARG_P, PARROT_ARG_K, PARROT_ARG_IC },
9618     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
9619     { 0, 0, 0 },
9620     &core_op_lib
9621   },
9622   { /* 763 */
9623     "set",
9624     "set_p_kc_ic",
9625     "Parrot_set_p_kc_ic",
9626     0,
9627     4,
9628     { PARROT_ARG_P, PARROT_ARG_KC, PARROT_ARG_IC },
9629     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
9630     { 0, 0, 0 },
9631     &core_op_lib
9632   },
9633   { /* 764 */
9634     "set",
9635     "set_p_k_n",
9636     "Parrot_set_p_k_n",
9637     0,
9638     4,
9639     { PARROT_ARG_P, PARROT_ARG_K, PARROT_ARG_N },
9640     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
9641     { 0, 0, 0 },
9642     &core_op_lib
9643   },
9644   { /* 765 */
9645     "set",
9646     "set_p_kc_n",
9647     "Parrot_set_p_kc_n",
9648     0,
9649     4,
9650     { PARROT_ARG_P, PARROT_ARG_KC, PARROT_ARG_N },
9651     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
9652     { 0, 0, 0 },
9653     &core_op_lib
9654   },
9655   { /* 766 */
9656     "set",
9657     "set_p_k_nc",
9658     "Parrot_set_p_k_nc",
9659     0,
9660     4,
9661     { PARROT_ARG_P, PARROT_ARG_K, PARROT_ARG_NC },
9662     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
9663     { 0, 0, 0 },
9664     &core_op_lib
9665   },
9666   { /* 767 */
9667     "set",
9668     "set_p_kc_nc",
9669     "Parrot_set_p_kc_nc",
9670     0,
9671     4,
9672     { PARROT_ARG_P, PARROT_ARG_KC, PARROT_ARG_NC },
9673     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
9674     { 0, 0, 0 },
9675     &core_op_lib
9676   },
9677   { /* 768 */
9678     "set",
9679     "set_p_k_s",
9680     "Parrot_set_p_k_s",
9681     0,
9682     4,
9683     { PARROT_ARG_P, PARROT_ARG_K, PARROT_ARG_S },
9684     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
9685     { 0, 0, 0 },
9686     &core_op_lib
9687   },
9688   { /* 769 */
9689     "set",
9690     "set_p_kc_s",
9691     "Parrot_set_p_kc_s",
9692     0,
9693     4,
9694     { PARROT_ARG_P, PARROT_ARG_KC, PARROT_ARG_S },
9695     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
9696     { 0, 0, 0 },
9697     &core_op_lib
9698   },
9699   { /* 770 */
9700     "set",
9701     "set_p_k_sc",
9702     "Parrot_set_p_k_sc",
9703     0,
9704     4,
9705     { PARROT_ARG_P, PARROT_ARG_K, PARROT_ARG_SC },
9706     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
9707     { 0, 0, 0 },
9708     &core_op_lib
9709   },
9710   { /* 771 */
9711     "set",
9712     "set_p_kc_sc",
9713     "Parrot_set_p_kc_sc",
9714     0,
9715     4,
9716     { PARROT_ARG_P, PARROT_ARG_KC, PARROT_ARG_SC },
9717     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
9718     { 0, 0, 0 },
9719     &core_op_lib
9720   },
9721   { /* 772 */
9722     "set",
9723     "set_p_k_p",
9724     "Parrot_set_p_k_p",
9725     0,
9726     4,
9727     { PARROT_ARG_P, PARROT_ARG_K, PARROT_ARG_P },
9728     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
9729     { 0, 0, 0 },
9730     &core_op_lib
9731   },
9732   { /* 773 */
9733     "set",
9734     "set_p_kc_p",
9735     "Parrot_set_p_kc_p",
9736     0,
9737     4,
9738     { PARROT_ARG_P, PARROT_ARG_KC, PARROT_ARG_P },
9739     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
9740     { 0, 0, 0 },
9741     &core_op_lib
9742   },
9743   { /* 774 */
9744     "set",
9745     "set_i_p_k",
9746     "Parrot_set_i_p_k",
9747     0,
9748     4,
9749     { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_K },
9750     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
9751     { 0, 0, 0 },
9752     &core_op_lib
9753   },
9754   { /* 775 */
9755     "set",
9756     "set_i_p_kc",
9757     "Parrot_set_i_p_kc",
9758     0,
9759     4,
9760     { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_KC },
9761     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
9762     { 0, 0, 0 },
9763     &core_op_lib
9764   },
9765   { /* 776 */
9766     "set",
9767     "set_n_p_k",
9768     "Parrot_set_n_p_k",
9769     0,
9770     4,
9771     { PARROT_ARG_N, PARROT_ARG_P, PARROT_ARG_K },
9772     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
9773     { 0, 0, 0 },
9774     &core_op_lib
9775   },
9776   { /* 777 */
9777     "set",
9778     "set_n_p_kc",
9779     "Parrot_set_n_p_kc",
9780     0,
9781     4,
9782     { PARROT_ARG_N, PARROT_ARG_P, PARROT_ARG_KC },
9783     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
9784     { 0, 0, 0 },
9785     &core_op_lib
9786   },
9787   { /* 778 */
9788     "set",
9789     "set_s_p_k",
9790     "Parrot_set_s_p_k",
9791     0,
9792     4,
9793     { PARROT_ARG_S, PARROT_ARG_P, PARROT_ARG_K },
9794     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
9795     { 0, 0, 0 },
9796     &core_op_lib
9797   },
9798   { /* 779 */
9799     "set",
9800     "set_s_p_kc",
9801     "Parrot_set_s_p_kc",
9802     0,
9803     4,
9804     { PARROT_ARG_S, PARROT_ARG_P, PARROT_ARG_KC },
9805     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
9806     { 0, 0, 0 },
9807     &core_op_lib
9808   },
9809   { /* 780 */
9810     "set",
9811     "set_p_p_k",
9812     "Parrot_set_p_p_k",
9813     0,
9814     4,
9815     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_K },
9816     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
9817     { 0, 0, 0 },
9818     &core_op_lib
9819   },
9820   { /* 781 */
9821     "set",
9822     "set_p_p_kc",
9823     "Parrot_set_p_p_kc",
9824     0,
9825     4,
9826     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_KC },
9827     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
9828     { 0, 0, 0 },
9829     &core_op_lib
9830   },
9831   { /* 782 */
9832     "clone",
9833     "clone_p_p",
9834     "Parrot_clone_p_p",
9835     0,
9836     3,
9837     { PARROT_ARG_P, PARROT_ARG_P },
9838     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
9839     { 0, 0 },
9840     &core_op_lib
9841   },
9842   { /* 783 */
9843     "clone",
9844     "clone_p_p_p",
9845     "Parrot_clone_p_p_p",
9846     0,
9847     4,
9848     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
9849     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
9850     { 0, 0, 0 },
9851     &core_op_lib
9852   },
9853   { /* 784 */
9854     "clone",
9855     "clone_p_p_pc",
9856     "Parrot_clone_p_p_pc",
9857     0,
9858     4,
9859     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_PC },
9860     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
9861     { 0, 0, 0 },
9862     &core_op_lib
9863   },
9864   { /* 785 */
9865     "copy",
9866     "copy_p_p",
9867     "Parrot_copy_p_p",
9868     0,
9869     3,
9870     { PARROT_ARG_P, PARROT_ARG_P },
9871     { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
9872     { 0, 0 },
9873     &core_op_lib
9874   },
9875   { /* 786 */
9876     "null",
9877     "null_s",
9878     "Parrot_null_s",
9879     0,
9880     2,
9881     { PARROT_ARG_S },
9882     { PARROT_ARGDIR_OUT },
9883     { 0 },
9884     &core_op_lib
9885   },
9886   { /* 787 */
9887     "null",
9888     "null_i",
9889     "Parrot_null_i",
9890     0,
9891     2,
9892     { PARROT_ARG_I },
9893     { PARROT_ARGDIR_OUT },
9894     { 0 },
9895     &core_op_lib
9896   },
9897   { /* 788 */
9898     "null",
9899     "null_p",
9900     "Parrot_null_p",
9901     0,
9902     2,
9903     { PARROT_ARG_P },
9904     { PARROT_ARGDIR_OUT },
9905     { 0 },
9906     &core_op_lib
9907   },
9908   { /* 789 */
9909     "null",
9910     "null_n",
9911     "Parrot_null_n",
9912     0,
9913     2,
9914     { PARROT_ARG_N },
9915     { PARROT_ARGDIR_OUT },
9916     { 0 },
9917     &core_op_lib
9918   },
9919   { /* 790 */
9920     "ord",
9921     "ord_i_s",
9922     "Parrot_ord_i_s",
9923     0,
9924     3,
9925     { PARROT_ARG_I, PARROT_ARG_S },
9926     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
9927     { 0, 0 },
9928     &core_op_lib
9929   },
9930   { /* 791 */
9931     "ord",
9932     "ord_i_sc",
9933     "Parrot_ord_i_sc",
9934     0,
9935     3,
9936     { PARROT_ARG_I, PARROT_ARG_SC },
9937     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
9938     { 0, 0 },
9939     &core_op_lib
9940   },
9941   { /* 792 */
9942     "ord",
9943     "ord_i_s_i",
9944     "Parrot_ord_i_s_i",
9945     0,
9946     4,
9947     { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_I },
9948     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
9949     { 0, 0, 0 },
9950     &core_op_lib
9951   },
9952   { /* 793 */
9953     "ord",
9954     "ord_i_sc_i",
9955     "Parrot_ord_i_sc_i",
9956     0,
9957     4,
9958     { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_I },
9959     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
9960     { 0, 0, 0 },
9961     &core_op_lib
9962   },
9963   { /* 794 */
9964     "ord",
9965     "ord_i_s_ic",
9966     "Parrot_ord_i_s_ic",
9967     0,
9968     4,
9969     { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_IC },
9970     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
9971     { 0, 0, 0 },
9972     &core_op_lib
9973   },
9974   { /* 795 */
9975     "ord",
9976     "ord_i_sc_ic",
9977     "Parrot_ord_i_sc_ic",
9978     0,
9979     4,
9980     { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_IC },
9981     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
9982     { 0, 0, 0 },
9983     &core_op_lib
9984   },
9985   { /* 796 */
9986     "chr",
9987     "chr_s_i",
9988     "Parrot_chr_s_i",
9989     0,
9990     3,
9991     { PARROT_ARG_S, PARROT_ARG_I },
9992     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
9993     { 0, 0 },
9994     &core_op_lib
9995   },
9996   { /* 797 */
9997     "chr",
9998     "chr_s_ic",
9999     "Parrot_chr_s_ic",
10000     0,
10001     3,
10002     { PARROT_ARG_S, PARROT_ARG_IC },
10003     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
10004     { 0, 0 },
10005     &core_op_lib
10006   },
10007   { /* 798 */
10008     "chopn",
10009     "chopn_s_s_i",
10010     "Parrot_chopn_s_s_i",
10011     0,
10012     4,
10013     { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_I },
10014     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10015     { 0, 0, 0 },
10016     &core_op_lib
10017   },
10018   { /* 799 */
10019     "chopn",
10020     "chopn_s_sc_i",
10021     "Parrot_chopn_s_sc_i",
10022     0,
10023     4,
10024     { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_I },
10025     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10026     { 0, 0, 0 },
10027     &core_op_lib
10028   },
10029   { /* 800 */
10030     "chopn",
10031     "chopn_s_s_ic",
10032     "Parrot_chopn_s_s_ic",
10033     0,
10034     4,
10035     { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC },
10036     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10037     { 0, 0, 0 },
10038     &core_op_lib
10039   },
10040   { /* 801 */
10041     "chopn",
10042     "chopn_s_sc_ic",
10043     "Parrot_chopn_s_sc_ic",
10044     0,
10045     4,
10046     { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC },
10047     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10048     { 0, 0, 0 },
10049     &core_op_lib
10050   },
10051   { /* 802 */
10052     "concat",
10053     "concat_p_p",
10054     "Parrot_concat_p_p",
10055     0,
10056     3,
10057     { PARROT_ARG_P, PARROT_ARG_P },
10058     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10059     { 0, 0 },
10060     &core_op_lib
10061   },
10062   { /* 803 */
10063     "concat",
10064     "concat_p_s",
10065     "Parrot_concat_p_s",
10066     0,
10067     3,
10068     { PARROT_ARG_P, PARROT_ARG_S },
10069     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10070     { 0, 0 },
10071     &core_op_lib
10072   },
10073   { /* 804 */
10074     "concat",
10075     "concat_p_sc",
10076     "Parrot_concat_p_sc",
10077     0,
10078     3,
10079     { PARROT_ARG_P, PARROT_ARG_SC },
10080     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10081     { 0, 0 },
10082     &core_op_lib
10083   },
10084   { /* 805 */
10085     "concat",
10086     "concat_s_s_s",
10087     "Parrot_concat_s_s_s",
10088     0,
10089     4,
10090     { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_S },
10091     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10092     { 0, 0, 0 },
10093     &core_op_lib
10094   },
10095   { /* 806 */
10096     "concat",
10097     "concat_s_sc_s",
10098     "Parrot_concat_s_sc_s",
10099     0,
10100     4,
10101     { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_S },
10102     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10103     { 0, 0, 0 },
10104     &core_op_lib
10105   },
10106   { /* 807 */
10107     "concat",
10108     "concat_s_s_sc",
10109     "Parrot_concat_s_s_sc",
10110     0,
10111     4,
10112     { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_SC },
10113     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10114     { 0, 0, 0 },
10115     &core_op_lib
10116   },
10117   { /* 808 */
10118     "concat",
10119     "concat_p_p_s",
10120     "Parrot_concat_p_p_s",
10121     0,
10122     4,
10123     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S },
10124     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10125     { 0, 0, 0 },
10126     &core_op_lib
10127   },
10128   { /* 809 */
10129     "concat",
10130     "concat_p_p_sc",
10131     "Parrot_concat_p_p_sc",
10132     0,
10133     4,
10134     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC },
10135     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10136     { 0, 0, 0 },
10137     &core_op_lib
10138   },
10139   { /* 810 */
10140     "concat",
10141     "concat_p_p_p",
10142     "Parrot_concat_p_p_p",
10143     0,
10144     4,
10145     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
10146     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10147     { 0, 0, 0 },
10148     &core_op_lib
10149   },
10150   { /* 811 */
10151     "repeat",
10152     "repeat_s_s_i",
10153     "Parrot_repeat_s_s_i",
10154     0,
10155     4,
10156     { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_I },
10157     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10158     { 0, 0, 0 },
10159     &core_op_lib
10160   },
10161   { /* 812 */
10162     "repeat",
10163     "repeat_s_sc_i",
10164     "Parrot_repeat_s_sc_i",
10165     0,
10166     4,
10167     { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_I },
10168     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10169     { 0, 0, 0 },
10170     &core_op_lib
10171   },
10172   { /* 813 */
10173     "repeat",
10174     "repeat_s_s_ic",
10175     "Parrot_repeat_s_s_ic",
10176     0,
10177     4,
10178     { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC },
10179     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10180     { 0, 0, 0 },
10181     &core_op_lib
10182   },
10183   { /* 814 */
10184     "repeat",
10185     "repeat_s_sc_ic",
10186     "Parrot_repeat_s_sc_ic",
10187     0,
10188     4,
10189     { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC },
10190     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10191     { 0, 0, 0 },
10192     &core_op_lib
10193   },
10194   { /* 815 */
10195     "repeat",
10196     "repeat_p_p_i",
10197     "Parrot_repeat_p_p_i",
10198     0,
10199     4,
10200     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I },
10201     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10202     { 0, 0, 0 },
10203     &core_op_lib
10204   },
10205   { /* 816 */
10206     "repeat",
10207     "repeat_p_p_ic",
10208     "Parrot_repeat_p_p_ic",
10209     0,
10210     4,
10211     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
10212     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10213     { 0, 0, 0 },
10214     &core_op_lib
10215   },
10216   { /* 817 */
10217     "repeat",
10218     "repeat_p_p_p",
10219     "Parrot_repeat_p_p_p",
10220     0,
10221     4,
10222     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
10223     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10224     { 0, 0, 0 },
10225     &core_op_lib
10226   },
10227   { /* 818 */
10228     "repeat",
10229     "repeat_p_i",
10230     "Parrot_repeat_p_i",
10231     0,
10232     3,
10233     { PARROT_ARG_P, PARROT_ARG_I },
10234     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10235     { 0, 0 },
10236     &core_op_lib
10237   },
10238   { /* 819 */
10239     "repeat",
10240     "repeat_p_ic",
10241     "Parrot_repeat_p_ic",
10242     0,
10243     3,
10244     { PARROT_ARG_P, PARROT_ARG_IC },
10245     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10246     { 0, 0 },
10247     &core_op_lib
10248   },
10249   { /* 820 */
10250     "repeat",
10251     "repeat_p_p",
10252     "Parrot_repeat_p_p",
10253     0,
10254     3,
10255     { PARROT_ARG_P, PARROT_ARG_P },
10256     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10257     { 0, 0 },
10258     &core_op_lib
10259   },
10260   { /* 821 */
10261     "length",
10262     "length_i_s",
10263     "Parrot_length_i_s",
10264     0,
10265     3,
10266     { PARROT_ARG_I, PARROT_ARG_S },
10267     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
10268     { 0, 0 },
10269     &core_op_lib
10270   },
10271   { /* 822 */
10272     "length",
10273     "length_i_sc",
10274     "Parrot_length_i_sc",
10275     0,
10276     3,
10277     { PARROT_ARG_I, PARROT_ARG_SC },
10278     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
10279     { 0, 0 },
10280     &core_op_lib
10281   },
10282   { /* 823 */
10283     "bytelength",
10284     "bytelength_i_s",
10285     "Parrot_bytelength_i_s",
10286     0,
10287     3,
10288     { PARROT_ARG_I, PARROT_ARG_S },
10289     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
10290     { 0, 0 },
10291     &core_op_lib
10292   },
10293   { /* 824 */
10294     "bytelength",
10295     "bytelength_i_sc",
10296     "Parrot_bytelength_i_sc",
10297     0,
10298     3,
10299     { PARROT_ARG_I, PARROT_ARG_SC },
10300     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
10301     { 0, 0 },
10302     &core_op_lib
10303   },
10304   { /* 825 */
10305     "pin",
10306     "pin_s",
10307     "Parrot_pin_s",
10308     0,
10309     2,
10310     { PARROT_ARG_S },
10311     { PARROT_ARGDIR_INOUT },
10312     { 0 },
10313     &core_op_lib
10314   },
10315   { /* 826 */
10316     "unpin",
10317     "unpin_s",
10318     "Parrot_unpin_s",
10319     0,
10320     2,
10321     { PARROT_ARG_S },
10322     { PARROT_ARGDIR_INOUT },
10323     { 0 },
10324     &core_op_lib
10325   },
10326   { /* 827 */
10327     "substr",
10328     "substr_s_s_i",
10329     "Parrot_substr_s_s_i",
10330     0,
10331     4,
10332     { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_I },
10333     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10334     { 0, 0, 0 },
10335     &core_op_lib
10336   },
10337   { /* 828 */
10338     "substr",
10339     "substr_s_sc_i",
10340     "Parrot_substr_s_sc_i",
10341     0,
10342     4,
10343     { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_I },
10344     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10345     { 0, 0, 0 },
10346     &core_op_lib
10347   },
10348   { /* 829 */
10349     "substr",
10350     "substr_s_s_ic",
10351     "Parrot_substr_s_s_ic",
10352     0,
10353     4,
10354     { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC },
10355     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10356     { 0, 0, 0 },
10357     &core_op_lib
10358   },
10359   { /* 830 */
10360     "substr",
10361     "substr_s_sc_ic",
10362     "Parrot_substr_s_sc_ic",
10363     0,
10364     4,
10365     { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC },
10366     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10367     { 0, 0, 0 },
10368     &core_op_lib
10369   },
10370   { /* 831 */
10371     "substr",
10372     "substr_s_s_i_i",
10373     "Parrot_substr_s_s_i_i",
10374     0,
10375     5,
10376     { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_I, PARROT_ARG_I },
10377     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10378     { 0, 0, 0, 0 },
10379     &core_op_lib
10380   },
10381   { /* 832 */
10382     "substr",
10383     "substr_s_sc_i_i",
10384     "Parrot_substr_s_sc_i_i",
10385     0,
10386     5,
10387     { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_I, PARROT_ARG_I },
10388     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10389     { 0, 0, 0, 0 },
10390     &core_op_lib
10391   },
10392   { /* 833 */
10393     "substr",
10394     "substr_s_s_ic_i",
10395     "Parrot_substr_s_s_ic_i",
10396     0,
10397     5,
10398     { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC, PARROT_ARG_I },
10399     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10400     { 0, 0, 0, 0 },
10401     &core_op_lib
10402   },
10403   { /* 834 */
10404     "substr",
10405     "substr_s_sc_ic_i",
10406     "Parrot_substr_s_sc_ic_i",
10407     0,
10408     5,
10409     { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC, PARROT_ARG_I },
10410     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10411     { 0, 0, 0, 0 },
10412     &core_op_lib
10413   },
10414   { /* 835 */
10415     "substr",
10416     "substr_s_s_i_ic",
10417     "Parrot_substr_s_s_i_ic",
10418     0,
10419     5,
10420     { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_I, PARROT_ARG_IC },
10421     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10422     { 0, 0, 0, 0 },
10423     &core_op_lib
10424   },
10425   { /* 836 */
10426     "substr",
10427     "substr_s_sc_i_ic",
10428     "Parrot_substr_s_sc_i_ic",
10429     0,
10430     5,
10431     { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_I, PARROT_ARG_IC },
10432     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10433     { 0, 0, 0, 0 },
10434     &core_op_lib
10435   },
10436   { /* 837 */
10437     "substr",
10438     "substr_s_s_ic_ic",
10439     "Parrot_substr_s_s_ic_ic",
10440     0,
10441     5,
10442     { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC, PARROT_ARG_IC },
10443     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10444     { 0, 0, 0, 0 },
10445     &core_op_lib
10446   },
10447   { /* 838 */
10448     "substr",
10449     "substr_s_sc_ic_ic",
10450     "Parrot_substr_s_sc_ic_ic",
10451     0,
10452     5,
10453     { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC, PARROT_ARG_IC },
10454     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10455     { 0, 0, 0, 0 },
10456     &core_op_lib
10457   },
10458   { /* 839 */
10459     "substr",
10460     "substr_s_p_i_i",
10461     "Parrot_substr_s_p_i_i",
10462     0,
10463     5,
10464     { PARROT_ARG_S, PARROT_ARG_P, PARROT_ARG_I, PARROT_ARG_I },
10465     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10466     { 0, 0, 0, 0 },
10467     &core_op_lib
10468   },
10469   { /* 840 */
10470     "substr",
10471     "substr_s_p_ic_i",
10472     "Parrot_substr_s_p_ic_i",
10473     0,
10474     5,
10475     { PARROT_ARG_S, PARROT_ARG_P, PARROT_ARG_IC, PARROT_ARG_I },
10476     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10477     { 0, 0, 0, 0 },
10478     &core_op_lib
10479   },
10480   { /* 841 */
10481     "substr",
10482     "substr_s_p_i_ic",
10483     "Parrot_substr_s_p_i_ic",
10484     0,
10485     5,
10486     { PARROT_ARG_S, PARROT_ARG_P, PARROT_ARG_I, PARROT_ARG_IC },
10487     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10488     { 0, 0, 0, 0 },
10489     &core_op_lib
10490   },
10491   { /* 842 */
10492     "substr",
10493     "substr_s_p_ic_ic",
10494     "Parrot_substr_s_p_ic_ic",
10495     0,
10496     5,
10497     { PARROT_ARG_S, PARROT_ARG_P, PARROT_ARG_IC, PARROT_ARG_IC },
10498     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10499     { 0, 0, 0, 0 },
10500     &core_op_lib
10501   },
10502   { /* 843 */
10503     "replace",
10504     "replace_s_s_i_i_s",
10505     "Parrot_replace_s_s_i_i_s",
10506     0,
10507     6,
10508     { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_S },
10509     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10510     { 0, 0, 0, 0, 0 },
10511     &core_op_lib
10512   },
10513   { /* 844 */
10514     "replace",
10515     "replace_s_sc_i_i_s",
10516     "Parrot_replace_s_sc_i_i_s",
10517     0,
10518     6,
10519     { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_S },
10520     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10521     { 0, 0, 0, 0, 0 },
10522     &core_op_lib
10523   },
10524   { /* 845 */
10525     "replace",
10526     "replace_s_s_ic_i_s",
10527     "Parrot_replace_s_s_ic_i_s",
10528     0,
10529     6,
10530     { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC, PARROT_ARG_I, PARROT_ARG_S },
10531     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10532     { 0, 0, 0, 0, 0 },
10533     &core_op_lib
10534   },
10535   { /* 846 */
10536     "replace",
10537     "replace_s_sc_ic_i_s",
10538     "Parrot_replace_s_sc_ic_i_s",
10539     0,
10540     6,
10541     { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC, PARROT_ARG_I, PARROT_ARG_S },
10542     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10543     { 0, 0, 0, 0, 0 },
10544     &core_op_lib
10545   },
10546   { /* 847 */
10547     "replace",
10548     "replace_s_s_i_ic_s",
10549     "Parrot_replace_s_s_i_ic_s",
10550     0,
10551     6,
10552     { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_S },
10553     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10554     { 0, 0, 0, 0, 0 },
10555     &core_op_lib
10556   },
10557   { /* 848 */
10558     "replace",
10559     "replace_s_sc_i_ic_s",
10560     "Parrot_replace_s_sc_i_ic_s",
10561     0,
10562     6,
10563     { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_S },
10564     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10565     { 0, 0, 0, 0, 0 },
10566     &core_op_lib
10567   },
10568   { /* 849 */
10569     "replace",
10570     "replace_s_s_ic_ic_s",
10571     "Parrot_replace_s_s_ic_ic_s",
10572     0,
10573     6,
10574     { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC, PARROT_ARG_IC, PARROT_ARG_S },
10575     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10576     { 0, 0, 0, 0, 0 },
10577     &core_op_lib
10578   },
10579   { /* 850 */
10580     "replace",
10581     "replace_s_sc_ic_ic_s",
10582     "Parrot_replace_s_sc_ic_ic_s",
10583     0,
10584     6,
10585     { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC, PARROT_ARG_IC, PARROT_ARG_S },
10586     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10587     { 0, 0, 0, 0, 0 },
10588     &core_op_lib
10589   },
10590   { /* 851 */
10591     "replace",
10592     "replace_s_s_i_i_sc",
10593     "Parrot_replace_s_s_i_i_sc",
10594     0,
10595     6,
10596     { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_SC },
10597     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10598     { 0, 0, 0, 0, 0 },
10599     &core_op_lib
10600   },
10601   { /* 852 */
10602     "replace",
10603     "replace_s_sc_i_i_sc",
10604     "Parrot_replace_s_sc_i_i_sc",
10605     0,
10606     6,
10607     { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_SC },
10608     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10609     { 0, 0, 0, 0, 0 },
10610     &core_op_lib
10611   },
10612   { /* 853 */
10613     "replace",
10614     "replace_s_s_ic_i_sc",
10615     "Parrot_replace_s_s_ic_i_sc",
10616     0,
10617     6,
10618     { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC, PARROT_ARG_I, PARROT_ARG_SC },
10619     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10620     { 0, 0, 0, 0, 0 },
10621     &core_op_lib
10622   },
10623   { /* 854 */
10624     "replace",
10625     "replace_s_sc_ic_i_sc",
10626     "Parrot_replace_s_sc_ic_i_sc",
10627     0,
10628     6,
10629     { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC, PARROT_ARG_I, PARROT_ARG_SC },
10630     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10631     { 0, 0, 0, 0, 0 },
10632     &core_op_lib
10633   },
10634   { /* 855 */
10635     "replace",
10636     "replace_s_s_i_ic_sc",
10637     "Parrot_replace_s_s_i_ic_sc",
10638     0,
10639     6,
10640     { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_SC },
10641     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10642     { 0, 0, 0, 0, 0 },
10643     &core_op_lib
10644   },
10645   { /* 856 */
10646     "replace",
10647     "replace_s_sc_i_ic_sc",
10648     "Parrot_replace_s_sc_i_ic_sc",
10649     0,
10650     6,
10651     { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_SC },
10652     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10653     { 0, 0, 0, 0, 0 },
10654     &core_op_lib
10655   },
10656   { /* 857 */
10657     "replace",
10658     "replace_s_s_ic_ic_sc",
10659     "Parrot_replace_s_s_ic_ic_sc",
10660     0,
10661     6,
10662     { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC, PARROT_ARG_IC, PARROT_ARG_SC },
10663     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10664     { 0, 0, 0, 0, 0 },
10665     &core_op_lib
10666   },
10667   { /* 858 */
10668     "replace",
10669     "replace_s_sc_ic_ic_sc",
10670     "Parrot_replace_s_sc_ic_ic_sc",
10671     0,
10672     6,
10673     { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC, PARROT_ARG_IC, PARROT_ARG_SC },
10674     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10675     { 0, 0, 0, 0, 0 },
10676     &core_op_lib
10677   },
10678   { /* 859 */
10679     "index",
10680     "index_i_s_s",
10681     "Parrot_index_i_s_s",
10682     0,
10683     4,
10684     { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_S },
10685     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10686     { 0, 0, 0 },
10687     &core_op_lib
10688   },
10689   { /* 860 */
10690     "index",
10691     "index_i_sc_s",
10692     "Parrot_index_i_sc_s",
10693     0,
10694     4,
10695     { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_S },
10696     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10697     { 0, 0, 0 },
10698     &core_op_lib
10699   },
10700   { /* 861 */
10701     "index",
10702     "index_i_s_sc",
10703     "Parrot_index_i_s_sc",
10704     0,
10705     4,
10706     { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_SC },
10707     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10708     { 0, 0, 0 },
10709     &core_op_lib
10710   },
10711   { /* 862 */
10712     "index",
10713     "index_i_sc_sc",
10714     "Parrot_index_i_sc_sc",
10715     0,
10716     4,
10717     { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_SC },
10718     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10719     { 0, 0, 0 },
10720     &core_op_lib
10721   },
10722   { /* 863 */
10723     "index",
10724     "index_i_s_s_i",
10725     "Parrot_index_i_s_s_i",
10726     0,
10727     5,
10728     { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_I },
10729     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10730     { 0, 0, 0, 0 },
10731     &core_op_lib
10732   },
10733   { /* 864 */
10734     "index",
10735     "index_i_sc_s_i",
10736     "Parrot_index_i_sc_s_i",
10737     0,
10738     5,
10739     { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_S, PARROT_ARG_I },
10740     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10741     { 0, 0, 0, 0 },
10742     &core_op_lib
10743   },
10744   { /* 865 */
10745     "index",
10746     "index_i_s_sc_i",
10747     "Parrot_index_i_s_sc_i",
10748     0,
10749     5,
10750     { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_I },
10751     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10752     { 0, 0, 0, 0 },
10753     &core_op_lib
10754   },
10755   { /* 866 */
10756     "index",
10757     "index_i_sc_sc_i",
10758     "Parrot_index_i_sc_sc_i",
10759     0,
10760     5,
10761     { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_SC, PARROT_ARG_I },
10762     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10763     { 0, 0, 0, 0 },
10764     &core_op_lib
10765   },
10766   { /* 867 */
10767     "index",
10768     "index_i_s_s_ic",
10769     "Parrot_index_i_s_s_ic",
10770     0,
10771     5,
10772     { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC },
10773     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10774     { 0, 0, 0, 0 },
10775     &core_op_lib
10776   },
10777   { /* 868 */
10778     "index",
10779     "index_i_sc_s_ic",
10780     "Parrot_index_i_sc_s_ic",
10781     0,
10782     5,
10783     { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_S, PARROT_ARG_IC },
10784     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10785     { 0, 0, 0, 0 },
10786     &core_op_lib
10787   },
10788   { /* 869 */
10789     "index",
10790     "index_i_s_sc_ic",
10791     "Parrot_index_i_s_sc_ic",
10792     0,
10793     5,
10794     { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC },
10795     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10796     { 0, 0, 0, 0 },
10797     &core_op_lib
10798   },
10799   { /* 870 */
10800     "index",
10801     "index_i_sc_sc_ic",
10802     "Parrot_index_i_sc_sc_ic",
10803     0,
10804     5,
10805     { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_SC, PARROT_ARG_IC },
10806     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10807     { 0, 0, 0, 0 },
10808     &core_op_lib
10809   },
10810   { /* 871 */
10811     "rindex",
10812     "rindex_i_s_s",
10813     "Parrot_rindex_i_s_s",
10814     0,
10815     4,
10816     { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_S },
10817     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10818     { 0, 0, 0 },
10819     &core_op_lib
10820   },
10821   { /* 872 */
10822     "rindex",
10823     "rindex_i_sc_s",
10824     "Parrot_rindex_i_sc_s",
10825     0,
10826     4,
10827     { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_S },
10828     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10829     { 0, 0, 0 },
10830     &core_op_lib
10831   },
10832   { /* 873 */
10833     "rindex",
10834     "rindex_i_s_sc",
10835     "Parrot_rindex_i_s_sc",
10836     0,
10837     4,
10838     { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_SC },
10839     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10840     { 0, 0, 0 },
10841     &core_op_lib
10842   },
10843   { /* 874 */
10844     "rindex",
10845     "rindex_i_sc_sc",
10846     "Parrot_rindex_i_sc_sc",
10847     0,
10848     4,
10849     { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_SC },
10850     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10851     { 0, 0, 0 },
10852     &core_op_lib
10853   },
10854   { /* 875 */
10855     "rindex",
10856     "rindex_i_s_s_i",
10857     "Parrot_rindex_i_s_s_i",
10858     0,
10859     5,
10860     { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_I },
10861     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10862     { 0, 0, 0, 0 },
10863     &core_op_lib
10864   },
10865   { /* 876 */
10866     "rindex",
10867     "rindex_i_sc_s_i",
10868     "Parrot_rindex_i_sc_s_i",
10869     0,
10870     5,
10871     { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_S, PARROT_ARG_I },
10872     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10873     { 0, 0, 0, 0 },
10874     &core_op_lib
10875   },
10876   { /* 877 */
10877     "rindex",
10878     "rindex_i_s_sc_i",
10879     "Parrot_rindex_i_s_sc_i",
10880     0,
10881     5,
10882     { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_I },
10883     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10884     { 0, 0, 0, 0 },
10885     &core_op_lib
10886   },
10887   { /* 878 */
10888     "rindex",
10889     "rindex_i_sc_sc_i",
10890     "Parrot_rindex_i_sc_sc_i",
10891     0,
10892     5,
10893     { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_SC, PARROT_ARG_I },
10894     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10895     { 0, 0, 0, 0 },
10896     &core_op_lib
10897   },
10898   { /* 879 */
10899     "rindex",
10900     "rindex_i_s_s_ic",
10901     "Parrot_rindex_i_s_s_ic",
10902     0,
10903     5,
10904     { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC },
10905     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10906     { 0, 0, 0, 0 },
10907     &core_op_lib
10908   },
10909   { /* 880 */
10910     "rindex",
10911     "rindex_i_sc_s_ic",
10912     "Parrot_rindex_i_sc_s_ic",
10913     0,
10914     5,
10915     { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_S, PARROT_ARG_IC },
10916     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10917     { 0, 0, 0, 0 },
10918     &core_op_lib
10919   },
10920   { /* 881 */
10921     "rindex",
10922     "rindex_i_s_sc_ic",
10923     "Parrot_rindex_i_s_sc_ic",
10924     0,
10925     5,
10926     { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC },
10927     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10928     { 0, 0, 0, 0 },
10929     &core_op_lib
10930   },
10931   { /* 882 */
10932     "rindex",
10933     "rindex_i_sc_sc_ic",
10934     "Parrot_rindex_i_sc_sc_ic",
10935     0,
10936     5,
10937     { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_SC, PARROT_ARG_IC },
10938     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10939     { 0, 0, 0, 0 },
10940     &core_op_lib
10941   },
10942   { /* 883 */
10943     "sprintf",
10944     "sprintf_s_s_p",
10945     "Parrot_sprintf_s_s_p",
10946     0,
10947     4,
10948     { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_P },
10949     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10950     { 0, 0, 0 },
10951     &core_op_lib
10952   },
10953   { /* 884 */
10954     "sprintf",
10955     "sprintf_s_sc_p",
10956     "Parrot_sprintf_s_sc_p",
10957     0,
10958     4,
10959     { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_P },
10960     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10961     { 0, 0, 0 },
10962     &core_op_lib
10963   },
10964   { /* 885 */
10965     "sprintf",
10966     "sprintf_p_p_p",
10967     "Parrot_sprintf_p_p_p",
10968     0,
10969     4,
10970     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
10971     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10972     { 0, 0, 0 },
10973     &core_op_lib
10974   },
10975   { /* 886 */
10976     "new",
10977     "new_s",
10978     "Parrot_new_s",
10979     0,
10980     2,
10981     { PARROT_ARG_S },
10982     { PARROT_ARGDIR_OUT },
10983     { 0 },
10984     &core_op_lib
10985   },
10986   { /* 887 */
10987     "stringinfo",
10988     "stringinfo_i_s_i",
10989     "Parrot_stringinfo_i_s_i",
10990     0,
10991     4,
10992     { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_I },
10993     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
10994     { 0, 0, 0 },
10995     &core_op_lib
10996   },
10997   { /* 888 */
10998     "stringinfo",
10999     "stringinfo_i_sc_i",
11000     "Parrot_stringinfo_i_sc_i",
11001     0,
11002     4,
11003     { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_I },
11004     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
11005     { 0, 0, 0 },
11006     &core_op_lib
11007   },
11008   { /* 889 */
11009     "stringinfo",
11010     "stringinfo_i_s_ic",
11011     "Parrot_stringinfo_i_s_ic",
11012     0,
11013     4,
11014     { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_IC },
11015     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
11016     { 0, 0, 0 },
11017     &core_op_lib
11018   },
11019   { /* 890 */
11020     "stringinfo",
11021     "stringinfo_i_sc_ic",
11022     "Parrot_stringinfo_i_sc_ic",
11023     0,
11024     4,
11025     { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_IC },
11026     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
11027     { 0, 0, 0 },
11028     &core_op_lib
11029   },
11030   { /* 891 */
11031     "upcase",
11032     "upcase_s_s",
11033     "Parrot_upcase_s_s",
11034     0,
11035     3,
11036     { PARROT_ARG_S, PARROT_ARG_S },
11037     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
11038     { 0, 0 },
11039     &core_op_lib
11040   },
11041   { /* 892 */
11042     "upcase",
11043     "upcase_s_sc",
11044     "Parrot_upcase_s_sc",
11045     0,
11046     3,
11047     { PARROT_ARG_S, PARROT_ARG_SC },
11048     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
11049     { 0, 0 },
11050     &core_op_lib
11051   },
11052   { /* 893 */
11053     "downcase",
11054     "downcase_s_s",
11055     "Parrot_downcase_s_s",
11056     0,
11057     3,
11058     { PARROT_ARG_S, PARROT_ARG_S },
11059     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
11060     { 0, 0 },
11061     &core_op_lib
11062   },
11063   { /* 894 */
11064     "downcase",
11065     "downcase_s_sc",
11066     "Parrot_downcase_s_sc",
11067     0,
11068     3,
11069     { PARROT_ARG_S, PARROT_ARG_SC },
11070     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
11071     { 0, 0 },
11072     &core_op_lib
11073   },
11074   { /* 895 */
11075     "titlecase",
11076     "titlecase_s_s",
11077     "Parrot_titlecase_s_s",
11078     0,
11079     3,
11080     { PARROT_ARG_S, PARROT_ARG_S },
11081     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
11082     { 0, 0 },
11083     &core_op_lib
11084   },
11085   { /* 896 */
11086     "titlecase",
11087     "titlecase_s_sc",
11088     "Parrot_titlecase_s_sc",
11089     0,
11090     3,
11091     { PARROT_ARG_S, PARROT_ARG_SC },
11092     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
11093     { 0, 0 },
11094     &core_op_lib
11095   },
11096   { /* 897 */
11097     "join",
11098     "join_s_s_p",
11099     "Parrot_join_s_s_p",
11100     0,
11101     4,
11102     { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_P },
11103     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
11104     { 0, 0, 0 },
11105     &core_op_lib
11106   },
11107   { /* 898 */
11108     "join",
11109     "join_s_sc_p",
11110     "Parrot_join_s_sc_p",
11111     0,
11112     4,
11113     { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_P },
11114     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
11115     { 0, 0, 0 },
11116     &core_op_lib
11117   },
11118   { /* 899 */
11119     "split",
11120     "split_p_s_s",
11121     "Parrot_split_p_s_s",
11122     0,
11123     4,
11124     { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_S },
11125     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
11126     { 0, 0, 0 },
11127     &core_op_lib
11128   },
11129   { /* 900 */
11130     "split",
11131     "split_p_sc_s",
11132     "Parrot_split_p_sc_s",
11133     0,
11134     4,
11135     { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_S },
11136     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
11137     { 0, 0, 0 },
11138     &core_op_lib
11139   },
11140   { /* 901 */
11141     "split",
11142     "split_p_s_sc",
11143     "Parrot_split_p_s_sc",
11144     0,
11145     4,
11146     { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_SC },
11147     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
11148     { 0, 0, 0 },
11149     &core_op_lib
11150   },
11151   { /* 902 */
11152     "split",
11153     "split_p_sc_sc",
11154     "Parrot_split_p_sc_sc",
11155     0,
11156     4,
11157     { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_SC },
11158     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
11159     { 0, 0, 0 },
11160     &core_op_lib
11161   },
11162   { /* 903 */
11163     "encoding",
11164     "encoding_i_s",
11165     "Parrot_encoding_i_s",
11166     0,
11167     3,
11168     { PARROT_ARG_I, PARROT_ARG_S },
11169     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
11170     { 0, 0 },
11171     &core_op_lib
11172   },
11173   { /* 904 */
11174     "encoding",
11175     "encoding_i_sc",
11176     "Parrot_encoding_i_sc",
11177     0,
11178     3,
11179     { PARROT_ARG_I, PARROT_ARG_SC },
11180     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
11181     { 0, 0 },
11182     &core_op_lib
11183   },
11184   { /* 905 */
11185     "encodingname",
11186     "encodingname_s_i",
11187     "Parrot_encodingname_s_i",
11188     0,
11189     3,
11190     { PARROT_ARG_S, PARROT_ARG_I },
11191     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
11192     { 0, 0 },
11193     &core_op_lib
11194   },
11195   { /* 906 */
11196     "encodingname",
11197     "encodingname_s_ic",
11198     "Parrot_encodingname_s_ic",
11199     0,
11200     3,
11201     { PARROT_ARG_S, PARROT_ARG_IC },
11202     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
11203     { 0, 0 },
11204     &core_op_lib
11205   },
11206   { /* 907 */
11207     "find_encoding",
11208     "find_encoding_i_s",
11209     "Parrot_find_encoding_i_s",
11210     0,
11211     3,
11212     { PARROT_ARG_I, PARROT_ARG_S },
11213     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
11214     { 0, 0 },
11215     &core_op_lib
11216   },
11217   { /* 908 */
11218     "find_encoding",
11219     "find_encoding_i_sc",
11220     "Parrot_find_encoding_i_sc",
11221     0,
11222     3,
11223     { PARROT_ARG_I, PARROT_ARG_SC },
11224     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
11225     { 0, 0 },
11226     &core_op_lib
11227   },
11228   { /* 909 */
11229     "trans_encoding",
11230     "trans_encoding_s_s_i",
11231     "Parrot_trans_encoding_s_s_i",
11232     0,
11233     4,
11234     { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_I },
11235     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
11236     { 0, 0, 0 },
11237     &core_op_lib
11238   },
11239   { /* 910 */
11240     "trans_encoding",
11241     "trans_encoding_s_sc_i",
11242     "Parrot_trans_encoding_s_sc_i",
11243     0,
11244     4,
11245     { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_I },
11246     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
11247     { 0, 0, 0 },
11248     &core_op_lib
11249   },
11250   { /* 911 */
11251     "trans_encoding",
11252     "trans_encoding_s_s_ic",
11253     "Parrot_trans_encoding_s_s_ic",
11254     0,
11255     4,
11256     { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC },
11257     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
11258     { 0, 0, 0 },
11259     &core_op_lib
11260   },
11261   { /* 912 */
11262     "trans_encoding",
11263     "trans_encoding_s_sc_ic",
11264     "Parrot_trans_encoding_s_sc_ic",
11265     0,
11266     4,
11267     { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC },
11268     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
11269     { 0, 0, 0 },
11270     &core_op_lib
11271   },
11272   { /* 913 */
11273     "is_cclass",
11274     "is_cclass_i_i_s_i",
11275     "Parrot_is_cclass_i_i_s_i",
11276     0,
11277     5,
11278     { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_I },
11279     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
11280     { 0, 0, 0, 0 },
11281     &core_op_lib
11282   },
11283   { /* 914 */
11284     "is_cclass",
11285     "is_cclass_i_ic_s_i",
11286     "Parrot_is_cclass_i_ic_s_i",
11287     0,
11288     5,
11289     { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_S, PARROT_ARG_I },
11290     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
11291     { 0, 0, 0, 0 },
11292     &core_op_lib
11293   },
11294   { /* 915 */
11295     "is_cclass",
11296     "is_cclass_i_i_sc_i",
11297     "Parrot_is_cclass_i_i_sc_i",
11298     0,
11299     5,
11300     { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_I },
11301     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
11302     { 0, 0, 0, 0 },
11303     &core_op_lib
11304   },
11305   { /* 916 */
11306     "is_cclass",
11307     "is_cclass_i_ic_sc_i",
11308     "Parrot_is_cclass_i_ic_sc_i",
11309     0,
11310     5,
11311     { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_SC, PARROT_ARG_I },
11312     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
11313     { 0, 0, 0, 0 },
11314     &core_op_lib
11315   },
11316   { /* 917 */
11317     "is_cclass",
11318     "is_cclass_i_i_s_ic",
11319     "Parrot_is_cclass_i_i_s_ic",
11320     0,
11321     5,
11322     { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_IC },
11323     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
11324     { 0, 0, 0, 0 },
11325     &core_op_lib
11326   },
11327   { /* 918 */
11328     "is_cclass",
11329     "is_cclass_i_ic_s_ic",
11330     "Parrot_is_cclass_i_ic_s_ic",
11331     0,
11332     5,
11333     { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_S, PARROT_ARG_IC },
11334     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
11335     { 0, 0, 0, 0 },
11336     &core_op_lib
11337   },
11338   { /* 919 */
11339     "is_cclass",
11340     "is_cclass_i_i_sc_ic",
11341     "Parrot_is_cclass_i_i_sc_ic",
11342     0,
11343     5,
11344     { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_IC },
11345     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
11346     { 0, 0, 0, 0 },
11347     &core_op_lib
11348   },
11349   { /* 920 */
11350     "is_cclass",
11351     "is_cclass_i_ic_sc_ic",
11352     "Parrot_is_cclass_i_ic_sc_ic",
11353     0,
11354     5,
11355     { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_SC, PARROT_ARG_IC },
11356     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
11357     { 0, 0, 0, 0 },
11358     &core_op_lib
11359   },
11360   { /* 921 */
11361     "find_cclass",
11362     "find_cclass_i_i_s_i_i",
11363     "Parrot_find_cclass_i_i_s_i_i",
11364     0,
11365     6,
11366     { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_I, PARROT_ARG_I },
11367     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
11368     { 0, 0, 0, 0, 0 },
11369     &core_op_lib
11370   },
11371   { /* 922 */
11372     "find_cclass",
11373     "find_cclass_i_ic_s_i_i",
11374     "Parrot_find_cclass_i_ic_s_i_i",
11375     0,
11376     6,
11377     { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_S, PARROT_ARG_I, PARROT_ARG_I },
11378     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
11379     { 0, 0, 0, 0, 0 },
11380     &core_op_lib
11381   },
11382   { /* 923 */
11383     "find_cclass",
11384     "find_cclass_i_i_sc_i_i",
11385     "Parrot_find_cclass_i_i_sc_i_i",
11386     0,
11387     6,
11388     { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_I, PARROT_ARG_I },
11389     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
11390     { 0, 0, 0, 0, 0 },
11391     &core_op_lib
11392   },
11393   { /* 924 */
11394     "find_cclass",
11395     "find_cclass_i_ic_sc_i_i",
11396     "Parrot_find_cclass_i_ic_sc_i_i",
11397     0,
11398     6,
11399     { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_SC, PARROT_ARG_I, PARROT_ARG_I },
11400     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
11401     { 0, 0, 0, 0, 0 },
11402     &core_op_lib
11403   },
11404   { /* 925 */
11405     "find_cclass",
11406     "find_cclass_i_i_s_ic_i",
11407     "Parrot_find_cclass_i_i_s_ic_i",
11408     0,
11409     6,
11410     { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_IC, PARROT_ARG_I },
11411     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
11412     { 0, 0, 0, 0, 0 },
11413     &core_op_lib
11414   },
11415   { /* 926 */
11416     "find_cclass",
11417     "find_cclass_i_ic_s_ic_i",
11418     "Parrot_find_cclass_i_ic_s_ic_i",
11419     0,
11420     6,
11421     { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_S, PARROT_ARG_IC, PARROT_ARG_I },
11422     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
11423     { 0, 0, 0, 0, 0 },
11424     &core_op_lib
11425   },
11426   { /* 927 */
11427     "find_cclass",
11428     "find_cclass_i_i_sc_ic_i",
11429     "Parrot_find_cclass_i_i_sc_ic_i",
11430     0,
11431     6,
11432     { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_IC, PARROT_ARG_I },
11433     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
11434     { 0, 0, 0, 0, 0 },
11435     &core_op_lib
11436   },
11437   { /* 928 */
11438     "find_cclass",
11439     "find_cclass_i_ic_sc_ic_i",
11440     "Parrot_find_cclass_i_ic_sc_ic_i",
11441     0,
11442     6,
11443     { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_SC, PARROT_ARG_IC, PARROT_ARG_I },
11444     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
11445     { 0, 0, 0, 0, 0 },
11446     &core_op_lib
11447   },
11448   { /* 929 */
11449     "find_cclass",
11450     "find_cclass_i_i_s_i_ic",
11451     "Parrot_find_cclass_i_i_s_i_ic",
11452     0,
11453     6,
11454     { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_I, PARROT_ARG_IC },
11455     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
11456     { 0, 0, 0, 0, 0 },
11457     &core_op_lib
11458   },
11459   { /* 930 */
11460     "find_cclass",
11461     "find_cclass_i_ic_s_i_ic",
11462     "Parrot_find_cclass_i_ic_s_i_ic",
11463     0,
11464     6,
11465     { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_S, PARROT_ARG_I, PARROT_ARG_IC },
11466     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
11467     { 0, 0, 0, 0, 0 },
11468     &core_op_lib
11469   },
11470   { /* 931 */
11471     "find_cclass",
11472     "find_cclass_i_i_sc_i_ic",
11473     "Parrot_find_cclass_i_i_sc_i_ic",
11474     0,
11475     6,
11476     { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_I, PARROT_ARG_IC },
11477     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
11478     { 0, 0, 0, 0, 0 },
11479     &core_op_lib
11480   },
11481   { /* 932 */
11482     "find_cclass",
11483     "find_cclass_i_ic_sc_i_ic",
11484     "Parrot_find_cclass_i_ic_sc_i_ic",
11485     0,
11486     6,
11487     { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_SC, PARROT_ARG_I, PARROT_ARG_IC },
11488     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
11489     { 0, 0, 0, 0, 0 },
11490     &core_op_lib
11491   },
11492   { /* 933 */
11493     "find_cclass",
11494     "find_cclass_i_i_s_ic_ic",
11495     "Parrot_find_cclass_i_i_s_ic_ic",
11496     0,
11497     6,
11498     { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_IC, PARROT_ARG_IC },
11499     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
11500     { 0, 0, 0, 0, 0 },
11501     &core_op_lib
11502   },
11503   { /* 934 */
11504     "find_cclass",
11505     "find_cclass_i_ic_s_ic_ic",
11506     "Parrot_find_cclass_i_ic_s_ic_ic",
11507     0,
11508     6,
11509     { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_S, PARROT_ARG_IC, PARROT_ARG_IC },
11510     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
11511     { 0, 0, 0, 0, 0 },
11512     &core_op_lib
11513   },
11514   { /* 935 */
11515     "find_cclass",
11516     "find_cclass_i_i_sc_ic_ic",
11517     "Parrot_find_cclass_i_i_sc_ic_ic",
11518     0,
11519     6,
11520     { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_IC, PARROT_ARG_IC },
11521     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
11522     { 0, 0, 0, 0, 0 },
11523     &core_op_lib
11524   },
11525   { /* 936 */
11526     "find_cclass",
11527     "find_cclass_i_ic_sc_ic_ic",
11528     "Parrot_find_cclass_i_ic_sc_ic_ic",
11529     0,
11530     6,
11531     { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_SC, PARROT_ARG_IC, PARROT_ARG_IC },
11532     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
11533     { 0, 0, 0, 0, 0 },
11534     &core_op_lib
11535   },
11536   { /* 937 */
11537     "find_not_cclass",
11538     "find_not_cclass_i_i_s_i_i",
11539     "Parrot_find_not_cclass_i_i_s_i_i",
11540     0,
11541     6,
11542     { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_I, PARROT_ARG_I },
11543     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
11544     { 0, 0, 0, 0, 0 },
11545     &core_op_lib
11546   },
11547   { /* 938 */
11548     "find_not_cclass",
11549     "find_not_cclass_i_ic_s_i_i",
11550     "Parrot_find_not_cclass_i_ic_s_i_i",
11551     0,
11552     6,
11553     { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_S, PARROT_ARG_I, PARROT_ARG_I },
11554     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
11555     { 0, 0, 0, 0, 0 },
11556     &core_op_lib
11557   },
11558   { /* 939 */
11559     "find_not_cclass",
11560     "find_not_cclass_i_i_sc_i_i",
11561     "Parrot_find_not_cclass_i_i_sc_i_i",
11562     0,
11563     6,
11564     { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_I, PARROT_ARG_I },
11565     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
11566     { 0, 0, 0, 0, 0 },
11567     &core_op_lib
11568   },
11569   { /* 940 */
11570     "find_not_cclass",
11571     "find_not_cclass_i_ic_sc_i_i",
11572     "Parrot_find_not_cclass_i_ic_sc_i_i",
11573     0,
11574     6,
11575     { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_SC, PARROT_ARG_I, PARROT_ARG_I },
11576     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
11577     { 0, 0, 0, 0, 0 },
11578     &core_op_lib
11579   },
11580   { /* 941 */
11581     "find_not_cclass",
11582     "find_not_cclass_i_i_s_ic_i",
11583     "Parrot_find_not_cclass_i_i_s_ic_i",
11584     0,
11585     6,
11586     { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_IC, PARROT_ARG_I },
11587     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
11588     { 0, 0, 0, 0, 0 },
11589     &core_op_lib
11590   },
11591   { /* 942 */
11592     "find_not_cclass",
11593     "find_not_cclass_i_ic_s_ic_i",
11594     "Parrot_find_not_cclass_i_ic_s_ic_i",
11595     0,
11596     6,
11597     { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_S, PARROT_ARG_IC, PARROT_ARG_I },
11598     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
11599     { 0, 0, 0, 0, 0 },
11600     &core_op_lib
11601   },
11602   { /* 943 */
11603     "find_not_cclass",
11604     "find_not_cclass_i_i_sc_ic_i",
11605     "Parrot_find_not_cclass_i_i_sc_ic_i",
11606     0,
11607     6,
11608     { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_IC, PARROT_ARG_I },
11609     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
11610     { 0, 0, 0, 0, 0 },
11611     &core_op_lib
11612   },
11613   { /* 944 */
11614     "find_not_cclass",
11615     "find_not_cclass_i_ic_sc_ic_i",
11616     "Parrot_find_not_cclass_i_ic_sc_ic_i",
11617     0,
11618     6,
11619     { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_SC, PARROT_ARG_IC, PARROT_ARG_I },
11620     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
11621     { 0, 0, 0, 0, 0 },
11622     &core_op_lib
11623   },
11624   { /* 945 */
11625     "find_not_cclass",
11626     "find_not_cclass_i_i_s_i_ic",
11627     "Parrot_find_not_cclass_i_i_s_i_ic",
11628     0,
11629     6,
11630     { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_I, PARROT_ARG_IC },
11631     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
11632     { 0, 0, 0, 0, 0 },
11633     &core_op_lib
11634   },
11635   { /* 946 */
11636     "find_not_cclass",
11637     "find_not_cclass_i_ic_s_i_ic",
11638     "Parrot_find_not_cclass_i_ic_s_i_ic",
11639     0,
11640     6,
11641     { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_S, PARROT_ARG_I, PARROT_ARG_IC },
11642     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
11643     { 0, 0, 0, 0, 0 },
11644     &core_op_lib
11645   },
11646   { /* 947 */
11647     "find_not_cclass",
11648     "find_not_cclass_i_i_sc_i_ic",
11649     "Parrot_find_not_cclass_i_i_sc_i_ic",
11650     0,
11651     6,
11652     { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_I, PARROT_ARG_IC },
11653     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
11654     { 0, 0, 0, 0, 0 },
11655     &core_op_lib
11656   },
11657   { /* 948 */
11658     "find_not_cclass",
11659     "find_not_cclass_i_ic_sc_i_ic",
11660     "Parrot_find_not_cclass_i_ic_sc_i_ic",
11661     0,
11662     6,
11663     { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_SC, PARROT_ARG_I, PARROT_ARG_IC },
11664     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
11665     { 0, 0, 0, 0, 0 },
11666     &core_op_lib
11667   },
11668   { /* 949 */
11669     "find_not_cclass",
11670     "find_not_cclass_i_i_s_ic_ic",
11671     "Parrot_find_not_cclass_i_i_s_ic_ic",
11672     0,
11673     6,
11674     { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_IC, PARROT_ARG_IC },
11675     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
11676     { 0, 0, 0, 0, 0 },
11677     &core_op_lib
11678   },
11679   { /* 950 */
11680     "find_not_cclass",
11681     "find_not_cclass_i_ic_s_ic_ic",
11682     "Parrot_find_not_cclass_i_ic_s_ic_ic",
11683     0,
11684     6,
11685     { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_S, PARROT_ARG_IC, PARROT_ARG_IC },
11686     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
11687     { 0, 0, 0, 0, 0 },
11688     &core_op_lib
11689   },
11690   { /* 951 */
11691     "find_not_cclass",
11692     "find_not_cclass_i_i_sc_ic_ic",
11693     "Parrot_find_not_cclass_i_i_sc_ic_ic",
11694     0,
11695     6,
11696     { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_IC, PARROT_ARG_IC },
11697     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
11698     { 0, 0, 0, 0, 0 },
11699     &core_op_lib
11700   },
11701   { /* 952 */
11702     "find_not_cclass",
11703     "find_not_cclass_i_ic_sc_ic_ic",
11704     "Parrot_find_not_cclass_i_ic_sc_ic_ic",
11705     0,
11706     6,
11707     { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_SC, PARROT_ARG_IC, PARROT_ARG_IC },
11708     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
11709     { 0, 0, 0, 0, 0 },
11710     &core_op_lib
11711   },
11712   { /* 953 */
11713     "escape",
11714     "escape_s_s",
11715     "Parrot_escape_s_s",
11716     0,
11717     3,
11718     { PARROT_ARG_S, PARROT_ARG_S },
11719     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
11720     { 0, 0 },
11721     &core_op_lib
11722   },
11723   { /* 954 */
11724     "compose",
11725     "compose_s_s",
11726     "Parrot_compose_s_s",
11727     0,
11728     3,
11729     { PARROT_ARG_S, PARROT_ARG_S },
11730     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
11731     { 0, 0 },
11732     &core_op_lib
11733   },
11734   { /* 955 */
11735     "compose",
11736     "compose_s_sc",
11737     "Parrot_compose_s_sc",
11738     0,
11739     3,
11740     { PARROT_ARG_S, PARROT_ARG_SC },
11741     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
11742     { 0, 0 },
11743     &core_op_lib
11744   },
11745   { /* 956 */
11746     "find_codepoint",
11747     "find_codepoint_i_s",
11748     "Parrot_find_codepoint_i_s",
11749     0,
11750     3,
11751     { PARROT_ARG_I, PARROT_ARG_S },
11752     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
11753     { 0, 0 },
11754     &core_op_lib
11755   },
11756   { /* 957 */
11757     "find_codepoint",
11758     "find_codepoint_i_sc",
11759     "Parrot_find_codepoint_i_sc",
11760     0,
11761     3,
11762     { PARROT_ARG_I, PARROT_ARG_SC },
11763     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
11764     { 0, 0 },
11765     &core_op_lib
11766   },
11767   { /* 958 */
11768     "spawnw",
11769     "spawnw_i_s",
11770     "Parrot_spawnw_i_s",
11771     0,
11772     3,
11773     { PARROT_ARG_I, PARROT_ARG_S },
11774     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
11775     { 0, 0 },
11776     &core_op_lib
11777   },
11778   { /* 959 */
11779     "spawnw",
11780     "spawnw_i_sc",
11781     "Parrot_spawnw_i_sc",
11782     0,
11783     3,
11784     { PARROT_ARG_I, PARROT_ARG_SC },
11785     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
11786     { 0, 0 },
11787     &core_op_lib
11788   },
11789   { /* 960 */
11790     "spawnw",
11791     "spawnw_i_p",
11792     "Parrot_spawnw_i_p",
11793     0,
11794     3,
11795     { PARROT_ARG_I, PARROT_ARG_P },
11796     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
11797     { 0, 0 },
11798     &core_op_lib
11799   },
11800   { /* 961 */
11801     "err",
11802     "err_i",
11803     "Parrot_err_i",
11804     0,
11805     2,
11806     { PARROT_ARG_I },
11807     { PARROT_ARGDIR_OUT },
11808     { 0 },
11809     &core_op_lib
11810   },
11811   { /* 962 */
11812     "err",
11813     "err_s",
11814     "Parrot_err_s",
11815     0,
11816     2,
11817     { PARROT_ARG_S },
11818     { PARROT_ARGDIR_OUT },
11819     { 0 },
11820     &core_op_lib
11821   },
11822   { /* 963 */
11823     "err",
11824     "err_s_i",
11825     "Parrot_err_s_i",
11826     0,
11827     3,
11828     { PARROT_ARG_S, PARROT_ARG_I },
11829     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
11830     { 0, 0 },
11831     &core_op_lib
11832   },
11833   { /* 964 */
11834     "err",
11835     "err_s_ic",
11836     "Parrot_err_s_ic",
11837     0,
11838     3,
11839     { PARROT_ARG_S, PARROT_ARG_IC },
11840     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
11841     { 0, 0 },
11842     &core_op_lib
11843   },
11844   { /* 965 */
11845     "time",
11846     "time_i",
11847     "Parrot_time_i",
11848     0,
11849     2,
11850     { PARROT_ARG_I },
11851     { PARROT_ARGDIR_OUT },
11852     { 0 },
11853     &core_op_lib
11854   },
11855   { /* 966 */
11856     "time",
11857     "time_n",
11858     "Parrot_time_n",
11859     0,
11860     2,
11861     { PARROT_ARG_N },
11862     { PARROT_ARGDIR_OUT },
11863     { 0 },
11864     &core_op_lib
11865   },
11866   { /* 967 */
11867     "sleep",
11868     "sleep_i",
11869     "Parrot_sleep_i",
11870     0,
11871     2,
11872     { PARROT_ARG_I },
11873     { PARROT_ARGDIR_IN },
11874     { 0 },
11875     &core_op_lib
11876   },
11877   { /* 968 */
11878     "sleep",
11879     "sleep_ic",
11880     "Parrot_sleep_ic",
11881     0,
11882     2,
11883     { PARROT_ARG_IC },
11884     { PARROT_ARGDIR_IN },
11885     { 0 },
11886     &core_op_lib
11887   },
11888   { /* 969 */
11889     "sleep",
11890     "sleep_n",
11891     "Parrot_sleep_n",
11892     0,
11893     2,
11894     { PARROT_ARG_N },
11895     { PARROT_ARGDIR_IN },
11896     { 0 },
11897     &core_op_lib
11898   },
11899   { /* 970 */
11900     "sleep",
11901     "sleep_nc",
11902     "Parrot_sleep_nc",
11903     0,
11904     2,
11905     { PARROT_ARG_NC },
11906     { PARROT_ARGDIR_IN },
11907     { 0 },
11908     &core_op_lib
11909   },
11910   { /* 971 */
11911     "store_lex",
11912     "store_lex_s_p",
11913     "Parrot_store_lex_s_p",
11914     0,
11915     3,
11916     { PARROT_ARG_S, PARROT_ARG_P },
11917     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
11918     { 0, 0 },
11919     &core_op_lib
11920   },
11921   { /* 972 */
11922     "store_lex",
11923     "store_lex_sc_p",
11924     "Parrot_store_lex_sc_p",
11925     0,
11926     3,
11927     { PARROT_ARG_SC, PARROT_ARG_P },
11928     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
11929     { 0, 0 },
11930     &core_op_lib
11931   },
11932   { /* 973 */
11933     "store_lex",
11934     "store_lex_s_s",
11935     "Parrot_store_lex_s_s",
11936     0,
11937     3,
11938     { PARROT_ARG_S, PARROT_ARG_S },
11939     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
11940     { 0, 0 },
11941     &core_op_lib
11942   },
11943   { /* 974 */
11944     "store_lex",
11945     "store_lex_sc_s",
11946     "Parrot_store_lex_sc_s",
11947     0,
11948     3,
11949     { PARROT_ARG_SC, PARROT_ARG_S },
11950     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
11951     { 0, 0 },
11952     &core_op_lib
11953   },
11954   { /* 975 */
11955     "store_lex",
11956     "store_lex_s_sc",
11957     "Parrot_store_lex_s_sc",
11958     0,
11959     3,
11960     { PARROT_ARG_S, PARROT_ARG_SC },
11961     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
11962     { 0, 0 },
11963     &core_op_lib
11964   },
11965   { /* 976 */
11966     "store_lex",
11967     "store_lex_sc_sc",
11968     "Parrot_store_lex_sc_sc",
11969     0,
11970     3,
11971     { PARROT_ARG_SC, PARROT_ARG_SC },
11972     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
11973     { 0, 0 },
11974     &core_op_lib
11975   },
11976   { /* 977 */
11977     "store_lex",
11978     "store_lex_s_i",
11979     "Parrot_store_lex_s_i",
11980     0,
11981     3,
11982     { PARROT_ARG_S, PARROT_ARG_I },
11983     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
11984     { 0, 0 },
11985     &core_op_lib
11986   },
11987   { /* 978 */
11988     "store_lex",
11989     "store_lex_sc_i",
11990     "Parrot_store_lex_sc_i",
11991     0,
11992     3,
11993     { PARROT_ARG_SC, PARROT_ARG_I },
11994     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
11995     { 0, 0 },
11996     &core_op_lib
11997   },
11998   { /* 979 */
11999     "store_lex",
12000     "store_lex_s_ic",
12001     "Parrot_store_lex_s_ic",
12002     0,
12003     3,
12004     { PARROT_ARG_S, PARROT_ARG_IC },
12005     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
12006     { 0, 0 },
12007     &core_op_lib
12008   },
12009   { /* 980 */
12010     "store_lex",
12011     "store_lex_sc_ic",
12012     "Parrot_store_lex_sc_ic",
12013     0,
12014     3,
12015     { PARROT_ARG_SC, PARROT_ARG_IC },
12016     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
12017     { 0, 0 },
12018     &core_op_lib
12019   },
12020   { /* 981 */
12021     "store_lex",
12022     "store_lex_s_n",
12023     "Parrot_store_lex_s_n",
12024     0,
12025     3,
12026     { PARROT_ARG_S, PARROT_ARG_N },
12027     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
12028     { 0, 0 },
12029     &core_op_lib
12030   },
12031   { /* 982 */
12032     "store_lex",
12033     "store_lex_sc_n",
12034     "Parrot_store_lex_sc_n",
12035     0,
12036     3,
12037     { PARROT_ARG_SC, PARROT_ARG_N },
12038     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
12039     { 0, 0 },
12040     &core_op_lib
12041   },
12042   { /* 983 */
12043     "store_lex",
12044     "store_lex_s_nc",
12045     "Parrot_store_lex_s_nc",
12046     0,
12047     3,
12048     { PARROT_ARG_S, PARROT_ARG_NC },
12049     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
12050     { 0, 0 },
12051     &core_op_lib
12052   },
12053   { /* 984 */
12054     "store_lex",
12055     "store_lex_sc_nc",
12056     "Parrot_store_lex_sc_nc",
12057     0,
12058     3,
12059     { PARROT_ARG_SC, PARROT_ARG_NC },
12060     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
12061     { 0, 0 },
12062     &core_op_lib
12063   },
12064   { /* 985 */
12065     "store_dynamic_lex",
12066     "store_dynamic_lex_s_p",
12067     "Parrot_store_dynamic_lex_s_p",
12068     0,
12069     3,
12070     { PARROT_ARG_S, PARROT_ARG_P },
12071     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
12072     { 0, 0 },
12073     &core_op_lib
12074   },
12075   { /* 986 */
12076     "store_dynamic_lex",
12077     "store_dynamic_lex_sc_p",
12078     "Parrot_store_dynamic_lex_sc_p",
12079     0,
12080     3,
12081     { PARROT_ARG_SC, PARROT_ARG_P },
12082     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
12083     { 0, 0 },
12084     &core_op_lib
12085   },
12086   { /* 987 */
12087     "find_lex",
12088     "find_lex_p_s",
12089     "Parrot_find_lex_p_s",
12090     0,
12091     3,
12092     { PARROT_ARG_P, PARROT_ARG_S },
12093     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
12094     { 0, 0 },
12095     &core_op_lib
12096   },
12097   { /* 988 */
12098     "find_lex",
12099     "find_lex_p_sc",
12100     "Parrot_find_lex_p_sc",
12101     0,
12102     3,
12103     { PARROT_ARG_P, PARROT_ARG_SC },
12104     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
12105     { 0, 0 },
12106     &core_op_lib
12107   },
12108   { /* 989 */
12109     "find_lex",
12110     "find_lex_s_s",
12111     "Parrot_find_lex_s_s",
12112     0,
12113     3,
12114     { PARROT_ARG_S, PARROT_ARG_S },
12115     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
12116     { 0, 0 },
12117     &core_op_lib
12118   },
12119   { /* 990 */
12120     "find_lex",
12121     "find_lex_s_sc",
12122     "Parrot_find_lex_s_sc",
12123     0,
12124     3,
12125     { PARROT_ARG_S, PARROT_ARG_SC },
12126     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
12127     { 0, 0 },
12128     &core_op_lib
12129   },
12130   { /* 991 */
12131     "find_lex",
12132     "find_lex_i_s",
12133     "Parrot_find_lex_i_s",
12134     0,
12135     3,
12136     { PARROT_ARG_I, PARROT_ARG_S },
12137     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
12138     { 0, 0 },
12139     &core_op_lib
12140   },
12141   { /* 992 */
12142     "find_lex",
12143     "find_lex_i_sc",
12144     "Parrot_find_lex_i_sc",
12145     0,
12146     3,
12147     { PARROT_ARG_I, PARROT_ARG_SC },
12148     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
12149     { 0, 0 },
12150     &core_op_lib
12151   },
12152   { /* 993 */
12153     "find_lex",
12154     "find_lex_n_s",
12155     "Parrot_find_lex_n_s",
12156     0,
12157     3,
12158     { PARROT_ARG_N, PARROT_ARG_S },
12159     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
12160     { 0, 0 },
12161     &core_op_lib
12162   },
12163   { /* 994 */
12164     "find_lex",
12165     "find_lex_n_sc",
12166     "Parrot_find_lex_n_sc",
12167     0,
12168     3,
12169     { PARROT_ARG_N, PARROT_ARG_SC },
12170     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
12171     { 0, 0 },
12172     &core_op_lib
12173   },
12174   { /* 995 */
12175     "find_dynamic_lex",
12176     "find_dynamic_lex_p_s",
12177     "Parrot_find_dynamic_lex_p_s",
12178     0,
12179     3,
12180     { PARROT_ARG_P, PARROT_ARG_S },
12181     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
12182     { 0, 0 },
12183     &core_op_lib
12184   },
12185   { /* 996 */
12186     "find_dynamic_lex",
12187     "find_dynamic_lex_p_sc",
12188     "Parrot_find_dynamic_lex_p_sc",
12189     0,
12190     3,
12191     { PARROT_ARG_P, PARROT_ARG_SC },
12192     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
12193     { 0, 0 },
12194     &core_op_lib
12195   },
12196   { /* 997 */
12197     "find_caller_lex",
12198     "find_caller_lex_p_s",
12199     "Parrot_find_caller_lex_p_s",
12200     0,
12201     3,
12202     { PARROT_ARG_P, PARROT_ARG_S },
12203     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
12204     { 0, 0 },
12205     &core_op_lib
12206   },
12207   { /* 998 */
12208     "find_caller_lex",
12209     "find_caller_lex_p_sc",
12210     "Parrot_find_caller_lex_p_sc",
12211     0,
12212     3,
12213     { PARROT_ARG_P, PARROT_ARG_SC },
12214     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
12215     { 0, 0 },
12216     &core_op_lib
12217   },
12218   { /* 999 */
12219     "get_namespace",
12220     "get_namespace_p",
12221     "Parrot_get_namespace_p",
12222     0,
12223     2,
12224     { PARROT_ARG_P },
12225     { PARROT_ARGDIR_OUT },
12226     { 0 },
12227     &core_op_lib
12228   },
12229   { /* 1000 */
12230     "get_namespace",
12231     "get_namespace_p_p",
12232     "Parrot_get_namespace_p_p",
12233     0,
12234     3,
12235     { PARROT_ARG_P, PARROT_ARG_P },
12236     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
12237     { 0, 0 },
12238     &core_op_lib
12239   },
12240   { /* 1001 */
12241     "get_namespace",
12242     "get_namespace_p_pc",
12243     "Parrot_get_namespace_p_pc",
12244     0,
12245     3,
12246     { PARROT_ARG_P, PARROT_ARG_PC },
12247     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
12248     { 0, 0 },
12249     &core_op_lib
12250   },
12251   { /* 1002 */
12252     "get_hll_namespace",
12253     "get_hll_namespace_p",
12254     "Parrot_get_hll_namespace_p",
12255     0,
12256     2,
12257     { PARROT_ARG_P },
12258     { PARROT_ARGDIR_OUT },
12259     { 0 },
12260     &core_op_lib
12261   },
12262   { /* 1003 */
12263     "get_hll_namespace",
12264     "get_hll_namespace_p_p",
12265     "Parrot_get_hll_namespace_p_p",
12266     0,
12267     3,
12268     { PARROT_ARG_P, PARROT_ARG_P },
12269     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
12270     { 0, 0 },
12271     &core_op_lib
12272   },
12273   { /* 1004 */
12274     "get_hll_namespace",
12275     "get_hll_namespace_p_pc",
12276     "Parrot_get_hll_namespace_p_pc",
12277     0,
12278     3,
12279     { PARROT_ARG_P, PARROT_ARG_PC },
12280     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
12281     { 0, 0 },
12282     &core_op_lib
12283   },
12284   { /* 1005 */
12285     "get_root_namespace",
12286     "get_root_namespace_p",
12287     "Parrot_get_root_namespace_p",
12288     0,
12289     2,
12290     { PARROT_ARG_P },
12291     { PARROT_ARGDIR_OUT },
12292     { 0 },
12293     &core_op_lib
12294   },
12295   { /* 1006 */
12296     "get_root_namespace",
12297     "get_root_namespace_p_p",
12298     "Parrot_get_root_namespace_p_p",
12299     0,
12300     3,
12301     { PARROT_ARG_P, PARROT_ARG_P },
12302     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
12303     { 0, 0 },
12304     &core_op_lib
12305   },
12306   { /* 1007 */
12307     "get_root_namespace",
12308     "get_root_namespace_p_pc",
12309     "Parrot_get_root_namespace_p_pc",
12310     0,
12311     3,
12312     { PARROT_ARG_P, PARROT_ARG_PC },
12313     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
12314     { 0, 0 },
12315     &core_op_lib
12316   },
12317   { /* 1008 */
12318     "get_global",
12319     "get_global_p_s",
12320     "Parrot_get_global_p_s",
12321     0,
12322     3,
12323     { PARROT_ARG_P, PARROT_ARG_S },
12324     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
12325     { 0, 0 },
12326     &core_op_lib
12327   },
12328   { /* 1009 */
12329     "get_global",
12330     "get_global_p_sc",
12331     "Parrot_get_global_p_sc",
12332     0,
12333     3,
12334     { PARROT_ARG_P, PARROT_ARG_SC },
12335     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
12336     { 0, 0 },
12337     &core_op_lib
12338   },
12339   { /* 1010 */
12340     "get_global",
12341     "get_global_p_p_s",
12342     "Parrot_get_global_p_p_s",
12343     0,
12344     4,
12345     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S },
12346     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
12347     { 0, 0, 0 },
12348     &core_op_lib
12349   },
12350   { /* 1011 */
12351     "get_global",
12352     "get_global_p_pc_s",
12353     "Parrot_get_global_p_pc_s",
12354     0,
12355     4,
12356     { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_S },
12357     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
12358     { 0, 0, 0 },
12359     &core_op_lib
12360   },
12361   { /* 1012 */
12362     "get_global",
12363     "get_global_p_p_sc",
12364     "Parrot_get_global_p_p_sc",
12365     0,
12366     4,
12367     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC },
12368     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
12369     { 0, 0, 0 },
12370     &core_op_lib
12371   },
12372   { /* 1013 */
12373     "get_global",
12374     "get_global_p_pc_sc",
12375     "Parrot_get_global_p_pc_sc",
12376     0,
12377     4,
12378     { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_SC },
12379     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
12380     { 0, 0, 0 },
12381     &core_op_lib
12382   },
12383   { /* 1014 */
12384     "get_hll_global",
12385     "get_hll_global_p_s",
12386     "Parrot_get_hll_global_p_s",
12387     0,
12388     3,
12389     { PARROT_ARG_P, PARROT_ARG_S },
12390     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
12391     { 0, 0 },
12392     &core_op_lib
12393   },
12394   { /* 1015 */
12395     "get_hll_global",
12396     "get_hll_global_p_sc",
12397     "Parrot_get_hll_global_p_sc",
12398     0,
12399     3,
12400     { PARROT_ARG_P, PARROT_ARG_SC },
12401     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
12402     { 0, 0 },
12403     &core_op_lib
12404   },
12405   { /* 1016 */
12406     "get_hll_global",
12407     "get_hll_global_p_p_s",
12408     "Parrot_get_hll_global_p_p_s",
12409     0,
12410     4,
12411     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S },
12412     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
12413     { 0, 0, 0 },
12414     &core_op_lib
12415   },
12416   { /* 1017 */
12417     "get_hll_global",
12418     "get_hll_global_p_pc_s",
12419     "Parrot_get_hll_global_p_pc_s",
12420     0,
12421     4,
12422     { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_S },
12423     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
12424     { 0, 0, 0 },
12425     &core_op_lib
12426   },
12427   { /* 1018 */
12428     "get_hll_global",
12429     "get_hll_global_p_p_sc",
12430     "Parrot_get_hll_global_p_p_sc",
12431     0,
12432     4,
12433     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC },
12434     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
12435     { 0, 0, 0 },
12436     &core_op_lib
12437   },
12438   { /* 1019 */
12439     "get_hll_global",
12440     "get_hll_global_p_pc_sc",
12441     "Parrot_get_hll_global_p_pc_sc",
12442     0,
12443     4,
12444     { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_SC },
12445     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
12446     { 0, 0, 0 },
12447     &core_op_lib
12448   },
12449   { /* 1020 */
12450     "get_root_global",
12451     "get_root_global_p_s",
12452     "Parrot_get_root_global_p_s",
12453     0,
12454     3,
12455     { PARROT_ARG_P, PARROT_ARG_S },
12456     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
12457     { 0, 0 },
12458     &core_op_lib
12459   },
12460   { /* 1021 */
12461     "get_root_global",
12462     "get_root_global_p_sc",
12463     "Parrot_get_root_global_p_sc",
12464     0,
12465     3,
12466     { PARROT_ARG_P, PARROT_ARG_SC },
12467     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
12468     { 0, 0 },
12469     &core_op_lib
12470   },
12471   { /* 1022 */
12472     "get_root_global",
12473     "get_root_global_p_p_s",
12474     "Parrot_get_root_global_p_p_s",
12475     0,
12476     4,
12477     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S },
12478     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
12479     { 0, 0, 0 },
12480     &core_op_lib
12481   },
12482   { /* 1023 */
12483     "get_root_global",
12484     "get_root_global_p_pc_s",
12485     "Parrot_get_root_global_p_pc_s",
12486     0,
12487     4,
12488     { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_S },
12489     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
12490     { 0, 0, 0 },
12491     &core_op_lib
12492   },
12493   { /* 1024 */
12494     "get_root_global",
12495     "get_root_global_p_p_sc",
12496     "Parrot_get_root_global_p_p_sc",
12497     0,
12498     4,
12499     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC },
12500     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
12501     { 0, 0, 0 },
12502     &core_op_lib
12503   },
12504   { /* 1025 */
12505     "get_root_global",
12506     "get_root_global_p_pc_sc",
12507     "Parrot_get_root_global_p_pc_sc",
12508     0,
12509     4,
12510     { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_SC },
12511     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
12512     { 0, 0, 0 },
12513     &core_op_lib
12514   },
12515   { /* 1026 */
12516     "set_global",
12517     "set_global_s_p",
12518     "Parrot_set_global_s_p",
12519     0,
12520     3,
12521     { PARROT_ARG_S, PARROT_ARG_P },
12522     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
12523     { 0, 0 },
12524     &core_op_lib
12525   },
12526   { /* 1027 */
12527     "set_global",
12528     "set_global_sc_p",
12529     "Parrot_set_global_sc_p",
12530     0,
12531     3,
12532     { PARROT_ARG_SC, PARROT_ARG_P },
12533     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
12534     { 0, 0 },
12535     &core_op_lib
12536   },
12537   { /* 1028 */
12538     "set_global",
12539     "set_global_p_s_p",
12540     "Parrot_set_global_p_s_p",
12541     0,
12542     4,
12543     { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_P },
12544     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
12545     { 0, 0, 0 },
12546     &core_op_lib
12547   },
12548   { /* 1029 */
12549     "set_global",
12550     "set_global_pc_s_p",
12551     "Parrot_set_global_pc_s_p",
12552     0,
12553     4,
12554     { PARROT_ARG_PC, PARROT_ARG_S, PARROT_ARG_P },
12555     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
12556     { 0, 0, 0 },
12557     &core_op_lib
12558   },
12559   { /* 1030 */
12560     "set_global",
12561     "set_global_p_sc_p",
12562     "Parrot_set_global_p_sc_p",
12563     0,
12564     4,
12565     { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_P },
12566     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
12567     { 0, 0, 0 },
12568     &core_op_lib
12569   },
12570   { /* 1031 */
12571     "set_global",
12572     "set_global_pc_sc_p",
12573     "Parrot_set_global_pc_sc_p",
12574     0,
12575     4,
12576     { PARROT_ARG_PC, PARROT_ARG_SC, PARROT_ARG_P },
12577     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
12578     { 0, 0, 0 },
12579     &core_op_lib
12580   },
12581   { /* 1032 */
12582     "set_hll_global",
12583     "set_hll_global_s_p",
12584     "Parrot_set_hll_global_s_p",
12585     0,
12586     3,
12587     { PARROT_ARG_S, PARROT_ARG_P },
12588     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
12589     { 0, 0 },
12590     &core_op_lib
12591   },
12592   { /* 1033 */
12593     "set_hll_global",
12594     "set_hll_global_sc_p",
12595     "Parrot_set_hll_global_sc_p",
12596     0,
12597     3,
12598     { PARROT_ARG_SC, PARROT_ARG_P },
12599     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
12600     { 0, 0 },
12601     &core_op_lib
12602   },
12603   { /* 1034 */
12604     "set_hll_global",
12605     "set_hll_global_p_s_p",
12606     "Parrot_set_hll_global_p_s_p",
12607     0,
12608     4,
12609     { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_P },
12610     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
12611     { 0, 0, 0 },
12612     &core_op_lib
12613   },
12614   { /* 1035 */
12615     "set_hll_global",
12616     "set_hll_global_pc_s_p",
12617     "Parrot_set_hll_global_pc_s_p",
12618     0,
12619     4,
12620     { PARROT_ARG_PC, PARROT_ARG_S, PARROT_ARG_P },
12621     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
12622     { 0, 0, 0 },
12623     &core_op_lib
12624   },
12625   { /* 1036 */
12626     "set_hll_global",
12627     "set_hll_global_p_sc_p",
12628     "Parrot_set_hll_global_p_sc_p",
12629     0,
12630     4,
12631     { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_P },
12632     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
12633     { 0, 0, 0 },
12634     &core_op_lib
12635   },
12636   { /* 1037 */
12637     "set_hll_global",
12638     "set_hll_global_pc_sc_p",
12639     "Parrot_set_hll_global_pc_sc_p",
12640     0,
12641     4,
12642     { PARROT_ARG_PC, PARROT_ARG_SC, PARROT_ARG_P },
12643     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
12644     { 0, 0, 0 },
12645     &core_op_lib
12646   },
12647   { /* 1038 */
12648     "set_root_global",
12649     "set_root_global_s_p",
12650     "Parrot_set_root_global_s_p",
12651     0,
12652     3,
12653     { PARROT_ARG_S, PARROT_ARG_P },
12654     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
12655     { 0, 0 },
12656     &core_op_lib
12657   },
12658   { /* 1039 */
12659     "set_root_global",
12660     "set_root_global_sc_p",
12661     "Parrot_set_root_global_sc_p",
12662     0,
12663     3,
12664     { PARROT_ARG_SC, PARROT_ARG_P },
12665     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
12666     { 0, 0 },
12667     &core_op_lib
12668   },
12669   { /* 1040 */
12670     "set_root_global",
12671     "set_root_global_p_s_p",
12672     "Parrot_set_root_global_p_s_p",
12673     0,
12674     4,
12675     { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_P },
12676     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
12677     { 0, 0, 0 },
12678     &core_op_lib
12679   },
12680   { /* 1041 */
12681     "set_root_global",
12682     "set_root_global_pc_s_p",
12683     "Parrot_set_root_global_pc_s_p",
12684     0,
12685     4,
12686     { PARROT_ARG_PC, PARROT_ARG_S, PARROT_ARG_P },
12687     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
12688     { 0, 0, 0 },
12689     &core_op_lib
12690   },
12691   { /* 1042 */
12692     "set_root_global",
12693     "set_root_global_p_sc_p",
12694     "Parrot_set_root_global_p_sc_p",
12695     0,
12696     4,
12697     { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_P },
12698     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
12699     { 0, 0, 0 },
12700     &core_op_lib
12701   },
12702   { /* 1043 */
12703     "set_root_global",
12704     "set_root_global_pc_sc_p",
12705     "Parrot_set_root_global_pc_sc_p",
12706     0,
12707     4,
12708     { PARROT_ARG_PC, PARROT_ARG_SC, PARROT_ARG_P },
12709     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
12710     { 0, 0, 0 },
12711     &core_op_lib
12712   },
12713   { /* 1044 */
12714     "find_name",
12715     "find_name_p_s",
12716     "Parrot_find_name_p_s",
12717     0,
12718     3,
12719     { PARROT_ARG_P, PARROT_ARG_S },
12720     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
12721     { 0, 0 },
12722     &core_op_lib
12723   },
12724   { /* 1045 */
12725     "find_name",
12726     "find_name_p_sc",
12727     "Parrot_find_name_p_sc",
12728     0,
12729     3,
12730     { PARROT_ARG_P, PARROT_ARG_SC },
12731     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
12732     { 0, 0 },
12733     &core_op_lib
12734   },
12735   { /* 1046 */
12736     "find_sub_not_null",
12737     "find_sub_not_null_p_s",
12738     "Parrot_find_sub_not_null_p_s",
12739     0,
12740     3,
12741     { PARROT_ARG_P, PARROT_ARG_S },
12742     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
12743     { 0, 0 },
12744     &core_op_lib
12745   },
12746   { /* 1047 */
12747     "find_sub_not_null",
12748     "find_sub_not_null_p_sc",
12749     "Parrot_find_sub_not_null_p_sc",
12750     0,
12751     3,
12752     { PARROT_ARG_P, PARROT_ARG_SC },
12753     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
12754     { 0, 0 },
12755     &core_op_lib
12756   },
12757   { /* 1048 */
12758     "trap",
12759     "trap",
12760     "Parrot_trap",
12761     0,
12762     1,
12763     { (arg_type_t) 0 },
12764     { (arg_dir_t) 0 },
12765     { 0 },
12766     &core_op_lib
12767   },
12768   { /* 1049 */
12769     "set_label",
12770     "set_label_p_ic",
12771     "Parrot_set_label_p_ic",
12772     0,
12773     3,
12774     { PARROT_ARG_P, PARROT_ARG_IC },
12775     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
12776     { 0, 1 },
12777     &core_op_lib
12778   },
12779   { /* 1050 */
12780     "get_label",
12781     "get_label_i_p",
12782     "Parrot_get_label_i_p",
12783     0,
12784     3,
12785     { PARROT_ARG_I, PARROT_ARG_P },
12786     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
12787     { 0, 0 },
12788     &core_op_lib
12789   },
12790   { /* 1051 */
12791     "get_id",
12792     "get_id_i_p",
12793     "Parrot_get_id_i_p",
12794     0,
12795     3,
12796     { PARROT_ARG_I, PARROT_ARG_P },
12797     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
12798     { 0, 0 },
12799     &core_op_lib
12800   },
12801   { /* 1052 */
12802     "get_id",
12803     "get_id_i_pc",
12804     "Parrot_get_id_i_pc",
12805     0,
12806     3,
12807     { PARROT_ARG_I, PARROT_ARG_PC },
12808     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
12809     { 0, 0 },
12810     &core_op_lib
12811   },
12812   { /* 1053 */
12813     "fetch",
12814     "fetch_p_p_p_p",
12815     "Parrot_fetch_p_p_p_p",
12816     0,
12817     5,
12818     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
12819     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
12820     { 0, 0, 0, 0 },
12821     &core_op_lib
12822   },
12823   { /* 1054 */
12824     "fetch",
12825     "fetch_p_pc_p_p",
12826     "Parrot_fetch_p_pc_p_p",
12827     0,
12828     5,
12829     { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_P, PARROT_ARG_P },
12830     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
12831     { 0, 0, 0, 0 },
12832     &core_op_lib
12833   },
12834   { /* 1055 */
12835     "fetch",
12836     "fetch_p_p_pc_p",
12837     "Parrot_fetch_p_p_pc_p",
12838     0,
12839     5,
12840     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_P },
12841     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
12842     { 0, 0, 0, 0 },
12843     &core_op_lib
12844   },
12845   { /* 1056 */
12846     "fetch",
12847     "fetch_p_pc_pc_p",
12848     "Parrot_fetch_p_pc_pc_p",
12849     0,
12850     5,
12851     { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_PC, PARROT_ARG_P },
12852     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
12853     { 0, 0, 0, 0 },
12854     &core_op_lib
12855   },
12856   { /* 1057 */
12857     "fetch",
12858     "fetch_p_p_p_pc",
12859     "Parrot_fetch_p_p_p_pc",
12860     0,
12861     5,
12862     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_PC },
12863     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
12864     { 0, 0, 0, 0 },
12865     &core_op_lib
12866   },
12867   { /* 1058 */
12868     "fetch",
12869     "fetch_p_pc_p_pc",
12870     "Parrot_fetch_p_pc_p_pc",
12871     0,
12872     5,
12873     { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_P, PARROT_ARG_PC },
12874     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
12875     { 0, 0, 0, 0 },
12876     &core_op_lib
12877   },
12878   { /* 1059 */
12879     "fetch",
12880     "fetch_p_p_pc_pc",
12881     "Parrot_fetch_p_p_pc_pc",
12882     0,
12883     5,
12884     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_PC },
12885     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
12886     { 0, 0, 0, 0 },
12887     &core_op_lib
12888   },
12889   { /* 1060 */
12890     "fetch",
12891     "fetch_p_pc_pc_pc",
12892     "Parrot_fetch_p_pc_pc_pc",
12893     0,
12894     5,
12895     { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_PC, PARROT_ARG_PC },
12896     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
12897     { 0, 0, 0, 0 },
12898     &core_op_lib
12899   },
12900   { /* 1061 */
12901     "fetch",
12902     "fetch_p_p_i_p",
12903     "Parrot_fetch_p_p_i_p",
12904     0,
12905     5,
12906     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I, PARROT_ARG_P },
12907     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
12908     { 0, 0, 0, 0 },
12909     &core_op_lib
12910   },
12911   { /* 1062 */
12912     "fetch",
12913     "fetch_p_pc_i_p",
12914     "Parrot_fetch_p_pc_i_p",
12915     0,
12916     5,
12917     { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_I, PARROT_ARG_P },
12918     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
12919     { 0, 0, 0, 0 },
12920     &core_op_lib
12921   },
12922   { /* 1063 */
12923     "fetch",
12924     "fetch_p_p_ic_p",
12925     "Parrot_fetch_p_p_ic_p",
12926     0,
12927     5,
12928     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC, PARROT_ARG_P },
12929     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
12930     { 0, 0, 0, 0 },
12931     &core_op_lib
12932   },
12933   { /* 1064 */
12934     "fetch",
12935     "fetch_p_pc_ic_p",
12936     "Parrot_fetch_p_pc_ic_p",
12937     0,
12938     5,
12939     { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_IC, PARROT_ARG_P },
12940     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
12941     { 0, 0, 0, 0 },
12942     &core_op_lib
12943   },
12944   { /* 1065 */
12945     "fetch",
12946     "fetch_p_p_i_pc",
12947     "Parrot_fetch_p_p_i_pc",
12948     0,
12949     5,
12950     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I, PARROT_ARG_PC },
12951     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
12952     { 0, 0, 0, 0 },
12953     &core_op_lib
12954   },
12955   { /* 1066 */
12956     "fetch",
12957     "fetch_p_pc_i_pc",
12958     "Parrot_fetch_p_pc_i_pc",
12959     0,
12960     5,
12961     { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_I, PARROT_ARG_PC },
12962     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
12963     { 0, 0, 0, 0 },
12964     &core_op_lib
12965   },
12966   { /* 1067 */
12967     "fetch",
12968     "fetch_p_p_ic_pc",
12969     "Parrot_fetch_p_p_ic_pc",
12970     0,
12971     5,
12972     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC, PARROT_ARG_PC },
12973     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
12974     { 0, 0, 0, 0 },
12975     &core_op_lib
12976   },
12977   { /* 1068 */
12978     "fetch",
12979     "fetch_p_pc_ic_pc",
12980     "Parrot_fetch_p_pc_ic_pc",
12981     0,
12982     5,
12983     { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_IC, PARROT_ARG_PC },
12984     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
12985     { 0, 0, 0, 0 },
12986     &core_op_lib
12987   },
12988   { /* 1069 */
12989     "fetch",
12990     "fetch_p_p_s_p",
12991     "Parrot_fetch_p_p_s_p",
12992     0,
12993     5,
12994     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_P },
12995     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
12996     { 0, 0, 0, 0 },
12997     &core_op_lib
12998   },
12999   { /* 1070 */
13000     "fetch",
13001     "fetch_p_pc_s_p",
13002     "Parrot_fetch_p_pc_s_p",
13003     0,
13004     5,
13005     { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_S, PARROT_ARG_P },
13006     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
13007     { 0, 0, 0, 0 },
13008     &core_op_lib
13009   },
13010   { /* 1071 */
13011     "fetch",
13012     "fetch_p_p_sc_p",
13013     "Parrot_fetch_p_p_sc_p",
13014     0,
13015     5,
13016     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_P },
13017     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
13018     { 0, 0, 0, 0 },
13019     &core_op_lib
13020   },
13021   { /* 1072 */
13022     "fetch",
13023     "fetch_p_pc_sc_p",
13024     "Parrot_fetch_p_pc_sc_p",
13025     0,
13026     5,
13027     { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_SC, PARROT_ARG_P },
13028     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
13029     { 0, 0, 0, 0 },
13030     &core_op_lib
13031   },
13032   { /* 1073 */
13033     "fetch",
13034     "fetch_p_p_s_pc",
13035     "Parrot_fetch_p_p_s_pc",
13036     0,
13037     5,
13038     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_PC },
13039     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
13040     { 0, 0, 0, 0 },
13041     &core_op_lib
13042   },
13043   { /* 1074 */
13044     "fetch",
13045     "fetch_p_pc_s_pc",
13046     "Parrot_fetch_p_pc_s_pc",
13047     0,
13048     5,
13049     { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_S, PARROT_ARG_PC },
13050     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
13051     { 0, 0, 0, 0 },
13052     &core_op_lib
13053   },
13054   { /* 1075 */
13055     "fetch",
13056     "fetch_p_p_sc_pc",
13057     "Parrot_fetch_p_p_sc_pc",
13058     0,
13059     5,
13060     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_PC },
13061     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
13062     { 0, 0, 0, 0 },
13063     &core_op_lib
13064   },
13065   { /* 1076 */
13066     "fetch",
13067     "fetch_p_pc_sc_pc",
13068     "Parrot_fetch_p_pc_sc_pc",
13069     0,
13070     5,
13071     { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_SC, PARROT_ARG_PC },
13072     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
13073     { 0, 0, 0, 0 },
13074     &core_op_lib
13075   },
13076   { /* 1077 */
13077     "vivify",
13078     "vivify_p_p_p_p",
13079     "Parrot_vivify_p_p_p_p",
13080     0,
13081     5,
13082     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
13083     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
13084     { 0, 0, 0, 0 },
13085     &core_op_lib
13086   },
13087   { /* 1078 */
13088     "vivify",
13089     "vivify_p_pc_p_p",
13090     "Parrot_vivify_p_pc_p_p",
13091     0,
13092     5,
13093     { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_P, PARROT_ARG_P },
13094     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
13095     { 0, 0, 0, 0 },
13096     &core_op_lib
13097   },
13098   { /* 1079 */
13099     "vivify",
13100     "vivify_p_p_pc_p",
13101     "Parrot_vivify_p_p_pc_p",
13102     0,
13103     5,
13104     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_P },
13105     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
13106     { 0, 0, 0, 0 },
13107     &core_op_lib
13108   },
13109   { /* 1080 */
13110     "vivify",
13111     "vivify_p_pc_pc_p",
13112     "Parrot_vivify_p_pc_pc_p",
13113     0,
13114     5,
13115     { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_PC, PARROT_ARG_P },
13116     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
13117     { 0, 0, 0, 0 },
13118     &core_op_lib
13119   },
13120   { /* 1081 */
13121     "vivify",
13122     "vivify_p_p_p_pc",
13123     "Parrot_vivify_p_p_p_pc",
13124     0,
13125     5,
13126     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_PC },
13127     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
13128     { 0, 0, 0, 0 },
13129     &core_op_lib
13130   },
13131   { /* 1082 */
13132     "vivify",
13133     "vivify_p_pc_p_pc",
13134     "Parrot_vivify_p_pc_p_pc",
13135     0,
13136     5,
13137     { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_P, PARROT_ARG_PC },
13138     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
13139     { 0, 0, 0, 0 },
13140     &core_op_lib
13141   },
13142   { /* 1083 */
13143     "vivify",
13144     "vivify_p_p_pc_pc",
13145     "Parrot_vivify_p_p_pc_pc",
13146     0,
13147     5,
13148     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_PC },
13149     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
13150     { 0, 0, 0, 0 },
13151     &core_op_lib
13152   },
13153   { /* 1084 */
13154     "vivify",
13155     "vivify_p_pc_pc_pc",
13156     "Parrot_vivify_p_pc_pc_pc",
13157     0,
13158     5,
13159     { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_PC, PARROT_ARG_PC },
13160     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
13161     { 0, 0, 0, 0 },
13162     &core_op_lib
13163   },
13164   { /* 1085 */
13165     "vivify",
13166     "vivify_p_p_i_p",
13167     "Parrot_vivify_p_p_i_p",
13168     0,
13169     5,
13170     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I, PARROT_ARG_P },
13171     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
13172     { 0, 0, 0, 0 },
13173     &core_op_lib
13174   },
13175   { /* 1086 */
13176     "vivify",
13177     "vivify_p_pc_i_p",
13178     "Parrot_vivify_p_pc_i_p",
13179     0,
13180     5,
13181     { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_I, PARROT_ARG_P },
13182     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
13183     { 0, 0, 0, 0 },
13184     &core_op_lib
13185   },
13186   { /* 1087 */
13187     "vivify",
13188     "vivify_p_p_ic_p",
13189     "Parrot_vivify_p_p_ic_p",
13190     0,
13191     5,
13192     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC, PARROT_ARG_P },
13193     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
13194     { 0, 0, 0, 0 },
13195     &core_op_lib
13196   },
13197   { /* 1088 */
13198     "vivify",
13199     "vivify_p_pc_ic_p",
13200     "Parrot_vivify_p_pc_ic_p",
13201     0,
13202     5,
13203     { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_IC, PARROT_ARG_P },
13204     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
13205     { 0, 0, 0, 0 },
13206     &core_op_lib
13207   },
13208   { /* 1089 */
13209     "vivify",
13210     "vivify_p_p_i_pc",
13211     "Parrot_vivify_p_p_i_pc",
13212     0,
13213     5,
13214     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I, PARROT_ARG_PC },
13215     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
13216     { 0, 0, 0, 0 },
13217     &core_op_lib
13218   },
13219   { /* 1090 */
13220     "vivify",
13221     "vivify_p_pc_i_pc",
13222     "Parrot_vivify_p_pc_i_pc",
13223     0,
13224     5,
13225     { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_I, PARROT_ARG_PC },
13226     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
13227     { 0, 0, 0, 0 },
13228     &core_op_lib
13229   },
13230   { /* 1091 */
13231     "vivify",
13232     "vivify_p_p_ic_pc",
13233     "Parrot_vivify_p_p_ic_pc",
13234     0,
13235     5,
13236     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC, PARROT_ARG_PC },
13237     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
13238     { 0, 0, 0, 0 },
13239     &core_op_lib
13240   },
13241   { /* 1092 */
13242     "vivify",
13243     "vivify_p_pc_ic_pc",
13244     "Parrot_vivify_p_pc_ic_pc",
13245     0,
13246     5,
13247     { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_IC, PARROT_ARG_PC },
13248     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
13249     { 0, 0, 0, 0 },
13250     &core_op_lib
13251   },
13252   { /* 1093 */
13253     "vivify",
13254     "vivify_p_p_s_p",
13255     "Parrot_vivify_p_p_s_p",
13256     0,
13257     5,
13258     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_P },
13259     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
13260     { 0, 0, 0, 0 },
13261     &core_op_lib
13262   },
13263   { /* 1094 */
13264     "vivify",
13265     "vivify_p_pc_s_p",
13266     "Parrot_vivify_p_pc_s_p",
13267     0,
13268     5,
13269     { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_S, PARROT_ARG_P },
13270     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
13271     { 0, 0, 0, 0 },
13272     &core_op_lib
13273   },
13274   { /* 1095 */
13275     "vivify",
13276     "vivify_p_p_sc_p",
13277     "Parrot_vivify_p_p_sc_p",
13278     0,
13279     5,
13280     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_P },
13281     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
13282     { 0, 0, 0, 0 },
13283     &core_op_lib
13284   },
13285   { /* 1096 */
13286     "vivify",
13287     "vivify_p_pc_sc_p",
13288     "Parrot_vivify_p_pc_sc_p",
13289     0,
13290     5,
13291     { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_SC, PARROT_ARG_P },
13292     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
13293     { 0, 0, 0, 0 },
13294     &core_op_lib
13295   },
13296   { /* 1097 */
13297     "vivify",
13298     "vivify_p_p_s_pc",
13299     "Parrot_vivify_p_p_s_pc",
13300     0,
13301     5,
13302     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_PC },
13303     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
13304     { 0, 0, 0, 0 },
13305     &core_op_lib
13306   },
13307   { /* 1098 */
13308     "vivify",
13309     "vivify_p_pc_s_pc",
13310     "Parrot_vivify_p_pc_s_pc",
13311     0,
13312     5,
13313     { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_S, PARROT_ARG_PC },
13314     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
13315     { 0, 0, 0, 0 },
13316     &core_op_lib
13317   },
13318   { /* 1099 */
13319     "vivify",
13320     "vivify_p_p_sc_pc",
13321     "Parrot_vivify_p_p_sc_pc",
13322     0,
13323     5,
13324     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_PC },
13325     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
13326     { 0, 0, 0, 0 },
13327     &core_op_lib
13328   },
13329   { /* 1100 */
13330     "vivify",
13331     "vivify_p_pc_sc_pc",
13332     "Parrot_vivify_p_pc_sc_pc",
13333     0,
13334     5,
13335     { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_SC, PARROT_ARG_PC },
13336     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
13337     { 0, 0, 0, 0 },
13338     &core_op_lib
13339   },
13340   { /* 1101 */
13341     "new",
13342     "new_p_s_i",
13343     "Parrot_new_p_s_i",
13344     0,
13345     4,
13346     { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_I },
13347     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
13348     { 0, 0, 0 },
13349     &core_op_lib
13350   },
13351   { /* 1102 */
13352     "new",
13353     "new_p_sc_i",
13354     "Parrot_new_p_sc_i",
13355     0,
13356     4,
13357     { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_I },
13358     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
13359     { 0, 0, 0 },
13360     &core_op_lib
13361   },
13362   { /* 1103 */
13363     "new",
13364     "new_p_s_ic",
13365     "Parrot_new_p_s_ic",
13366     0,
13367     4,
13368     { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_IC },
13369     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
13370     { 0, 0, 0 },
13371     &core_op_lib
13372   },
13373   { /* 1104 */
13374     "new",
13375     "new_p_sc_ic",
13376     "Parrot_new_p_sc_ic",
13377     0,
13378     4,
13379     { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_IC },
13380     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
13381     { 0, 0, 0 },
13382     &core_op_lib
13383   },
13384   { /* 1105 */
13385     "new",
13386     "new_p_p_i",
13387     "Parrot_new_p_p_i",
13388     0,
13389     4,
13390     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I },
13391     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
13392     { 0, 0, 0 },
13393     &core_op_lib
13394   },
13395   { /* 1106 */
13396     "new",
13397     "new_p_pc_i",
13398     "Parrot_new_p_pc_i",
13399     0,
13400     4,
13401     { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_I },
13402     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
13403     { 0, 0, 0 },
13404     &core_op_lib
13405   },
13406   { /* 1107 */
13407     "new",
13408     "new_p_p_ic",
13409     "Parrot_new_p_p_ic",
13410     0,
13411     4,
13412     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
13413     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
13414     { 0, 0, 0 },
13415     &core_op_lib
13416   },
13417   { /* 1108 */
13418     "new",
13419     "new_p_pc_ic",
13420     "Parrot_new_p_pc_ic",
13421     0,
13422     4,
13423     { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_IC },
13424     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
13425     { 0, 0, 0 },
13426     &core_op_lib
13427   },
13428   { /* 1109 */
13429     "root_new",
13430     "root_new_p_p_i",
13431     "Parrot_root_new_p_p_i",
13432     0,
13433     4,
13434     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I },
13435     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
13436     { 0, 0, 0 },
13437     &core_op_lib
13438   },
13439   { /* 1110 */
13440     "root_new",
13441     "root_new_p_pc_i",
13442     "Parrot_root_new_p_pc_i",
13443     0,
13444     4,
13445     { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_I },
13446     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
13447     { 0, 0, 0 },
13448     &core_op_lib
13449   },
13450   { /* 1111 */
13451     "root_new",
13452     "root_new_p_p_ic",
13453     "Parrot_root_new_p_p_ic",
13454     0,
13455     4,
13456     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
13457     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
13458     { 0, 0, 0 },
13459     &core_op_lib
13460   },
13461   { /* 1112 */
13462     "root_new",
13463     "root_new_p_pc_ic",
13464     "Parrot_root_new_p_pc_ic",
13465     0,
13466     4,
13467     { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_IC },
13468     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
13469     { 0, 0, 0 },
13470     &core_op_lib
13471   },
13472   { /* 1113 */
13473     "get_context",
13474     "get_context_p",
13475     "Parrot_get_context_p",
13476     0,
13477     2,
13478     { PARROT_ARG_P },
13479     { PARROT_ARGDIR_OUT },
13480     { 0 },
13481     &core_op_lib
13482   },
13483   { /* 1114 */
13484     "new_call_context",
13485     "new_call_context_p",
13486     "Parrot_new_call_context_p",
13487     0,
13488     2,
13489     { PARROT_ARG_P },
13490     { PARROT_ARGDIR_OUT },
13491     { 0 },
13492     &core_op_lib
13493   },
13494   { /* 1115 */
13495     "invokecc",
13496     "invokecc_p_p",
13497     "Parrot_invokecc_p_p",
13498     0,
13499     3,
13500     { PARROT_ARG_P, PARROT_ARG_P },
13501     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
13502     { 0, 0 },
13503     &core_op_lib
13504   },
13505   { /* 1116 */
13506     "flatten_array_into",
13507     "flatten_array_into_p_p_i",
13508     "Parrot_flatten_array_into_p_p_i",
13509     0,
13510     4,
13511     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I },
13512     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
13513     { 0, 0, 0 },
13514     &core_op_lib
13515   },
13516   { /* 1117 */
13517     "flatten_array_into",
13518     "flatten_array_into_p_p_ic",
13519     "Parrot_flatten_array_into_p_p_ic",
13520     0,
13521     4,
13522     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
13523     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
13524     { 0, 0, 0 },
13525     &core_op_lib
13526   },
13527   { /* 1118 */
13528     "flatten_hash_into",
13529     "flatten_hash_into_p_p_i",
13530     "Parrot_flatten_hash_into_p_p_i",
13531     0,
13532     4,
13533     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I },
13534     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
13535     { 0, 0, 0 },
13536     &core_op_lib
13537   },
13538   { /* 1119 */
13539     "flatten_hash_into",
13540     "flatten_hash_into_p_p_ic",
13541     "Parrot_flatten_hash_into_p_p_ic",
13542     0,
13543     4,
13544     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
13545     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
13546     { 0, 0, 0 },
13547     &core_op_lib
13548   },
13549   { /* 1120 */
13550     "slurp_array_from",
13551     "slurp_array_from_p_p_i",
13552     "Parrot_slurp_array_from_p_p_i",
13553     0,
13554     4,
13555     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I },
13556     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
13557     { 0, 0, 0 },
13558     &core_op_lib
13559   },
13560   { /* 1121 */
13561     "slurp_array_from",
13562     "slurp_array_from_p_p_ic",
13563     "Parrot_slurp_array_from_p_p_ic",
13564     0,
13565     4,
13566     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
13567     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
13568     { 0, 0, 0 },
13569     &core_op_lib
13570   },
13571   { /* 1122 */
13572     "receive",
13573     "receive_p",
13574     "Parrot_receive_p",
13575     0,
13576     2,
13577     { PARROT_ARG_P },
13578     { PARROT_ARGDIR_OUT },
13579     { 0 },
13580     &core_op_lib
13581   },
13582   { /* 1123 */
13583     "wait",
13584     "wait_p",
13585     "Parrot_wait_p",
13586     0,
13587     2,
13588     { PARROT_ARG_P },
13589     { PARROT_ARGDIR_IN },
13590     { 0 },
13591     &core_op_lib
13592   },
13593   { /* 1124 */
13594     "wait",
13595     "wait_pc",
13596     "Parrot_wait_pc",
13597     0,
13598     2,
13599     { PARROT_ARG_PC },
13600     { PARROT_ARGDIR_IN },
13601     { 0 },
13602     &core_op_lib
13603   },
13604   { /* 1125 */
13605     "pass",
13606     "pass",
13607     "Parrot_pass",
13608     0,
13609     1,
13610     { (arg_type_t) 0 },
13611     { (arg_dir_t) 0 },
13612     { 0 },
13613     &core_op_lib
13614   },
13615   { /* 1126 */
13616     "disable_preemption",
13617     "disable_preemption",
13618     "Parrot_disable_preemption",
13619     0,
13620     1,
13621     { (arg_type_t) 0 },
13622     { (arg_dir_t) 0 },
13623     { 0 },
13624     &core_op_lib
13625   },
13626   { /* 1127 */
13627     "enable_preemption",
13628     "enable_preemption",
13629     "Parrot_enable_preemption",
13630     0,
13631     1,
13632     { (arg_type_t) 0 },
13633     { (arg_dir_t) 0 },
13634     { 0 },
13635     &core_op_lib
13636   },
13637   { /* 1128 */
13638     "terminate",
13639     "terminate",
13640     "Parrot_terminate",
13641     0,
13642     1,
13643     { (arg_type_t) 0 },
13644     { (arg_dir_t) 0 },
13645     { 0 },
13646     &core_op_lib
13647   },
13648 
13649 };
13650 
13651 
13652 /*
13653 ** Op Function Definitions:
13654 */
13655 
13656 opcode_t *
Parrot_end(opcode_t * cur_opcode,PARROT_INTERP)13657 Parrot_end(opcode_t *cur_opcode, PARROT_INTERP) {
13658     UNUSED(interp);
13659     UNUSED(cur_opcode);
13660     return (opcode_t *)0;
13661 }
13662 
13663 opcode_t *
Parrot_noop(opcode_t * cur_opcode,PARROT_INTERP)13664 Parrot_noop(opcode_t *cur_opcode, PARROT_INTERP) {
13665     UNUSED(interp);
13666     return cur_opcode + 1;
13667 }
13668 
13669 opcode_t *
Parrot_check_events(opcode_t * cur_opcode,PARROT_INTERP)13670 Parrot_check_events(opcode_t *cur_opcode, PARROT_INTERP) {
13671     opcode_t  * next =  cur_opcode + 1;
13672 
13673     next = Parrot_cx_check_scheduler(interp, next);
13674     return (opcode_t *)next;
13675 }
13676 
13677 opcode_t *
Parrot_check_events__(opcode_t * cur_opcode,PARROT_INTERP)13678 Parrot_check_events__(opcode_t *cur_opcode, PARROT_INTERP) {
13679     opcode_t  * const  _this = CUR_OPCODE;
13680     opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, _this, EXCEPTION_INVALID_OPERATION, "check_events__ opcode doesn't do anything useful");
13681 
13682     return (opcode_t *)handler;
13683     Parrot_runcore_disable_event_checking(interp);
13684     return (opcode_t *)_this;
13685 }
13686 
13687 opcode_t *
Parrot_load_bytecode_s(opcode_t * cur_opcode,PARROT_INTERP)13688 Parrot_load_bytecode_s(opcode_t *cur_opcode, PARROT_INTERP) {
13689     Parrot_load_bytecode(interp, SREG(1));
13690     return cur_opcode + 2;
13691 }
13692 
13693 opcode_t *
Parrot_load_bytecode_sc(opcode_t * cur_opcode,PARROT_INTERP)13694 Parrot_load_bytecode_sc(opcode_t *cur_opcode, PARROT_INTERP) {
13695     Parrot_load_bytecode(interp, SCONST(1));
13696     return cur_opcode + 2;
13697 }
13698 
13699 opcode_t *
Parrot_load_bytecode_p_s(opcode_t * cur_opcode,PARROT_INTERP)13700 Parrot_load_bytecode_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
13701     PREG(1) = Parrot_pf_load_bytecode_search(interp, SREG(2));
13702     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
13703     return cur_opcode + 3;
13704 }
13705 
13706 opcode_t *
Parrot_load_bytecode_p_sc(opcode_t * cur_opcode,PARROT_INTERP)13707 Parrot_load_bytecode_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
13708     PREG(1) = Parrot_pf_load_bytecode_search(interp, SCONST(2));
13709     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
13710     return cur_opcode + 3;
13711 }
13712 
13713 opcode_t *
Parrot_load_language_s(opcode_t * cur_opcode,PARROT_INTERP)13714 Parrot_load_language_s(opcode_t *cur_opcode, PARROT_INTERP) {
13715     Parrot_load_language(interp, SREG(1));
13716     return cur_opcode + 2;
13717 }
13718 
13719 opcode_t *
Parrot_load_language_sc(opcode_t * cur_opcode,PARROT_INTERP)13720 Parrot_load_language_sc(opcode_t *cur_opcode, PARROT_INTERP) {
13721     Parrot_load_language(interp, SCONST(1));
13722     return cur_opcode + 2;
13723 }
13724 
13725 opcode_t *
Parrot_branch_i(opcode_t * cur_opcode,PARROT_INTERP)13726 Parrot_branch_i(opcode_t *cur_opcode, PARROT_INTERP) {
13727     if (Parrot_cx_check_scheduler(interp, (cur_opcode + IREG(1))) == NULL) {
13728         return (opcode_t *)0;
13729     }
13730 
13731     return cur_opcode + IREG(1);
13732 }
13733 
13734 opcode_t *
Parrot_branch_ic(opcode_t * cur_opcode,PARROT_INTERP)13735 Parrot_branch_ic(opcode_t *cur_opcode, PARROT_INTERP) {
13736     if (Parrot_cx_check_scheduler(interp, (cur_opcode + ICONST(1))) == NULL) {
13737         return (opcode_t *)0;
13738     }
13739 
13740     return cur_opcode + ICONST(1);
13741 }
13742 
13743 opcode_t *
Parrot_local_branch_p_i(opcode_t * cur_opcode,PARROT_INTERP)13744 Parrot_local_branch_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
13745     INTVAL   return_addr;
13746     opcode_t  * const  dest =  cur_opcode + 3;
13747 
13748     if (PMC_IS_NULL(PREG(1)) || (PREG(1)->vtable->base_type != enum_class_ResizableIntegerArray)) {
13749         opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, dest, EXCEPTION_INVALID_OPERATION, "Must pass a valid integer array to 'local_branch'");
13750 
13751         return (opcode_t *)handler;
13752     }
13753 
13754     (return_addr) = PTR2INTVAL(dest);
13755     VTABLE_push_integer(interp, PREG(1), (return_addr));
13756     return cur_opcode + IREG(2);
13757 }
13758 
13759 opcode_t *
Parrot_local_branch_p_ic(opcode_t * cur_opcode,PARROT_INTERP)13760 Parrot_local_branch_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
13761     INTVAL   return_addr;
13762     opcode_t  * const  dest =  cur_opcode + 3;
13763 
13764     if (PMC_IS_NULL(PREG(1)) || (PREG(1)->vtable->base_type != enum_class_ResizableIntegerArray)) {
13765         opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, dest, EXCEPTION_INVALID_OPERATION, "Must pass a valid integer array to 'local_branch'");
13766 
13767         return (opcode_t *)handler;
13768     }
13769 
13770     (return_addr) = PTR2INTVAL(dest);
13771     VTABLE_push_integer(interp, PREG(1), (return_addr));
13772     return cur_opcode + ICONST(2);
13773 }
13774 
13775 opcode_t *
Parrot_local_return_p(opcode_t * cur_opcode,PARROT_INTERP)13776 Parrot_local_return_p(opcode_t *cur_opcode, PARROT_INTERP) {
13777     INTVAL   return_addr;
13778     opcode_t  * next;
13779     opcode_t  * const  dest =  cur_opcode + 2;
13780 
13781     if (PMC_IS_NULL(PREG(1)) || (PREG(1)->vtable->base_type != enum_class_ResizableIntegerArray)) {
13782         opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, dest, EXCEPTION_INVALID_OPERATION, "Must pass a valid integer array to 'local_return'");
13783 
13784         return (opcode_t *)handler;
13785     }
13786 
13787     (return_addr) = VTABLE_pop_integer(interp, PREG(1));
13788     next = INTVAL2PTR(opcode_t *, (return_addr));
13789     if (!(((next >= interp->code->base.data) && (next < ((interp->code->base.data + interp->code->base.size)))))) {
13790         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");
13791 
13792         return (opcode_t *)handler;
13793     }
13794 
13795     return (opcode_t *)next;
13796 }
13797 
13798 opcode_t *
Parrot_jump_i(opcode_t * cur_opcode,PARROT_INTERP)13799 Parrot_jump_i(opcode_t *cur_opcode, PARROT_INTERP) {
13800     opcode_t  * const  loc = INTVAL2PTR(opcode_t *, IREG(1));
13801 
13802     UNUSED(interp);
13803     UNUSED(cur_opcode);
13804     return (opcode_t *)loc;
13805 }
13806 
13807 opcode_t *
Parrot_jump_ic(opcode_t * cur_opcode,PARROT_INTERP)13808 Parrot_jump_ic(opcode_t *cur_opcode, PARROT_INTERP) {
13809     opcode_t  * const  loc = INTVAL2PTR(opcode_t *, ICONST(1));
13810 
13811     UNUSED(interp);
13812     UNUSED(cur_opcode);
13813     return (opcode_t *)loc;
13814 }
13815 
13816 opcode_t *
Parrot_if_i_ic(opcode_t * cur_opcode,PARROT_INTERP)13817 Parrot_if_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
13818     if (IREG(1) != 0) {
13819         return cur_opcode + ICONST(2);
13820     }
13821 
13822     return cur_opcode + 3;
13823 }
13824 
13825 opcode_t *
Parrot_if_n_ic(opcode_t * cur_opcode,PARROT_INTERP)13826 Parrot_if_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
13827     if (!FLOAT_IS_ZERO(NREG(1))) {
13828         return cur_opcode + ICONST(2);
13829     }
13830 
13831     return cur_opcode + 3;
13832 }
13833 
13834 opcode_t *
Parrot_if_s_ic(opcode_t * cur_opcode,PARROT_INTERP)13835 Parrot_if_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
13836     if (Parrot_str_boolean(interp, SREG(1))) {
13837         return cur_opcode + ICONST(2);
13838     }
13839 
13840     return cur_opcode + 3;
13841 }
13842 
13843 opcode_t *
Parrot_if_p_ic(opcode_t * cur_opcode,PARROT_INTERP)13844 Parrot_if_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
13845     if (VTABLE_get_bool(interp, PREG(1))) {
13846         return cur_opcode + ICONST(2);
13847     }
13848 
13849     return cur_opcode + 3;
13850 }
13851 
13852 opcode_t *
Parrot_unless_i_ic(opcode_t * cur_opcode,PARROT_INTERP)13853 Parrot_unless_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
13854     if (IREG(1) == 0) {
13855         return cur_opcode + ICONST(2);
13856     }
13857 
13858     return cur_opcode + 3;
13859 }
13860 
13861 opcode_t *
Parrot_unless_n_ic(opcode_t * cur_opcode,PARROT_INTERP)13862 Parrot_unless_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
13863     if (FLOAT_IS_ZERO(NREG(1))) {
13864         return cur_opcode + ICONST(2);
13865     }
13866 
13867     return cur_opcode + 3;
13868 }
13869 
13870 opcode_t *
Parrot_unless_s_ic(opcode_t * cur_opcode,PARROT_INTERP)13871 Parrot_unless_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
13872     if (!Parrot_str_boolean(interp, SREG(1))) {
13873         return cur_opcode + ICONST(2);
13874     }
13875 
13876     return cur_opcode + 3;
13877 }
13878 
13879 opcode_t *
Parrot_unless_p_ic(opcode_t * cur_opcode,PARROT_INTERP)13880 Parrot_unless_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
13881     if (!VTABLE_get_bool(interp, PREG(1))) {
13882         return cur_opcode + ICONST(2);
13883     }
13884 
13885     return cur_opcode + 3;
13886 }
13887 
13888 opcode_t *
Parrot_invokecc_p(opcode_t * cur_opcode,PARROT_INTERP)13889 Parrot_invokecc_p(opcode_t *cur_opcode, PARROT_INTERP) {
13890     PMC       * const  p = PREG(1);
13891     opcode_t  * dest =  cur_opcode + 2;
13892     PMC       * const  ctx = CURRENT_CONTEXT(interp);
13893 
13894     Parrot_pcc_set_pc(interp, ctx, dest);
13895     Parrot_pcc_reuse_continuation(interp, ctx, dest);
13896     dest = VTABLE_invoke(interp, p, dest);
13897     return (opcode_t *)dest;
13898 }
13899 
13900 opcode_t *
Parrot_invoke_p_p(opcode_t * cur_opcode,PARROT_INTERP)13901 Parrot_invoke_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
13902     opcode_t    * dest =  cur_opcode + 3;
13903     PMC  * const  p = PREG(1);
13904     PMC  * const  ctx = CURRENT_CONTEXT(interp);
13905 
13906     Parrot_pcc_set_pc(interp, ctx, dest);
13907     interp->current_cont = PREG(2);
13908     dest = VTABLE_invoke(interp, p, dest);
13909     return (opcode_t *)dest;
13910 }
13911 
13912 opcode_t *
Parrot_yield(opcode_t * cur_opcode,PARROT_INTERP)13913 Parrot_yield(opcode_t *cur_opcode, PARROT_INTERP) {
13914     opcode_t    * dest =  cur_opcode + 1;
13915     PMC  * const  p = Parrot_pcc_get_sub(interp, CURRENT_CONTEXT(interp));
13916 
13917     VTABLE_increment(interp, p);
13918     dest = VTABLE_invoke(interp, p, dest);
13919     return (opcode_t *)dest;
13920 }
13921 
13922 opcode_t *
Parrot_tailcall_p(opcode_t * cur_opcode,PARROT_INTERP)13923 Parrot_tailcall_p(opcode_t *cur_opcode, PARROT_INTERP) {
13924     PMC  * const  p = PREG(1);
13925     opcode_t    * dest =  cur_opcode + 2;
13926     PMC  * const  ctx = CURRENT_CONTEXT(interp);
13927     PMC  * const  parent_ctx = Parrot_pcc_get_caller_ctx(interp, ctx);
13928     PMC  * const  this_call_sig = Parrot_pcc_get_signature(interp, ctx);
13929     PMC  * const  parent_call_sig = Parrot_pcc_get_signature(interp, parent_ctx);
13930 
13931     interp->current_cont = Parrot_pcc_get_continuation(interp, ctx);
13932     Parrot_pcc_merge_signature_for_tailcall(interp, parent_call_sig, this_call_sig);
13933     SUB_FLAG_TAILCALL_SET(interp->current_cont);
13934     dest = VTABLE_invoke(interp, p, dest);
13935     return (opcode_t *)dest;
13936 }
13937 
13938 opcode_t *
Parrot_returncc(opcode_t * cur_opcode,PARROT_INTERP)13939 Parrot_returncc(opcode_t *cur_opcode, PARROT_INTERP) {
13940     PMC  *      const  p = Parrot_pcc_get_continuation(interp, CURRENT_CONTEXT(interp));
13941     opcode_t  * const  dest = VTABLE_invoke(interp, p,  cur_opcode + 1);
13942 
13943     return (opcode_t *)dest;
13944 }
13945 
13946 opcode_t *
Parrot_capture_lex_p(opcode_t * cur_opcode,PARROT_INTERP)13947 Parrot_capture_lex_p(opcode_t *cur_opcode, PARROT_INTERP) {
13948     Parrot_sub_capture_lex(interp, PREG(1));
13949     return cur_opcode + 2;
13950 }
13951 
13952 opcode_t *
Parrot_newclosure_p_p(opcode_t * cur_opcode,PARROT_INTERP)13953 Parrot_newclosure_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
13954     PREG(1) = Parrot_sub_new_closure(interp, PREG(2));
13955     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
13956     return cur_opcode + 3;
13957 }
13958 
13959 opcode_t *
Parrot_set_args_pc(opcode_t * cur_opcode,PARROT_INTERP)13960 Parrot_set_args_pc(opcode_t *cur_opcode, PARROT_INTERP) {
13961     opcode_t  * const  raw_args = CUR_OPCODE;
13962     PMC  * const  signature = PCONST(1);
13963     PMC  * const  call_sig = Parrot_pcc_build_sig_object_from_op(interp, PMCNULL, signature, raw_args);
13964     INTVAL   argc;
13965 
13966     GETATTR_FixedIntegerArray_size(interp, signature, argc);
13967     Parrot_pcc_set_signature(interp, CURRENT_CONTEXT(interp), call_sig);
13968     return cur_opcode + (argc + 2);
13969 }
13970 
13971 opcode_t *
Parrot_get_params_pc(opcode_t * cur_opcode,PARROT_INTERP)13972 Parrot_get_params_pc(opcode_t *cur_opcode, PARROT_INTERP) {
13973     opcode_t  * const  raw_params = CUR_OPCODE;
13974     PMC       * const  signature = PCONST(1);
13975     PMC       * const  ctx = CURRENT_CONTEXT(interp);
13976     PMC       * const  ccont = Parrot_pcc_get_continuation(interp, ctx);
13977     PMC       * const  caller_ctx = Parrot_pcc_get_caller_ctx(interp, ctx);
13978     PMC       * const  call_object = Parrot_pcc_get_signature(interp, caller_ctx);
13979     INTVAL   argc;
13980 
13981     Parrot_pcc_fill_params_from_op(interp, call_object, signature, raw_params, PARROT_ERRORS_PARAM_COUNT_FLAG);
13982     if (PObj_get_FLAGS(ccont) & SUB_FLAG_TAILCALL) {
13983         (PObj_get_FLAGS(ccont) &= (~SUB_FLAG_TAILCALL));
13984         Parrot_pcc_dec_recursion_depth(interp, ctx);
13985         Parrot_pcc_set_caller_ctx(interp, ctx, Parrot_pcc_get_caller_ctx(interp, caller_ctx));
13986     }
13987 
13988     GETATTR_FixedIntegerArray_size(interp, signature, argc);
13989     return cur_opcode + (argc + 2);
13990 }
13991 
13992 opcode_t *
Parrot_set_returns_pc(opcode_t * cur_opcode,PARROT_INTERP)13993 Parrot_set_returns_pc(opcode_t *cur_opcode, PARROT_INTERP) {
13994     opcode_t  * const  raw_args = CUR_OPCODE;
13995     PMC       * const  signature = PCONST(1);
13996     PMC       *  ctx = CURRENT_CONTEXT(interp);
13997     PMC       * const  caller_ctx = Parrot_pcc_get_caller_ctx(interp, ctx);
13998     PMC       * const  call_sig = Parrot_pcc_build_sig_object_from_op(interp, Parrot_pcc_get_signature(interp, caller_ctx), signature, raw_args);
13999     INTVAL   argc;
14000 
14001     Parrot_pcc_set_signature(interp, ctx, call_sig);
14002     GETATTR_FixedIntegerArray_size(interp, signature, argc);
14003     return cur_opcode + (argc + 2);
14004 }
14005 
14006 opcode_t *
Parrot_get_results_pc(opcode_t * cur_opcode,PARROT_INTERP)14007 Parrot_get_results_pc(opcode_t *cur_opcode, PARROT_INTERP) {
14008     opcode_t  * const  raw_params = CUR_OPCODE;
14009     PMC       * const  signature = PCONST(1);
14010     PMC       * const  ctx = CURRENT_CONTEXT(interp);
14011     PMC       * const  call_object = Parrot_pcc_get_signature(interp, ctx);
14012     INTVAL   argc;
14013 
14014     Parrot_pcc_fill_params_from_op(interp, call_object, signature, raw_params, PARROT_ERRORS_RESULT_COUNT_FLAG);
14015     GETATTR_FixedIntegerArray_size(interp, signature, argc);
14016     Parrot_pcc_set_signature(interp, ctx, PMCNULL);
14017     return cur_opcode + (argc + 2);
14018 }
14019 
14020 opcode_t *
Parrot_set_result_info_p(opcode_t * cur_opcode,PARROT_INTERP)14021 Parrot_set_result_info_p(opcode_t *cur_opcode, PARROT_INTERP) {
14022     PMC  * const  ctx = CURRENT_CONTEXT(interp);
14023 
14024     VTABLE_set_attr_str(interp, ctx, Parrot_str_new_constant(interp, "return_flags"), PREG(1));
14025     return cur_opcode + 2;
14026 }
14027 
14028 opcode_t *
Parrot_set_result_info_pc(opcode_t * cur_opcode,PARROT_INTERP)14029 Parrot_set_result_info_pc(opcode_t *cur_opcode, PARROT_INTERP) {
14030     PMC  * const  ctx = CURRENT_CONTEXT(interp);
14031 
14032     VTABLE_set_attr_str(interp, ctx, Parrot_str_new_constant(interp, "return_flags"), PCONST(1));
14033     return cur_opcode + 2;
14034 }
14035 
14036 opcode_t *
Parrot_result_info_p(opcode_t * cur_opcode,PARROT_INTERP)14037 Parrot_result_info_p(opcode_t *cur_opcode, PARROT_INTERP) {
14038     PMC  * const  caller_ctx = Parrot_pcc_get_caller_ctx(interp, CURRENT_CONTEXT(interp));
14039     PMC  * const  sig = VTABLE_get_attr_str(interp, caller_ctx, Parrot_str_new_constant(interp, "return_flags"));
14040 
14041     if (PMC_IS_NULL(sig)) {
14042         PREG(1) = Parrot_pmc_new(interp, enum_class_FixedIntegerArray);
14043     }
14044     else {
14045         PREG(1) = sig;
14046     }
14047 
14048     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
14049     return cur_opcode + 2;
14050 }
14051 
14052 opcode_t *
Parrot_set_addr_i_ic(opcode_t * cur_opcode,PARROT_INTERP)14053 Parrot_set_addr_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
14054     IREG(1) = PTR2INTVAL((CUR_OPCODE + ICONST(2)));
14055     return cur_opcode + 3;
14056 }
14057 
14058 opcode_t *
Parrot_set_addr_p_ic(opcode_t * cur_opcode,PARROT_INTERP)14059 Parrot_set_addr_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
14060     VTABLE_set_pointer(interp, PREG(1), ((CUR_OPCODE + ICONST(2))));
14061     return cur_opcode + 3;
14062 }
14063 
14064 opcode_t *
Parrot_set_addr_p_i(opcode_t * cur_opcode,PARROT_INTERP)14065 Parrot_set_addr_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
14066     VTABLE_set_pointer(interp, PREG(1), (void*)IREG(2));
14067     return cur_opcode + 3;
14068 }
14069 
14070 opcode_t *
Parrot_get_addr_i_p(opcode_t * cur_opcode,PARROT_INTERP)14071 Parrot_get_addr_i_p(opcode_t *cur_opcode, PARROT_INTERP) {
14072     void  * const  ptr = VTABLE_get_pointer(interp, PREG(2));
14073 
14074     IREG(1) = PTR2INTVAL(ptr);
14075     return cur_opcode + 3;
14076 }
14077 
14078 opcode_t *
Parrot_schedule_p(opcode_t * cur_opcode,PARROT_INTERP)14079 Parrot_schedule_p(opcode_t *cur_opcode, PARROT_INTERP) {
14080     Parrot_cx_schedule_task(interp, PREG(1));
14081     return cur_opcode + 2;
14082 }
14083 
14084 opcode_t *
Parrot_schedule_local_p(opcode_t * cur_opcode,PARROT_INTERP)14085 Parrot_schedule_local_p(opcode_t *cur_opcode, PARROT_INTERP) {
14086     Parrot_cx_schedule_immediate(interp, PREG(1));
14087     return cur_opcode + 2;
14088 }
14089 
14090 opcode_t *
Parrot_addhandler_p(opcode_t * cur_opcode,PARROT_INTERP)14091 Parrot_addhandler_p(opcode_t *cur_opcode, PARROT_INTERP) {
14092     Parrot_cx_add_handler(interp, PREG(1));
14093     return cur_opcode + 2;
14094 }
14095 
14096 opcode_t *
Parrot_push_eh_ic(opcode_t * cur_opcode,PARROT_INTERP)14097 Parrot_push_eh_ic(opcode_t *cur_opcode, PARROT_INTERP) {
14098     PMC  * const  eh = Parrot_pmc_new(interp, enum_class_ExceptionHandler);
14099 
14100     VTABLE_set_pointer(interp, eh, (CUR_OPCODE + ICONST(1)));
14101     Parrot_cx_add_handler_local(interp, eh);
14102     return cur_opcode + 2;
14103 }
14104 
14105 opcode_t *
Parrot_push_eh_p(opcode_t * cur_opcode,PARROT_INTERP)14106 Parrot_push_eh_p(opcode_t *cur_opcode, PARROT_INTERP) {
14107     Parrot_cx_add_handler_local(interp, PREG(1));
14108     return cur_opcode + 2;
14109 }
14110 
14111 opcode_t *
Parrot_pop_eh(opcode_t * cur_opcode,PARROT_INTERP)14112 Parrot_pop_eh(opcode_t *cur_opcode, PARROT_INTERP) {
14113     Parrot_cx_delete_handler_local(interp);
14114     return cur_opcode + 1;
14115 }
14116 
14117 opcode_t *
Parrot_throw_p(opcode_t * cur_opcode,PARROT_INTERP)14118 Parrot_throw_p(opcode_t *cur_opcode, PARROT_INTERP) {
14119     PMC  *  except = PREG(1);
14120     opcode_t  * dest;
14121     opcode_t  * const  ret =  cur_opcode + 2;
14122     PMC       * const  resume = Parrot_pmc_new(interp, enum_class_Continuation);
14123     STRING  * const  exception_str = Parrot_str_new_constant(interp, "Exception");
14124 
14125     VTABLE_set_pointer(interp, resume, ret);
14126     if (PMC_IS_NULL(except) || (!VTABLE_does(interp, except, exception_str))) {
14127         except = Parrot_ex_build_exception(interp, EXCEPT_fatal, EXCEPTION_UNIMPLEMENTED, Parrot_str_new_constant(interp, "Not a throwable object"));
14128     }
14129 
14130     VTABLE_set_attr_str(interp, except, Parrot_str_new_constant(interp, "resume"), resume);
14131     dest = Parrot_ex_throw_from_op(interp, except, ret);
14132     return (opcode_t *)dest;
14133 }
14134 
14135 opcode_t *
Parrot_throw_p_p(opcode_t * cur_opcode,PARROT_INTERP)14136 Parrot_throw_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
14137     opcode_t  *  dest;
14138     PMC  *  except = PREG(1);
14139     STRING  * const  exception_str = Parrot_str_new_constant(interp, "Exception");
14140 
14141     if (PMC_IS_NULL(except) || (!VTABLE_does(interp, except, exception_str))) {
14142         except = Parrot_ex_build_exception(interp, EXCEPT_fatal, EXCEPTION_UNIMPLEMENTED, Parrot_str_new_constant(interp, "Not a throwable object"));
14143     }
14144 
14145     dest = Parrot_ex_throw_from_op(interp, PREG(1), VTABLE_get_pointer(interp, PREG(2)));
14146     return (opcode_t *)dest;
14147 }
14148 
14149 opcode_t *
Parrot_rethrow_p(opcode_t * cur_opcode,PARROT_INTERP)14150 Parrot_rethrow_p(opcode_t *cur_opcode, PARROT_INTERP) {
14151     opcode_t  *  dest;
14152     PMC  *  except = PREG(1);
14153     STRING  * const  exception_str = Parrot_str_new_constant(interp, "Exception");
14154 
14155     if (PMC_IS_NULL(except) || (!VTABLE_does(interp, except, exception_str))) {
14156         opcode_t  * const  ret =  cur_opcode + 2;
14157 
14158         except = Parrot_ex_build_exception(interp, EXCEPT_fatal, EXCEPTION_UNIMPLEMENTED, Parrot_str_new_constant(interp, "Not a throwable object"));
14159         dest = Parrot_ex_throw_from_op(interp, except, ret);
14160         return (opcode_t *)dest;
14161     }
14162 
14163     dest = Parrot_ex_rethrow_from_op(interp, except);
14164     return (opcode_t *)dest;
14165 }
14166 
14167 opcode_t *
Parrot_count_eh_i(opcode_t * cur_opcode,PARROT_INTERP)14168 Parrot_count_eh_i(opcode_t *cur_opcode, PARROT_INTERP) {
14169     IREG(1) = Parrot_cx_count_handlers_local(interp);
14170     return cur_opcode + 2;
14171 }
14172 
14173 opcode_t *
Parrot_die_s(opcode_t * cur_opcode,PARROT_INTERP)14174 Parrot_die_s(opcode_t *cur_opcode, PARROT_INTERP) {
14175     opcode_t         * dest;
14176     opcode_t  * const  ret =  cur_opcode + 2;
14177     PMC       * const  resume = Parrot_pmc_new(interp, enum_class_Continuation);
14178     PMC       * const  exception = Parrot_ex_build_exception(interp, EXCEPT_error, EXCEPTION_DIE, SREG(1));
14179 
14180     VTABLE_set_pointer(interp, resume, ret);
14181     VTABLE_set_attr_str(interp, exception, Parrot_str_new_constant(interp, "resume"), resume);
14182     dest = Parrot_ex_throw_from_op(interp, exception, ret);
14183     return (opcode_t *)dest;
14184 }
14185 
14186 opcode_t *
Parrot_die_sc(opcode_t * cur_opcode,PARROT_INTERP)14187 Parrot_die_sc(opcode_t *cur_opcode, PARROT_INTERP) {
14188     opcode_t         * dest;
14189     opcode_t  * const  ret =  cur_opcode + 2;
14190     PMC       * const  resume = Parrot_pmc_new(interp, enum_class_Continuation);
14191     PMC       * const  exception = Parrot_ex_build_exception(interp, EXCEPT_error, EXCEPTION_DIE, SCONST(1));
14192 
14193     VTABLE_set_pointer(interp, resume, ret);
14194     VTABLE_set_attr_str(interp, exception, Parrot_str_new_constant(interp, "resume"), resume);
14195     dest = Parrot_ex_throw_from_op(interp, exception, ret);
14196     return (opcode_t *)dest;
14197 }
14198 
14199 opcode_t *
Parrot_die_p(opcode_t * cur_opcode,PARROT_INTERP)14200 Parrot_die_p(opcode_t *cur_opcode, PARROT_INTERP) {
14201     opcode_t         * dest;
14202     opcode_t  * const  ret =  cur_opcode + 2;
14203     PMC       * const  resume = Parrot_pmc_new(interp, enum_class_Continuation);
14204     STRING    * const  msg = PMC_IS_NULL(PREG(1)) ? NULL : VTABLE_get_string(interp, PREG(1));
14205     PMC       * const  exception = Parrot_ex_build_exception(interp, EXCEPT_error, EXCEPTION_DIE, msg);
14206 
14207     VTABLE_set_pointer(interp, resume, ret);
14208     VTABLE_set_attr_str(interp, exception, Parrot_str_new_constant(interp, "resume"), resume);
14209     dest = Parrot_ex_throw_from_op(interp, exception, ret);
14210     return (opcode_t *)dest;
14211 }
14212 
14213 opcode_t *
Parrot_die_pc(opcode_t * cur_opcode,PARROT_INTERP)14214 Parrot_die_pc(opcode_t *cur_opcode, PARROT_INTERP) {
14215     opcode_t         * dest;
14216     opcode_t  * const  ret =  cur_opcode + 2;
14217     PMC       * const  resume = Parrot_pmc_new(interp, enum_class_Continuation);
14218     STRING    * const  msg = PMC_IS_NULL(PCONST(1)) ? NULL : VTABLE_get_string(interp, PCONST(1));
14219     PMC       * const  exception = Parrot_ex_build_exception(interp, EXCEPT_error, EXCEPTION_DIE, msg);
14220 
14221     VTABLE_set_pointer(interp, resume, ret);
14222     VTABLE_set_attr_str(interp, exception, Parrot_str_new_constant(interp, "resume"), resume);
14223     dest = Parrot_ex_throw_from_op(interp, exception, ret);
14224     return (opcode_t *)dest;
14225 }
14226 
14227 opcode_t *
Parrot_die_i_i(opcode_t * cur_opcode,PARROT_INTERP)14228 Parrot_die_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
14229     if (IREG(1) == EXCEPT_doomed) {
14230         Parrot_x_jump_out(interp, IREG(2));
14231     }
14232     else {
14233         opcode_t         * dest;
14234         opcode_t  * const  ret =  cur_opcode + 3;
14235         PMC       * const  resume = Parrot_pmc_new(interp, enum_class_Continuation);
14236         PMC       * const  exception = Parrot_ex_build_exception(interp, IREG(1), IREG(2), NULL);
14237 
14238         VTABLE_set_pointer(interp, resume, ret);
14239         VTABLE_set_attr_str(interp, exception, Parrot_str_new_constant(interp, "resume"), resume);
14240         dest = Parrot_ex_throw_from_op(interp, exception, ret);
14241         return (opcode_t *)dest;
14242     }
14243 
14244 }
14245 
14246 opcode_t *
Parrot_die_ic_i(opcode_t * cur_opcode,PARROT_INTERP)14247 Parrot_die_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
14248     if (ICONST(1) == EXCEPT_doomed) {
14249         Parrot_x_jump_out(interp, IREG(2));
14250     }
14251     else {
14252         opcode_t         * dest;
14253         opcode_t  * const  ret =  cur_opcode + 3;
14254         PMC       * const  resume = Parrot_pmc_new(interp, enum_class_Continuation);
14255         PMC       * const  exception = Parrot_ex_build_exception(interp, ICONST(1), IREG(2), NULL);
14256 
14257         VTABLE_set_pointer(interp, resume, ret);
14258         VTABLE_set_attr_str(interp, exception, Parrot_str_new_constant(interp, "resume"), resume);
14259         dest = Parrot_ex_throw_from_op(interp, exception, ret);
14260         return (opcode_t *)dest;
14261     }
14262 
14263 }
14264 
14265 opcode_t *
Parrot_die_i_ic(opcode_t * cur_opcode,PARROT_INTERP)14266 Parrot_die_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
14267     if (IREG(1) == EXCEPT_doomed) {
14268         Parrot_x_jump_out(interp, ICONST(2));
14269     }
14270     else {
14271         opcode_t         * dest;
14272         opcode_t  * const  ret =  cur_opcode + 3;
14273         PMC       * const  resume = Parrot_pmc_new(interp, enum_class_Continuation);
14274         PMC       * const  exception = Parrot_ex_build_exception(interp, IREG(1), ICONST(2), NULL);
14275 
14276         VTABLE_set_pointer(interp, resume, ret);
14277         VTABLE_set_attr_str(interp, exception, Parrot_str_new_constant(interp, "resume"), resume);
14278         dest = Parrot_ex_throw_from_op(interp, exception, ret);
14279         return (opcode_t *)dest;
14280     }
14281 
14282 }
14283 
14284 opcode_t *
Parrot_die_ic_ic(opcode_t * cur_opcode,PARROT_INTERP)14285 Parrot_die_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
14286     if (ICONST(1) == EXCEPT_doomed) {
14287         Parrot_x_jump_out(interp, ICONST(2));
14288     }
14289     else {
14290         opcode_t         * dest;
14291         opcode_t  * const  ret =  cur_opcode + 3;
14292         PMC       * const  resume = Parrot_pmc_new(interp, enum_class_Continuation);
14293         PMC       * const  exception = Parrot_ex_build_exception(interp, ICONST(1), ICONST(2), NULL);
14294 
14295         VTABLE_set_pointer(interp, resume, ret);
14296         VTABLE_set_attr_str(interp, exception, Parrot_str_new_constant(interp, "resume"), resume);
14297         dest = Parrot_ex_throw_from_op(interp, exception, ret);
14298         return (opcode_t *)dest;
14299     }
14300 
14301 }
14302 
14303 opcode_t *
Parrot_exit_i(opcode_t * cur_opcode,PARROT_INTERP)14304 Parrot_exit_i(opcode_t *cur_opcode, PARROT_INTERP) {
14305     opcode_t         * dest;
14306     opcode_t  * const  ret =  cur_opcode + 2;
14307     PMC       * const  resume = Parrot_pmc_new(interp, enum_class_Continuation);
14308     PMC       * const  exception = Parrot_ex_build_exception(interp, EXCEPT_exit, CONTROL_EXIT, NULL);
14309 
14310     VTABLE_set_pointer(interp, resume, ret);
14311     VTABLE_set_attr_str(interp, exception, Parrot_str_new_constant(interp, "resume"), resume);
14312     VTABLE_set_integer_keyed_str(interp, exception, Parrot_str_new_constant(interp, "exit_code"), IREG(1));
14313     dest = Parrot_ex_throw_from_op(interp, exception, ret);
14314     return (opcode_t *)dest;
14315 }
14316 
14317 opcode_t *
Parrot_exit_ic(opcode_t * cur_opcode,PARROT_INTERP)14318 Parrot_exit_ic(opcode_t *cur_opcode, PARROT_INTERP) {
14319     opcode_t         * dest;
14320     opcode_t  * const  ret =  cur_opcode + 2;
14321     PMC       * const  resume = Parrot_pmc_new(interp, enum_class_Continuation);
14322     PMC       * const  exception = Parrot_ex_build_exception(interp, EXCEPT_exit, CONTROL_EXIT, NULL);
14323 
14324     VTABLE_set_pointer(interp, resume, ret);
14325     VTABLE_set_attr_str(interp, exception, Parrot_str_new_constant(interp, "resume"), resume);
14326     VTABLE_set_integer_keyed_str(interp, exception, Parrot_str_new_constant(interp, "exit_code"), ICONST(1));
14327     dest = Parrot_ex_throw_from_op(interp, exception, ret);
14328     return (opcode_t *)dest;
14329 }
14330 
14331 opcode_t *
Parrot_finalize_p(opcode_t * cur_opcode,PARROT_INTERP)14332 Parrot_finalize_p(opcode_t *cur_opcode, PARROT_INTERP) {
14333     opcode_t  * const  dest =  cur_opcode + 2;
14334     PMC  * eh = Parrot_ex_get_current_handler(interp, PREG(1));
14335 
14336     if (!PMC_IS_NULL(eh)) {
14337         Parrot_runloop  * rl = interp->current_runloop;
14338         INTVAL   rid;
14339 
14340         if (eh->vtable->base_type == enum_class_ExceptionHandler) {
14341             GETATTR_ExceptionHandler_runloop_id(interp, eh, rid);
14342         }
14343         else {
14344             Parrot_pcc_invoke_method_from_c_args(interp, eh, Parrot_str_new_constant(interp, "rid"), "->I", (&rid));
14345         }
14346 
14347         while (rl && (rl->id != rid)) {
14348             rl = rl->prev;
14349         }
14350 
14351         if (rl) {
14352             if (rl != interp->current_runloop) {
14353                 rl->handler_start = dest;
14354                 longjmp(rl->resume, PARROT_JMP_EXCEPTION_FINALIZED);
14355             }
14356 
14357         }
14358         else {
14359             Parrot_ex_throw_from_c_noargs(interp, EXCEPTION_INVALID_OPERATION, "missing runloop");
14360         }
14361 
14362     }
14363 
14364     return cur_opcode + 2;
14365 }
14366 
14367 opcode_t *
Parrot_finalize_pc(opcode_t * cur_opcode,PARROT_INTERP)14368 Parrot_finalize_pc(opcode_t *cur_opcode, PARROT_INTERP) {
14369     opcode_t  * const  dest =  cur_opcode + 2;
14370     PMC  * eh = Parrot_ex_get_current_handler(interp, PCONST(1));
14371 
14372     if (!PMC_IS_NULL(eh)) {
14373         Parrot_runloop  * rl = interp->current_runloop;
14374         INTVAL   rid;
14375 
14376         if (eh->vtable->base_type == enum_class_ExceptionHandler) {
14377             GETATTR_ExceptionHandler_runloop_id(interp, eh, rid);
14378         }
14379         else {
14380             Parrot_pcc_invoke_method_from_c_args(interp, eh, Parrot_str_new_constant(interp, "rid"), "->I", (&rid));
14381         }
14382 
14383         while (rl && (rl->id != rid)) {
14384             rl = rl->prev;
14385         }
14386 
14387         if (rl) {
14388             if (rl != interp->current_runloop) {
14389                 rl->handler_start = dest;
14390                 longjmp(rl->resume, PARROT_JMP_EXCEPTION_FINALIZED);
14391             }
14392 
14393         }
14394         else {
14395             Parrot_ex_throw_from_c_noargs(interp, EXCEPTION_INVALID_OPERATION, "missing runloop");
14396         }
14397 
14398     }
14399 
14400     return cur_opcode + 2;
14401 }
14402 
14403 opcode_t *
Parrot_pop_upto_eh_p(opcode_t * cur_opcode,PARROT_INTERP)14404 Parrot_pop_upto_eh_p(opcode_t *cur_opcode, PARROT_INTERP) {
14405     PMC  * eh = Parrot_ex_get_current_handler(interp, PREG(1));
14406 
14407     if (!PMC_IS_NULL(eh)) {
14408         Parrot_cx_delete_upto_handler_local(interp, eh);
14409     }
14410 
14411     return cur_opcode + 2;
14412 }
14413 
14414 opcode_t *
Parrot_pop_upto_eh_pc(opcode_t * cur_opcode,PARROT_INTERP)14415 Parrot_pop_upto_eh_pc(opcode_t *cur_opcode, PARROT_INTERP) {
14416     PMC  * eh = Parrot_ex_get_current_handler(interp, PCONST(1));
14417 
14418     if (!PMC_IS_NULL(eh)) {
14419         Parrot_cx_delete_upto_handler_local(interp, eh);
14420     }
14421 
14422     return cur_opcode + 2;
14423 }
14424 
14425 opcode_t *
Parrot_peek_exception_p(opcode_t * cur_opcode,PARROT_INTERP)14426 Parrot_peek_exception_p(opcode_t *cur_opcode, PARROT_INTERP) {
14427     PMC       * const  ctx = CURRENT_CONTEXT(interp);
14428     PMC       * const  call_object = Parrot_pcc_get_signature(interp, ctx);
14429 
14430     PREG(1) = VTABLE_get_pmc_keyed_int(interp, call_object, 0);
14431     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
14432     return cur_opcode + 2;
14433 }
14434 
14435 opcode_t *
Parrot_debug_i(opcode_t * cur_opcode,PARROT_INTERP)14436 Parrot_debug_i(opcode_t *cur_opcode, PARROT_INTERP) {
14437     if (IREG(1) != 0) {
14438         Interp_debug_SET(interp, IREG(1));
14439     }
14440     else {
14441         Interp_debug_CLEAR(interp, PARROT_ALL_DEBUG_FLAGS);
14442     }
14443 
14444             interp->resume_offset = REL_PC + 2; interp->resume_flag = 1;;
14445         return (opcode_t *)0;
14446 ;
14447 }
14448 
14449 opcode_t *
Parrot_debug_ic(opcode_t * cur_opcode,PARROT_INTERP)14450 Parrot_debug_ic(opcode_t *cur_opcode, PARROT_INTERP) {
14451     if (ICONST(1) != 0) {
14452         Interp_debug_SET(interp, ICONST(1));
14453     }
14454     else {
14455         Interp_debug_CLEAR(interp, PARROT_ALL_DEBUG_FLAGS);
14456     }
14457 
14458             interp->resume_offset = REL_PC + 2; interp->resume_flag = 1;;
14459         return (opcode_t *)0;
14460 ;
14461 }
14462 
14463 opcode_t *
Parrot_bounds_i(opcode_t * cur_opcode,PARROT_INTERP)14464 Parrot_bounds_i(opcode_t *cur_opcode, PARROT_INTERP) {
14465     if (IREG(1) != 0) {
14466         Parrot_interp_set_flag(interp, PARROT_BOUNDS_FLAG);
14467     }
14468     else {
14469         Interp_flags_CLEAR(interp, PARROT_BOUNDS_FLAG);
14470     }
14471 
14472             interp->resume_offset = REL_PC + 2; interp->resume_flag = 1;;
14473         return (opcode_t *)0;
14474 ;
14475 }
14476 
14477 opcode_t *
Parrot_bounds_ic(opcode_t * cur_opcode,PARROT_INTERP)14478 Parrot_bounds_ic(opcode_t *cur_opcode, PARROT_INTERP) {
14479     if (ICONST(1) != 0) {
14480         Parrot_interp_set_flag(interp, PARROT_BOUNDS_FLAG);
14481     }
14482     else {
14483         Interp_flags_CLEAR(interp, PARROT_BOUNDS_FLAG);
14484     }
14485 
14486             interp->resume_offset = REL_PC + 2; interp->resume_flag = 1;;
14487         return (opcode_t *)0;
14488 ;
14489 }
14490 
14491 opcode_t *
Parrot_profile_i(opcode_t * cur_opcode,PARROT_INTERP)14492 Parrot_profile_i(opcode_t *cur_opcode, PARROT_INTERP) {
14493     if (IREG(1) != 0) {
14494         Parrot_interp_set_flag(interp, PARROT_PROFILE_FLAG);
14495     }
14496     else {
14497         Interp_flags_CLEAR(interp, PARROT_PROFILE_FLAG);
14498     }
14499 
14500             interp->resume_offset = REL_PC + 2; interp->resume_flag = 1;;
14501         return (opcode_t *)0;
14502 ;
14503 }
14504 
14505 opcode_t *
Parrot_profile_ic(opcode_t * cur_opcode,PARROT_INTERP)14506 Parrot_profile_ic(opcode_t *cur_opcode, PARROT_INTERP) {
14507     if (ICONST(1) != 0) {
14508         Parrot_interp_set_flag(interp, PARROT_PROFILE_FLAG);
14509     }
14510     else {
14511         Interp_flags_CLEAR(interp, PARROT_PROFILE_FLAG);
14512     }
14513 
14514             interp->resume_offset = REL_PC + 2; interp->resume_flag = 1;;
14515         return (opcode_t *)0;
14516 ;
14517 }
14518 
14519 opcode_t *
Parrot_trace_i(opcode_t * cur_opcode,PARROT_INTERP)14520 Parrot_trace_i(opcode_t *cur_opcode, PARROT_INTERP) {
14521     if (IREG(1) != 0) {
14522         Parrot_interp_set_trace(interp, IREG(1));
14523     }
14524     else {
14525         Parrot_interp_clear_trace(interp, PARROT_ALL_TRACE_FLAGS);
14526     }
14527 
14528             interp->resume_offset = REL_PC + 2; interp->resume_flag = 1;;
14529         return (opcode_t *)0;
14530 ;
14531 }
14532 
14533 opcode_t *
Parrot_trace_ic(opcode_t * cur_opcode,PARROT_INTERP)14534 Parrot_trace_ic(opcode_t *cur_opcode, PARROT_INTERP) {
14535     if (ICONST(1) != 0) {
14536         Parrot_interp_set_trace(interp, ICONST(1));
14537     }
14538     else {
14539         Parrot_interp_clear_trace(interp, PARROT_ALL_TRACE_FLAGS);
14540     }
14541 
14542             interp->resume_offset = REL_PC + 2; interp->resume_flag = 1;;
14543         return (opcode_t *)0;
14544 ;
14545 }
14546 
14547 opcode_t *
Parrot_gc_debug_i(opcode_t * cur_opcode,PARROT_INTERP)14548 Parrot_gc_debug_i(opcode_t *cur_opcode, PARROT_INTERP) {
14549     if (IREG(1) != 0) {
14550         Interp_flags_SET(interp, PARROT_GC_DEBUG_FLAG);
14551     }
14552     else {
14553         Interp_flags_CLEAR(interp, PARROT_GC_DEBUG_FLAG);
14554     }
14555 
14556     return cur_opcode + 2;
14557 }
14558 
14559 opcode_t *
Parrot_gc_debug_ic(opcode_t * cur_opcode,PARROT_INTERP)14560 Parrot_gc_debug_ic(opcode_t *cur_opcode, PARROT_INTERP) {
14561     if (ICONST(1) != 0) {
14562         Interp_flags_SET(interp, PARROT_GC_DEBUG_FLAG);
14563     }
14564     else {
14565         Interp_flags_CLEAR(interp, PARROT_GC_DEBUG_FLAG);
14566     }
14567 
14568     return cur_opcode + 2;
14569 }
14570 
14571 opcode_t *
Parrot_interpinfo_i_i(opcode_t * cur_opcode,PARROT_INTERP)14572 Parrot_interpinfo_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
14573     IREG(1) = Parrot_interp_info(interp, IREG(2));
14574     return cur_opcode + 3;
14575 }
14576 
14577 opcode_t *
Parrot_interpinfo_i_ic(opcode_t * cur_opcode,PARROT_INTERP)14578 Parrot_interpinfo_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
14579     IREG(1) = Parrot_interp_info(interp, ICONST(2));
14580     return cur_opcode + 3;
14581 }
14582 
14583 opcode_t *
Parrot_interpinfo_p_i(opcode_t * cur_opcode,PARROT_INTERP)14584 Parrot_interpinfo_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
14585     PREG(1) = Parrot_interp_info_p(interp, IREG(2));
14586     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
14587     return cur_opcode + 3;
14588 }
14589 
14590 opcode_t *
Parrot_interpinfo_p_ic(opcode_t * cur_opcode,PARROT_INTERP)14591 Parrot_interpinfo_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
14592     PREG(1) = Parrot_interp_info_p(interp, ICONST(2));
14593     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
14594     return cur_opcode + 3;
14595 }
14596 
14597 opcode_t *
Parrot_interpinfo_s_i(opcode_t * cur_opcode,PARROT_INTERP)14598 Parrot_interpinfo_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
14599     STRING  * const  s = Parrot_interp_info_s(interp, IREG(2));
14600 
14601     SREG(1) = s;
14602     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
14603     return cur_opcode + 3;
14604 }
14605 
14606 opcode_t *
Parrot_interpinfo_s_ic(opcode_t * cur_opcode,PARROT_INTERP)14607 Parrot_interpinfo_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
14608     STRING  * const  s = Parrot_interp_info_s(interp, ICONST(2));
14609 
14610     SREG(1) = s;
14611     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
14612     return cur_opcode + 3;
14613 }
14614 
14615 opcode_t *
Parrot_warningson_i(opcode_t * cur_opcode,PARROT_INTERP)14616 Parrot_warningson_i(opcode_t *cur_opcode, PARROT_INTERP) {
14617     PARROT_WARNINGS_on(interp, IREG(1));
14618     return cur_opcode + 2;
14619 }
14620 
14621 opcode_t *
Parrot_warningson_ic(opcode_t * cur_opcode,PARROT_INTERP)14622 Parrot_warningson_ic(opcode_t *cur_opcode, PARROT_INTERP) {
14623     PARROT_WARNINGS_on(interp, ICONST(1));
14624     return cur_opcode + 2;
14625 }
14626 
14627 opcode_t *
Parrot_warningsoff_i(opcode_t * cur_opcode,PARROT_INTERP)14628 Parrot_warningsoff_i(opcode_t *cur_opcode, PARROT_INTERP) {
14629     PARROT_WARNINGS_off(interp, IREG(1));
14630     return cur_opcode + 2;
14631 }
14632 
14633 opcode_t *
Parrot_warningsoff_ic(opcode_t * cur_opcode,PARROT_INTERP)14634 Parrot_warningsoff_ic(opcode_t *cur_opcode, PARROT_INTERP) {
14635     PARROT_WARNINGS_off(interp, ICONST(1));
14636     return cur_opcode + 2;
14637 }
14638 
14639 opcode_t *
Parrot_errorson_i(opcode_t * cur_opcode,PARROT_INTERP)14640 Parrot_errorson_i(opcode_t *cur_opcode, PARROT_INTERP) {
14641     PARROT_ERRORS_on(interp, IREG(1));
14642     return cur_opcode + 2;
14643 }
14644 
14645 opcode_t *
Parrot_errorson_ic(opcode_t * cur_opcode,PARROT_INTERP)14646 Parrot_errorson_ic(opcode_t *cur_opcode, PARROT_INTERP) {
14647     PARROT_ERRORS_on(interp, ICONST(1));
14648     return cur_opcode + 2;
14649 }
14650 
14651 opcode_t *
Parrot_errorsoff_i(opcode_t * cur_opcode,PARROT_INTERP)14652 Parrot_errorsoff_i(opcode_t *cur_opcode, PARROT_INTERP) {
14653     PARROT_ERRORS_off(interp, IREG(1));
14654     return cur_opcode + 2;
14655 }
14656 
14657 opcode_t *
Parrot_errorsoff_ic(opcode_t * cur_opcode,PARROT_INTERP)14658 Parrot_errorsoff_ic(opcode_t *cur_opcode, PARROT_INTERP) {
14659     PARROT_ERRORS_off(interp, ICONST(1));
14660     return cur_opcode + 2;
14661 }
14662 
14663 opcode_t *
Parrot_set_runcore_s(opcode_t * cur_opcode,PARROT_INTERP)14664 Parrot_set_runcore_s(opcode_t *cur_opcode, PARROT_INTERP) {
14665     Parrot_runcore_switch(interp, SREG(1));
14666             interp->resume_offset = REL_PC + 2; interp->resume_flag = 1;;
14667         return (opcode_t *)0;
14668 ;
14669     return cur_opcode + 2;
14670 }
14671 
14672 opcode_t *
Parrot_set_runcore_sc(opcode_t * cur_opcode,PARROT_INTERP)14673 Parrot_set_runcore_sc(opcode_t *cur_opcode, PARROT_INTERP) {
14674     Parrot_runcore_switch(interp, SCONST(1));
14675             interp->resume_offset = REL_PC + 2; interp->resume_flag = 1;;
14676         return (opcode_t *)0;
14677 ;
14678     return cur_opcode + 2;
14679 }
14680 
14681 opcode_t *
Parrot_runinterp_p_i(opcode_t * cur_opcode,PARROT_INTERP)14682 Parrot_runinterp_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
14683     Interp  * const  new_interp = (Interp *)VTABLE_get_pointer(interp, PREG(1));
14684 
14685     Interp_flags_SET(new_interp, PARROT_EXTERN_CODE_FLAG);
14686     Parrot_pf_switch_to_cs(new_interp, interp->code, 1);
14687     runops(new_interp, (REL_PC + IREG(2)));
14688     return cur_opcode + 3;
14689 }
14690 
14691 opcode_t *
Parrot_runinterp_p_ic(opcode_t * cur_opcode,PARROT_INTERP)14692 Parrot_runinterp_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
14693     Interp  * const  new_interp = (Interp *)VTABLE_get_pointer(interp, PREG(1));
14694 
14695     Interp_flags_SET(new_interp, PARROT_EXTERN_CODE_FLAG);
14696     Parrot_pf_switch_to_cs(new_interp, interp->code, 1);
14697     runops(new_interp, (REL_PC + ICONST(2)));
14698     return cur_opcode + 3;
14699 }
14700 
14701 opcode_t *
Parrot_getinterp_p(opcode_t * cur_opcode,PARROT_INTERP)14702 Parrot_getinterp_p(opcode_t *cur_opcode, PARROT_INTERP) {
14703     PREG(1) = VTABLE_get_pmc_keyed_int(interp, interp->iglobals, IGLOBALS_INTERPRETER);
14704     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
14705     return cur_opcode + 2;
14706 }
14707 
14708 opcode_t *
Parrot_sweep_ic(opcode_t * cur_opcode,PARROT_INTERP)14709 Parrot_sweep_ic(opcode_t *cur_opcode, PARROT_INTERP) {
14710     if (ICONST(1)) {
14711         Parrot_gc_mark_and_sweep(interp, GC_trace_normal_FLAG);
14712     }
14713     else {
14714         if (Parrot_gc_impatient_pmcs(interp)) {
14715             Parrot_gc_mark_and_sweep(interp, GC_lazy_FLAG);
14716         }
14717 
14718     }
14719 
14720     return cur_opcode + 2;
14721 }
14722 
14723 opcode_t *
Parrot_collect(opcode_t * cur_opcode,PARROT_INTERP)14724 Parrot_collect(opcode_t *cur_opcode, PARROT_INTERP) {
14725     Parrot_gc_compact_memory_pool(interp);
14726     return cur_opcode + 1;
14727 }
14728 
14729 opcode_t *
Parrot_sweepoff(opcode_t * cur_opcode,PARROT_INTERP)14730 Parrot_sweepoff(opcode_t *cur_opcode, PARROT_INTERP) {
14731     Parrot_block_GC_mark(interp);
14732     return cur_opcode + 1;
14733 }
14734 
14735 opcode_t *
Parrot_sweepon(opcode_t * cur_opcode,PARROT_INTERP)14736 Parrot_sweepon(opcode_t *cur_opcode, PARROT_INTERP) {
14737     Parrot_unblock_GC_mark(interp);
14738     return cur_opcode + 1;
14739 }
14740 
14741 opcode_t *
Parrot_collectoff(opcode_t * cur_opcode,PARROT_INTERP)14742 Parrot_collectoff(opcode_t *cur_opcode, PARROT_INTERP) {
14743     Parrot_block_GC_sweep(interp);
14744     return cur_opcode + 1;
14745 }
14746 
14747 opcode_t *
Parrot_collecton(opcode_t * cur_opcode,PARROT_INTERP)14748 Parrot_collecton(opcode_t *cur_opcode, PARROT_INTERP) {
14749     Parrot_unblock_GC_sweep(interp);
14750     return cur_opcode + 1;
14751 }
14752 
14753 opcode_t *
Parrot_needs_destroy_p(opcode_t * cur_opcode,PARROT_INTERP)14754 Parrot_needs_destroy_p(opcode_t *cur_opcode, PARROT_INTERP) {
14755     Parrot_gc_pmc_needs_early_collection(interp, PREG(1));
14756     return cur_opcode + 2;
14757 }
14758 
14759 opcode_t *
Parrot_loadlib_p_s(opcode_t * cur_opcode,PARROT_INTERP)14760 Parrot_loadlib_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
14761     PREG(1) = Parrot_dyn_load_lib(interp, SREG(2), NULL);
14762     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
14763     return cur_opcode + 3;
14764 }
14765 
14766 opcode_t *
Parrot_loadlib_p_sc(opcode_t * cur_opcode,PARROT_INTERP)14767 Parrot_loadlib_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
14768     PREG(1) = Parrot_dyn_load_lib(interp, SCONST(2), NULL);
14769     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
14770     return cur_opcode + 3;
14771 }
14772 
14773 opcode_t *
Parrot_loadlib_p_s_p(opcode_t * cur_opcode,PARROT_INTERP)14774 Parrot_loadlib_p_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
14775     PREG(1) = Parrot_dyn_load_lib(interp, SREG(2), PREG(3));
14776     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
14777     return cur_opcode + 4;
14778 }
14779 
14780 opcode_t *
Parrot_loadlib_p_sc_p(opcode_t * cur_opcode,PARROT_INTERP)14781 Parrot_loadlib_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
14782     PREG(1) = Parrot_dyn_load_lib(interp, SCONST(2), PREG(3));
14783     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
14784     return cur_opcode + 4;
14785 }
14786 
14787 opcode_t *
Parrot_loadlib_p_s_pc(opcode_t * cur_opcode,PARROT_INTERP)14788 Parrot_loadlib_p_s_pc(opcode_t *cur_opcode, PARROT_INTERP) {
14789     PREG(1) = Parrot_dyn_load_lib(interp, SREG(2), PCONST(3));
14790     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
14791     return cur_opcode + 4;
14792 }
14793 
14794 opcode_t *
Parrot_loadlib_p_sc_pc(opcode_t * cur_opcode,PARROT_INTERP)14795 Parrot_loadlib_p_sc_pc(opcode_t *cur_opcode, PARROT_INTERP) {
14796     PREG(1) = Parrot_dyn_load_lib(interp, SCONST(2), PCONST(3));
14797     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
14798     return cur_opcode + 4;
14799 }
14800 
14801 opcode_t *
Parrot_dlfunc_p_p_s_s(opcode_t * cur_opcode,PARROT_INTERP)14802 Parrot_dlfunc_p_p_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
14803     void          * dl_handle = NULL;
14804     void          * ptr;
14805     funcptr_t       p;
14806 
14807     if (((!PMC_IS_NULL(PREG(2))) && (PREG(2)->vtable->base_type == enum_class_ParrotLibrary)) && VTABLE_defined(interp, PREG(2))) {
14808         dl_handle = ((Parrot_ParrotLibrary_attributes*)PMC_data(PREG(2)))->dl_handle;
14809     }
14810 
14811     ptr = Parrot_dyn_dlsym_str(interp, dl_handle, SREG(3));
14812     p = D2FPTR(ptr);
14813     if (p == NULLfunc) {
14814         const char  * const  err = Parrot_dlerror();
14815 
14816         Parrot_warn(interp, PARROT_WARNINGS_UNDEF_FLAG, "Symbol '%Ss' not found: %s\n", SREG(3), err ? err : "unknown reason");
14817         PREG(1) = Parrot_pmc_new(interp, enum_class_Undef);
14818     }
14819     else {
14820         PREG(1) = Parrot_pmc_new(interp, enum_class_NCI);
14821         VTABLE_set_pointer_keyed_str(interp, PREG(1), SREG(4), F2DPTR(p));
14822     }
14823 
14824     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
14825     return cur_opcode + 5;
14826 }
14827 
14828 opcode_t *
Parrot_dlfunc_p_p_sc_s(opcode_t * cur_opcode,PARROT_INTERP)14829 Parrot_dlfunc_p_p_sc_s(opcode_t *cur_opcode, PARROT_INTERP) {
14830     void          * dl_handle = NULL;
14831     void          * ptr;
14832     funcptr_t       p;
14833 
14834     if (((!PMC_IS_NULL(PREG(2))) && (PREG(2)->vtable->base_type == enum_class_ParrotLibrary)) && VTABLE_defined(interp, PREG(2))) {
14835         dl_handle = ((Parrot_ParrotLibrary_attributes*)PMC_data(PREG(2)))->dl_handle;
14836     }
14837 
14838     ptr = Parrot_dyn_dlsym_str(interp, dl_handle, SCONST(3));
14839     p = D2FPTR(ptr);
14840     if (p == NULLfunc) {
14841         const char  * const  err = Parrot_dlerror();
14842 
14843         Parrot_warn(interp, PARROT_WARNINGS_UNDEF_FLAG, "Symbol '%Ss' not found: %s\n", SCONST(3), err ? err : "unknown reason");
14844         PREG(1) = Parrot_pmc_new(interp, enum_class_Undef);
14845     }
14846     else {
14847         PREG(1) = Parrot_pmc_new(interp, enum_class_NCI);
14848         VTABLE_set_pointer_keyed_str(interp, PREG(1), SREG(4), F2DPTR(p));
14849     }
14850 
14851     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
14852     return cur_opcode + 5;
14853 }
14854 
14855 opcode_t *
Parrot_dlfunc_p_p_s_sc(opcode_t * cur_opcode,PARROT_INTERP)14856 Parrot_dlfunc_p_p_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
14857     void          * dl_handle = NULL;
14858     void          * ptr;
14859     funcptr_t       p;
14860 
14861     if (((!PMC_IS_NULL(PREG(2))) && (PREG(2)->vtable->base_type == enum_class_ParrotLibrary)) && VTABLE_defined(interp, PREG(2))) {
14862         dl_handle = ((Parrot_ParrotLibrary_attributes*)PMC_data(PREG(2)))->dl_handle;
14863     }
14864 
14865     ptr = Parrot_dyn_dlsym_str(interp, dl_handle, SREG(3));
14866     p = D2FPTR(ptr);
14867     if (p == NULLfunc) {
14868         const char  * const  err = Parrot_dlerror();
14869 
14870         Parrot_warn(interp, PARROT_WARNINGS_UNDEF_FLAG, "Symbol '%Ss' not found: %s\n", SREG(3), err ? err : "unknown reason");
14871         PREG(1) = Parrot_pmc_new(interp, enum_class_Undef);
14872     }
14873     else {
14874         PREG(1) = Parrot_pmc_new(interp, enum_class_NCI);
14875         VTABLE_set_pointer_keyed_str(interp, PREG(1), SCONST(4), F2DPTR(p));
14876     }
14877 
14878     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
14879     return cur_opcode + 5;
14880 }
14881 
14882 opcode_t *
Parrot_dlfunc_p_p_sc_sc(opcode_t * cur_opcode,PARROT_INTERP)14883 Parrot_dlfunc_p_p_sc_sc(opcode_t *cur_opcode, PARROT_INTERP) {
14884     void          * dl_handle = NULL;
14885     void          * ptr;
14886     funcptr_t       p;
14887 
14888     if (((!PMC_IS_NULL(PREG(2))) && (PREG(2)->vtable->base_type == enum_class_ParrotLibrary)) && VTABLE_defined(interp, PREG(2))) {
14889         dl_handle = ((Parrot_ParrotLibrary_attributes*)PMC_data(PREG(2)))->dl_handle;
14890     }
14891 
14892     ptr = Parrot_dyn_dlsym_str(interp, dl_handle, SCONST(3));
14893     p = D2FPTR(ptr);
14894     if (p == NULLfunc) {
14895         const char  * const  err = Parrot_dlerror();
14896 
14897         Parrot_warn(interp, PARROT_WARNINGS_UNDEF_FLAG, "Symbol '%Ss' not found: %s\n", SCONST(3), err ? err : "unknown reason");
14898         PREG(1) = Parrot_pmc_new(interp, enum_class_Undef);
14899     }
14900     else {
14901         PREG(1) = Parrot_pmc_new(interp, enum_class_NCI);
14902         VTABLE_set_pointer_keyed_str(interp, PREG(1), SCONST(4), F2DPTR(p));
14903     }
14904 
14905     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
14906     return cur_opcode + 5;
14907 }
14908 
14909 opcode_t *
Parrot_dlfunc_p_p_s_p(opcode_t * cur_opcode,PARROT_INTERP)14910 Parrot_dlfunc_p_p_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
14911     void          * dl_handle = NULL;
14912     void          * ptr;
14913     funcptr_t       p;
14914 
14915     if (((!PMC_IS_NULL(PREG(2))) && (PREG(2)->vtable->base_type == enum_class_ParrotLibrary)) && VTABLE_defined(interp, PREG(2))) {
14916         dl_handle = ((Parrot_ParrotLibrary_attributes*)PMC_data(PREG(2)))->dl_handle;
14917     }
14918 
14919     ptr = Parrot_dyn_dlsym_str(interp, dl_handle, SREG(3));
14920     p = D2FPTR(ptr);
14921     if (p == NULLfunc) {
14922         const char  * const  err = Parrot_dlerror();
14923 
14924         Parrot_warn(interp, PARROT_WARNINGS_UNDEF_FLAG, "Symbol '%Ss' not found: %s\n", SREG(3), err ? err : "unknown reason");
14925         PREG(1) = Parrot_pmc_new(interp, enum_class_Undef);
14926     }
14927     else {
14928         PREG(1) = Parrot_pmc_new(interp, enum_class_NCI);
14929         VTABLE_set_pointer_keyed(interp, PREG(1), PREG(4), F2DPTR(p));
14930     }
14931 
14932     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
14933     return cur_opcode + 5;
14934 }
14935 
14936 opcode_t *
Parrot_dlfunc_p_p_sc_p(opcode_t * cur_opcode,PARROT_INTERP)14937 Parrot_dlfunc_p_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
14938     void          * dl_handle = NULL;
14939     void          * ptr;
14940     funcptr_t       p;
14941 
14942     if (((!PMC_IS_NULL(PREG(2))) && (PREG(2)->vtable->base_type == enum_class_ParrotLibrary)) && VTABLE_defined(interp, PREG(2))) {
14943         dl_handle = ((Parrot_ParrotLibrary_attributes*)PMC_data(PREG(2)))->dl_handle;
14944     }
14945 
14946     ptr = Parrot_dyn_dlsym_str(interp, dl_handle, SCONST(3));
14947     p = D2FPTR(ptr);
14948     if (p == NULLfunc) {
14949         const char  * const  err = Parrot_dlerror();
14950 
14951         Parrot_warn(interp, PARROT_WARNINGS_UNDEF_FLAG, "Symbol '%Ss' not found: %s\n", SCONST(3), err ? err : "unknown reason");
14952         PREG(1) = Parrot_pmc_new(interp, enum_class_Undef);
14953     }
14954     else {
14955         PREG(1) = Parrot_pmc_new(interp, enum_class_NCI);
14956         VTABLE_set_pointer_keyed(interp, PREG(1), PREG(4), F2DPTR(p));
14957     }
14958 
14959     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
14960     return cur_opcode + 5;
14961 }
14962 
14963 opcode_t *
Parrot_dlvar_p_p_s(opcode_t * cur_opcode,PARROT_INTERP)14964 Parrot_dlvar_p_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
14965     void  *         dl_handle = NULL;
14966     void  *         p;
14967 
14968     if (((!PMC_IS_NULL(PREG(2))) && (PREG(2)->vtable->base_type == enum_class_ParrotLibrary)) && VTABLE_defined(interp, PREG(2))) {
14969         dl_handle = ((Parrot_ParrotLibrary_attributes*)PMC_data(PREG(2)))->dl_handle;
14970     }
14971 
14972     p = Parrot_dyn_dlsym_str(interp, dl_handle, SREG(3));
14973     if (p == NULL) {
14974         const char  * const  err = Parrot_dlerror();
14975 
14976         Parrot_warn(interp, PARROT_WARNINGS_UNDEF_FLAG, "Symbol '%Ss' not found: %s\n", SREG(3), err ? err : "unknown reason");
14977         PREG(1) = Parrot_pmc_new(interp, enum_class_Undef);
14978     }
14979     else {
14980         PREG(1) = Parrot_pmc_new(interp, enum_class_UnManagedStruct);
14981         VTABLE_set_pointer(interp, PREG(1), p);
14982     }
14983 
14984     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
14985     return cur_opcode + 4;
14986 }
14987 
14988 opcode_t *
Parrot_dlvar_p_p_sc(opcode_t * cur_opcode,PARROT_INTERP)14989 Parrot_dlvar_p_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
14990     void  *         dl_handle = NULL;
14991     void  *         p;
14992 
14993     if (((!PMC_IS_NULL(PREG(2))) && (PREG(2)->vtable->base_type == enum_class_ParrotLibrary)) && VTABLE_defined(interp, PREG(2))) {
14994         dl_handle = ((Parrot_ParrotLibrary_attributes*)PMC_data(PREG(2)))->dl_handle;
14995     }
14996 
14997     p = Parrot_dyn_dlsym_str(interp, dl_handle, SCONST(3));
14998     if (p == NULL) {
14999         const char  * const  err = Parrot_dlerror();
15000 
15001         Parrot_warn(interp, PARROT_WARNINGS_UNDEF_FLAG, "Symbol '%Ss' not found: %s\n", SCONST(3), err ? err : "unknown reason");
15002         PREG(1) = Parrot_pmc_new(interp, enum_class_Undef);
15003     }
15004     else {
15005         PREG(1) = Parrot_pmc_new(interp, enum_class_UnManagedStruct);
15006         VTABLE_set_pointer(interp, PREG(1), p);
15007     }
15008 
15009     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
15010     return cur_opcode + 4;
15011 }
15012 
15013 opcode_t *
Parrot_compreg_s_p(opcode_t * cur_opcode,PARROT_INTERP)15014 Parrot_compreg_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
15015     Parrot_interp_set_compiler(interp, SREG(1), PREG(2));
15016     return cur_opcode + 3;
15017 }
15018 
15019 opcode_t *
Parrot_compreg_sc_p(opcode_t * cur_opcode,PARROT_INTERP)15020 Parrot_compreg_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
15021     Parrot_interp_set_compiler(interp, SCONST(1), PREG(2));
15022     return cur_opcode + 3;
15023 }
15024 
15025 opcode_t *
Parrot_compreg_p_s(opcode_t * cur_opcode,PARROT_INTERP)15026 Parrot_compreg_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
15027     PREG(1) = Parrot_interp_get_compiler(interp, SREG(2));
15028     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
15029     return cur_opcode + 3;
15030 }
15031 
15032 opcode_t *
Parrot_compreg_p_sc(opcode_t * cur_opcode,PARROT_INTERP)15033 Parrot_compreg_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
15034     PREG(1) = Parrot_interp_get_compiler(interp, SCONST(2));
15035     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
15036     return cur_opcode + 3;
15037 }
15038 
15039 opcode_t *
Parrot_new_callback_p_p_p_s(opcode_t * cur_opcode,PARROT_INTERP)15040 Parrot_new_callback_p_p_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
15041     PREG(1) = Parrot_make_cb(interp, PREG(2), PREG(3), SREG(4));
15042     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
15043     return cur_opcode + 5;
15044 }
15045 
15046 opcode_t *
Parrot_new_callback_p_p_p_sc(opcode_t * cur_opcode,PARROT_INTERP)15047 Parrot_new_callback_p_p_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
15048     PREG(1) = Parrot_make_cb(interp, PREG(2), PREG(3), SCONST(4));
15049     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
15050     return cur_opcode + 5;
15051 }
15052 
15053 opcode_t *
Parrot_annotations_p(opcode_t * cur_opcode,PARROT_INTERP)15054 Parrot_annotations_p(opcode_t *cur_opcode, PARROT_INTERP) {
15055     if (interp->code->annotations) {
15056         const opcode_t   cur_pos = (( cur_opcode + 2) - interp->code->base.data);
15057 
15058         PREG(1) = Parrot_pf_annotations_lookup(interp, interp->code->annotations, cur_pos, NULL);
15059     }
15060     else {
15061         PREG(1) = Parrot_pmc_new(interp, enum_class_Hash);
15062     }
15063 
15064     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
15065     return cur_opcode + 2;
15066 }
15067 
15068 opcode_t *
Parrot_annotations_p_s(opcode_t * cur_opcode,PARROT_INTERP)15069 Parrot_annotations_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
15070     if (interp->code->annotations) {
15071         const opcode_t   cur_pos = (( cur_opcode + 3) - interp->code->base.data);
15072 
15073         PREG(1) = Parrot_pf_annotations_lookup(interp, interp->code->annotations, cur_pos, SREG(2));
15074     }
15075     else {
15076         PREG(1) = PMCNULL;
15077     }
15078 
15079     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
15080     return cur_opcode + 3;
15081 }
15082 
15083 opcode_t *
Parrot_annotations_p_sc(opcode_t * cur_opcode,PARROT_INTERP)15084 Parrot_annotations_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
15085     if (interp->code->annotations) {
15086         const opcode_t   cur_pos = (( cur_opcode + 3) - interp->code->base.data);
15087 
15088         PREG(1) = Parrot_pf_annotations_lookup(interp, interp->code->annotations, cur_pos, SCONST(2));
15089     }
15090     else {
15091         PREG(1) = PMCNULL;
15092     }
15093 
15094     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
15095     return cur_opcode + 3;
15096 }
15097 
15098 opcode_t *
Parrot_band_i_i(opcode_t * cur_opcode,PARROT_INTERP)15099 Parrot_band_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
15100     (IREG(1) &= IREG(2));
15101     return cur_opcode + 3;
15102 }
15103 
15104 opcode_t *
Parrot_band_i_ic(opcode_t * cur_opcode,PARROT_INTERP)15105 Parrot_band_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15106     (IREG(1) &= ICONST(2));
15107     return cur_opcode + 3;
15108 }
15109 
15110 opcode_t *
Parrot_band_i_i_i(opcode_t * cur_opcode,PARROT_INTERP)15111 Parrot_band_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
15112     IREG(1) = (IREG(2) & IREG(3));
15113     return cur_opcode + 4;
15114 }
15115 
15116 opcode_t *
Parrot_band_i_ic_i(opcode_t * cur_opcode,PARROT_INTERP)15117 Parrot_band_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
15118     IREG(1) = (ICONST(2) & IREG(3));
15119     return cur_opcode + 4;
15120 }
15121 
15122 opcode_t *
Parrot_band_i_i_ic(opcode_t * cur_opcode,PARROT_INTERP)15123 Parrot_band_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15124     IREG(1) = (IREG(2) & ICONST(3));
15125     return cur_opcode + 4;
15126 }
15127 
15128 opcode_t *
Parrot_bor_i_i(opcode_t * cur_opcode,PARROT_INTERP)15129 Parrot_bor_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
15130     (IREG(1) |= IREG(2));
15131     return cur_opcode + 3;
15132 }
15133 
15134 opcode_t *
Parrot_bor_i_ic(opcode_t * cur_opcode,PARROT_INTERP)15135 Parrot_bor_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15136     (IREG(1) |= ICONST(2));
15137     return cur_opcode + 3;
15138 }
15139 
15140 opcode_t *
Parrot_bor_i_i_i(opcode_t * cur_opcode,PARROT_INTERP)15141 Parrot_bor_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
15142     IREG(1) = (IREG(2) | IREG(3));
15143     return cur_opcode + 4;
15144 }
15145 
15146 opcode_t *
Parrot_bor_i_ic_i(opcode_t * cur_opcode,PARROT_INTERP)15147 Parrot_bor_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
15148     IREG(1) = (ICONST(2) | IREG(3));
15149     return cur_opcode + 4;
15150 }
15151 
15152 opcode_t *
Parrot_bor_i_i_ic(opcode_t * cur_opcode,PARROT_INTERP)15153 Parrot_bor_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15154     IREG(1) = (IREG(2) | ICONST(3));
15155     return cur_opcode + 4;
15156 }
15157 
15158 opcode_t *
Parrot_shl_i_i(opcode_t * cur_opcode,PARROT_INTERP)15159 Parrot_shl_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
15160     IREG(1) = bit_shift_left(IREG(1), IREG(2));
15161     return cur_opcode + 3;
15162 }
15163 
15164 opcode_t *
Parrot_shl_i_ic(opcode_t * cur_opcode,PARROT_INTERP)15165 Parrot_shl_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15166     IREG(1) = bit_shift_left(IREG(1), ICONST(2));
15167     return cur_opcode + 3;
15168 }
15169 
15170 opcode_t *
Parrot_shl_i_i_i(opcode_t * cur_opcode,PARROT_INTERP)15171 Parrot_shl_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
15172     IREG(1) = bit_shift_left(IREG(2), IREG(3));
15173     return cur_opcode + 4;
15174 }
15175 
15176 opcode_t *
Parrot_shl_i_ic_i(opcode_t * cur_opcode,PARROT_INTERP)15177 Parrot_shl_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
15178     IREG(1) = bit_shift_left(ICONST(2), IREG(3));
15179     return cur_opcode + 4;
15180 }
15181 
15182 opcode_t *
Parrot_shl_i_i_ic(opcode_t * cur_opcode,PARROT_INTERP)15183 Parrot_shl_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15184     IREG(1) = bit_shift_left(IREG(2), ICONST(3));
15185     return cur_opcode + 4;
15186 }
15187 
15188 opcode_t *
Parrot_shr_i_i(opcode_t * cur_opcode,PARROT_INTERP)15189 Parrot_shr_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
15190     const INTVAL   signed_shift = (-IREG(2));
15191 
15192     IREG(1) = bit_shift_left(IREG(1), signed_shift);
15193     return cur_opcode + 3;
15194 }
15195 
15196 opcode_t *
Parrot_shr_i_ic(opcode_t * cur_opcode,PARROT_INTERP)15197 Parrot_shr_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15198     const INTVAL   signed_shift = (-ICONST(2));
15199 
15200     IREG(1) = bit_shift_left(IREG(1), signed_shift);
15201     return cur_opcode + 3;
15202 }
15203 
15204 opcode_t *
Parrot_shr_i_i_i(opcode_t * cur_opcode,PARROT_INTERP)15205 Parrot_shr_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
15206     const INTVAL   signed_shift = (-IREG(3));
15207 
15208     IREG(1) = bit_shift_left(IREG(2), signed_shift);
15209     return cur_opcode + 4;
15210 }
15211 
15212 opcode_t *
Parrot_shr_i_ic_i(opcode_t * cur_opcode,PARROT_INTERP)15213 Parrot_shr_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
15214     const INTVAL   signed_shift = (-IREG(3));
15215 
15216     IREG(1) = bit_shift_left(ICONST(2), signed_shift);
15217     return cur_opcode + 4;
15218 }
15219 
15220 opcode_t *
Parrot_shr_i_i_ic(opcode_t * cur_opcode,PARROT_INTERP)15221 Parrot_shr_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15222     const INTVAL   signed_shift = (-ICONST(3));
15223 
15224     IREG(1) = bit_shift_left(IREG(2), signed_shift);
15225     return cur_opcode + 4;
15226 }
15227 
15228 opcode_t *
Parrot_lsr_i_i(opcode_t * cur_opcode,PARROT_INTERP)15229 Parrot_lsr_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
15230     const UINTVAL   a = (UINTVAL)IREG(1);
15231     const UINTVAL   b = (a >> IREG(2));
15232 
15233     IREG(1) = (INTVAL)b;
15234     return cur_opcode + 3;
15235 }
15236 
15237 opcode_t *
Parrot_lsr_i_ic(opcode_t * cur_opcode,PARROT_INTERP)15238 Parrot_lsr_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15239     const UINTVAL   a = (UINTVAL)IREG(1);
15240     const UINTVAL   b = (a >> ICONST(2));
15241 
15242     IREG(1) = (INTVAL)b;
15243     return cur_opcode + 3;
15244 }
15245 
15246 opcode_t *
Parrot_lsr_i_i_i(opcode_t * cur_opcode,PARROT_INTERP)15247 Parrot_lsr_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
15248     IREG(1) = (INTVAL)(((UINTVAL)IREG(2) >> IREG(3)));
15249     return cur_opcode + 4;
15250 }
15251 
15252 opcode_t *
Parrot_lsr_i_ic_i(opcode_t * cur_opcode,PARROT_INTERP)15253 Parrot_lsr_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
15254     IREG(1) = (INTVAL)(((UINTVAL)ICONST(2) >> IREG(3)));
15255     return cur_opcode + 4;
15256 }
15257 
15258 opcode_t *
Parrot_lsr_i_i_ic(opcode_t * cur_opcode,PARROT_INTERP)15259 Parrot_lsr_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15260     IREG(1) = (INTVAL)(((UINTVAL)IREG(2) >> ICONST(3)));
15261     return cur_opcode + 4;
15262 }
15263 
15264 opcode_t *
Parrot_bxor_i_i(opcode_t * cur_opcode,PARROT_INTERP)15265 Parrot_bxor_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
15266     (IREG(1) ^= IREG(2));
15267     return cur_opcode + 3;
15268 }
15269 
15270 opcode_t *
Parrot_bxor_i_ic(opcode_t * cur_opcode,PARROT_INTERP)15271 Parrot_bxor_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15272     (IREG(1) ^= ICONST(2));
15273     return cur_opcode + 3;
15274 }
15275 
15276 opcode_t *
Parrot_bxor_i_i_i(opcode_t * cur_opcode,PARROT_INTERP)15277 Parrot_bxor_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
15278     IREG(1) = (IREG(2) ^ IREG(3));
15279     return cur_opcode + 4;
15280 }
15281 
15282 opcode_t *
Parrot_bxor_i_ic_i(opcode_t * cur_opcode,PARROT_INTERP)15283 Parrot_bxor_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
15284     IREG(1) = (ICONST(2) ^ IREG(3));
15285     return cur_opcode + 4;
15286 }
15287 
15288 opcode_t *
Parrot_bxor_i_i_ic(opcode_t * cur_opcode,PARROT_INTERP)15289 Parrot_bxor_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15290     IREG(1) = (IREG(2) ^ ICONST(3));
15291     return cur_opcode + 4;
15292 }
15293 
15294 opcode_t *
Parrot_eq_i_i_ic(opcode_t * cur_opcode,PARROT_INTERP)15295 Parrot_eq_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15296     if (IREG(1) == IREG(2)) {
15297         return cur_opcode + ICONST(3);
15298     }
15299 
15300     return cur_opcode + 4;
15301 }
15302 
15303 opcode_t *
Parrot_eq_ic_i_ic(opcode_t * cur_opcode,PARROT_INTERP)15304 Parrot_eq_ic_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15305     if (ICONST(1) == IREG(2)) {
15306         return cur_opcode + ICONST(3);
15307     }
15308 
15309     return cur_opcode + 4;
15310 }
15311 
15312 opcode_t *
Parrot_eq_i_ic_ic(opcode_t * cur_opcode,PARROT_INTERP)15313 Parrot_eq_i_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15314     if (IREG(1) == ICONST(2)) {
15315         return cur_opcode + ICONST(3);
15316     }
15317 
15318     return cur_opcode + 4;
15319 }
15320 
15321 opcode_t *
Parrot_eq_n_n_ic(opcode_t * cur_opcode,PARROT_INTERP)15322 Parrot_eq_n_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15323     if (NREG(1) == NREG(2)) {
15324         return cur_opcode + ICONST(3);
15325     }
15326 
15327     return cur_opcode + 4;
15328 }
15329 
15330 opcode_t *
Parrot_eq_nc_n_ic(opcode_t * cur_opcode,PARROT_INTERP)15331 Parrot_eq_nc_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15332     if (NCONST(1) == NREG(2)) {
15333         return cur_opcode + ICONST(3);
15334     }
15335 
15336     return cur_opcode + 4;
15337 }
15338 
15339 opcode_t *
Parrot_eq_n_nc_ic(opcode_t * cur_opcode,PARROT_INTERP)15340 Parrot_eq_n_nc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15341     if (NREG(1) == NCONST(2)) {
15342         return cur_opcode + ICONST(3);
15343     }
15344 
15345     return cur_opcode + 4;
15346 }
15347 
15348 opcode_t *
Parrot_eq_s_s_ic(opcode_t * cur_opcode,PARROT_INTERP)15349 Parrot_eq_s_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15350     if (STRING_equal(interp, SREG(1), SREG(2))) {
15351         return cur_opcode + ICONST(3);
15352     }
15353 
15354     return cur_opcode + 4;
15355 }
15356 
15357 opcode_t *
Parrot_eq_sc_s_ic(opcode_t * cur_opcode,PARROT_INTERP)15358 Parrot_eq_sc_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15359     if (STRING_equal(interp, SCONST(1), SREG(2))) {
15360         return cur_opcode + ICONST(3);
15361     }
15362 
15363     return cur_opcode + 4;
15364 }
15365 
15366 opcode_t *
Parrot_eq_s_sc_ic(opcode_t * cur_opcode,PARROT_INTERP)15367 Parrot_eq_s_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15368     if (STRING_equal(interp, SREG(1), SCONST(2))) {
15369         return cur_opcode + ICONST(3);
15370     }
15371 
15372     return cur_opcode + 4;
15373 }
15374 
15375 opcode_t *
Parrot_eq_p_p_ic(opcode_t * cur_opcode,PARROT_INTERP)15376 Parrot_eq_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15377     if (VTABLE_is_equal(interp, PREG(1), PREG(2))) {
15378         return cur_opcode + ICONST(3);
15379     }
15380 
15381     return cur_opcode + 4;
15382 }
15383 
15384 opcode_t *
Parrot_eq_p_i_ic(opcode_t * cur_opcode,PARROT_INTERP)15385 Parrot_eq_p_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15386     PMC  * const  temp = Parrot_pmc_new_temporary(interp, enum_class_Integer);
15387 
15388     VTABLE_set_integer_native(interp, temp, IREG(2));
15389     if (VTABLE_is_equal(interp, PREG(1), temp)) {
15390         Parrot_pmc_free_temporary(interp, temp);
15391         return cur_opcode + ICONST(3);
15392     }
15393 
15394     Parrot_pmc_free_temporary(interp, temp);
15395     return cur_opcode + 4;
15396 }
15397 
15398 opcode_t *
Parrot_eq_p_ic_ic(opcode_t * cur_opcode,PARROT_INTERP)15399 Parrot_eq_p_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15400     PMC  * const  temp = Parrot_pmc_new_temporary(interp, enum_class_Integer);
15401 
15402     VTABLE_set_integer_native(interp, temp, ICONST(2));
15403     if (VTABLE_is_equal(interp, PREG(1), temp)) {
15404         Parrot_pmc_free_temporary(interp, temp);
15405         return cur_opcode + ICONST(3);
15406     }
15407 
15408     Parrot_pmc_free_temporary(interp, temp);
15409     return cur_opcode + 4;
15410 }
15411 
15412 opcode_t *
Parrot_eq_p_n_ic(opcode_t * cur_opcode,PARROT_INTERP)15413 Parrot_eq_p_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15414     if (VTABLE_get_number(interp, PREG(1)) == NREG(2)) {
15415         return cur_opcode + ICONST(3);
15416     }
15417 
15418     return cur_opcode + 4;
15419 }
15420 
15421 opcode_t *
Parrot_eq_p_nc_ic(opcode_t * cur_opcode,PARROT_INTERP)15422 Parrot_eq_p_nc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15423     if (VTABLE_get_number(interp, PREG(1)) == NCONST(2)) {
15424         return cur_opcode + ICONST(3);
15425     }
15426 
15427     return cur_opcode + 4;
15428 }
15429 
15430 opcode_t *
Parrot_eq_p_s_ic(opcode_t * cur_opcode,PARROT_INTERP)15431 Parrot_eq_p_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15432     if (STRING_equal(interp, VTABLE_get_string(interp, PREG(1)), SREG(2))) {
15433         return cur_opcode + ICONST(3);
15434     }
15435 
15436     return cur_opcode + 4;
15437 }
15438 
15439 opcode_t *
Parrot_eq_p_sc_ic(opcode_t * cur_opcode,PARROT_INTERP)15440 Parrot_eq_p_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15441     if (STRING_equal(interp, VTABLE_get_string(interp, PREG(1)), SCONST(2))) {
15442         return cur_opcode + ICONST(3);
15443     }
15444 
15445     return cur_opcode + 4;
15446 }
15447 
15448 opcode_t *
Parrot_eq_str_p_p_ic(opcode_t * cur_opcode,PARROT_INTERP)15449 Parrot_eq_str_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15450     if (VTABLE_is_equal_string(interp, PREG(1), PREG(2))) {
15451         return cur_opcode + ICONST(3);
15452     }
15453 
15454     return cur_opcode + 4;
15455 }
15456 
15457 opcode_t *
Parrot_eq_num_p_p_ic(opcode_t * cur_opcode,PARROT_INTERP)15458 Parrot_eq_num_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15459     if (VTABLE_is_equal_num(interp, PREG(1), PREG(2))) {
15460         return cur_opcode + ICONST(3);
15461     }
15462 
15463     return cur_opcode + 4;
15464 }
15465 
15466 opcode_t *
Parrot_eq_addr_s_s_ic(opcode_t * cur_opcode,PARROT_INTERP)15467 Parrot_eq_addr_s_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15468     if (SREG(1) == SREG(2)) {
15469         return cur_opcode + ICONST(3);
15470     }
15471 
15472     return cur_opcode + 4;
15473 }
15474 
15475 opcode_t *
Parrot_eq_addr_sc_s_ic(opcode_t * cur_opcode,PARROT_INTERP)15476 Parrot_eq_addr_sc_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15477     if (SCONST(1) == SREG(2)) {
15478         return cur_opcode + ICONST(3);
15479     }
15480 
15481     return cur_opcode + 4;
15482 }
15483 
15484 opcode_t *
Parrot_eq_addr_s_sc_ic(opcode_t * cur_opcode,PARROT_INTERP)15485 Parrot_eq_addr_s_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15486     if (SREG(1) == SCONST(2)) {
15487         return cur_opcode + ICONST(3);
15488     }
15489 
15490     return cur_opcode + 4;
15491 }
15492 
15493 opcode_t *
Parrot_eq_addr_sc_sc_ic(opcode_t * cur_opcode,PARROT_INTERP)15494 Parrot_eq_addr_sc_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15495     if (SCONST(1) == SCONST(2)) {
15496         return cur_opcode + ICONST(3);
15497     }
15498 
15499     return cur_opcode + 4;
15500 }
15501 
15502 opcode_t *
Parrot_eq_addr_p_p_ic(opcode_t * cur_opcode,PARROT_INTERP)15503 Parrot_eq_addr_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15504     if (PREG(1) == PREG(2)) {
15505         return cur_opcode + ICONST(3);
15506     }
15507 
15508     return cur_opcode + 4;
15509 }
15510 
15511 opcode_t *
Parrot_ne_i_i_ic(opcode_t * cur_opcode,PARROT_INTERP)15512 Parrot_ne_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15513     if (IREG(1) != IREG(2)) {
15514         return cur_opcode + ICONST(3);
15515     }
15516 
15517     return cur_opcode + 4;
15518 }
15519 
15520 opcode_t *
Parrot_ne_ic_i_ic(opcode_t * cur_opcode,PARROT_INTERP)15521 Parrot_ne_ic_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15522     if (ICONST(1) != IREG(2)) {
15523         return cur_opcode + ICONST(3);
15524     }
15525 
15526     return cur_opcode + 4;
15527 }
15528 
15529 opcode_t *
Parrot_ne_i_ic_ic(opcode_t * cur_opcode,PARROT_INTERP)15530 Parrot_ne_i_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15531     if (IREG(1) != ICONST(2)) {
15532         return cur_opcode + ICONST(3);
15533     }
15534 
15535     return cur_opcode + 4;
15536 }
15537 
15538 opcode_t *
Parrot_ne_n_n_ic(opcode_t * cur_opcode,PARROT_INTERP)15539 Parrot_ne_n_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15540     if (NREG(1) != NREG(2)) {
15541         return cur_opcode + ICONST(3);
15542     }
15543 
15544     return cur_opcode + 4;
15545 }
15546 
15547 opcode_t *
Parrot_ne_nc_n_ic(opcode_t * cur_opcode,PARROT_INTERP)15548 Parrot_ne_nc_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15549     if (NCONST(1) != NREG(2)) {
15550         return cur_opcode + ICONST(3);
15551     }
15552 
15553     return cur_opcode + 4;
15554 }
15555 
15556 opcode_t *
Parrot_ne_n_nc_ic(opcode_t * cur_opcode,PARROT_INTERP)15557 Parrot_ne_n_nc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15558     if (NREG(1) != NCONST(2)) {
15559         return cur_opcode + ICONST(3);
15560     }
15561 
15562     return cur_opcode + 4;
15563 }
15564 
15565 opcode_t *
Parrot_ne_s_s_ic(opcode_t * cur_opcode,PARROT_INTERP)15566 Parrot_ne_s_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15567     if (!STRING_equal(interp, SREG(1), SREG(2))) {
15568         return cur_opcode + ICONST(3);
15569     }
15570 
15571     return cur_opcode + 4;
15572 }
15573 
15574 opcode_t *
Parrot_ne_sc_s_ic(opcode_t * cur_opcode,PARROT_INTERP)15575 Parrot_ne_sc_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15576     if (!STRING_equal(interp, SCONST(1), SREG(2))) {
15577         return cur_opcode + ICONST(3);
15578     }
15579 
15580     return cur_opcode + 4;
15581 }
15582 
15583 opcode_t *
Parrot_ne_s_sc_ic(opcode_t * cur_opcode,PARROT_INTERP)15584 Parrot_ne_s_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15585     if (!STRING_equal(interp, SREG(1), SCONST(2))) {
15586         return cur_opcode + ICONST(3);
15587     }
15588 
15589     return cur_opcode + 4;
15590 }
15591 
15592 opcode_t *
Parrot_ne_p_p_ic(opcode_t * cur_opcode,PARROT_INTERP)15593 Parrot_ne_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15594     if (!VTABLE_is_equal(interp, PREG(1), PREG(2))) {
15595         return cur_opcode + ICONST(3);
15596     }
15597 
15598     return cur_opcode + 4;
15599 }
15600 
15601 opcode_t *
Parrot_ne_p_i_ic(opcode_t * cur_opcode,PARROT_INTERP)15602 Parrot_ne_p_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15603     PMC  * const  temp = Parrot_pmc_new_temporary(interp, enum_class_Integer);
15604 
15605     VTABLE_set_integer_native(interp, temp, IREG(2));
15606     if (!VTABLE_is_equal(interp, PREG(1), temp)) {
15607         Parrot_pmc_free_temporary(interp, temp);
15608         return cur_opcode + ICONST(3);
15609     }
15610 
15611     Parrot_pmc_free_temporary(interp, temp);
15612     return cur_opcode + 4;
15613 }
15614 
15615 opcode_t *
Parrot_ne_p_ic_ic(opcode_t * cur_opcode,PARROT_INTERP)15616 Parrot_ne_p_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15617     PMC  * const  temp = Parrot_pmc_new_temporary(interp, enum_class_Integer);
15618 
15619     VTABLE_set_integer_native(interp, temp, ICONST(2));
15620     if (!VTABLE_is_equal(interp, PREG(1), temp)) {
15621         Parrot_pmc_free_temporary(interp, temp);
15622         return cur_opcode + ICONST(3);
15623     }
15624 
15625     Parrot_pmc_free_temporary(interp, temp);
15626     return cur_opcode + 4;
15627 }
15628 
15629 opcode_t *
Parrot_ne_p_n_ic(opcode_t * cur_opcode,PARROT_INTERP)15630 Parrot_ne_p_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15631     if (VTABLE_get_number(interp, PREG(1)) != NREG(2)) {
15632         return cur_opcode + ICONST(3);
15633     }
15634 
15635     return cur_opcode + 4;
15636 }
15637 
15638 opcode_t *
Parrot_ne_p_nc_ic(opcode_t * cur_opcode,PARROT_INTERP)15639 Parrot_ne_p_nc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15640     if (VTABLE_get_number(interp, PREG(1)) != NCONST(2)) {
15641         return cur_opcode + ICONST(3);
15642     }
15643 
15644     return cur_opcode + 4;
15645 }
15646 
15647 opcode_t *
Parrot_ne_p_s_ic(opcode_t * cur_opcode,PARROT_INTERP)15648 Parrot_ne_p_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15649     if (!STRING_equal(interp, VTABLE_get_string(interp, PREG(1)), SREG(2))) {
15650         return cur_opcode + ICONST(3);
15651     }
15652 
15653     return cur_opcode + 4;
15654 }
15655 
15656 opcode_t *
Parrot_ne_p_sc_ic(opcode_t * cur_opcode,PARROT_INTERP)15657 Parrot_ne_p_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15658     if (!STRING_equal(interp, VTABLE_get_string(interp, PREG(1)), SCONST(2))) {
15659         return cur_opcode + ICONST(3);
15660     }
15661 
15662     return cur_opcode + 4;
15663 }
15664 
15665 opcode_t *
Parrot_ne_str_p_p_ic(opcode_t * cur_opcode,PARROT_INTERP)15666 Parrot_ne_str_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15667     if (VTABLE_cmp_string(interp, PREG(1), PREG(2)) != 0) {
15668         return cur_opcode + ICONST(3);
15669     }
15670 
15671     return cur_opcode + 4;
15672 }
15673 
15674 opcode_t *
Parrot_ne_num_p_p_ic(opcode_t * cur_opcode,PARROT_INTERP)15675 Parrot_ne_num_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15676     if (VTABLE_cmp_num(interp, PREG(1), PREG(2)) != 0) {
15677         return cur_opcode + ICONST(3);
15678     }
15679 
15680     return cur_opcode + 4;
15681 }
15682 
15683 opcode_t *
Parrot_ne_addr_s_s_ic(opcode_t * cur_opcode,PARROT_INTERP)15684 Parrot_ne_addr_s_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15685     if (SREG(1) != SREG(2)) {
15686         return cur_opcode + ICONST(3);
15687     }
15688 
15689     return cur_opcode + 4;
15690 }
15691 
15692 opcode_t *
Parrot_ne_addr_sc_s_ic(opcode_t * cur_opcode,PARROT_INTERP)15693 Parrot_ne_addr_sc_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15694     if (SCONST(1) != SREG(2)) {
15695         return cur_opcode + ICONST(3);
15696     }
15697 
15698     return cur_opcode + 4;
15699 }
15700 
15701 opcode_t *
Parrot_ne_addr_s_sc_ic(opcode_t * cur_opcode,PARROT_INTERP)15702 Parrot_ne_addr_s_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15703     if (SREG(1) != SCONST(2)) {
15704         return cur_opcode + ICONST(3);
15705     }
15706 
15707     return cur_opcode + 4;
15708 }
15709 
15710 opcode_t *
Parrot_ne_addr_sc_sc_ic(opcode_t * cur_opcode,PARROT_INTERP)15711 Parrot_ne_addr_sc_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15712     if (SCONST(1) != SCONST(2)) {
15713         return cur_opcode + ICONST(3);
15714     }
15715 
15716     return cur_opcode + 4;
15717 }
15718 
15719 opcode_t *
Parrot_ne_addr_p_p_ic(opcode_t * cur_opcode,PARROT_INTERP)15720 Parrot_ne_addr_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15721     if (PREG(1) != PREG(2)) {
15722         return cur_opcode + ICONST(3);
15723     }
15724 
15725     return cur_opcode + 4;
15726 }
15727 
15728 opcode_t *
Parrot_lt_i_i_ic(opcode_t * cur_opcode,PARROT_INTERP)15729 Parrot_lt_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15730     if (IREG(1) < IREG(2)) {
15731         return cur_opcode + ICONST(3);
15732     }
15733 
15734     return cur_opcode + 4;
15735 }
15736 
15737 opcode_t *
Parrot_lt_ic_i_ic(opcode_t * cur_opcode,PARROT_INTERP)15738 Parrot_lt_ic_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15739     if (ICONST(1) < IREG(2)) {
15740         return cur_opcode + ICONST(3);
15741     }
15742 
15743     return cur_opcode + 4;
15744 }
15745 
15746 opcode_t *
Parrot_lt_i_ic_ic(opcode_t * cur_opcode,PARROT_INTERP)15747 Parrot_lt_i_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15748     if (IREG(1) < ICONST(2)) {
15749         return cur_opcode + ICONST(3);
15750     }
15751 
15752     return cur_opcode + 4;
15753 }
15754 
15755 opcode_t *
Parrot_lt_n_n_ic(opcode_t * cur_opcode,PARROT_INTERP)15756 Parrot_lt_n_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15757     if (NREG(1) < NREG(2)) {
15758         return cur_opcode + ICONST(3);
15759     }
15760 
15761     return cur_opcode + 4;
15762 }
15763 
15764 opcode_t *
Parrot_lt_nc_n_ic(opcode_t * cur_opcode,PARROT_INTERP)15765 Parrot_lt_nc_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15766     if (NCONST(1) < NREG(2)) {
15767         return cur_opcode + ICONST(3);
15768     }
15769 
15770     return cur_opcode + 4;
15771 }
15772 
15773 opcode_t *
Parrot_lt_n_nc_ic(opcode_t * cur_opcode,PARROT_INTERP)15774 Parrot_lt_n_nc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15775     if (NREG(1) < NCONST(2)) {
15776         return cur_opcode + ICONST(3);
15777     }
15778 
15779     return cur_opcode + 4;
15780 }
15781 
15782 opcode_t *
Parrot_lt_s_s_ic(opcode_t * cur_opcode,PARROT_INTERP)15783 Parrot_lt_s_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15784     if (STRING_compare(interp, SREG(1), SREG(2)) < 0) {
15785         return cur_opcode + ICONST(3);
15786     }
15787 
15788     return cur_opcode + 4;
15789 }
15790 
15791 opcode_t *
Parrot_lt_sc_s_ic(opcode_t * cur_opcode,PARROT_INTERP)15792 Parrot_lt_sc_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15793     if (STRING_compare(interp, SCONST(1), SREG(2)) < 0) {
15794         return cur_opcode + ICONST(3);
15795     }
15796 
15797     return cur_opcode + 4;
15798 }
15799 
15800 opcode_t *
Parrot_lt_s_sc_ic(opcode_t * cur_opcode,PARROT_INTERP)15801 Parrot_lt_s_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15802     if (STRING_compare(interp, SREG(1), SCONST(2)) < 0) {
15803         return cur_opcode + ICONST(3);
15804     }
15805 
15806     return cur_opcode + 4;
15807 }
15808 
15809 opcode_t *
Parrot_lt_p_p_ic(opcode_t * cur_opcode,PARROT_INTERP)15810 Parrot_lt_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15811     if (VTABLE_cmp(interp, PREG(1), PREG(2)) < 0) {
15812         return cur_opcode + ICONST(3);
15813     }
15814 
15815     return cur_opcode + 4;
15816 }
15817 
15818 opcode_t *
Parrot_lt_p_i_ic(opcode_t * cur_opcode,PARROT_INTERP)15819 Parrot_lt_p_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15820     PMC  * const  temp = Parrot_pmc_new_temporary(interp, enum_class_Integer);
15821 
15822     VTABLE_set_integer_native(interp, temp, IREG(2));
15823     if (VTABLE_cmp(interp, PREG(1), temp) < 0) {
15824         Parrot_pmc_free_temporary(interp, temp);
15825         return cur_opcode + ICONST(3);
15826     }
15827 
15828     Parrot_pmc_free_temporary(interp, temp);
15829     return cur_opcode + 4;
15830 }
15831 
15832 opcode_t *
Parrot_lt_p_ic_ic(opcode_t * cur_opcode,PARROT_INTERP)15833 Parrot_lt_p_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15834     PMC  * const  temp = Parrot_pmc_new_temporary(interp, enum_class_Integer);
15835 
15836     VTABLE_set_integer_native(interp, temp, ICONST(2));
15837     if (VTABLE_cmp(interp, PREG(1), temp) < 0) {
15838         Parrot_pmc_free_temporary(interp, temp);
15839         return cur_opcode + ICONST(3);
15840     }
15841 
15842     Parrot_pmc_free_temporary(interp, temp);
15843     return cur_opcode + 4;
15844 }
15845 
15846 opcode_t *
Parrot_lt_p_n_ic(opcode_t * cur_opcode,PARROT_INTERP)15847 Parrot_lt_p_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15848     if (VTABLE_get_number(interp, PREG(1)) < NREG(2)) {
15849         return cur_opcode + ICONST(3);
15850     }
15851 
15852     return cur_opcode + 4;
15853 }
15854 
15855 opcode_t *
Parrot_lt_p_nc_ic(opcode_t * cur_opcode,PARROT_INTERP)15856 Parrot_lt_p_nc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15857     if (VTABLE_get_number(interp, PREG(1)) < NCONST(2)) {
15858         return cur_opcode + ICONST(3);
15859     }
15860 
15861     return cur_opcode + 4;
15862 }
15863 
15864 opcode_t *
Parrot_lt_p_s_ic(opcode_t * cur_opcode,PARROT_INTERP)15865 Parrot_lt_p_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15866     if (STRING_compare(interp, VTABLE_get_string(interp, PREG(1)), SREG(2)) < 0) {
15867         return cur_opcode + ICONST(3);
15868     }
15869 
15870     return cur_opcode + 4;
15871 }
15872 
15873 opcode_t *
Parrot_lt_p_sc_ic(opcode_t * cur_opcode,PARROT_INTERP)15874 Parrot_lt_p_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15875     if (STRING_compare(interp, VTABLE_get_string(interp, PREG(1)), SCONST(2)) < 0) {
15876         return cur_opcode + ICONST(3);
15877     }
15878 
15879     return cur_opcode + 4;
15880 }
15881 
15882 opcode_t *
Parrot_lt_str_p_p_ic(opcode_t * cur_opcode,PARROT_INTERP)15883 Parrot_lt_str_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15884     if (VTABLE_cmp_string(interp, PREG(1), PREG(2)) < 0) {
15885         return cur_opcode + ICONST(3);
15886     }
15887 
15888     return cur_opcode + 4;
15889 }
15890 
15891 opcode_t *
Parrot_lt_num_p_p_ic(opcode_t * cur_opcode,PARROT_INTERP)15892 Parrot_lt_num_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15893     if (VTABLE_cmp_num(interp, PREG(1), PREG(2)) < 0) {
15894         return cur_opcode + ICONST(3);
15895     }
15896 
15897     return cur_opcode + 4;
15898 }
15899 
15900 opcode_t *
Parrot_le_i_i_ic(opcode_t * cur_opcode,PARROT_INTERP)15901 Parrot_le_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15902     if (IREG(1) <= IREG(2)) {
15903         return cur_opcode + ICONST(3);
15904     }
15905 
15906     return cur_opcode + 4;
15907 }
15908 
15909 opcode_t *
Parrot_le_ic_i_ic(opcode_t * cur_opcode,PARROT_INTERP)15910 Parrot_le_ic_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15911     if (ICONST(1) <= IREG(2)) {
15912         return cur_opcode + ICONST(3);
15913     }
15914 
15915     return cur_opcode + 4;
15916 }
15917 
15918 opcode_t *
Parrot_le_i_ic_ic(opcode_t * cur_opcode,PARROT_INTERP)15919 Parrot_le_i_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15920     if (IREG(1) <= ICONST(2)) {
15921         return cur_opcode + ICONST(3);
15922     }
15923 
15924     return cur_opcode + 4;
15925 }
15926 
15927 opcode_t *
Parrot_le_n_n_ic(opcode_t * cur_opcode,PARROT_INTERP)15928 Parrot_le_n_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15929     if (NREG(1) <= NREG(2)) {
15930         return cur_opcode + ICONST(3);
15931     }
15932 
15933     return cur_opcode + 4;
15934 }
15935 
15936 opcode_t *
Parrot_le_nc_n_ic(opcode_t * cur_opcode,PARROT_INTERP)15937 Parrot_le_nc_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15938     if (NCONST(1) <= NREG(2)) {
15939         return cur_opcode + ICONST(3);
15940     }
15941 
15942     return cur_opcode + 4;
15943 }
15944 
15945 opcode_t *
Parrot_le_n_nc_ic(opcode_t * cur_opcode,PARROT_INTERP)15946 Parrot_le_n_nc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15947     if (NREG(1) <= NCONST(2)) {
15948         return cur_opcode + ICONST(3);
15949     }
15950 
15951     return cur_opcode + 4;
15952 }
15953 
15954 opcode_t *
Parrot_le_s_s_ic(opcode_t * cur_opcode,PARROT_INTERP)15955 Parrot_le_s_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15956     if (STRING_compare(interp, SREG(1), SREG(2)) <= 0) {
15957         return cur_opcode + ICONST(3);
15958     }
15959 
15960     return cur_opcode + 4;
15961 }
15962 
15963 opcode_t *
Parrot_le_sc_s_ic(opcode_t * cur_opcode,PARROT_INTERP)15964 Parrot_le_sc_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15965     if (STRING_compare(interp, SCONST(1), SREG(2)) <= 0) {
15966         return cur_opcode + ICONST(3);
15967     }
15968 
15969     return cur_opcode + 4;
15970 }
15971 
15972 opcode_t *
Parrot_le_s_sc_ic(opcode_t * cur_opcode,PARROT_INTERP)15973 Parrot_le_s_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15974     if (STRING_compare(interp, SREG(1), SCONST(2)) <= 0) {
15975         return cur_opcode + ICONST(3);
15976     }
15977 
15978     return cur_opcode + 4;
15979 }
15980 
15981 opcode_t *
Parrot_le_p_p_ic(opcode_t * cur_opcode,PARROT_INTERP)15982 Parrot_le_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15983     if (VTABLE_cmp(interp, PREG(1), PREG(2)) <= 0) {
15984         return cur_opcode + ICONST(3);
15985     }
15986 
15987     return cur_opcode + 4;
15988 }
15989 
15990 opcode_t *
Parrot_le_p_i_ic(opcode_t * cur_opcode,PARROT_INTERP)15991 Parrot_le_p_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
15992     PMC  * const  temp = Parrot_pmc_new_temporary(interp, enum_class_Integer);
15993 
15994     VTABLE_set_integer_native(interp, temp, IREG(2));
15995     if (VTABLE_cmp(interp, PREG(1), temp) <= 0) {
15996         Parrot_pmc_free_temporary(interp, temp);
15997         return cur_opcode + ICONST(3);
15998     }
15999 
16000     Parrot_pmc_free_temporary(interp, temp);
16001     return cur_opcode + 4;
16002 }
16003 
16004 opcode_t *
Parrot_le_p_ic_ic(opcode_t * cur_opcode,PARROT_INTERP)16005 Parrot_le_p_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
16006     PMC  * const  temp = Parrot_pmc_new_temporary(interp, enum_class_Integer);
16007 
16008     VTABLE_set_integer_native(interp, temp, ICONST(2));
16009     if (VTABLE_cmp(interp, PREG(1), temp) <= 0) {
16010         Parrot_pmc_free_temporary(interp, temp);
16011         return cur_opcode + ICONST(3);
16012     }
16013 
16014     Parrot_pmc_free_temporary(interp, temp);
16015     return cur_opcode + 4;
16016 }
16017 
16018 opcode_t *
Parrot_le_p_n_ic(opcode_t * cur_opcode,PARROT_INTERP)16019 Parrot_le_p_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
16020     if (VTABLE_get_number(interp, PREG(1)) <= NREG(2)) {
16021         return cur_opcode + ICONST(3);
16022     }
16023 
16024     return cur_opcode + 4;
16025 }
16026 
16027 opcode_t *
Parrot_le_p_nc_ic(opcode_t * cur_opcode,PARROT_INTERP)16028 Parrot_le_p_nc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
16029     if (VTABLE_get_number(interp, PREG(1)) <= NCONST(2)) {
16030         return cur_opcode + ICONST(3);
16031     }
16032 
16033     return cur_opcode + 4;
16034 }
16035 
16036 opcode_t *
Parrot_le_p_s_ic(opcode_t * cur_opcode,PARROT_INTERP)16037 Parrot_le_p_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
16038     if (STRING_compare(interp, VTABLE_get_string(interp, PREG(1)), SREG(2)) <= 0) {
16039         return cur_opcode + ICONST(3);
16040     }
16041 
16042     return cur_opcode + 4;
16043 }
16044 
16045 opcode_t *
Parrot_le_p_sc_ic(opcode_t * cur_opcode,PARROT_INTERP)16046 Parrot_le_p_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
16047     if (STRING_compare(interp, VTABLE_get_string(interp, PREG(1)), SCONST(2)) <= 0) {
16048         return cur_opcode + ICONST(3);
16049     }
16050 
16051     return cur_opcode + 4;
16052 }
16053 
16054 opcode_t *
Parrot_le_str_p_p_ic(opcode_t * cur_opcode,PARROT_INTERP)16055 Parrot_le_str_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
16056     if (VTABLE_cmp_string(interp, PREG(1), PREG(2)) <= 0) {
16057         return cur_opcode + ICONST(3);
16058     }
16059 
16060     return cur_opcode + 4;
16061 }
16062 
16063 opcode_t *
Parrot_le_num_p_p_ic(opcode_t * cur_opcode,PARROT_INTERP)16064 Parrot_le_num_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
16065     if (VTABLE_cmp_num(interp, PREG(1), PREG(2)) <= 0) {
16066         return cur_opcode + ICONST(3);
16067     }
16068 
16069     return cur_opcode + 4;
16070 }
16071 
16072 opcode_t *
Parrot_gt_p_p_ic(opcode_t * cur_opcode,PARROT_INTERP)16073 Parrot_gt_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
16074     if (VTABLE_cmp(interp, PREG(1), PREG(2)) > 0) {
16075         return cur_opcode + ICONST(3);
16076     }
16077 
16078     return cur_opcode + 4;
16079 }
16080 
16081 opcode_t *
Parrot_gt_p_i_ic(opcode_t * cur_opcode,PARROT_INTERP)16082 Parrot_gt_p_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
16083     PMC  * const  temp = Parrot_pmc_new_temporary(interp, enum_class_Integer);
16084 
16085     VTABLE_set_integer_native(interp, temp, IREG(2));
16086     if (VTABLE_cmp(interp, PREG(1), temp) > 0) {
16087         Parrot_pmc_free_temporary(interp, temp);
16088         return cur_opcode + ICONST(3);
16089     }
16090 
16091     Parrot_pmc_free_temporary(interp, temp);
16092     return cur_opcode + 4;
16093 }
16094 
16095 opcode_t *
Parrot_gt_p_ic_ic(opcode_t * cur_opcode,PARROT_INTERP)16096 Parrot_gt_p_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
16097     PMC  * const  temp = Parrot_pmc_new_temporary(interp, enum_class_Integer);
16098 
16099     VTABLE_set_integer_native(interp, temp, ICONST(2));
16100     if (VTABLE_cmp(interp, PREG(1), temp) > 0) {
16101         Parrot_pmc_free_temporary(interp, temp);
16102         return cur_opcode + ICONST(3);
16103     }
16104 
16105     Parrot_pmc_free_temporary(interp, temp);
16106     return cur_opcode + 4;
16107 }
16108 
16109 opcode_t *
Parrot_gt_p_n_ic(opcode_t * cur_opcode,PARROT_INTERP)16110 Parrot_gt_p_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
16111     if (VTABLE_get_number(interp, PREG(1)) > NREG(2)) {
16112         return cur_opcode + ICONST(3);
16113     }
16114 
16115     return cur_opcode + 4;
16116 }
16117 
16118 opcode_t *
Parrot_gt_p_nc_ic(opcode_t * cur_opcode,PARROT_INTERP)16119 Parrot_gt_p_nc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
16120     if (VTABLE_get_number(interp, PREG(1)) > NCONST(2)) {
16121         return cur_opcode + ICONST(3);
16122     }
16123 
16124     return cur_opcode + 4;
16125 }
16126 
16127 opcode_t *
Parrot_gt_p_s_ic(opcode_t * cur_opcode,PARROT_INTERP)16128 Parrot_gt_p_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
16129     if (STRING_compare(interp, VTABLE_get_string(interp, PREG(1)), SREG(2)) > 0) {
16130         return cur_opcode + ICONST(3);
16131     }
16132 
16133     return cur_opcode + 4;
16134 }
16135 
16136 opcode_t *
Parrot_gt_p_sc_ic(opcode_t * cur_opcode,PARROT_INTERP)16137 Parrot_gt_p_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
16138     if (STRING_compare(interp, VTABLE_get_string(interp, PREG(1)), SCONST(2)) > 0) {
16139         return cur_opcode + ICONST(3);
16140     }
16141 
16142     return cur_opcode + 4;
16143 }
16144 
16145 opcode_t *
Parrot_gt_str_p_p_ic(opcode_t * cur_opcode,PARROT_INTERP)16146 Parrot_gt_str_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
16147     if (VTABLE_cmp_string(interp, PREG(1), PREG(2)) > 0) {
16148         return cur_opcode + ICONST(3);
16149     }
16150 
16151     return cur_opcode + 4;
16152 }
16153 
16154 opcode_t *
Parrot_gt_num_p_p_ic(opcode_t * cur_opcode,PARROT_INTERP)16155 Parrot_gt_num_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
16156     if (VTABLE_cmp_num(interp, PREG(1), PREG(2)) > 0) {
16157         return cur_opcode + ICONST(3);
16158     }
16159 
16160     return cur_opcode + 4;
16161 }
16162 
16163 opcode_t *
Parrot_ge_p_p_ic(opcode_t * cur_opcode,PARROT_INTERP)16164 Parrot_ge_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
16165     if (VTABLE_cmp(interp, PREG(1), PREG(2)) >= 0) {
16166         return cur_opcode + ICONST(3);
16167     }
16168 
16169     return cur_opcode + 4;
16170 }
16171 
16172 opcode_t *
Parrot_ge_p_i_ic(opcode_t * cur_opcode,PARROT_INTERP)16173 Parrot_ge_p_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
16174     PMC  * const  temp = Parrot_pmc_new_temporary(interp, enum_class_Integer);
16175 
16176     VTABLE_set_integer_native(interp, temp, IREG(2));
16177     if (VTABLE_cmp(interp, PREG(1), temp) >= 0) {
16178         Parrot_pmc_free_temporary(interp, temp);
16179         return cur_opcode + ICONST(3);
16180     }
16181 
16182     Parrot_pmc_free_temporary(interp, temp);
16183     return cur_opcode + 4;
16184 }
16185 
16186 opcode_t *
Parrot_ge_p_ic_ic(opcode_t * cur_opcode,PARROT_INTERP)16187 Parrot_ge_p_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
16188     PMC  * const  temp = Parrot_pmc_new_temporary(interp, enum_class_Integer);
16189 
16190     VTABLE_set_integer_native(interp, temp, ICONST(2));
16191     if (VTABLE_cmp(interp, PREG(1), temp) >= 0) {
16192         Parrot_pmc_free_temporary(interp, temp);
16193         return cur_opcode + ICONST(3);
16194     }
16195 
16196     Parrot_pmc_free_temporary(interp, temp);
16197     return cur_opcode + 4;
16198 }
16199 
16200 opcode_t *
Parrot_ge_p_n_ic(opcode_t * cur_opcode,PARROT_INTERP)16201 Parrot_ge_p_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
16202     if (VTABLE_get_number(interp, PREG(1)) >= NREG(2)) {
16203         return cur_opcode + ICONST(3);
16204     }
16205 
16206     return cur_opcode + 4;
16207 }
16208 
16209 opcode_t *
Parrot_ge_p_nc_ic(opcode_t * cur_opcode,PARROT_INTERP)16210 Parrot_ge_p_nc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
16211     if (VTABLE_get_number(interp, PREG(1)) >= NCONST(2)) {
16212         return cur_opcode + ICONST(3);
16213     }
16214 
16215     return cur_opcode + 4;
16216 }
16217 
16218 opcode_t *
Parrot_ge_p_s_ic(opcode_t * cur_opcode,PARROT_INTERP)16219 Parrot_ge_p_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
16220     if (STRING_compare(interp, VTABLE_get_string(interp, PREG(1)), SREG(2)) >= 0) {
16221         return cur_opcode + ICONST(3);
16222     }
16223 
16224     return cur_opcode + 4;
16225 }
16226 
16227 opcode_t *
Parrot_ge_p_sc_ic(opcode_t * cur_opcode,PARROT_INTERP)16228 Parrot_ge_p_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
16229     if (STRING_compare(interp, VTABLE_get_string(interp, PREG(1)), SCONST(2)) >= 0) {
16230         return cur_opcode + ICONST(3);
16231     }
16232 
16233     return cur_opcode + 4;
16234 }
16235 
16236 opcode_t *
Parrot_ge_str_p_p_ic(opcode_t * cur_opcode,PARROT_INTERP)16237 Parrot_ge_str_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
16238     if (VTABLE_cmp_string(interp, PREG(1), PREG(2)) >= 0) {
16239         return cur_opcode + ICONST(3);
16240     }
16241 
16242     return cur_opcode + 4;
16243 }
16244 
16245 opcode_t *
Parrot_ge_num_p_p_ic(opcode_t * cur_opcode,PARROT_INTERP)16246 Parrot_ge_num_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
16247     if (VTABLE_cmp_num(interp, PREG(1), PREG(2)) >= 0) {
16248         return cur_opcode + ICONST(3);
16249     }
16250 
16251     return cur_opcode + 4;
16252 }
16253 
16254 opcode_t *
Parrot_if_null_p_ic(opcode_t * cur_opcode,PARROT_INTERP)16255 Parrot_if_null_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
16256     if (PMC_IS_NULL(PREG(1))) {
16257         return cur_opcode + ICONST(2);
16258     }
16259 
16260     return cur_opcode + 3;
16261 }
16262 
16263 opcode_t *
Parrot_if_null_s_ic(opcode_t * cur_opcode,PARROT_INTERP)16264 Parrot_if_null_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
16265     if (STRING_IS_NULL(SREG(1))) {
16266         return cur_opcode + ICONST(2);
16267     }
16268 
16269     return cur_opcode + 3;
16270 }
16271 
16272 opcode_t *
Parrot_unless_null_p_ic(opcode_t * cur_opcode,PARROT_INTERP)16273 Parrot_unless_null_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
16274     if (!PMC_IS_NULL(PREG(1))) {
16275         return cur_opcode + ICONST(2);
16276     }
16277 
16278     return cur_opcode + 3;
16279 }
16280 
16281 opcode_t *
Parrot_unless_null_s_ic(opcode_t * cur_opcode,PARROT_INTERP)16282 Parrot_unless_null_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
16283     if (!STRING_IS_NULL(SREG(1))) {
16284         return cur_opcode + ICONST(2);
16285     }
16286 
16287     return cur_opcode + 3;
16288 }
16289 
16290 opcode_t *
Parrot_cmp_i_i_i(opcode_t * cur_opcode,PARROT_INTERP)16291 Parrot_cmp_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
16292     IREG(1) = (IREG(2) < IREG(3)) ? (-1) : (IREG(2) > IREG(3)) ? (+1) : 0;
16293     return cur_opcode + 4;
16294 }
16295 
16296 opcode_t *
Parrot_cmp_i_ic_i(opcode_t * cur_opcode,PARROT_INTERP)16297 Parrot_cmp_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
16298     IREG(1) = (ICONST(2) < IREG(3)) ? (-1) : (ICONST(2) > IREG(3)) ? (+1) : 0;
16299     return cur_opcode + 4;
16300 }
16301 
16302 opcode_t *
Parrot_cmp_i_i_ic(opcode_t * cur_opcode,PARROT_INTERP)16303 Parrot_cmp_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
16304     IREG(1) = (IREG(2) < ICONST(3)) ? (-1) : (IREG(2) > ICONST(3)) ? (+1) : 0;
16305     return cur_opcode + 4;
16306 }
16307 
16308 opcode_t *
Parrot_cmp_i_n_n(opcode_t * cur_opcode,PARROT_INTERP)16309 Parrot_cmp_i_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
16310     IREG(1) = (NREG(2) < NREG(3)) ? (-1) : (NREG(2) > NREG(3)) ? (+1) : 0;
16311     return cur_opcode + 4;
16312 }
16313 
16314 opcode_t *
Parrot_cmp_i_nc_n(opcode_t * cur_opcode,PARROT_INTERP)16315 Parrot_cmp_i_nc_n(opcode_t *cur_opcode, PARROT_INTERP) {
16316     IREG(1) = (NCONST(2) < NREG(3)) ? (-1) : (NCONST(2) > NREG(3)) ? (+1) : 0;
16317     return cur_opcode + 4;
16318 }
16319 
16320 opcode_t *
Parrot_cmp_i_n_nc(opcode_t * cur_opcode,PARROT_INTERP)16321 Parrot_cmp_i_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
16322     IREG(1) = (NREG(2) < NCONST(3)) ? (-1) : (NREG(2) > NCONST(3)) ? (+1) : 0;
16323     return cur_opcode + 4;
16324 }
16325 
16326 opcode_t *
Parrot_cmp_i_s_s(opcode_t * cur_opcode,PARROT_INTERP)16327 Parrot_cmp_i_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
16328     IREG(1) = STRING_compare(interp, SREG(2), SREG(3));
16329     return cur_opcode + 4;
16330 }
16331 
16332 opcode_t *
Parrot_cmp_i_sc_s(opcode_t * cur_opcode,PARROT_INTERP)16333 Parrot_cmp_i_sc_s(opcode_t *cur_opcode, PARROT_INTERP) {
16334     IREG(1) = STRING_compare(interp, SCONST(2), SREG(3));
16335     return cur_opcode + 4;
16336 }
16337 
16338 opcode_t *
Parrot_cmp_i_s_sc(opcode_t * cur_opcode,PARROT_INTERP)16339 Parrot_cmp_i_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
16340     IREG(1) = STRING_compare(interp, SREG(2), SCONST(3));
16341     return cur_opcode + 4;
16342 }
16343 
16344 opcode_t *
Parrot_cmp_i_p_p(opcode_t * cur_opcode,PARROT_INTERP)16345 Parrot_cmp_i_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
16346     IREG(1) = VTABLE_cmp(interp, PREG(2), PREG(3));
16347     return cur_opcode + 4;
16348 }
16349 
16350 opcode_t *
Parrot_cmp_i_p_i(opcode_t * cur_opcode,PARROT_INTERP)16351 Parrot_cmp_i_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
16352     const INTVAL   l = VTABLE_get_integer(interp, PREG(2));
16353 
16354     IREG(1) = (l < IREG(3)) ? (-1) : (l > IREG(3)) ? (+1) : 0;
16355     return cur_opcode + 4;
16356 }
16357 
16358 opcode_t *
Parrot_cmp_i_p_ic(opcode_t * cur_opcode,PARROT_INTERP)16359 Parrot_cmp_i_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
16360     const INTVAL   l = VTABLE_get_integer(interp, PREG(2));
16361 
16362     IREG(1) = (l < ICONST(3)) ? (-1) : (l > ICONST(3)) ? (+1) : 0;
16363     return cur_opcode + 4;
16364 }
16365 
16366 opcode_t *
Parrot_cmp_i_p_n(opcode_t * cur_opcode,PARROT_INTERP)16367 Parrot_cmp_i_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
16368     const FLOATVAL   l = VTABLE_get_number(interp, PREG(2));
16369 
16370     IREG(1) = (l < NREG(3)) ? (-1) : (l > NREG(3)) ? (+1) : 0;
16371     return cur_opcode + 4;
16372 }
16373 
16374 opcode_t *
Parrot_cmp_i_p_nc(opcode_t * cur_opcode,PARROT_INTERP)16375 Parrot_cmp_i_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
16376     const FLOATVAL   l = VTABLE_get_number(interp, PREG(2));
16377 
16378     IREG(1) = (l < NCONST(3)) ? (-1) : (l > NCONST(3)) ? (+1) : 0;
16379     return cur_opcode + 4;
16380 }
16381 
16382 opcode_t *
Parrot_cmp_i_p_s(opcode_t * cur_opcode,PARROT_INTERP)16383 Parrot_cmp_i_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
16384     STRING * const  l = VTABLE_get_string(interp, PREG(2));
16385 
16386     IREG(1) = STRING_compare(interp, l, SREG(3));
16387     return cur_opcode + 4;
16388 }
16389 
16390 opcode_t *
Parrot_cmp_i_p_sc(opcode_t * cur_opcode,PARROT_INTERP)16391 Parrot_cmp_i_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
16392     STRING * const  l = VTABLE_get_string(interp, PREG(2));
16393 
16394     IREG(1) = STRING_compare(interp, l, SCONST(3));
16395     return cur_opcode + 4;
16396 }
16397 
16398 opcode_t *
Parrot_cmp_str_i_p_p(opcode_t * cur_opcode,PARROT_INTERP)16399 Parrot_cmp_str_i_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
16400     IREG(1) = VTABLE_cmp_string(interp, PREG(2), PREG(3));
16401     return cur_opcode + 4;
16402 }
16403 
16404 opcode_t *
Parrot_cmp_num_i_p_p(opcode_t * cur_opcode,PARROT_INTERP)16405 Parrot_cmp_num_i_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
16406     IREG(1) = VTABLE_cmp_num(interp, PREG(2), PREG(3));
16407     return cur_opcode + 4;
16408 }
16409 
16410 opcode_t *
Parrot_cmp_pmc_p_p_p(opcode_t * cur_opcode,PARROT_INTERP)16411 Parrot_cmp_pmc_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
16412     PREG(1) = VTABLE_cmp_pmc(interp, PREG(2), PREG(3));
16413     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
16414     return cur_opcode + 4;
16415 }
16416 
16417 opcode_t *
Parrot_issame_i_p_p(opcode_t * cur_opcode,PARROT_INTERP)16418 Parrot_issame_i_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
16419     if (PREG(2) == PREG(3)) {
16420         IREG(1) = 1;
16421     }
16422     else {
16423         IREG(1) = VTABLE_is_same(interp, PREG(2), PREG(3));
16424     }
16425 
16426     return cur_opcode + 4;
16427 }
16428 
16429 opcode_t *
Parrot_issame_i_s_s(opcode_t * cur_opcode,PARROT_INTERP)16430 Parrot_issame_i_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
16431     IREG(1) = (SREG(2) == SREG(3));
16432     return cur_opcode + 4;
16433 }
16434 
16435 opcode_t *
Parrot_issame_i_sc_s(opcode_t * cur_opcode,PARROT_INTERP)16436 Parrot_issame_i_sc_s(opcode_t *cur_opcode, PARROT_INTERP) {
16437     IREG(1) = (SCONST(2) == SREG(3));
16438     return cur_opcode + 4;
16439 }
16440 
16441 opcode_t *
Parrot_issame_i_s_sc(opcode_t * cur_opcode,PARROT_INTERP)16442 Parrot_issame_i_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
16443     IREG(1) = (SREG(2) == SCONST(3));
16444     return cur_opcode + 4;
16445 }
16446 
16447 opcode_t *
Parrot_issame_i_sc_sc(opcode_t * cur_opcode,PARROT_INTERP)16448 Parrot_issame_i_sc_sc(opcode_t *cur_opcode, PARROT_INTERP) {
16449     IREG(1) = (SCONST(2) == SCONST(3));
16450     return cur_opcode + 4;
16451 }
16452 
16453 opcode_t *
Parrot_isntsame_i_p_p(opcode_t * cur_opcode,PARROT_INTERP)16454 Parrot_isntsame_i_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
16455     if (PREG(2) == PREG(3)) {
16456         IREG(1) = 0;
16457     }
16458     else {
16459         IREG(1) = (!VTABLE_is_same(interp, PREG(2), PREG(3)));
16460     }
16461 
16462     return cur_opcode + 4;
16463 }
16464 
16465 opcode_t *
Parrot_isntsame_i_s_s(opcode_t * cur_opcode,PARROT_INTERP)16466 Parrot_isntsame_i_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
16467     IREG(1) = (SREG(2) != SREG(3));
16468     return cur_opcode + 4;
16469 }
16470 
16471 opcode_t *
Parrot_isntsame_i_sc_s(opcode_t * cur_opcode,PARROT_INTERP)16472 Parrot_isntsame_i_sc_s(opcode_t *cur_opcode, PARROT_INTERP) {
16473     IREG(1) = (SCONST(2) != SREG(3));
16474     return cur_opcode + 4;
16475 }
16476 
16477 opcode_t *
Parrot_isntsame_i_s_sc(opcode_t * cur_opcode,PARROT_INTERP)16478 Parrot_isntsame_i_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
16479     IREG(1) = (SREG(2) != SCONST(3));
16480     return cur_opcode + 4;
16481 }
16482 
16483 opcode_t *
Parrot_isntsame_i_sc_sc(opcode_t * cur_opcode,PARROT_INTERP)16484 Parrot_isntsame_i_sc_sc(opcode_t *cur_opcode, PARROT_INTERP) {
16485     IREG(1) = (SCONST(2) != SCONST(3));
16486     return cur_opcode + 4;
16487 }
16488 
16489 opcode_t *
Parrot_istrue_i_p(opcode_t * cur_opcode,PARROT_INTERP)16490 Parrot_istrue_i_p(opcode_t *cur_opcode, PARROT_INTERP) {
16491     IREG(1) = VTABLE_get_bool(interp, PREG(2));
16492     return cur_opcode + 3;
16493 }
16494 
16495 opcode_t *
Parrot_isfalse_i_p(opcode_t * cur_opcode,PARROT_INTERP)16496 Parrot_isfalse_i_p(opcode_t *cur_opcode, PARROT_INTERP) {
16497     IREG(1) = (!VTABLE_get_bool(interp, PREG(2)));
16498     return cur_opcode + 3;
16499 }
16500 
16501 opcode_t *
Parrot_isnull_i_p(opcode_t * cur_opcode,PARROT_INTERP)16502 Parrot_isnull_i_p(opcode_t *cur_opcode, PARROT_INTERP) {
16503     IREG(1) = PMC_IS_NULL(PREG(2));
16504     return cur_opcode + 3;
16505 }
16506 
16507 opcode_t *
Parrot_isnull_i_pc(opcode_t * cur_opcode,PARROT_INTERP)16508 Parrot_isnull_i_pc(opcode_t *cur_opcode, PARROT_INTERP) {
16509     IREG(1) = PMC_IS_NULL(PCONST(2));
16510     return cur_opcode + 3;
16511 }
16512 
16513 opcode_t *
Parrot_isnull_i_s(opcode_t * cur_opcode,PARROT_INTERP)16514 Parrot_isnull_i_s(opcode_t *cur_opcode, PARROT_INTERP) {
16515     IREG(1) = STRING_IS_NULL(SREG(2));
16516     return cur_opcode + 3;
16517 }
16518 
16519 opcode_t *
Parrot_isnull_i_sc(opcode_t * cur_opcode,PARROT_INTERP)16520 Parrot_isnull_i_sc(opcode_t *cur_opcode, PARROT_INTERP) {
16521     IREG(1) = STRING_IS_NULL(SCONST(2));
16522     return cur_opcode + 3;
16523 }
16524 
16525 opcode_t *
Parrot_isgt_i_p_p(opcode_t * cur_opcode,PARROT_INTERP)16526 Parrot_isgt_i_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
16527     IREG(1) = ((VTABLE_cmp(interp, PREG(2), PREG(3)) > 0));
16528     return cur_opcode + 4;
16529 }
16530 
16531 opcode_t *
Parrot_isge_i_p_p(opcode_t * cur_opcode,PARROT_INTERP)16532 Parrot_isge_i_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
16533     IREG(1) = ((VTABLE_cmp(interp, PREG(2), PREG(3)) >= 0));
16534     return cur_opcode + 4;
16535 }
16536 
16537 opcode_t *
Parrot_isle_i_i_i(opcode_t * cur_opcode,PARROT_INTERP)16538 Parrot_isle_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
16539     IREG(1) = (IREG(2) <= IREG(3));
16540     return cur_opcode + 4;
16541 }
16542 
16543 opcode_t *
Parrot_isle_i_ic_i(opcode_t * cur_opcode,PARROT_INTERP)16544 Parrot_isle_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
16545     IREG(1) = (ICONST(2) <= IREG(3));
16546     return cur_opcode + 4;
16547 }
16548 
16549 opcode_t *
Parrot_isle_i_i_ic(opcode_t * cur_opcode,PARROT_INTERP)16550 Parrot_isle_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
16551     IREG(1) = (IREG(2) <= ICONST(3));
16552     return cur_opcode + 4;
16553 }
16554 
16555 opcode_t *
Parrot_isle_i_n_n(opcode_t * cur_opcode,PARROT_INTERP)16556 Parrot_isle_i_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
16557     IREG(1) = (NREG(2) <= NREG(3));
16558     return cur_opcode + 4;
16559 }
16560 
16561 opcode_t *
Parrot_isle_i_nc_n(opcode_t * cur_opcode,PARROT_INTERP)16562 Parrot_isle_i_nc_n(opcode_t *cur_opcode, PARROT_INTERP) {
16563     IREG(1) = (NCONST(2) <= NREG(3));
16564     return cur_opcode + 4;
16565 }
16566 
16567 opcode_t *
Parrot_isle_i_n_nc(opcode_t * cur_opcode,PARROT_INTERP)16568 Parrot_isle_i_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
16569     IREG(1) = (NREG(2) <= NCONST(3));
16570     return cur_opcode + 4;
16571 }
16572 
16573 opcode_t *
Parrot_isle_i_s_s(opcode_t * cur_opcode,PARROT_INTERP)16574 Parrot_isle_i_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
16575     IREG(1) = (STRING_compare(interp, SREG(2), SREG(3)) <= 0);
16576     return cur_opcode + 4;
16577 }
16578 
16579 opcode_t *
Parrot_isle_i_sc_s(opcode_t * cur_opcode,PARROT_INTERP)16580 Parrot_isle_i_sc_s(opcode_t *cur_opcode, PARROT_INTERP) {
16581     IREG(1) = (STRING_compare(interp, SCONST(2), SREG(3)) <= 0);
16582     return cur_opcode + 4;
16583 }
16584 
16585 opcode_t *
Parrot_isle_i_s_sc(opcode_t * cur_opcode,PARROT_INTERP)16586 Parrot_isle_i_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
16587     IREG(1) = (STRING_compare(interp, SREG(2), SCONST(3)) <= 0);
16588     return cur_opcode + 4;
16589 }
16590 
16591 opcode_t *
Parrot_isle_i_p_p(opcode_t * cur_opcode,PARROT_INTERP)16592 Parrot_isle_i_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
16593     IREG(1) = ((VTABLE_cmp(interp, PREG(2), PREG(3)) <= 0));
16594     return cur_opcode + 4;
16595 }
16596 
16597 opcode_t *
Parrot_islt_i_i_i(opcode_t * cur_opcode,PARROT_INTERP)16598 Parrot_islt_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
16599     IREG(1) = ((IREG(2) < IREG(3))) ? 1 : 0;
16600     return cur_opcode + 4;
16601 }
16602 
16603 opcode_t *
Parrot_islt_i_ic_i(opcode_t * cur_opcode,PARROT_INTERP)16604 Parrot_islt_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
16605     IREG(1) = ((ICONST(2) < IREG(3))) ? 1 : 0;
16606     return cur_opcode + 4;
16607 }
16608 
16609 opcode_t *
Parrot_islt_i_i_ic(opcode_t * cur_opcode,PARROT_INTERP)16610 Parrot_islt_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
16611     IREG(1) = ((IREG(2) < ICONST(3))) ? 1 : 0;
16612     return cur_opcode + 4;
16613 }
16614 
16615 opcode_t *
Parrot_islt_i_n_n(opcode_t * cur_opcode,PARROT_INTERP)16616 Parrot_islt_i_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
16617     IREG(1) = (NREG(2) < NREG(3));
16618     return cur_opcode + 4;
16619 }
16620 
16621 opcode_t *
Parrot_islt_i_nc_n(opcode_t * cur_opcode,PARROT_INTERP)16622 Parrot_islt_i_nc_n(opcode_t *cur_opcode, PARROT_INTERP) {
16623     IREG(1) = (NCONST(2) < NREG(3));
16624     return cur_opcode + 4;
16625 }
16626 
16627 opcode_t *
Parrot_islt_i_n_nc(opcode_t * cur_opcode,PARROT_INTERP)16628 Parrot_islt_i_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
16629     IREG(1) = (NREG(2) < NCONST(3));
16630     return cur_opcode + 4;
16631 }
16632 
16633 opcode_t *
Parrot_islt_i_s_s(opcode_t * cur_opcode,PARROT_INTERP)16634 Parrot_islt_i_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
16635     IREG(1) = (STRING_compare(interp, SREG(2), SREG(3)) < 0);
16636     return cur_opcode + 4;
16637 }
16638 
16639 opcode_t *
Parrot_islt_i_sc_s(opcode_t * cur_opcode,PARROT_INTERP)16640 Parrot_islt_i_sc_s(opcode_t *cur_opcode, PARROT_INTERP) {
16641     IREG(1) = (STRING_compare(interp, SCONST(2), SREG(3)) < 0);
16642     return cur_opcode + 4;
16643 }
16644 
16645 opcode_t *
Parrot_islt_i_s_sc(opcode_t * cur_opcode,PARROT_INTERP)16646 Parrot_islt_i_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
16647     IREG(1) = (STRING_compare(interp, SREG(2), SCONST(3)) < 0);
16648     return cur_opcode + 4;
16649 }
16650 
16651 opcode_t *
Parrot_islt_i_p_p(opcode_t * cur_opcode,PARROT_INTERP)16652 Parrot_islt_i_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
16653     IREG(1) = ((VTABLE_cmp(interp, PREG(2), PREG(3)) < 0));
16654     return cur_opcode + 4;
16655 }
16656 
16657 opcode_t *
Parrot_iseq_i_i_i(opcode_t * cur_opcode,PARROT_INTERP)16658 Parrot_iseq_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
16659     IREG(1) = ((IREG(2) == IREG(3))) ? 1 : 0;
16660     return cur_opcode + 4;
16661 }
16662 
16663 opcode_t *
Parrot_iseq_i_ic_i(opcode_t * cur_opcode,PARROT_INTERP)16664 Parrot_iseq_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
16665     IREG(1) = ((ICONST(2) == IREG(3))) ? 1 : 0;
16666     return cur_opcode + 4;
16667 }
16668 
16669 opcode_t *
Parrot_iseq_i_i_ic(opcode_t * cur_opcode,PARROT_INTERP)16670 Parrot_iseq_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
16671     IREG(1) = ((IREG(2) == ICONST(3))) ? 1 : 0;
16672     return cur_opcode + 4;
16673 }
16674 
16675 opcode_t *
Parrot_iseq_i_n_n(opcode_t * cur_opcode,PARROT_INTERP)16676 Parrot_iseq_i_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
16677     IREG(1) = (NREG(2) == NREG(3));
16678     return cur_opcode + 4;
16679 }
16680 
16681 opcode_t *
Parrot_iseq_i_nc_n(opcode_t * cur_opcode,PARROT_INTERP)16682 Parrot_iseq_i_nc_n(opcode_t *cur_opcode, PARROT_INTERP) {
16683     IREG(1) = (NCONST(2) == NREG(3));
16684     return cur_opcode + 4;
16685 }
16686 
16687 opcode_t *
Parrot_iseq_i_n_nc(opcode_t * cur_opcode,PARROT_INTERP)16688 Parrot_iseq_i_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
16689     IREG(1) = (NREG(2) == NCONST(3));
16690     return cur_opcode + 4;
16691 }
16692 
16693 opcode_t *
Parrot_iseq_i_s_s(opcode_t * cur_opcode,PARROT_INTERP)16694 Parrot_iseq_i_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
16695     IREG(1) = STRING_equal(interp, SREG(2), SREG(3));
16696     return cur_opcode + 4;
16697 }
16698 
16699 opcode_t *
Parrot_iseq_i_sc_s(opcode_t * cur_opcode,PARROT_INTERP)16700 Parrot_iseq_i_sc_s(opcode_t *cur_opcode, PARROT_INTERP) {
16701     IREG(1) = STRING_equal(interp, SCONST(2), SREG(3));
16702     return cur_opcode + 4;
16703 }
16704 
16705 opcode_t *
Parrot_iseq_i_s_sc(opcode_t * cur_opcode,PARROT_INTERP)16706 Parrot_iseq_i_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
16707     IREG(1) = STRING_equal(interp, SREG(2), SCONST(3));
16708     return cur_opcode + 4;
16709 }
16710 
16711 opcode_t *
Parrot_iseq_i_p_p(opcode_t * cur_opcode,PARROT_INTERP)16712 Parrot_iseq_i_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
16713     if ((&PREG(2)) == (&PREG(3))) {
16714         IREG(1) = 1;
16715     }
16716     else {
16717         IREG(1) = VTABLE_is_equal(interp, PREG(2), PREG(3));
16718     }
16719 
16720     return cur_opcode + 4;
16721 }
16722 
16723 opcode_t *
Parrot_isne_i_i_i(opcode_t * cur_opcode,PARROT_INTERP)16724 Parrot_isne_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
16725     IREG(1) = ((IREG(2) == IREG(3))) ? 0 : 1;
16726     return cur_opcode + 4;
16727 }
16728 
16729 opcode_t *
Parrot_isne_i_ic_i(opcode_t * cur_opcode,PARROT_INTERP)16730 Parrot_isne_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
16731     IREG(1) = ((ICONST(2) == IREG(3))) ? 0 : 1;
16732     return cur_opcode + 4;
16733 }
16734 
16735 opcode_t *
Parrot_isne_i_i_ic(opcode_t * cur_opcode,PARROT_INTERP)16736 Parrot_isne_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
16737     IREG(1) = ((IREG(2) == ICONST(3))) ? 0 : 1;
16738     return cur_opcode + 4;
16739 }
16740 
16741 opcode_t *
Parrot_isne_i_n_n(opcode_t * cur_opcode,PARROT_INTERP)16742 Parrot_isne_i_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
16743     IREG(1) = (NREG(2) != NREG(3));
16744     return cur_opcode + 4;
16745 }
16746 
16747 opcode_t *
Parrot_isne_i_nc_n(opcode_t * cur_opcode,PARROT_INTERP)16748 Parrot_isne_i_nc_n(opcode_t *cur_opcode, PARROT_INTERP) {
16749     IREG(1) = (NCONST(2) != NREG(3));
16750     return cur_opcode + 4;
16751 }
16752 
16753 opcode_t *
Parrot_isne_i_n_nc(opcode_t * cur_opcode,PARROT_INTERP)16754 Parrot_isne_i_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
16755     IREG(1) = (NREG(2) != NCONST(3));
16756     return cur_opcode + 4;
16757 }
16758 
16759 opcode_t *
Parrot_isne_i_s_s(opcode_t * cur_opcode,PARROT_INTERP)16760 Parrot_isne_i_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
16761     IREG(1) = (!STRING_equal(interp, SREG(2), SREG(3)));
16762     return cur_opcode + 4;
16763 }
16764 
16765 opcode_t *
Parrot_isne_i_sc_s(opcode_t * cur_opcode,PARROT_INTERP)16766 Parrot_isne_i_sc_s(opcode_t *cur_opcode, PARROT_INTERP) {
16767     IREG(1) = (!STRING_equal(interp, SCONST(2), SREG(3)));
16768     return cur_opcode + 4;
16769 }
16770 
16771 opcode_t *
Parrot_isne_i_s_sc(opcode_t * cur_opcode,PARROT_INTERP)16772 Parrot_isne_i_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
16773     IREG(1) = (!STRING_equal(interp, SREG(2), SCONST(3)));
16774     return cur_opcode + 4;
16775 }
16776 
16777 opcode_t *
Parrot_isne_i_p_p(opcode_t * cur_opcode,PARROT_INTERP)16778 Parrot_isne_i_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
16779     if ((&PREG(2)) == (&PREG(3))) {
16780         IREG(1) = 0;
16781     }
16782     else {
16783         IREG(1) = (!VTABLE_is_equal(interp, PREG(2), PREG(3)));
16784     }
16785 
16786     return cur_opcode + 4;
16787 }
16788 
16789 opcode_t *
Parrot_and_i_i_i(opcode_t * cur_opcode,PARROT_INTERP)16790 Parrot_and_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
16791     IREG(1) = IREG(2) ? IREG(3) : IREG(2);
16792     return cur_opcode + 4;
16793 }
16794 
16795 opcode_t *
Parrot_and_i_ic_i(opcode_t * cur_opcode,PARROT_INTERP)16796 Parrot_and_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
16797     IREG(1) = ICONST(2) ? IREG(3) : ICONST(2);
16798     return cur_opcode + 4;
16799 }
16800 
16801 opcode_t *
Parrot_and_i_i_ic(opcode_t * cur_opcode,PARROT_INTERP)16802 Parrot_and_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
16803     IREG(1) = IREG(2) ? ICONST(3) : IREG(2);
16804     return cur_opcode + 4;
16805 }
16806 
16807 opcode_t *
Parrot_and_p_p_p(opcode_t * cur_opcode,PARROT_INTERP)16808 Parrot_and_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
16809     PREG(1) = VTABLE_get_bool(interp, PREG(2)) ? PREG(3) : PREG(2);
16810     return cur_opcode + 4;
16811 }
16812 
16813 opcode_t *
Parrot_not_i(opcode_t * cur_opcode,PARROT_INTERP)16814 Parrot_not_i(opcode_t *cur_opcode, PARROT_INTERP) {
16815     IREG(1) = (!IREG(1));
16816     return cur_opcode + 2;
16817 }
16818 
16819 opcode_t *
Parrot_not_i_i(opcode_t * cur_opcode,PARROT_INTERP)16820 Parrot_not_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
16821     IREG(1) = (!IREG(2));
16822     return cur_opcode + 3;
16823 }
16824 
16825 opcode_t *
Parrot_not_p(opcode_t * cur_opcode,PARROT_INTERP)16826 Parrot_not_p(opcode_t *cur_opcode, PARROT_INTERP) {
16827     VTABLE_set_bool(interp, PREG(1), (!VTABLE_get_bool(interp, PREG(1))));
16828     return cur_opcode + 2;
16829 }
16830 
16831 opcode_t *
Parrot_not_p_p(opcode_t * cur_opcode,PARROT_INTERP)16832 Parrot_not_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
16833     const INTVAL   a = (!VTABLE_get_bool(interp, PREG(2)));
16834 
16835     if (PMC_IS_NULL(PREG(1))) {
16836         PREG(1) = Parrot_pmc_new(interp, Parrot_hll_get_ctx_HLL_type(interp, enum_class_Boolean));
16837     }
16838 
16839     VTABLE_set_bool(interp, PREG(1), a);
16840     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
16841     return cur_opcode + 3;
16842 }
16843 
16844 opcode_t *
Parrot_or_i_i_i(opcode_t * cur_opcode,PARROT_INTERP)16845 Parrot_or_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
16846     IREG(1) = IREG(2) ? IREG(2) : IREG(3);
16847     return cur_opcode + 4;
16848 }
16849 
16850 opcode_t *
Parrot_or_i_ic_i(opcode_t * cur_opcode,PARROT_INTERP)16851 Parrot_or_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
16852     IREG(1) = ICONST(2) ? ICONST(2) : IREG(3);
16853     return cur_opcode + 4;
16854 }
16855 
16856 opcode_t *
Parrot_or_i_i_ic(opcode_t * cur_opcode,PARROT_INTERP)16857 Parrot_or_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
16858     IREG(1) = IREG(2) ? IREG(2) : ICONST(3);
16859     return cur_opcode + 4;
16860 }
16861 
16862 opcode_t *
Parrot_or_p_p_p(opcode_t * cur_opcode,PARROT_INTERP)16863 Parrot_or_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
16864     PREG(1) = VTABLE_get_bool(interp, PREG(2)) ? PREG(2) : PREG(3);
16865     return cur_opcode + 4;
16866 }
16867 
16868 opcode_t *
Parrot_xor_i_i_i(opcode_t * cur_opcode,PARROT_INTERP)16869 Parrot_xor_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
16870     IREG(1) = ((IREG(2) && (!IREG(3)))) ? IREG(2) : ((IREG(3) && (!IREG(2)))) ? IREG(3) : 0;
16871     return cur_opcode + 4;
16872 }
16873 
16874 opcode_t *
Parrot_xor_i_ic_i(opcode_t * cur_opcode,PARROT_INTERP)16875 Parrot_xor_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
16876     IREG(1) = ((ICONST(2) && (!IREG(3)))) ? ICONST(2) : ((IREG(3) && (!ICONST(2)))) ? IREG(3) : 0;
16877     return cur_opcode + 4;
16878 }
16879 
16880 opcode_t *
Parrot_xor_i_i_ic(opcode_t * cur_opcode,PARROT_INTERP)16881 Parrot_xor_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
16882     IREG(1) = ((IREG(2) && (!ICONST(3)))) ? IREG(2) : ((ICONST(3) && (!IREG(2)))) ? ICONST(3) : 0;
16883     return cur_opcode + 4;
16884 }
16885 
16886 opcode_t *
Parrot_xor_p_p_p(opcode_t * cur_opcode,PARROT_INTERP)16887 Parrot_xor_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
16888     const INTVAL   a = VTABLE_get_bool(interp, PREG(2));
16889     const INTVAL   b = VTABLE_get_bool(interp, PREG(3));
16890 
16891     if (a && (!b)) {
16892         PREG(1) = PREG(2);
16893     }
16894     else {
16895         if (b && (!a)) {
16896             PREG(1) = PREG(3);
16897         }
16898         else {
16899             PREG(1) = Parrot_pmc_new(interp, VTABLE_type(interp, PREG(2)));
16900             VTABLE_set_bool(interp, PREG(1), 0);
16901         }
16902 
16903     }
16904 
16905     return cur_opcode + 4;
16906 }
16907 
16908 opcode_t *
Parrot_print_i(opcode_t * cur_opcode,PARROT_INTERP)16909 Parrot_print_i(opcode_t *cur_opcode, PARROT_INTERP) {
16910     char   buf[128];
16911 
16912     #if defined(PARROT_HAS_SNPRINTF)
16913         snprintf(buf, 128, INTVAL_FMT, (INTVAL)IREG(1));
16914 
16915 #else
16916         sprintf(buf, INTVAL_FMT, (INTVAL)IREG(1));
16917 
16918 #endif
16919 ;
16920     Parrot_io_write_b(interp, _PIO_STDOUT(interp), buf, strlen(buf));
16921     return cur_opcode + 2;
16922 }
16923 
16924 opcode_t *
Parrot_print_ic(opcode_t * cur_opcode,PARROT_INTERP)16925 Parrot_print_ic(opcode_t *cur_opcode, PARROT_INTERP) {
16926     char   buf[128];
16927 
16928     #if defined(PARROT_HAS_SNPRINTF)
16929         snprintf(buf, 128, INTVAL_FMT, (INTVAL)ICONST(1));
16930 
16931 #else
16932         sprintf(buf, INTVAL_FMT, (INTVAL)ICONST(1));
16933 
16934 #endif
16935 ;
16936     Parrot_io_write_b(interp, _PIO_STDOUT(interp), buf, strlen(buf));
16937     return cur_opcode + 2;
16938 }
16939 
16940 opcode_t *
Parrot_print_n(opcode_t * cur_opcode,PARROT_INTERP)16941 Parrot_print_n(opcode_t *cur_opcode, PARROT_INTERP) {
16942     char   buf[128];
16943 
16944     #if defined(PARROT_HAS_SNPRINTF)
16945         snprintf(buf, 128, FLOATVAL_FMT, NREG(1));
16946 
16947 #else
16948         sprintf(buf, FLOATVAL_FMT, NREG(1));
16949 
16950 #endif
16951 ;
16952     #if defined(PARROT_HAS_NEGATIVE_ZERO)
16953         Parrot_io_write_b(interp, _PIO_STDOUT(interp), buf, strlen(buf));
16954 
16955 #else
16956         if (!Parrot_is_nzero(NREG(1))) {
16957             Parrot_io_write_b(interp, _PIO_STDOUT(interp), buf, strlen(buf));
16958         }
16959         else {
16960             Parrot_io_write_b(interp, _PIO_STDOUT(interp), "-0", 2);
16961         }
16962 
16963 #endif
16964 ;
16965     return cur_opcode + 2;
16966 }
16967 
16968 opcode_t *
Parrot_print_nc(opcode_t * cur_opcode,PARROT_INTERP)16969 Parrot_print_nc(opcode_t *cur_opcode, PARROT_INTERP) {
16970     char   buf[128];
16971 
16972     #if defined(PARROT_HAS_SNPRINTF)
16973         snprintf(buf, 128, FLOATVAL_FMT, NCONST(1));
16974 
16975 #else
16976         sprintf(buf, FLOATVAL_FMT, NCONST(1));
16977 
16978 #endif
16979 ;
16980     #if defined(PARROT_HAS_NEGATIVE_ZERO)
16981         Parrot_io_write_b(interp, _PIO_STDOUT(interp), buf, strlen(buf));
16982 
16983 #else
16984         if (!Parrot_is_nzero(NREG(1))) {
16985             Parrot_io_write_b(interp, _PIO_STDOUT(interp), buf, strlen(buf));
16986         }
16987         else {
16988             Parrot_io_write_b(interp, _PIO_STDOUT(interp), "-0", 2);
16989         }
16990 
16991 #endif
16992 ;
16993     return cur_opcode + 2;
16994 }
16995 
16996 opcode_t *
Parrot_print_s(opcode_t * cur_opcode,PARROT_INTERP)16997 Parrot_print_s(opcode_t *cur_opcode, PARROT_INTERP) {
16998     STRING  * const  s = SREG(1);
16999 
17000     if (s && Parrot_str_byte_length(interp, s)) {
17001         Parrot_io_write_s(interp, _PIO_STDOUT(interp), s);
17002     }
17003 
17004     return cur_opcode + 2;
17005 }
17006 
17007 opcode_t *
Parrot_print_sc(opcode_t * cur_opcode,PARROT_INTERP)17008 Parrot_print_sc(opcode_t *cur_opcode, PARROT_INTERP) {
17009     STRING  * const  s = SCONST(1);
17010 
17011     if (s && Parrot_str_byte_length(interp, s)) {
17012         Parrot_io_write_s(interp, _PIO_STDOUT(interp), s);
17013     }
17014 
17015     return cur_opcode + 2;
17016 }
17017 
17018 opcode_t *
Parrot_print_p(opcode_t * cur_opcode,PARROT_INTERP)17019 Parrot_print_p(opcode_t *cur_opcode, PARROT_INTERP) {
17020     PMC  * const  p = PREG(1);
17021     STRING  * const  s = (VTABLE_get_string(interp, p));
17022 
17023     if (s) {
17024         Parrot_io_write_s(interp, _PIO_STDOUT(interp), s);
17025     }
17026 
17027     return cur_opcode + 2;
17028 }
17029 
17030 opcode_t *
Parrot_say_i(opcode_t * cur_opcode,PARROT_INTERP)17031 Parrot_say_i(opcode_t *cur_opcode, PARROT_INTERP) {
17032     char   buf[128];
17033 
17034     #if defined(PARROT_HAS_SNPRINTF)
17035         snprintf(buf, 128, INTVAL_FMT "\n", (INTVAL)IREG(1));
17036 
17037 #else
17038         sprintf(buf, INTVAL_FMT "\n", (INTVAL)IREG(1));
17039 
17040 #endif
17041 ;
17042     Parrot_io_write_b(interp, _PIO_STDOUT(interp), buf, strlen(buf));
17043     return cur_opcode + 2;
17044 }
17045 
17046 opcode_t *
Parrot_say_ic(opcode_t * cur_opcode,PARROT_INTERP)17047 Parrot_say_ic(opcode_t *cur_opcode, PARROT_INTERP) {
17048     char   buf[128];
17049 
17050     #if defined(PARROT_HAS_SNPRINTF)
17051         snprintf(buf, 128, INTVAL_FMT "\n", (INTVAL)ICONST(1));
17052 
17053 #else
17054         sprintf(buf, INTVAL_FMT "\n", (INTVAL)ICONST(1));
17055 
17056 #endif
17057 ;
17058     Parrot_io_write_b(interp, _PIO_STDOUT(interp), buf, strlen(buf));
17059     return cur_opcode + 2;
17060 }
17061 
17062 opcode_t *
Parrot_say_n(opcode_t * cur_opcode,PARROT_INTERP)17063 Parrot_say_n(opcode_t *cur_opcode, PARROT_INTERP) {
17064     char   buf[128];
17065 
17066     #if defined(PARROT_HAS_SNPRINTF)
17067         snprintf(buf, 128, FLOATVAL_FMT "\n", NREG(1));
17068 
17069 #else
17070         sprintf(buf, 128, FLOATVAL_FMT, NREG(1));
17071 
17072 #endif
17073 ;
17074     #if defined(PARROT_HAS_NEGATIVE_ZERO)
17075         Parrot_io_write_b(interp, _PIO_STDOUT(interp), buf, strlen(buf));
17076 
17077 #else
17078         if (!Parrot_is_nzero(NREG(1))) {
17079             Parrot_io_write_b(interp, _PIO_STDOUT(interp), buf, strlen(buf));
17080         }
17081         else {
17082             Parrot_io_write_b(interp, _PIO_STDOUT(interp), "-0\n", 2);
17083         }
17084 
17085 #endif
17086 ;
17087     return cur_opcode + 2;
17088 }
17089 
17090 opcode_t *
Parrot_say_nc(opcode_t * cur_opcode,PARROT_INTERP)17091 Parrot_say_nc(opcode_t *cur_opcode, PARROT_INTERP) {
17092     char   buf[128];
17093 
17094     #if defined(PARROT_HAS_SNPRINTF)
17095         snprintf(buf, 128, FLOATVAL_FMT "\n", NCONST(1));
17096 
17097 #else
17098         sprintf(buf, 128, FLOATVAL_FMT, NCONST(1));
17099 
17100 #endif
17101 ;
17102     #if defined(PARROT_HAS_NEGATIVE_ZERO)
17103         Parrot_io_write_b(interp, _PIO_STDOUT(interp), buf, strlen(buf));
17104 
17105 #else
17106         if (!Parrot_is_nzero(NREG(1))) {
17107             Parrot_io_write_b(interp, _PIO_STDOUT(interp), buf, strlen(buf));
17108         }
17109         else {
17110             Parrot_io_write_b(interp, _PIO_STDOUT(interp), "-0\n", 2);
17111         }
17112 
17113 #endif
17114 ;
17115     return cur_opcode + 2;
17116 }
17117 
17118 opcode_t *
Parrot_say_s(opcode_t * cur_opcode,PARROT_INTERP)17119 Parrot_say_s(opcode_t *cur_opcode, PARROT_INTERP) {
17120     STRING  * const  s = SREG(1);
17121     STRING  * const  nl = Parrot_str_new_constant(interp, "\n");
17122 
17123     #if defined(PARROT_HAS_THREADS)
17124         if (s) {
17125             int   len = STRING_IS_NULL(s) ? 0 : s->bufused;
17126 
17127             if (len < 80) {
17128                 Parrot_io_write_s(interp, _PIO_STDOUT(interp), Parrot_str_concat(interp, s, nl));
17129             }
17130             else {
17131                 Parrot_io_write_s(interp, _PIO_STDOUT(interp), s);
17132                 Parrot_io_write_s(interp, _PIO_STDOUT(interp), nl);
17133             }
17134 
17135         }
17136         else {
17137             Parrot_io_write_s(interp, _PIO_STDOUT(interp), nl);
17138         }
17139 
17140 #else
17141         if (s) {
17142             Parrot_io_write_s(interp, _PIO_STDOUT(interp), s);
17143         }
17144         Parrot_io_write_s(interp, _PIO_STDOUT(interp), nl);
17145 
17146 #endif
17147 ;
17148     return cur_opcode + 2;
17149 }
17150 
17151 opcode_t *
Parrot_say_sc(opcode_t * cur_opcode,PARROT_INTERP)17152 Parrot_say_sc(opcode_t *cur_opcode, PARROT_INTERP) {
17153     STRING  * const  s = SCONST(1);
17154     STRING  * const  nl = Parrot_str_new_constant(interp, "\n");
17155 
17156     #if defined(PARROT_HAS_THREADS)
17157         if (s) {
17158             int   len = STRING_IS_NULL(s) ? 0 : s->bufused;
17159 
17160             if (len < 80) {
17161                 Parrot_io_write_s(interp, _PIO_STDOUT(interp), Parrot_str_concat(interp, s, nl));
17162             }
17163             else {
17164                 Parrot_io_write_s(interp, _PIO_STDOUT(interp), s);
17165                 Parrot_io_write_s(interp, _PIO_STDOUT(interp), nl);
17166             }
17167 
17168         }
17169         else {
17170             Parrot_io_write_s(interp, _PIO_STDOUT(interp), nl);
17171         }
17172 
17173 #else
17174         if (s) {
17175             Parrot_io_write_s(interp, _PIO_STDOUT(interp), s);
17176         }
17177         Parrot_io_write_s(interp, _PIO_STDOUT(interp), nl);
17178 
17179 #endif
17180 ;
17181     return cur_opcode + 2;
17182 }
17183 
17184 opcode_t *
Parrot_say_p(opcode_t * cur_opcode,PARROT_INTERP)17185 Parrot_say_p(opcode_t *cur_opcode, PARROT_INTERP) {
17186     PMC  * const  p = PREG(1);
17187 
17188     if (PMC_IS_NULL(p)) {
17189         opcode_t  * handler = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 2, EXCEPTION_UNEXPECTED_NULL, "Null PMC in say");
17190 
17191         return (opcode_t *)handler;
17192     }
17193     else {
17194         STRING  * const  s = VTABLE_get_string(interp, p);
17195         STRING  * const  nl = Parrot_str_new_constant(interp, "\n");
17196 
17197         #if defined(PARROT_HAS_THREADS)
17198             if (s) {
17199                 int   len = STRING_IS_NULL(s) ? 0 : s->bufused;
17200 
17201                 if (len < 80) {
17202                     Parrot_io_write_s(interp, _PIO_STDOUT(interp), Parrot_str_concat(interp, s, nl));
17203                 }
17204                 else {
17205                     Parrot_io_write_s(interp, _PIO_STDOUT(interp), s);
17206                     Parrot_io_write_s(interp, _PIO_STDOUT(interp), nl);
17207                 }
17208 
17209             }
17210             else {
17211                 Parrot_io_write_s(interp, _PIO_STDOUT(interp), nl);
17212             }
17213 
17214 #else
17215             if (s) {
17216                 Parrot_io_write_s(interp, _PIO_STDOUT(interp), s);
17217             }
17218             Parrot_io_write_s(interp, _PIO_STDOUT(interp), nl);
17219 
17220 #endif
17221 ;
17222     }
17223 
17224     return cur_opcode + 2;
17225 }
17226 
17227 opcode_t *
Parrot_print_p_i(opcode_t * cur_opcode,PARROT_INTERP)17228 Parrot_print_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
17229     if (PREG(1)) {
17230         STRING  * const  s = Parrot_str_from_int(interp, IREG(2));
17231 
17232         Parrot_io_write_s(interp, PREG(1), s);
17233     }
17234 
17235     return cur_opcode + 3;
17236 }
17237 
17238 opcode_t *
Parrot_print_p_ic(opcode_t * cur_opcode,PARROT_INTERP)17239 Parrot_print_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
17240     if (PREG(1)) {
17241         STRING  * const  s = Parrot_str_from_int(interp, ICONST(2));
17242 
17243         Parrot_io_write_s(interp, PREG(1), s);
17244     }
17245 
17246     return cur_opcode + 3;
17247 }
17248 
17249 opcode_t *
Parrot_print_p_n(opcode_t * cur_opcode,PARROT_INTERP)17250 Parrot_print_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
17251     if (PREG(1)) {
17252         STRING  * const  s = Parrot_sprintf_c(interp, FLOATVAL_FMT, NREG(2));
17253 
17254         Parrot_io_write_s(interp, PREG(1), s);
17255     }
17256 
17257     return cur_opcode + 3;
17258 }
17259 
17260 opcode_t *
Parrot_print_p_nc(opcode_t * cur_opcode,PARROT_INTERP)17261 Parrot_print_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
17262     if (PREG(1)) {
17263         STRING  * const  s = Parrot_sprintf_c(interp, FLOATVAL_FMT, NCONST(2));
17264 
17265         Parrot_io_write_s(interp, PREG(1), s);
17266     }
17267 
17268     return cur_opcode + 3;
17269 }
17270 
17271 opcode_t *
Parrot_print_p_s(opcode_t * cur_opcode,PARROT_INTERP)17272 Parrot_print_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
17273     if (SREG(2) && PREG(1)) {
17274         Parrot_io_write_s(interp, PREG(1), SREG(2));
17275     }
17276 
17277     return cur_opcode + 3;
17278 }
17279 
17280 opcode_t *
Parrot_print_p_sc(opcode_t * cur_opcode,PARROT_INTERP)17281 Parrot_print_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
17282     if (SCONST(2) && PREG(1)) {
17283         Parrot_io_write_s(interp, PREG(1), SCONST(2));
17284     }
17285 
17286     return cur_opcode + 3;
17287 }
17288 
17289 opcode_t *
Parrot_print_p_p(opcode_t * cur_opcode,PARROT_INTERP)17290 Parrot_print_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
17291     if (PREG(2) && PREG(1)) {
17292         STRING  * const  s = VTABLE_get_string(interp, PREG(2));
17293 
17294         Parrot_io_write_s(interp, PREG(1), s);
17295     }
17296 
17297     return cur_opcode + 3;
17298 }
17299 
17300 opcode_t *
Parrot_getstdin_p(opcode_t * cur_opcode,PARROT_INTERP)17301 Parrot_getstdin_p(opcode_t *cur_opcode, PARROT_INTERP) {
17302     PREG(1) = _PIO_STDIN(interp);
17303     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
17304     return cur_opcode + 2;
17305 }
17306 
17307 opcode_t *
Parrot_getstdout_p(opcode_t * cur_opcode,PARROT_INTERP)17308 Parrot_getstdout_p(opcode_t *cur_opcode, PARROT_INTERP) {
17309     PREG(1) = _PIO_STDOUT(interp);
17310     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
17311     return cur_opcode + 2;
17312 }
17313 
17314 opcode_t *
Parrot_getstderr_p(opcode_t * cur_opcode,PARROT_INTERP)17315 Parrot_getstderr_p(opcode_t *cur_opcode, PARROT_INTERP) {
17316     PREG(1) = _PIO_STDERR(interp);
17317     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
17318     return cur_opcode + 2;
17319 }
17320 
17321 opcode_t *
Parrot_abs_i(opcode_t * cur_opcode,PARROT_INTERP)17322 Parrot_abs_i(opcode_t *cur_opcode, PARROT_INTERP) {
17323     #if defined(PARROT_HAS_LABS)
17324         IREG(1) = labs((long)IREG(1));
17325 
17326 #else
17327         IREG(1) = abs(IREG(1));
17328 
17329 #endif
17330 ;
17331     return cur_opcode + 2;
17332 }
17333 
17334 opcode_t *
Parrot_abs_n(opcode_t * cur_opcode,PARROT_INTERP)17335 Parrot_abs_n(opcode_t *cur_opcode, PARROT_INTERP) {
17336     #if defined(PARROT_HAS_FABSL) && NUMVAL_SIZE > 8
17337         NREG(1) = fabsl((HUGEFLOATVAL)NREG(1));
17338 
17339 #else
17340         NREG(1) = fabs(NREG(1));
17341 
17342 #endif
17343 ;
17344     return cur_opcode + 2;
17345 }
17346 
17347 opcode_t *
Parrot_abs_i_i(opcode_t * cur_opcode,PARROT_INTERP)17348 Parrot_abs_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
17349     #if defined(PARROT_HAS_LABS)
17350         IREG(1) = labs((long)IREG(2));
17351 
17352 #else
17353         IREG(1) = abs(IREG(2));
17354 
17355 #endif
17356 ;
17357     return cur_opcode + 3;
17358 }
17359 
17360 opcode_t *
Parrot_abs_n_n(opcode_t * cur_opcode,PARROT_INTERP)17361 Parrot_abs_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
17362     #if defined(PARROT_HAS_FABSL) && NUMVAL_SIZE > 8
17363         NREG(1) = fabsl((HUGEFLOATVAL)NREG(2));
17364 
17365 #else
17366         NREG(1) = fabs(NREG(2));
17367 
17368 #endif
17369 ;
17370     return cur_opcode + 3;
17371 }
17372 
17373 opcode_t *
Parrot_abs_p(opcode_t * cur_opcode,PARROT_INTERP)17374 Parrot_abs_p(opcode_t *cur_opcode, PARROT_INTERP) {
17375     VTABLE_i_absolute(interp, PREG(1));
17376     return cur_opcode + 2;
17377 }
17378 
17379 opcode_t *
Parrot_abs_p_p(opcode_t * cur_opcode,PARROT_INTERP)17380 Parrot_abs_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
17381     PREG(1) = VTABLE_absolute(interp, PREG(2), PREG(1));
17382     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
17383     return cur_opcode + 3;
17384 }
17385 
17386 opcode_t *
Parrot_add_i_i(opcode_t * cur_opcode,PARROT_INTERP)17387 Parrot_add_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
17388     (IREG(1) += IREG(2));
17389     return cur_opcode + 3;
17390 }
17391 
17392 opcode_t *
Parrot_add_i_ic(opcode_t * cur_opcode,PARROT_INTERP)17393 Parrot_add_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
17394     (IREG(1) += ICONST(2));
17395     return cur_opcode + 3;
17396 }
17397 
17398 opcode_t *
Parrot_add_n_n(opcode_t * cur_opcode,PARROT_INTERP)17399 Parrot_add_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
17400     (NREG(1) += NREG(2));
17401     return cur_opcode + 3;
17402 }
17403 
17404 opcode_t *
Parrot_add_n_nc(opcode_t * cur_opcode,PARROT_INTERP)17405 Parrot_add_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
17406     (NREG(1) += NCONST(2));
17407     return cur_opcode + 3;
17408 }
17409 
17410 opcode_t *
Parrot_add_p_p(opcode_t * cur_opcode,PARROT_INTERP)17411 Parrot_add_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
17412     VTABLE_i_add(interp, PREG(1), PREG(2));
17413     return cur_opcode + 3;
17414 }
17415 
17416 opcode_t *
Parrot_add_p_i(opcode_t * cur_opcode,PARROT_INTERP)17417 Parrot_add_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
17418     VTABLE_i_add_int(interp, PREG(1), IREG(2));
17419     return cur_opcode + 3;
17420 }
17421 
17422 opcode_t *
Parrot_add_p_ic(opcode_t * cur_opcode,PARROT_INTERP)17423 Parrot_add_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
17424     VTABLE_i_add_int(interp, PREG(1), ICONST(2));
17425     return cur_opcode + 3;
17426 }
17427 
17428 opcode_t *
Parrot_add_p_n(opcode_t * cur_opcode,PARROT_INTERP)17429 Parrot_add_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
17430     VTABLE_i_add_float(interp, PREG(1), NREG(2));
17431     return cur_opcode + 3;
17432 }
17433 
17434 opcode_t *
Parrot_add_p_nc(opcode_t * cur_opcode,PARROT_INTERP)17435 Parrot_add_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
17436     VTABLE_i_add_float(interp, PREG(1), NCONST(2));
17437     return cur_opcode + 3;
17438 }
17439 
17440 opcode_t *
Parrot_add_i_i_i(opcode_t * cur_opcode,PARROT_INTERP)17441 Parrot_add_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
17442     IREG(1) = (IREG(2) + IREG(3));
17443     return cur_opcode + 4;
17444 }
17445 
17446 opcode_t *
Parrot_add_i_ic_i(opcode_t * cur_opcode,PARROT_INTERP)17447 Parrot_add_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
17448     IREG(1) = (ICONST(2) + IREG(3));
17449     return cur_opcode + 4;
17450 }
17451 
17452 opcode_t *
Parrot_add_i_i_ic(opcode_t * cur_opcode,PARROT_INTERP)17453 Parrot_add_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
17454     IREG(1) = (IREG(2) + ICONST(3));
17455     return cur_opcode + 4;
17456 }
17457 
17458 opcode_t *
Parrot_add_n_n_n(opcode_t * cur_opcode,PARROT_INTERP)17459 Parrot_add_n_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
17460     NREG(1) = (NREG(2) + NREG(3));
17461     return cur_opcode + 4;
17462 }
17463 
17464 opcode_t *
Parrot_add_n_nc_n(opcode_t * cur_opcode,PARROT_INTERP)17465 Parrot_add_n_nc_n(opcode_t *cur_opcode, PARROT_INTERP) {
17466     NREG(1) = (NCONST(2) + NREG(3));
17467     return cur_opcode + 4;
17468 }
17469 
17470 opcode_t *
Parrot_add_n_n_nc(opcode_t * cur_opcode,PARROT_INTERP)17471 Parrot_add_n_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
17472     NREG(1) = (NREG(2) + NCONST(3));
17473     return cur_opcode + 4;
17474 }
17475 
17476 opcode_t *
Parrot_add_p_p_p(opcode_t * cur_opcode,PARROT_INTERP)17477 Parrot_add_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
17478     PREG(1) = VTABLE_add(interp, PREG(2), PREG(3), PREG(1));
17479     return cur_opcode + 4;
17480 }
17481 
17482 opcode_t *
Parrot_add_p_p_i(opcode_t * cur_opcode,PARROT_INTERP)17483 Parrot_add_p_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
17484     PREG(1) = VTABLE_add_int(interp, PREG(2), IREG(3), PREG(1));
17485     return cur_opcode + 4;
17486 }
17487 
17488 opcode_t *
Parrot_add_p_p_ic(opcode_t * cur_opcode,PARROT_INTERP)17489 Parrot_add_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
17490     PREG(1) = VTABLE_add_int(interp, PREG(2), ICONST(3), PREG(1));
17491     return cur_opcode + 4;
17492 }
17493 
17494 opcode_t *
Parrot_add_p_p_n(opcode_t * cur_opcode,PARROT_INTERP)17495 Parrot_add_p_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
17496     PREG(1) = VTABLE_add_float(interp, PREG(2), NREG(3), PREG(1));
17497     return cur_opcode + 4;
17498 }
17499 
17500 opcode_t *
Parrot_add_p_p_nc(opcode_t * cur_opcode,PARROT_INTERP)17501 Parrot_add_p_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
17502     PREG(1) = VTABLE_add_float(interp, PREG(2), NCONST(3), PREG(1));
17503     return cur_opcode + 4;
17504 }
17505 
17506 opcode_t *
Parrot_dec_i(opcode_t * cur_opcode,PARROT_INTERP)17507 Parrot_dec_i(opcode_t *cur_opcode, PARROT_INTERP) {
17508     (IREG(1)--);
17509     return cur_opcode + 2;
17510 }
17511 
17512 opcode_t *
Parrot_dec_n(opcode_t * cur_opcode,PARROT_INTERP)17513 Parrot_dec_n(opcode_t *cur_opcode, PARROT_INTERP) {
17514     (NREG(1)--);
17515     return cur_opcode + 2;
17516 }
17517 
17518 opcode_t *
Parrot_dec_p(opcode_t * cur_opcode,PARROT_INTERP)17519 Parrot_dec_p(opcode_t *cur_opcode, PARROT_INTERP) {
17520     VTABLE_decrement(interp, PREG(1));
17521     return cur_opcode + 2;
17522 }
17523 
17524 opcode_t *
Parrot_div_i_i(opcode_t * cur_opcode,PARROT_INTERP)17525 Parrot_div_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
17526     const INTVAL   den = IREG(2);
17527 
17528     if (den == 0) {
17529         opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 3, EXCEPTION_DIV_BY_ZERO, "Divide by zero");
17530 
17531         return (opcode_t *)handler;
17532     }
17533 
17534     (IREG(1) /= den);
17535     return cur_opcode + 3;
17536 }
17537 
17538 opcode_t *
Parrot_div_i_ic(opcode_t * cur_opcode,PARROT_INTERP)17539 Parrot_div_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
17540     const INTVAL   den = ICONST(2);
17541 
17542     if (den == 0) {
17543         opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 3, EXCEPTION_DIV_BY_ZERO, "Divide by zero");
17544 
17545         return (opcode_t *)handler;
17546     }
17547 
17548     (IREG(1) /= den);
17549     return cur_opcode + 3;
17550 }
17551 
17552 opcode_t *
Parrot_div_n_n(opcode_t * cur_opcode,PARROT_INTERP)17553 Parrot_div_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
17554     const FLOATVAL   den = NREG(2);
17555 
17556     if (FLOAT_IS_ZERO(den)) {
17557         opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 3, EXCEPTION_DIV_BY_ZERO, "Divide by zero");
17558 
17559         return (opcode_t *)handler;
17560     }
17561 
17562     (NREG(1) /= den);
17563     return cur_opcode + 3;
17564 }
17565 
17566 opcode_t *
Parrot_div_n_nc(opcode_t * cur_opcode,PARROT_INTERP)17567 Parrot_div_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
17568     const FLOATVAL   den = NCONST(2);
17569 
17570     if (FLOAT_IS_ZERO(den)) {
17571         opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 3, EXCEPTION_DIV_BY_ZERO, "Divide by zero");
17572 
17573         return (opcode_t *)handler;
17574     }
17575 
17576     (NREG(1) /= den);
17577     return cur_opcode + 3;
17578 }
17579 
17580 opcode_t *
Parrot_div_p_p(opcode_t * cur_opcode,PARROT_INTERP)17581 Parrot_div_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
17582     VTABLE_i_divide(interp, PREG(1), PREG(2));
17583     return cur_opcode + 3;
17584 }
17585 
17586 opcode_t *
Parrot_div_p_i(opcode_t * cur_opcode,PARROT_INTERP)17587 Parrot_div_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
17588     VTABLE_i_divide_int(interp, PREG(1), IREG(2));
17589     return cur_opcode + 3;
17590 }
17591 
17592 opcode_t *
Parrot_div_p_ic(opcode_t * cur_opcode,PARROT_INTERP)17593 Parrot_div_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
17594     VTABLE_i_divide_int(interp, PREG(1), ICONST(2));
17595     return cur_opcode + 3;
17596 }
17597 
17598 opcode_t *
Parrot_div_p_n(opcode_t * cur_opcode,PARROT_INTERP)17599 Parrot_div_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
17600     VTABLE_i_divide_float(interp, PREG(1), NREG(2));
17601     return cur_opcode + 3;
17602 }
17603 
17604 opcode_t *
Parrot_div_p_nc(opcode_t * cur_opcode,PARROT_INTERP)17605 Parrot_div_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
17606     VTABLE_i_divide_float(interp, PREG(1), NCONST(2));
17607     return cur_opcode + 3;
17608 }
17609 
17610 opcode_t *
Parrot_div_i_i_i(opcode_t * cur_opcode,PARROT_INTERP)17611 Parrot_div_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
17612     const INTVAL   den = IREG(3);
17613 
17614     if (den == 0) {
17615         opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 4, EXCEPTION_DIV_BY_ZERO, "Divide by zero");
17616 
17617         return (opcode_t *)handler;
17618     }
17619 
17620     IREG(1) = (IREG(2) / den);
17621     return cur_opcode + 4;
17622 }
17623 
17624 opcode_t *
Parrot_div_i_ic_i(opcode_t * cur_opcode,PARROT_INTERP)17625 Parrot_div_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
17626     const INTVAL   den = IREG(3);
17627 
17628     if (den == 0) {
17629         opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 4, EXCEPTION_DIV_BY_ZERO, "Divide by zero");
17630 
17631         return (opcode_t *)handler;
17632     }
17633 
17634     IREG(1) = (ICONST(2) / den);
17635     return cur_opcode + 4;
17636 }
17637 
17638 opcode_t *
Parrot_div_i_i_ic(opcode_t * cur_opcode,PARROT_INTERP)17639 Parrot_div_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
17640     const INTVAL   den = ICONST(3);
17641 
17642     if (den == 0) {
17643         opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 4, EXCEPTION_DIV_BY_ZERO, "Divide by zero");
17644 
17645         return (opcode_t *)handler;
17646     }
17647 
17648     IREG(1) = (IREG(2) / den);
17649     return cur_opcode + 4;
17650 }
17651 
17652 opcode_t *
Parrot_div_i_ic_ic(opcode_t * cur_opcode,PARROT_INTERP)17653 Parrot_div_i_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
17654     const INTVAL   den = ICONST(3);
17655 
17656     if (den == 0) {
17657         opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 4, EXCEPTION_DIV_BY_ZERO, "Divide by zero");
17658 
17659         return (opcode_t *)handler;
17660     }
17661 
17662     IREG(1) = (ICONST(2) / den);
17663     return cur_opcode + 4;
17664 }
17665 
17666 opcode_t *
Parrot_div_n_n_n(opcode_t * cur_opcode,PARROT_INTERP)17667 Parrot_div_n_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
17668     const FLOATVAL   den = NREG(3);
17669 
17670     if (FLOAT_IS_ZERO(den)) {
17671         opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 4, EXCEPTION_DIV_BY_ZERO, "Divide by zero");
17672 
17673         return (opcode_t *)handler;
17674     }
17675 
17676     NREG(1) = (NREG(2) / den);
17677     return cur_opcode + 4;
17678 }
17679 
17680 opcode_t *
Parrot_div_n_nc_n(opcode_t * cur_opcode,PARROT_INTERP)17681 Parrot_div_n_nc_n(opcode_t *cur_opcode, PARROT_INTERP) {
17682     const FLOATVAL   den = NREG(3);
17683 
17684     if (FLOAT_IS_ZERO(den)) {
17685         opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 4, EXCEPTION_DIV_BY_ZERO, "Divide by zero");
17686 
17687         return (opcode_t *)handler;
17688     }
17689 
17690     NREG(1) = (NCONST(2) / den);
17691     return cur_opcode + 4;
17692 }
17693 
17694 opcode_t *
Parrot_div_n_n_nc(opcode_t * cur_opcode,PARROT_INTERP)17695 Parrot_div_n_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
17696     const FLOATVAL   den = NCONST(3);
17697 
17698     if (FLOAT_IS_ZERO(den)) {
17699         opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 4, EXCEPTION_DIV_BY_ZERO, "Divide by zero");
17700 
17701         return (opcode_t *)handler;
17702     }
17703 
17704     NREG(1) = (NREG(2) / den);
17705     return cur_opcode + 4;
17706 }
17707 
17708 opcode_t *
Parrot_div_n_nc_nc(opcode_t * cur_opcode,PARROT_INTERP)17709 Parrot_div_n_nc_nc(opcode_t *cur_opcode, PARROT_INTERP) {
17710     const FLOATVAL   den = NCONST(3);
17711 
17712     if (FLOAT_IS_ZERO(den)) {
17713         opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 4, EXCEPTION_DIV_BY_ZERO, "Divide by zero");
17714 
17715         return (opcode_t *)handler;
17716     }
17717 
17718     NREG(1) = (NCONST(2) / den);
17719     return cur_opcode + 4;
17720 }
17721 
17722 opcode_t *
Parrot_div_p_p_p(opcode_t * cur_opcode,PARROT_INTERP)17723 Parrot_div_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
17724     PREG(1) = VTABLE_divide(interp, PREG(2), PREG(3), PREG(1));
17725     return cur_opcode + 4;
17726 }
17727 
17728 opcode_t *
Parrot_div_p_p_i(opcode_t * cur_opcode,PARROT_INTERP)17729 Parrot_div_p_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
17730     PREG(1) = VTABLE_divide_int(interp, PREG(2), IREG(3), PREG(1));
17731     return cur_opcode + 4;
17732 }
17733 
17734 opcode_t *
Parrot_div_p_p_ic(opcode_t * cur_opcode,PARROT_INTERP)17735 Parrot_div_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
17736     PREG(1) = VTABLE_divide_int(interp, PREG(2), ICONST(3), PREG(1));
17737     return cur_opcode + 4;
17738 }
17739 
17740 opcode_t *
Parrot_div_p_p_n(opcode_t * cur_opcode,PARROT_INTERP)17741 Parrot_div_p_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
17742     PREG(1) = VTABLE_divide_float(interp, PREG(2), NREG(3), PREG(1));
17743     return cur_opcode + 4;
17744 }
17745 
17746 opcode_t *
Parrot_div_p_p_nc(opcode_t * cur_opcode,PARROT_INTERP)17747 Parrot_div_p_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
17748     PREG(1) = VTABLE_divide_float(interp, PREG(2), NCONST(3), PREG(1));
17749     return cur_opcode + 4;
17750 }
17751 
17752 opcode_t *
Parrot_fdiv_i_i(opcode_t * cur_opcode,PARROT_INTERP)17753 Parrot_fdiv_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
17754     const INTVAL   den = IREG(2);
17755     FLOATVAL   f;
17756 
17757     if (den == 0) {
17758         opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 3, EXCEPTION_DIV_BY_ZERO, "Divide by zero");
17759 
17760         return (opcode_t *)handler;
17761     }
17762 
17763     #if defined(PARROT_HAS_FLOORL) && NUMVAL_SIZE > 8
17764         f = (FLOATVAL)floorl(((HUGEFLOATVAL)IREG(1) / den));
17765 
17766 #else
17767         f = (FLOATVAL)floor(((FLOATVAL)IREG(1) / den));
17768 
17769 #endif
17770 ;
17771     IREG(1) = (INTVAL)f;
17772     return cur_opcode + 3;
17773 }
17774 
17775 opcode_t *
Parrot_fdiv_i_ic(opcode_t * cur_opcode,PARROT_INTERP)17776 Parrot_fdiv_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
17777     const INTVAL   den = ICONST(2);
17778     FLOATVAL   f;
17779 
17780     if (den == 0) {
17781         opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 3, EXCEPTION_DIV_BY_ZERO, "Divide by zero");
17782 
17783         return (opcode_t *)handler;
17784     }
17785 
17786     #if defined(PARROT_HAS_FLOORL) && NUMVAL_SIZE > 8
17787         f = (FLOATVAL)floorl(((HUGEFLOATVAL)IREG(1) / den));
17788 
17789 #else
17790         f = (FLOATVAL)floor(((FLOATVAL)IREG(1) / den));
17791 
17792 #endif
17793 ;
17794     IREG(1) = (INTVAL)f;
17795     return cur_opcode + 3;
17796 }
17797 
17798 opcode_t *
Parrot_fdiv_n_n(opcode_t * cur_opcode,PARROT_INTERP)17799 Parrot_fdiv_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
17800     const FLOATVAL   den = NREG(2);
17801 
17802     if (FLOAT_IS_ZERO(den)) {
17803         opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 3, EXCEPTION_DIV_BY_ZERO, "Divide by zero");
17804 
17805         return (opcode_t *)handler;
17806     }
17807 
17808     #if defined(PARROT_HAS_FLOORL) && NUMVAL_SIZE > 8
17809         NREG(1) = (FLOATVAL)floorl((NREG(1) / den));
17810 
17811 #else
17812         NREG(1) = (FLOATVAL)floor((NREG(1) / den));
17813 
17814 #endif
17815 ;
17816     return cur_opcode + 3;
17817 }
17818 
17819 opcode_t *
Parrot_fdiv_n_nc(opcode_t * cur_opcode,PARROT_INTERP)17820 Parrot_fdiv_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
17821     const FLOATVAL   den = NCONST(2);
17822 
17823     if (FLOAT_IS_ZERO(den)) {
17824         opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 3, EXCEPTION_DIV_BY_ZERO, "Divide by zero");
17825 
17826         return (opcode_t *)handler;
17827     }
17828 
17829     #if defined(PARROT_HAS_FLOORL) && NUMVAL_SIZE > 8
17830         NREG(1) = (FLOATVAL)floorl((NREG(1) / den));
17831 
17832 #else
17833         NREG(1) = (FLOATVAL)floor((NREG(1) / den));
17834 
17835 #endif
17836 ;
17837     return cur_opcode + 3;
17838 }
17839 
17840 opcode_t *
Parrot_fdiv_p_p(opcode_t * cur_opcode,PARROT_INTERP)17841 Parrot_fdiv_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
17842     VTABLE_i_floor_divide(interp, PREG(1), PREG(2));
17843     return cur_opcode + 3;
17844 }
17845 
17846 opcode_t *
Parrot_fdiv_p_i(opcode_t * cur_opcode,PARROT_INTERP)17847 Parrot_fdiv_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
17848     VTABLE_i_floor_divide_int(interp, PREG(1), IREG(2));
17849     return cur_opcode + 3;
17850 }
17851 
17852 opcode_t *
Parrot_fdiv_p_ic(opcode_t * cur_opcode,PARROT_INTERP)17853 Parrot_fdiv_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
17854     VTABLE_i_floor_divide_int(interp, PREG(1), ICONST(2));
17855     return cur_opcode + 3;
17856 }
17857 
17858 opcode_t *
Parrot_fdiv_p_n(opcode_t * cur_opcode,PARROT_INTERP)17859 Parrot_fdiv_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
17860     VTABLE_i_floor_divide_float(interp, PREG(1), NREG(2));
17861     return cur_opcode + 3;
17862 }
17863 
17864 opcode_t *
Parrot_fdiv_p_nc(opcode_t * cur_opcode,PARROT_INTERP)17865 Parrot_fdiv_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
17866     VTABLE_i_floor_divide_float(interp, PREG(1), NCONST(2));
17867     return cur_opcode + 3;
17868 }
17869 
17870 opcode_t *
Parrot_fdiv_i_i_i(opcode_t * cur_opcode,PARROT_INTERP)17871 Parrot_fdiv_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
17872     const INTVAL   den = IREG(3);
17873     FLOATVAL   f = (FLOATVAL)IREG(2);
17874 
17875     if (den == 0) {
17876         opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 4, EXCEPTION_DIV_BY_ZERO, "Divide by zero");
17877 
17878         return (opcode_t *)handler;
17879     }
17880 
17881     #if defined(PARROT_HAS_FLOORL) && NUMVAL_SIZE > 8
17882         f = (FLOATVAL)floorl((f / den));
17883 
17884 #else
17885         f = (FLOATVAL)floor((f / den));
17886 
17887 #endif
17888 ;
17889     IREG(1) = (INTVAL)f;
17890     return cur_opcode + 4;
17891 }
17892 
17893 opcode_t *
Parrot_fdiv_i_ic_i(opcode_t * cur_opcode,PARROT_INTERP)17894 Parrot_fdiv_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
17895     const INTVAL   den = IREG(3);
17896     FLOATVAL   f = (FLOATVAL)ICONST(2);
17897 
17898     if (den == 0) {
17899         opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 4, EXCEPTION_DIV_BY_ZERO, "Divide by zero");
17900 
17901         return (opcode_t *)handler;
17902     }
17903 
17904     #if defined(PARROT_HAS_FLOORL) && NUMVAL_SIZE > 8
17905         f = (FLOATVAL)floorl((f / den));
17906 
17907 #else
17908         f = (FLOATVAL)floor((f / den));
17909 
17910 #endif
17911 ;
17912     IREG(1) = (INTVAL)f;
17913     return cur_opcode + 4;
17914 }
17915 
17916 opcode_t *
Parrot_fdiv_i_i_ic(opcode_t * cur_opcode,PARROT_INTERP)17917 Parrot_fdiv_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
17918     const INTVAL   den = ICONST(3);
17919     FLOATVAL   f = (FLOATVAL)IREG(2);
17920 
17921     if (den == 0) {
17922         opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 4, EXCEPTION_DIV_BY_ZERO, "Divide by zero");
17923 
17924         return (opcode_t *)handler;
17925     }
17926 
17927     #if defined(PARROT_HAS_FLOORL) && NUMVAL_SIZE > 8
17928         f = (FLOATVAL)floorl((f / den));
17929 
17930 #else
17931         f = (FLOATVAL)floor((f / den));
17932 
17933 #endif
17934 ;
17935     IREG(1) = (INTVAL)f;
17936     return cur_opcode + 4;
17937 }
17938 
17939 opcode_t *
Parrot_fdiv_n_n_n(opcode_t * cur_opcode,PARROT_INTERP)17940 Parrot_fdiv_n_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
17941     const FLOATVAL   den = NREG(3);
17942 
17943     if (FLOAT_IS_ZERO(den)) {
17944         opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 4, EXCEPTION_DIV_BY_ZERO, "Divide by zero");
17945 
17946         return (opcode_t *)handler;
17947     }
17948 
17949     #if defined(PARROT_HAS_FLOORL) && NUMVAL_SIZE > 8
17950         NREG(1) = (FLOATVAL)floorl((NREG(2) / den));
17951 
17952 #else
17953         NREG(1) = (FLOATVAL)floor((NREG(2) / den));
17954 
17955 #endif
17956 ;
17957     return cur_opcode + 4;
17958 }
17959 
17960 opcode_t *
Parrot_fdiv_n_nc_n(opcode_t * cur_opcode,PARROT_INTERP)17961 Parrot_fdiv_n_nc_n(opcode_t *cur_opcode, PARROT_INTERP) {
17962     const FLOATVAL   den = NREG(3);
17963 
17964     if (FLOAT_IS_ZERO(den)) {
17965         opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 4, EXCEPTION_DIV_BY_ZERO, "Divide by zero");
17966 
17967         return (opcode_t *)handler;
17968     }
17969 
17970     #if defined(PARROT_HAS_FLOORL) && NUMVAL_SIZE > 8
17971         NREG(1) = (FLOATVAL)floorl((NCONST(2) / den));
17972 
17973 #else
17974         NREG(1) = (FLOATVAL)floor((NCONST(2) / den));
17975 
17976 #endif
17977 ;
17978     return cur_opcode + 4;
17979 }
17980 
17981 opcode_t *
Parrot_fdiv_n_n_nc(opcode_t * cur_opcode,PARROT_INTERP)17982 Parrot_fdiv_n_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
17983     const FLOATVAL   den = NCONST(3);
17984 
17985     if (FLOAT_IS_ZERO(den)) {
17986         opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 4, EXCEPTION_DIV_BY_ZERO, "Divide by zero");
17987 
17988         return (opcode_t *)handler;
17989     }
17990 
17991     #if defined(PARROT_HAS_FLOORL) && NUMVAL_SIZE > 8
17992         NREG(1) = (FLOATVAL)floorl((NREG(2) / den));
17993 
17994 #else
17995         NREG(1) = (FLOATVAL)floor((NREG(2) / den));
17996 
17997 #endif
17998 ;
17999     return cur_opcode + 4;
18000 }
18001 
18002 opcode_t *
Parrot_fdiv_p_p_p(opcode_t * cur_opcode,PARROT_INTERP)18003 Parrot_fdiv_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
18004     PREG(1) = VTABLE_floor_divide(interp, PREG(2), PREG(3), PREG(1));
18005     return cur_opcode + 4;
18006 }
18007 
18008 opcode_t *
Parrot_fdiv_p_p_i(opcode_t * cur_opcode,PARROT_INTERP)18009 Parrot_fdiv_p_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
18010     PREG(1) = VTABLE_floor_divide_int(interp, PREG(2), IREG(3), PREG(1));
18011     return cur_opcode + 4;
18012 }
18013 
18014 opcode_t *
Parrot_fdiv_p_p_ic(opcode_t * cur_opcode,PARROT_INTERP)18015 Parrot_fdiv_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
18016     PREG(1) = VTABLE_floor_divide_int(interp, PREG(2), ICONST(3), PREG(1));
18017     return cur_opcode + 4;
18018 }
18019 
18020 opcode_t *
Parrot_fdiv_p_p_n(opcode_t * cur_opcode,PARROT_INTERP)18021 Parrot_fdiv_p_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
18022     PREG(1) = VTABLE_floor_divide_float(interp, PREG(2), NREG(3), PREG(1));
18023     return cur_opcode + 4;
18024 }
18025 
18026 opcode_t *
Parrot_fdiv_p_p_nc(opcode_t * cur_opcode,PARROT_INTERP)18027 Parrot_fdiv_p_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
18028     PREG(1) = VTABLE_floor_divide_float(interp, PREG(2), NCONST(3), PREG(1));
18029     return cur_opcode + 4;
18030 }
18031 
18032 opcode_t *
Parrot_ceil_n(opcode_t * cur_opcode,PARROT_INTERP)18033 Parrot_ceil_n(opcode_t *cur_opcode, PARROT_INTERP) {
18034     #if defined(PARROT_HAS_CEILL) && (NUMVAL_SIZE > 8)
18035         NREG(1) = (FLOATVAL)ceill(NREG(1));
18036 
18037 #else
18038         NREG(1) = (FLOATVAL)ceil(NREG(1));
18039 
18040 #endif
18041 ;
18042     return cur_opcode + 2;
18043 }
18044 
18045 opcode_t *
Parrot_ceil_i_n(opcode_t * cur_opcode,PARROT_INTERP)18046 Parrot_ceil_i_n(opcode_t *cur_opcode, PARROT_INTERP) {
18047     #if defined(PARROT_HAS_CEILL) && (NUMVAL_SIZE > 8)
18048         const FLOATVAL   f = (FLOATVAL)ceill(NREG(2));
18049 
18050 #else
18051         const FLOATVAL   f = (FLOATVAL)ceil(NREG(2));
18052 
18053 #endif
18054 ;
18055     if (PARROT_FLOATVAL_IS_INF_OR_NAN(f)) {
18056         opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 3, EXCEPTION_LOSSY_CONVERSION, "Invalid number");
18057 
18058         return (opcode_t *)handler;
18059     }
18060     else {
18061         IREG(1) = (INTVAL)f;
18062     }
18063 
18064     return cur_opcode + 3;
18065 }
18066 
18067 opcode_t *
Parrot_ceil_n_n(opcode_t * cur_opcode,PARROT_INTERP)18068 Parrot_ceil_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
18069     #if defined(PARROT_HAS_CEILL) && (NUMVAL_SIZE > 8)
18070         NREG(1) = (FLOATVAL)ceill(NREG(2));
18071 
18072 #else
18073         NREG(1) = (FLOATVAL)ceil(NREG(2));
18074 
18075 #endif
18076 ;
18077     return cur_opcode + 3;
18078 }
18079 
18080 opcode_t *
Parrot_floor_n(opcode_t * cur_opcode,PARROT_INTERP)18081 Parrot_floor_n(opcode_t *cur_opcode, PARROT_INTERP) {
18082     #if defined(PARROT_HAS_FLOORL) && (NUMVAL_SIZE > 8)
18083         NREG(1) = (FLOATVAL)floorl(NREG(1));
18084 
18085 #else
18086         NREG(1) = (FLOATVAL)floor(NREG(1));
18087 
18088 #endif
18089 ;
18090     return cur_opcode + 2;
18091 }
18092 
18093 opcode_t *
Parrot_floor_i_n(opcode_t * cur_opcode,PARROT_INTERP)18094 Parrot_floor_i_n(opcode_t *cur_opcode, PARROT_INTERP) {
18095     #if defined(PARROT_HAS_FLOORL) && (NUMVAL_SIZE > 8)
18096         FLOATVAL   f = (FLOATVAL)floorl(NREG(2));
18097 
18098 #else
18099         FLOATVAL   f = (FLOATVAL)floor(NREG(2));
18100 
18101 #endif
18102 ;
18103     if (PARROT_FLOATVAL_IS_INF_OR_NAN(f)) {
18104         opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 3, EXCEPTION_LOSSY_CONVERSION, "Invalid number");
18105 
18106         return (opcode_t *)handler;
18107     }
18108     else {
18109         IREG(1) = (INTVAL)f;
18110     }
18111 
18112     return cur_opcode + 3;
18113 }
18114 
18115 opcode_t *
Parrot_floor_n_n(opcode_t * cur_opcode,PARROT_INTERP)18116 Parrot_floor_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
18117     #if defined(PARROT_HAS_FLOORL) && (NUMVAL_SIZE > 8)
18118         NREG(1) = (FLOATVAL)floorl(NREG(2));
18119 
18120 #else
18121         NREG(1) = (FLOATVAL)floor(NREG(2));
18122 
18123 #endif
18124 ;
18125     return cur_opcode + 3;
18126 }
18127 
18128 opcode_t *
Parrot_inc_i(opcode_t * cur_opcode,PARROT_INTERP)18129 Parrot_inc_i(opcode_t *cur_opcode, PARROT_INTERP) {
18130     (IREG(1)++);
18131     return cur_opcode + 2;
18132 }
18133 
18134 opcode_t *
Parrot_inc_n(opcode_t * cur_opcode,PARROT_INTERP)18135 Parrot_inc_n(opcode_t *cur_opcode, PARROT_INTERP) {
18136     (NREG(1)++);
18137     return cur_opcode + 2;
18138 }
18139 
18140 opcode_t *
Parrot_inc_p(opcode_t * cur_opcode,PARROT_INTERP)18141 Parrot_inc_p(opcode_t *cur_opcode, PARROT_INTERP) {
18142     VTABLE_increment(interp, PREG(1));
18143     return cur_opcode + 2;
18144 }
18145 
18146 opcode_t *
Parrot_mod_i_i(opcode_t * cur_opcode,PARROT_INTERP)18147 Parrot_mod_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
18148     if (IREG(2) == 0) {
18149         IREG(1) = IREG(1);
18150     }
18151     else {
18152         if ((IREG(1) > 0) && (IREG(2) > 0)) {
18153             IREG(1) = (IREG(1) % IREG(2));
18154         }
18155         else {
18156             IREG(1) = Parrot_util_intval_mod(IREG(1), IREG(2));
18157         }
18158 
18159     }
18160 
18161     return cur_opcode + 3;
18162 }
18163 
18164 opcode_t *
Parrot_mod_i_ic(opcode_t * cur_opcode,PARROT_INTERP)18165 Parrot_mod_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
18166     if (ICONST(2) == 0) {
18167         IREG(1) = IREG(1);
18168     }
18169     else {
18170         if ((IREG(1) > 0) && (ICONST(2) > 0)) {
18171             IREG(1) = (IREG(1) % ICONST(2));
18172         }
18173         else {
18174             IREG(1) = Parrot_util_intval_mod(IREG(1), ICONST(2));
18175         }
18176 
18177     }
18178 
18179     return cur_opcode + 3;
18180 }
18181 
18182 opcode_t *
Parrot_mod_n_n(opcode_t * cur_opcode,PARROT_INTERP)18183 Parrot_mod_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
18184     NREG(1) = Parrot_util_floatval_mod(NREG(1), NREG(2));
18185     return cur_opcode + 3;
18186 }
18187 
18188 opcode_t *
Parrot_mod_n_nc(opcode_t * cur_opcode,PARROT_INTERP)18189 Parrot_mod_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
18190     NREG(1) = Parrot_util_floatval_mod(NREG(1), NCONST(2));
18191     return cur_opcode + 3;
18192 }
18193 
18194 opcode_t *
Parrot_mod_p_p(opcode_t * cur_opcode,PARROT_INTERP)18195 Parrot_mod_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
18196     VTABLE_i_modulus(interp, PREG(1), PREG(2));
18197     return cur_opcode + 3;
18198 }
18199 
18200 opcode_t *
Parrot_mod_p_i(opcode_t * cur_opcode,PARROT_INTERP)18201 Parrot_mod_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
18202     VTABLE_i_modulus_int(interp, PREG(1), IREG(2));
18203     return cur_opcode + 3;
18204 }
18205 
18206 opcode_t *
Parrot_mod_p_ic(opcode_t * cur_opcode,PARROT_INTERP)18207 Parrot_mod_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
18208     VTABLE_i_modulus_int(interp, PREG(1), ICONST(2));
18209     return cur_opcode + 3;
18210 }
18211 
18212 opcode_t *
Parrot_mod_p_n(opcode_t * cur_opcode,PARROT_INTERP)18213 Parrot_mod_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
18214     VTABLE_i_modulus_float(interp, PREG(1), NREG(2));
18215     return cur_opcode + 3;
18216 }
18217 
18218 opcode_t *
Parrot_mod_p_nc(opcode_t * cur_opcode,PARROT_INTERP)18219 Parrot_mod_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
18220     VTABLE_i_modulus_float(interp, PREG(1), NCONST(2));
18221     return cur_opcode + 3;
18222 }
18223 
18224 opcode_t *
Parrot_mod_i_i_i(opcode_t * cur_opcode,PARROT_INTERP)18225 Parrot_mod_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
18226     if (IREG(3) == 0) {
18227         IREG(1) = IREG(2);
18228     }
18229     else {
18230         if ((IREG(2) > 0) && (IREG(3) > 0)) {
18231             IREG(1) = (IREG(2) % IREG(3));
18232         }
18233         else {
18234             IREG(1) = Parrot_util_intval_mod(IREG(2), IREG(3));
18235         }
18236 
18237     }
18238 
18239     return cur_opcode + 4;
18240 }
18241 
18242 opcode_t *
Parrot_mod_i_ic_i(opcode_t * cur_opcode,PARROT_INTERP)18243 Parrot_mod_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
18244     if (IREG(3) == 0) {
18245         IREG(1) = ICONST(2);
18246     }
18247     else {
18248         if ((ICONST(2) > 0) && (IREG(3) > 0)) {
18249             IREG(1) = (ICONST(2) % IREG(3));
18250         }
18251         else {
18252             IREG(1) = Parrot_util_intval_mod(ICONST(2), IREG(3));
18253         }
18254 
18255     }
18256 
18257     return cur_opcode + 4;
18258 }
18259 
18260 opcode_t *
Parrot_mod_i_i_ic(opcode_t * cur_opcode,PARROT_INTERP)18261 Parrot_mod_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
18262     if (ICONST(3) == 0) {
18263         IREG(1) = IREG(2);
18264     }
18265     else {
18266         if ((IREG(2) > 0) && (ICONST(3) > 0)) {
18267             IREG(1) = (IREG(2) % ICONST(3));
18268         }
18269         else {
18270             IREG(1) = Parrot_util_intval_mod(IREG(2), ICONST(3));
18271         }
18272 
18273     }
18274 
18275     return cur_opcode + 4;
18276 }
18277 
18278 opcode_t *
Parrot_mod_n_n_n(opcode_t * cur_opcode,PARROT_INTERP)18279 Parrot_mod_n_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
18280     NREG(1) = Parrot_util_floatval_mod(NREG(2), NREG(3));
18281     return cur_opcode + 4;
18282 }
18283 
18284 opcode_t *
Parrot_mod_n_nc_n(opcode_t * cur_opcode,PARROT_INTERP)18285 Parrot_mod_n_nc_n(opcode_t *cur_opcode, PARROT_INTERP) {
18286     NREG(1) = Parrot_util_floatval_mod(NCONST(2), NREG(3));
18287     return cur_opcode + 4;
18288 }
18289 
18290 opcode_t *
Parrot_mod_n_n_nc(opcode_t * cur_opcode,PARROT_INTERP)18291 Parrot_mod_n_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
18292     NREG(1) = Parrot_util_floatval_mod(NREG(2), NCONST(3));
18293     return cur_opcode + 4;
18294 }
18295 
18296 opcode_t *
Parrot_mod_p_p_p(opcode_t * cur_opcode,PARROT_INTERP)18297 Parrot_mod_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
18298     PREG(1) = VTABLE_modulus(interp, PREG(2), PREG(3), PREG(1));
18299     return cur_opcode + 4;
18300 }
18301 
18302 opcode_t *
Parrot_mod_p_p_i(opcode_t * cur_opcode,PARROT_INTERP)18303 Parrot_mod_p_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
18304     PREG(1) = VTABLE_modulus_int(interp, PREG(2), IREG(3), PREG(1));
18305     return cur_opcode + 4;
18306 }
18307 
18308 opcode_t *
Parrot_mod_p_p_ic(opcode_t * cur_opcode,PARROT_INTERP)18309 Parrot_mod_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
18310     PREG(1) = VTABLE_modulus_int(interp, PREG(2), ICONST(3), PREG(1));
18311     return cur_opcode + 4;
18312 }
18313 
18314 opcode_t *
Parrot_mod_p_p_n(opcode_t * cur_opcode,PARROT_INTERP)18315 Parrot_mod_p_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
18316     PREG(1) = VTABLE_modulus_float(interp, PREG(2), NREG(3), PREG(1));
18317     return cur_opcode + 4;
18318 }
18319 
18320 opcode_t *
Parrot_mod_p_p_nc(opcode_t * cur_opcode,PARROT_INTERP)18321 Parrot_mod_p_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
18322     PREG(1) = VTABLE_modulus_float(interp, PREG(2), NCONST(3), PREG(1));
18323     return cur_opcode + 4;
18324 }
18325 
18326 opcode_t *
Parrot_mul_i_i(opcode_t * cur_opcode,PARROT_INTERP)18327 Parrot_mul_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
18328     (IREG(1) *= IREG(2));
18329     return cur_opcode + 3;
18330 }
18331 
18332 opcode_t *
Parrot_mul_i_ic(opcode_t * cur_opcode,PARROT_INTERP)18333 Parrot_mul_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
18334     (IREG(1) *= ICONST(2));
18335     return cur_opcode + 3;
18336 }
18337 
18338 opcode_t *
Parrot_mul_n_n(opcode_t * cur_opcode,PARROT_INTERP)18339 Parrot_mul_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
18340     (NREG(1) *= NREG(2));
18341     return cur_opcode + 3;
18342 }
18343 
18344 opcode_t *
Parrot_mul_n_nc(opcode_t * cur_opcode,PARROT_INTERP)18345 Parrot_mul_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
18346     (NREG(1) *= NCONST(2));
18347     return cur_opcode + 3;
18348 }
18349 
18350 opcode_t *
Parrot_mul_p_p(opcode_t * cur_opcode,PARROT_INTERP)18351 Parrot_mul_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
18352     VTABLE_i_multiply(interp, PREG(1), PREG(2));
18353     return cur_opcode + 3;
18354 }
18355 
18356 opcode_t *
Parrot_mul_p_i(opcode_t * cur_opcode,PARROT_INTERP)18357 Parrot_mul_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
18358     VTABLE_i_multiply_int(interp, PREG(1), IREG(2));
18359     return cur_opcode + 3;
18360 }
18361 
18362 opcode_t *
Parrot_mul_p_ic(opcode_t * cur_opcode,PARROT_INTERP)18363 Parrot_mul_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
18364     VTABLE_i_multiply_int(interp, PREG(1), ICONST(2));
18365     return cur_opcode + 3;
18366 }
18367 
18368 opcode_t *
Parrot_mul_p_n(opcode_t * cur_opcode,PARROT_INTERP)18369 Parrot_mul_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
18370     VTABLE_i_multiply_float(interp, PREG(1), NREG(2));
18371     return cur_opcode + 3;
18372 }
18373 
18374 opcode_t *
Parrot_mul_p_nc(opcode_t * cur_opcode,PARROT_INTERP)18375 Parrot_mul_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
18376     VTABLE_i_multiply_float(interp, PREG(1), NCONST(2));
18377     return cur_opcode + 3;
18378 }
18379 
18380 opcode_t *
Parrot_mul_i_i_i(opcode_t * cur_opcode,PARROT_INTERP)18381 Parrot_mul_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
18382     IREG(1) = (IREG(2) * IREG(3));
18383     return cur_opcode + 4;
18384 }
18385 
18386 opcode_t *
Parrot_mul_i_ic_i(opcode_t * cur_opcode,PARROT_INTERP)18387 Parrot_mul_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
18388     IREG(1) = (ICONST(2) * IREG(3));
18389     return cur_opcode + 4;
18390 }
18391 
18392 opcode_t *
Parrot_mul_i_i_ic(opcode_t * cur_opcode,PARROT_INTERP)18393 Parrot_mul_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
18394     IREG(1) = (IREG(2) * ICONST(3));
18395     return cur_opcode + 4;
18396 }
18397 
18398 opcode_t *
Parrot_mul_n_n_n(opcode_t * cur_opcode,PARROT_INTERP)18399 Parrot_mul_n_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
18400     NREG(1) = (NREG(2) * NREG(3));
18401     return cur_opcode + 4;
18402 }
18403 
18404 opcode_t *
Parrot_mul_n_nc_n(opcode_t * cur_opcode,PARROT_INTERP)18405 Parrot_mul_n_nc_n(opcode_t *cur_opcode, PARROT_INTERP) {
18406     NREG(1) = (NCONST(2) * NREG(3));
18407     return cur_opcode + 4;
18408 }
18409 
18410 opcode_t *
Parrot_mul_n_n_nc(opcode_t * cur_opcode,PARROT_INTERP)18411 Parrot_mul_n_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
18412     NREG(1) = (NREG(2) * NCONST(3));
18413     return cur_opcode + 4;
18414 }
18415 
18416 opcode_t *
Parrot_mul_p_p_p(opcode_t * cur_opcode,PARROT_INTERP)18417 Parrot_mul_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
18418     PREG(1) = VTABLE_multiply(interp, PREG(2), PREG(3), PREG(1));
18419     return cur_opcode + 4;
18420 }
18421 
18422 opcode_t *
Parrot_mul_p_p_i(opcode_t * cur_opcode,PARROT_INTERP)18423 Parrot_mul_p_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
18424     PREG(1) = VTABLE_multiply_int(interp, PREG(2), IREG(3), PREG(1));
18425     return cur_opcode + 4;
18426 }
18427 
18428 opcode_t *
Parrot_mul_p_p_ic(opcode_t * cur_opcode,PARROT_INTERP)18429 Parrot_mul_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
18430     PREG(1) = VTABLE_multiply_int(interp, PREG(2), ICONST(3), PREG(1));
18431     return cur_opcode + 4;
18432 }
18433 
18434 opcode_t *
Parrot_mul_p_p_n(opcode_t * cur_opcode,PARROT_INTERP)18435 Parrot_mul_p_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
18436     PREG(1) = VTABLE_multiply_float(interp, PREG(2), NREG(3), PREG(1));
18437     return cur_opcode + 4;
18438 }
18439 
18440 opcode_t *
Parrot_mul_p_p_nc(opcode_t * cur_opcode,PARROT_INTERP)18441 Parrot_mul_p_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
18442     PREG(1) = VTABLE_multiply_float(interp, PREG(2), NCONST(3), PREG(1));
18443     return cur_opcode + 4;
18444 }
18445 
18446 opcode_t *
Parrot_neg_i(opcode_t * cur_opcode,PARROT_INTERP)18447 Parrot_neg_i(opcode_t *cur_opcode, PARROT_INTERP) {
18448     IREG(1) = (-IREG(1));
18449     return cur_opcode + 2;
18450 }
18451 
18452 opcode_t *
Parrot_neg_n(opcode_t * cur_opcode,PARROT_INTERP)18453 Parrot_neg_n(opcode_t *cur_opcode, PARROT_INTERP) {
18454     NREG(1) = (-NREG(1));
18455     return cur_opcode + 2;
18456 }
18457 
18458 opcode_t *
Parrot_neg_p(opcode_t * cur_opcode,PARROT_INTERP)18459 Parrot_neg_p(opcode_t *cur_opcode, PARROT_INTERP) {
18460     VTABLE_i_neg(interp, PREG(1));
18461     return cur_opcode + 2;
18462 }
18463 
18464 opcode_t *
Parrot_neg_i_i(opcode_t * cur_opcode,PARROT_INTERP)18465 Parrot_neg_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
18466     IREG(1) = (-IREG(2));
18467     return cur_opcode + 3;
18468 }
18469 
18470 opcode_t *
Parrot_neg_n_n(opcode_t * cur_opcode,PARROT_INTERP)18471 Parrot_neg_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
18472     NREG(1) = (-NREG(2));
18473     return cur_opcode + 3;
18474 }
18475 
18476 opcode_t *
Parrot_neg_p_p(opcode_t * cur_opcode,PARROT_INTERP)18477 Parrot_neg_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
18478     PREG(1) = VTABLE_neg(interp, PREG(2), PREG(1));
18479     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
18480     return cur_opcode + 3;
18481 }
18482 
18483 opcode_t *
Parrot_sub_i_i(opcode_t * cur_opcode,PARROT_INTERP)18484 Parrot_sub_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
18485     (IREG(1) -= IREG(2));
18486     return cur_opcode + 3;
18487 }
18488 
18489 opcode_t *
Parrot_sub_i_ic(opcode_t * cur_opcode,PARROT_INTERP)18490 Parrot_sub_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
18491     (IREG(1) -= ICONST(2));
18492     return cur_opcode + 3;
18493 }
18494 
18495 opcode_t *
Parrot_sub_n_n(opcode_t * cur_opcode,PARROT_INTERP)18496 Parrot_sub_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
18497     (NREG(1) -= NREG(2));
18498     return cur_opcode + 3;
18499 }
18500 
18501 opcode_t *
Parrot_sub_n_nc(opcode_t * cur_opcode,PARROT_INTERP)18502 Parrot_sub_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
18503     (NREG(1) -= NCONST(2));
18504     return cur_opcode + 3;
18505 }
18506 
18507 opcode_t *
Parrot_sub_p_p(opcode_t * cur_opcode,PARROT_INTERP)18508 Parrot_sub_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
18509     VTABLE_i_subtract(interp, PREG(1), PREG(2));
18510     return cur_opcode + 3;
18511 }
18512 
18513 opcode_t *
Parrot_sub_p_i(opcode_t * cur_opcode,PARROT_INTERP)18514 Parrot_sub_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
18515     VTABLE_i_subtract_int(interp, PREG(1), IREG(2));
18516     return cur_opcode + 3;
18517 }
18518 
18519 opcode_t *
Parrot_sub_p_ic(opcode_t * cur_opcode,PARROT_INTERP)18520 Parrot_sub_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
18521     VTABLE_i_subtract_int(interp, PREG(1), ICONST(2));
18522     return cur_opcode + 3;
18523 }
18524 
18525 opcode_t *
Parrot_sub_p_n(opcode_t * cur_opcode,PARROT_INTERP)18526 Parrot_sub_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
18527     VTABLE_i_subtract_float(interp, PREG(1), NREG(2));
18528     return cur_opcode + 3;
18529 }
18530 
18531 opcode_t *
Parrot_sub_p_nc(opcode_t * cur_opcode,PARROT_INTERP)18532 Parrot_sub_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
18533     VTABLE_i_subtract_float(interp, PREG(1), NCONST(2));
18534     return cur_opcode + 3;
18535 }
18536 
18537 opcode_t *
Parrot_sub_i_i_i(opcode_t * cur_opcode,PARROT_INTERP)18538 Parrot_sub_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
18539     IREG(1) = (IREG(2) - IREG(3));
18540     return cur_opcode + 4;
18541 }
18542 
18543 opcode_t *
Parrot_sub_i_ic_i(opcode_t * cur_opcode,PARROT_INTERP)18544 Parrot_sub_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
18545     IREG(1) = (ICONST(2) - IREG(3));
18546     return cur_opcode + 4;
18547 }
18548 
18549 opcode_t *
Parrot_sub_i_i_ic(opcode_t * cur_opcode,PARROT_INTERP)18550 Parrot_sub_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
18551     IREG(1) = (IREG(2) - ICONST(3));
18552     return cur_opcode + 4;
18553 }
18554 
18555 opcode_t *
Parrot_sub_n_n_n(opcode_t * cur_opcode,PARROT_INTERP)18556 Parrot_sub_n_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
18557     NREG(1) = (NREG(2) - NREG(3));
18558     return cur_opcode + 4;
18559 }
18560 
18561 opcode_t *
Parrot_sub_n_nc_n(opcode_t * cur_opcode,PARROT_INTERP)18562 Parrot_sub_n_nc_n(opcode_t *cur_opcode, PARROT_INTERP) {
18563     NREG(1) = (NCONST(2) - NREG(3));
18564     return cur_opcode + 4;
18565 }
18566 
18567 opcode_t *
Parrot_sub_n_n_nc(opcode_t * cur_opcode,PARROT_INTERP)18568 Parrot_sub_n_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
18569     NREG(1) = (NREG(2) - NCONST(3));
18570     return cur_opcode + 4;
18571 }
18572 
18573 opcode_t *
Parrot_sub_p_p_p(opcode_t * cur_opcode,PARROT_INTERP)18574 Parrot_sub_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
18575     PREG(1) = VTABLE_subtract(interp, PREG(2), PREG(3), PREG(1));
18576     return cur_opcode + 4;
18577 }
18578 
18579 opcode_t *
Parrot_sub_p_p_i(opcode_t * cur_opcode,PARROT_INTERP)18580 Parrot_sub_p_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
18581     PREG(1) = VTABLE_subtract_int(interp, PREG(2), IREG(3), PREG(1));
18582     return cur_opcode + 4;
18583 }
18584 
18585 opcode_t *
Parrot_sub_p_p_ic(opcode_t * cur_opcode,PARROT_INTERP)18586 Parrot_sub_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
18587     PREG(1) = VTABLE_subtract_int(interp, PREG(2), ICONST(3), PREG(1));
18588     return cur_opcode + 4;
18589 }
18590 
18591 opcode_t *
Parrot_sub_p_p_n(opcode_t * cur_opcode,PARROT_INTERP)18592 Parrot_sub_p_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
18593     PREG(1) = VTABLE_subtract_float(interp, PREG(2), NREG(3), PREG(1));
18594     return cur_opcode + 4;
18595 }
18596 
18597 opcode_t *
Parrot_sub_p_p_nc(opcode_t * cur_opcode,PARROT_INTERP)18598 Parrot_sub_p_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
18599     PREG(1) = VTABLE_subtract_float(interp, PREG(2), NCONST(3), PREG(1));
18600     return cur_opcode + 4;
18601 }
18602 
18603 opcode_t *
Parrot_sqrt_n_n(opcode_t * cur_opcode,PARROT_INTERP)18604 Parrot_sqrt_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
18605     NREG(1) = sqrt((FLOATVAL)NREG(2));
18606     return cur_opcode + 3;
18607 }
18608 
18609 opcode_t *
Parrot_is_inf_or_nan_i_n(opcode_t * cur_opcode,PARROT_INTERP)18610 Parrot_is_inf_or_nan_i_n(opcode_t *cur_opcode, PARROT_INTERP) {
18611     IREG(1) = PARROT_FLOATVAL_IS_INF_OR_NAN(NREG(2));
18612     return cur_opcode + 3;
18613 }
18614 
18615 opcode_t *
Parrot_is_inf_or_nan_i_nc(opcode_t * cur_opcode,PARROT_INTERP)18616 Parrot_is_inf_or_nan_i_nc(opcode_t *cur_opcode, PARROT_INTERP) {
18617     IREG(1) = PARROT_FLOATVAL_IS_INF_OR_NAN(NCONST(2));
18618     return cur_opcode + 3;
18619 }
18620 
18621 opcode_t *
Parrot_callmethodcc_p_s(opcode_t * cur_opcode,PARROT_INTERP)18622 Parrot_callmethodcc_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
18623     PMC       * const  object = PREG(1);
18624     STRING    * const  meth = SREG(2);
18625     opcode_t  * const  next =  cur_opcode + 3;
18626     opcode_t  *  dest = NULL;
18627     PMC       *  method_pmc = PMCNULL;
18628 
18629     if (!PObj_is_PMC_TEST(object)) {
18630         dest = Parrot_ex_throw_from_op_args(interp, next, EXCEPTION_METHOD_NOT_FOUND, "Method '%Ss' not found for non-object", meth);
18631     }
18632     else {
18633         method_pmc = VTABLE_find_method(interp, object, meth);
18634     }
18635 
18636     Parrot_pcc_set_pc(interp, CURRENT_CONTEXT(interp), next);
18637     if (!PMC_IS_NULL(method_pmc)) {
18638         Parrot_pcc_reuse_continuation(interp, CURRENT_CONTEXT(interp), next);
18639         dest = VTABLE_invoke(interp, method_pmc, next);
18640     }
18641     else {
18642         if (!dest) {
18643             PMC  * const  _class = VTABLE_get_class(interp, object);
18644 
18645             if (PMC_IS_NULL(_class)) {
18646                 dest = Parrot_ex_throw_from_op_args(interp, next, EXCEPTION_METHOD_NOT_FOUND, "Method '%Ss' not found for non-object", meth);
18647             }
18648             else {
18649                 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));
18650             }
18651 
18652         }
18653 
18654     }
18655 
18656     return (opcode_t *)dest;
18657 }
18658 
18659 opcode_t *
Parrot_callmethodcc_p_sc(opcode_t * cur_opcode,PARROT_INTERP)18660 Parrot_callmethodcc_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
18661     PMC       * const  object = PREG(1);
18662     STRING    * const  meth = SCONST(2);
18663     opcode_t  * const  next =  cur_opcode + 3;
18664     opcode_t  *  dest = NULL;
18665     PMC       *  method_pmc = PMCNULL;
18666 
18667     if (!PObj_is_PMC_TEST(object)) {
18668         dest = Parrot_ex_throw_from_op_args(interp, next, EXCEPTION_METHOD_NOT_FOUND, "Method '%Ss' not found for non-object", meth);
18669     }
18670     else {
18671         method_pmc = VTABLE_find_method(interp, object, meth);
18672     }
18673 
18674     Parrot_pcc_set_pc(interp, CURRENT_CONTEXT(interp), next);
18675     if (!PMC_IS_NULL(method_pmc)) {
18676         Parrot_pcc_reuse_continuation(interp, CURRENT_CONTEXT(interp), next);
18677         dest = VTABLE_invoke(interp, method_pmc, next);
18678     }
18679     else {
18680         if (!dest) {
18681             PMC  * const  _class = VTABLE_get_class(interp, object);
18682 
18683             if (PMC_IS_NULL(_class)) {
18684                 dest = Parrot_ex_throw_from_op_args(interp, next, EXCEPTION_METHOD_NOT_FOUND, "Method '%Ss' not found for non-object", meth);
18685             }
18686             else {
18687                 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));
18688             }
18689 
18690         }
18691 
18692     }
18693 
18694     return (opcode_t *)dest;
18695 }
18696 
18697 opcode_t *
Parrot_callmethodcc_p_p(opcode_t * cur_opcode,PARROT_INTERP)18698 Parrot_callmethodcc_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
18699     opcode_t         * dest;
18700     opcode_t  * const  next =  cur_opcode + 3;
18701 
18702     Parrot_pcc_set_pc(interp, CURRENT_CONTEXT(interp), next);
18703     Parrot_pcc_reuse_continuation(interp, CURRENT_CONTEXT(interp), next);
18704     dest = VTABLE_invoke(interp, PREG(2), next);
18705     return (opcode_t *)dest;
18706 }
18707 
18708 opcode_t *
Parrot_callmethod_p_s_p(opcode_t * cur_opcode,PARROT_INTERP)18709 Parrot_callmethod_p_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
18710     PMC       * const  object = PREG(1);
18711     STRING    * const  meth = SREG(2);
18712     opcode_t  * const  next =  cur_opcode + 4;
18713     PMC       * const  method_pmc = VTABLE_find_method(interp, object, meth);
18714     opcode_t  * dest;
18715 
18716     Parrot_pcc_set_pc(interp, CURRENT_CONTEXT(interp), next);
18717     if (PMC_IS_NULL(method_pmc)) {
18718         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)));
18719     }
18720     else {
18721         interp->current_cont = PREG(3);
18722         dest = (opcode_t *)VTABLE_invoke(interp, method_pmc, next);
18723     }
18724 
18725     return (opcode_t *)dest;
18726 }
18727 
18728 opcode_t *
Parrot_callmethod_p_sc_p(opcode_t * cur_opcode,PARROT_INTERP)18729 Parrot_callmethod_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
18730     PMC       * const  object = PREG(1);
18731     STRING    * const  meth = SCONST(2);
18732     opcode_t  * const  next =  cur_opcode + 4;
18733     PMC       * const  method_pmc = VTABLE_find_method(interp, object, meth);
18734     opcode_t  * dest;
18735 
18736     Parrot_pcc_set_pc(interp, CURRENT_CONTEXT(interp), next);
18737     if (PMC_IS_NULL(method_pmc)) {
18738         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)));
18739     }
18740     else {
18741         interp->current_cont = PREG(3);
18742         dest = (opcode_t *)VTABLE_invoke(interp, method_pmc, next);
18743     }
18744 
18745     return (opcode_t *)dest;
18746 }
18747 
18748 opcode_t *
Parrot_callmethod_p_p_p(opcode_t * cur_opcode,PARROT_INTERP)18749 Parrot_callmethod_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
18750     PMC       * const  method_pmc = PREG(2);
18751     opcode_t  * const  next =  cur_opcode + 4;
18752     opcode_t  * dest;
18753 
18754     Parrot_pcc_set_pc(interp, CURRENT_CONTEXT(interp), next);
18755     interp->current_cont = PREG(3);
18756     dest = (opcode_t *)VTABLE_invoke(interp, method_pmc, next);
18757     return (opcode_t *)dest;
18758 }
18759 
18760 opcode_t *
Parrot_tailcallmethod_p_s(opcode_t * cur_opcode,PARROT_INTERP)18761 Parrot_tailcallmethod_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
18762     opcode_t  * const  next =  cur_opcode + 3;
18763     PMC       * const  object = PREG(1);
18764     STRING    * const  meth = SREG(2);
18765     PMC       * const  method_pmc = VTABLE_find_method(interp, object, meth);
18766     opcode_t  * dest;
18767 
18768     if (PMC_IS_NULL(method_pmc)) {
18769         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)));
18770     }
18771     else {
18772         interp->current_cont = Parrot_pcc_get_continuation(interp, CURRENT_CONTEXT(interp));
18773         (PObj_get_FLAGS(interp->current_cont) |= SUB_FLAG_TAILCALL);
18774         dest = (opcode_t *)VTABLE_invoke(interp, method_pmc, next);
18775     }
18776 
18777     return (opcode_t *)dest;
18778 }
18779 
18780 opcode_t *
Parrot_tailcallmethod_p_sc(opcode_t * cur_opcode,PARROT_INTERP)18781 Parrot_tailcallmethod_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
18782     opcode_t  * const  next =  cur_opcode + 3;
18783     PMC       * const  object = PREG(1);
18784     STRING    * const  meth = SCONST(2);
18785     PMC       * const  method_pmc = VTABLE_find_method(interp, object, meth);
18786     opcode_t  * dest;
18787 
18788     if (PMC_IS_NULL(method_pmc)) {
18789         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)));
18790     }
18791     else {
18792         interp->current_cont = Parrot_pcc_get_continuation(interp, CURRENT_CONTEXT(interp));
18793         (PObj_get_FLAGS(interp->current_cont) |= SUB_FLAG_TAILCALL);
18794         dest = (opcode_t *)VTABLE_invoke(interp, method_pmc, next);
18795     }
18796 
18797     return (opcode_t *)dest;
18798 }
18799 
18800 opcode_t *
Parrot_tailcallmethod_p_p(opcode_t * cur_opcode,PARROT_INTERP)18801 Parrot_tailcallmethod_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
18802     opcode_t  * const  next =  cur_opcode + 3;
18803     PMC       * const  method_pmc = PREG(2);
18804     opcode_t  * dest;
18805 
18806     interp->current_cont = Parrot_pcc_get_continuation(interp, CURRENT_CONTEXT(interp));
18807     (PObj_get_FLAGS(interp->current_cont) |= SUB_FLAG_TAILCALL);
18808     dest = (opcode_t *)VTABLE_invoke(interp, method_pmc, next);
18809     return (opcode_t *)dest;
18810 }
18811 
18812 opcode_t *
Parrot_addmethod_p_s_p(opcode_t * cur_opcode,PARROT_INTERP)18813 Parrot_addmethod_p_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
18814     VTABLE_add_method(interp, PREG(1), SREG(2), PREG(3));
18815     return cur_opcode + 4;
18816 }
18817 
18818 opcode_t *
Parrot_addmethod_p_sc_p(opcode_t * cur_opcode,PARROT_INTERP)18819 Parrot_addmethod_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
18820     VTABLE_add_method(interp, PREG(1), SCONST(2), PREG(3));
18821     return cur_opcode + 4;
18822 }
18823 
18824 opcode_t *
Parrot_can_i_p_s(opcode_t * cur_opcode,PARROT_INTERP)18825 Parrot_can_i_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
18826     PMC  * const  meth = VTABLE_find_method(interp, PREG(2), SREG(3));
18827 
18828     IREG(1) = (!PMC_IS_NULL(meth));
18829     return cur_opcode + 4;
18830 }
18831 
18832 opcode_t *
Parrot_can_i_p_sc(opcode_t * cur_opcode,PARROT_INTERP)18833 Parrot_can_i_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
18834     PMC  * const  meth = VTABLE_find_method(interp, PREG(2), SCONST(3));
18835 
18836     IREG(1) = (!PMC_IS_NULL(meth));
18837     return cur_opcode + 4;
18838 }
18839 
18840 opcode_t *
Parrot_does_i_p_s(opcode_t * cur_opcode,PARROT_INTERP)18841 Parrot_does_i_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
18842     IREG(1) = SREG(3) ? VTABLE_does(interp, PREG(2), SREG(3)) : 0;
18843     return cur_opcode + 4;
18844 }
18845 
18846 opcode_t *
Parrot_does_i_p_sc(opcode_t * cur_opcode,PARROT_INTERP)18847 Parrot_does_i_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
18848     IREG(1) = SCONST(3) ? VTABLE_does(interp, PREG(2), SCONST(3)) : 0;
18849     return cur_opcode + 4;
18850 }
18851 
18852 opcode_t *
Parrot_does_i_p_p(opcode_t * cur_opcode,PARROT_INTERP)18853 Parrot_does_i_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
18854     IREG(1) = PREG(3) ? VTABLE_does_pmc(interp, PREG(2), PREG(3)) : 0;
18855     return cur_opcode + 4;
18856 }
18857 
18858 opcode_t *
Parrot_does_i_p_pc(opcode_t * cur_opcode,PARROT_INTERP)18859 Parrot_does_i_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
18860     IREG(1) = PCONST(3) ? VTABLE_does_pmc(interp, PREG(2), PCONST(3)) : 0;
18861     return cur_opcode + 4;
18862 }
18863 
18864 opcode_t *
Parrot_isa_i_p_s(opcode_t * cur_opcode,PARROT_INTERP)18865 Parrot_isa_i_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
18866     IREG(1) = SREG(3) ? VTABLE_isa(interp, PREG(2), SREG(3)) : 0;
18867     return cur_opcode + 4;
18868 }
18869 
18870 opcode_t *
Parrot_isa_i_p_sc(opcode_t * cur_opcode,PARROT_INTERP)18871 Parrot_isa_i_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
18872     IREG(1) = SCONST(3) ? VTABLE_isa(interp, PREG(2), SCONST(3)) : 0;
18873     return cur_opcode + 4;
18874 }
18875 
18876 opcode_t *
Parrot_isa_i_p_p(opcode_t * cur_opcode,PARROT_INTERP)18877 Parrot_isa_i_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
18878     IREG(1) = PREG(3) ? VTABLE_isa_pmc(interp, PREG(2), PREG(3)) : 0;
18879     return cur_opcode + 4;
18880 }
18881 
18882 opcode_t *
Parrot_isa_i_p_pc(opcode_t * cur_opcode,PARROT_INTERP)18883 Parrot_isa_i_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
18884     IREG(1) = PCONST(3) ? VTABLE_isa_pmc(interp, PREG(2), PCONST(3)) : 0;
18885     return cur_opcode + 4;
18886 }
18887 
18888 opcode_t *
Parrot_newclass_p_s(opcode_t * cur_opcode,PARROT_INTERP)18889 Parrot_newclass_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
18890     PMC  * const  name = Parrot_pmc_new(interp, enum_class_String);
18891 
18892     VTABLE_set_string_native(interp, name, SREG(2));
18893     PREG(1) = Parrot_pmc_new_init(interp, enum_class_Class, name);
18894     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
18895     return cur_opcode + 3;
18896 }
18897 
18898 opcode_t *
Parrot_newclass_p_sc(opcode_t * cur_opcode,PARROT_INTERP)18899 Parrot_newclass_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
18900     PMC  * const  name = Parrot_pmc_new(interp, enum_class_String);
18901 
18902     VTABLE_set_string_native(interp, name, SCONST(2));
18903     PREG(1) = Parrot_pmc_new_init(interp, enum_class_Class, name);
18904     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
18905     return cur_opcode + 3;
18906 }
18907 
18908 opcode_t *
Parrot_newclass_p_p(opcode_t * cur_opcode,PARROT_INTERP)18909 Parrot_newclass_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
18910     PREG(1) = Parrot_pmc_new_init(interp, enum_class_Class, PREG(2));
18911     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
18912     return cur_opcode + 3;
18913 }
18914 
18915 opcode_t *
Parrot_newclass_p_pc(opcode_t * cur_opcode,PARROT_INTERP)18916 Parrot_newclass_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
18917     PREG(1) = Parrot_pmc_new_init(interp, enum_class_Class, PCONST(2));
18918     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
18919     return cur_opcode + 3;
18920 }
18921 
18922 opcode_t *
Parrot_subclass_p_p(opcode_t * cur_opcode,PARROT_INTERP)18923 Parrot_subclass_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
18924     PMC       * const  parent_class = Parrot_oo_get_class(interp, PREG(2));
18925     opcode_t  * const  next =  cur_opcode + 3;
18926 
18927     if (PMC_IS_NULL(parent_class)) {
18928         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)));
18929 
18930         PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
18931         return (opcode_t *)handler;
18932     }
18933 
18934     PREG(1) = Parrot_pmc_new(interp, enum_class_Class);
18935     VTABLE_add_parent(interp, PREG(1), parent_class);
18936     {
18937         PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
18938         return (opcode_t *)next;
18939     }
18940 
18941 }
18942 
18943 opcode_t *
Parrot_subclass_p_pc(opcode_t * cur_opcode,PARROT_INTERP)18944 Parrot_subclass_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
18945     PMC       * const  parent_class = Parrot_oo_get_class(interp, PCONST(2));
18946     opcode_t  * const  next =  cur_opcode + 3;
18947 
18948     if (PMC_IS_NULL(parent_class)) {
18949         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)));
18950 
18951         PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
18952         return (opcode_t *)handler;
18953     }
18954 
18955     PREG(1) = Parrot_pmc_new(interp, enum_class_Class);
18956     VTABLE_add_parent(interp, PREG(1), parent_class);
18957     {
18958         PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
18959         return (opcode_t *)next;
18960     }
18961 
18962 }
18963 
18964 opcode_t *
Parrot_subclass_p_p_s(opcode_t * cur_opcode,PARROT_INTERP)18965 Parrot_subclass_p_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
18966     PMC       * const  parent_class = Parrot_oo_get_class(interp, PREG(2));
18967     opcode_t  * const  next =  cur_opcode + 4;
18968 
18969     if (PMC_IS_NULL(parent_class)) {
18970         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)));
18971 
18972         PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
18973         return (opcode_t *)handler;
18974     }
18975 
18976     PREG(1) = Parrot_oo_newclass_from_str(interp, SREG(3));
18977     VTABLE_add_parent(interp, PREG(1), parent_class);
18978     {
18979         PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
18980         return (opcode_t *)next;
18981     }
18982 
18983 }
18984 
18985 opcode_t *
Parrot_subclass_p_pc_s(opcode_t * cur_opcode,PARROT_INTERP)18986 Parrot_subclass_p_pc_s(opcode_t *cur_opcode, PARROT_INTERP) {
18987     PMC       * const  parent_class = Parrot_oo_get_class(interp, PCONST(2));
18988     opcode_t  * const  next =  cur_opcode + 4;
18989 
18990     if (PMC_IS_NULL(parent_class)) {
18991         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)));
18992 
18993         PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
18994         return (opcode_t *)handler;
18995     }
18996 
18997     PREG(1) = Parrot_oo_newclass_from_str(interp, SREG(3));
18998     VTABLE_add_parent(interp, PREG(1), parent_class);
18999     {
19000         PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19001         return (opcode_t *)next;
19002     }
19003 
19004 }
19005 
19006 opcode_t *
Parrot_subclass_p_p_sc(opcode_t * cur_opcode,PARROT_INTERP)19007 Parrot_subclass_p_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
19008     PMC       * const  parent_class = Parrot_oo_get_class(interp, PREG(2));
19009     opcode_t  * const  next =  cur_opcode + 4;
19010 
19011     if (PMC_IS_NULL(parent_class)) {
19012         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)));
19013 
19014         PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19015         return (opcode_t *)handler;
19016     }
19017 
19018     PREG(1) = Parrot_oo_newclass_from_str(interp, SCONST(3));
19019     VTABLE_add_parent(interp, PREG(1), parent_class);
19020     {
19021         PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19022         return (opcode_t *)next;
19023     }
19024 
19025 }
19026 
19027 opcode_t *
Parrot_subclass_p_pc_sc(opcode_t * cur_opcode,PARROT_INTERP)19028 Parrot_subclass_p_pc_sc(opcode_t *cur_opcode, PARROT_INTERP) {
19029     PMC       * const  parent_class = Parrot_oo_get_class(interp, PCONST(2));
19030     opcode_t  * const  next =  cur_opcode + 4;
19031 
19032     if (PMC_IS_NULL(parent_class)) {
19033         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)));
19034 
19035         PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19036         return (opcode_t *)handler;
19037     }
19038 
19039     PREG(1) = Parrot_oo_newclass_from_str(interp, SCONST(3));
19040     VTABLE_add_parent(interp, PREG(1), parent_class);
19041     {
19042         PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19043         return (opcode_t *)next;
19044     }
19045 
19046 }
19047 
19048 opcode_t *
Parrot_subclass_p_p_p(opcode_t * cur_opcode,PARROT_INTERP)19049 Parrot_subclass_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
19050     PMC       * const  parent_class = Parrot_oo_get_class(interp, PREG(2));
19051     opcode_t  * const  next =  cur_opcode + 4;
19052 
19053     if (PMC_IS_NULL(parent_class)) {
19054         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)));
19055 
19056         PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19057         return (opcode_t *)handler;
19058     }
19059 
19060     PREG(1) = Parrot_pmc_new_init(interp, enum_class_Class, PREG(3));
19061     VTABLE_add_parent(interp, PREG(1), parent_class);
19062     {
19063         PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19064         return (opcode_t *)next;
19065     }
19066 
19067 }
19068 
19069 opcode_t *
Parrot_subclass_p_pc_p(opcode_t * cur_opcode,PARROT_INTERP)19070 Parrot_subclass_p_pc_p(opcode_t *cur_opcode, PARROT_INTERP) {
19071     PMC       * const  parent_class = Parrot_oo_get_class(interp, PCONST(2));
19072     opcode_t  * const  next =  cur_opcode + 4;
19073 
19074     if (PMC_IS_NULL(parent_class)) {
19075         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)));
19076 
19077         PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19078         return (opcode_t *)handler;
19079     }
19080 
19081     PREG(1) = Parrot_pmc_new_init(interp, enum_class_Class, PREG(3));
19082     VTABLE_add_parent(interp, PREG(1), parent_class);
19083     {
19084         PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19085         return (opcode_t *)next;
19086     }
19087 
19088 }
19089 
19090 opcode_t *
Parrot_subclass_p_p_pc(opcode_t * cur_opcode,PARROT_INTERP)19091 Parrot_subclass_p_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
19092     PMC       * const  parent_class = Parrot_oo_get_class(interp, PREG(2));
19093     opcode_t  * const  next =  cur_opcode + 4;
19094 
19095     if (PMC_IS_NULL(parent_class)) {
19096         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)));
19097 
19098         PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19099         return (opcode_t *)handler;
19100     }
19101 
19102     PREG(1) = Parrot_pmc_new_init(interp, enum_class_Class, PCONST(3));
19103     VTABLE_add_parent(interp, PREG(1), parent_class);
19104     {
19105         PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19106         return (opcode_t *)next;
19107     }
19108 
19109 }
19110 
19111 opcode_t *
Parrot_subclass_p_pc_pc(opcode_t * cur_opcode,PARROT_INTERP)19112 Parrot_subclass_p_pc_pc(opcode_t *cur_opcode, PARROT_INTERP) {
19113     PMC       * const  parent_class = Parrot_oo_get_class(interp, PCONST(2));
19114     opcode_t  * const  next =  cur_opcode + 4;
19115 
19116     if (PMC_IS_NULL(parent_class)) {
19117         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)));
19118 
19119         PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19120         return (opcode_t *)handler;
19121     }
19122 
19123     PREG(1) = Parrot_pmc_new_init(interp, enum_class_Class, PCONST(3));
19124     VTABLE_add_parent(interp, PREG(1), parent_class);
19125     {
19126         PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19127         return (opcode_t *)next;
19128     }
19129 
19130 }
19131 
19132 opcode_t *
Parrot_subclass_p_s(opcode_t * cur_opcode,PARROT_INTERP)19133 Parrot_subclass_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
19134     PMC       * const  parent_class = Parrot_oo_get_class_str(interp, SREG(2));
19135     opcode_t  * const  next =  cur_opcode + 3;
19136 
19137     if (PMC_IS_NULL(parent_class)) {
19138         opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, next, EXCEPTION_NO_CLASS, "Class '%Ss' doesn't exist", SREG(2));
19139 
19140         PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19141         return (opcode_t *)handler;
19142     }
19143 
19144     PREG(1) = Parrot_pmc_new(interp, enum_class_Class);
19145     VTABLE_add_parent(interp, PREG(1), parent_class);
19146     {
19147         PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19148         return (opcode_t *)next;
19149     }
19150 
19151 }
19152 
19153 opcode_t *
Parrot_subclass_p_sc(opcode_t * cur_opcode,PARROT_INTERP)19154 Parrot_subclass_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
19155     PMC       * const  parent_class = Parrot_oo_get_class_str(interp, SCONST(2));
19156     opcode_t  * const  next =  cur_opcode + 3;
19157 
19158     if (PMC_IS_NULL(parent_class)) {
19159         opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, next, EXCEPTION_NO_CLASS, "Class '%Ss' doesn't exist", SCONST(2));
19160 
19161         PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19162         return (opcode_t *)handler;
19163     }
19164 
19165     PREG(1) = Parrot_pmc_new(interp, enum_class_Class);
19166     VTABLE_add_parent(interp, PREG(1), parent_class);
19167     {
19168         PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19169         return (opcode_t *)next;
19170     }
19171 
19172 }
19173 
19174 opcode_t *
Parrot_subclass_p_s_s(opcode_t * cur_opcode,PARROT_INTERP)19175 Parrot_subclass_p_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
19176     PMC       * const  parent_class = Parrot_oo_get_class_str(interp, SREG(2));
19177     opcode_t  * const  next =  cur_opcode + 4;
19178 
19179     if (PMC_IS_NULL(parent_class)) {
19180         opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, next, EXCEPTION_NO_CLASS, "Class '%Ss' doesn't exist", SREG(2));
19181 
19182         PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19183         return (opcode_t *)handler;
19184     }
19185 
19186     PREG(1) = Parrot_oo_newclass_from_str(interp, SREG(3));
19187     VTABLE_add_parent(interp, PREG(1), parent_class);
19188     {
19189         PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19190         return (opcode_t *)next;
19191     }
19192 
19193 }
19194 
19195 opcode_t *
Parrot_subclass_p_sc_s(opcode_t * cur_opcode,PARROT_INTERP)19196 Parrot_subclass_p_sc_s(opcode_t *cur_opcode, PARROT_INTERP) {
19197     PMC       * const  parent_class = Parrot_oo_get_class_str(interp, SCONST(2));
19198     opcode_t  * const  next =  cur_opcode + 4;
19199 
19200     if (PMC_IS_NULL(parent_class)) {
19201         opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, next, EXCEPTION_NO_CLASS, "Class '%Ss' doesn't exist", SCONST(2));
19202 
19203         PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19204         return (opcode_t *)handler;
19205     }
19206 
19207     PREG(1) = Parrot_oo_newclass_from_str(interp, SREG(3));
19208     VTABLE_add_parent(interp, PREG(1), parent_class);
19209     {
19210         PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19211         return (opcode_t *)next;
19212     }
19213 
19214 }
19215 
19216 opcode_t *
Parrot_subclass_p_s_sc(opcode_t * cur_opcode,PARROT_INTERP)19217 Parrot_subclass_p_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
19218     PMC       * const  parent_class = Parrot_oo_get_class_str(interp, SREG(2));
19219     opcode_t  * const  next =  cur_opcode + 4;
19220 
19221     if (PMC_IS_NULL(parent_class)) {
19222         opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, next, EXCEPTION_NO_CLASS, "Class '%Ss' doesn't exist", SREG(2));
19223 
19224         PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19225         return (opcode_t *)handler;
19226     }
19227 
19228     PREG(1) = Parrot_oo_newclass_from_str(interp, SCONST(3));
19229     VTABLE_add_parent(interp, PREG(1), parent_class);
19230     {
19231         PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19232         return (opcode_t *)next;
19233     }
19234 
19235 }
19236 
19237 opcode_t *
Parrot_subclass_p_sc_sc(opcode_t * cur_opcode,PARROT_INTERP)19238 Parrot_subclass_p_sc_sc(opcode_t *cur_opcode, PARROT_INTERP) {
19239     PMC       * const  parent_class = Parrot_oo_get_class_str(interp, SCONST(2));
19240     opcode_t  * const  next =  cur_opcode + 4;
19241 
19242     if (PMC_IS_NULL(parent_class)) {
19243         opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, next, EXCEPTION_NO_CLASS, "Class '%Ss' doesn't exist", SCONST(2));
19244 
19245         PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19246         return (opcode_t *)handler;
19247     }
19248 
19249     PREG(1) = Parrot_oo_newclass_from_str(interp, SCONST(3));
19250     VTABLE_add_parent(interp, PREG(1), parent_class);
19251     {
19252         PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19253         return (opcode_t *)next;
19254     }
19255 
19256 }
19257 
19258 opcode_t *
Parrot_subclass_p_s_p(opcode_t * cur_opcode,PARROT_INTERP)19259 Parrot_subclass_p_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
19260     PMC       * const  parent_class = Parrot_oo_get_class_str(interp, SREG(2));
19261     opcode_t  * const  next =  cur_opcode + 4;
19262 
19263     if (PMC_IS_NULL(parent_class)) {
19264         opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, next, EXCEPTION_NO_CLASS, "Class '%Ss' doesn't exist", SREG(2));
19265 
19266         PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19267         return (opcode_t *)handler;
19268     }
19269 
19270     PREG(1) = Parrot_pmc_new_init(interp, enum_class_Class, PREG(3));
19271     VTABLE_add_parent(interp, PREG(1), parent_class);
19272     {
19273         PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19274         return (opcode_t *)next;
19275     }
19276 
19277 }
19278 
19279 opcode_t *
Parrot_subclass_p_sc_p(opcode_t * cur_opcode,PARROT_INTERP)19280 Parrot_subclass_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
19281     PMC       * const  parent_class = Parrot_oo_get_class_str(interp, SCONST(2));
19282     opcode_t  * const  next =  cur_opcode + 4;
19283 
19284     if (PMC_IS_NULL(parent_class)) {
19285         opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, next, EXCEPTION_NO_CLASS, "Class '%Ss' doesn't exist", SCONST(2));
19286 
19287         PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19288         return (opcode_t *)handler;
19289     }
19290 
19291     PREG(1) = Parrot_pmc_new_init(interp, enum_class_Class, PREG(3));
19292     VTABLE_add_parent(interp, PREG(1), parent_class);
19293     {
19294         PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19295         return (opcode_t *)next;
19296     }
19297 
19298 }
19299 
19300 opcode_t *
Parrot_subclass_p_s_pc(opcode_t * cur_opcode,PARROT_INTERP)19301 Parrot_subclass_p_s_pc(opcode_t *cur_opcode, PARROT_INTERP) {
19302     PMC       * const  parent_class = Parrot_oo_get_class_str(interp, SREG(2));
19303     opcode_t  * const  next =  cur_opcode + 4;
19304 
19305     if (PMC_IS_NULL(parent_class)) {
19306         opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, next, EXCEPTION_NO_CLASS, "Class '%Ss' doesn't exist", SREG(2));
19307 
19308         PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19309         return (opcode_t *)handler;
19310     }
19311 
19312     PREG(1) = Parrot_pmc_new_init(interp, enum_class_Class, PCONST(3));
19313     VTABLE_add_parent(interp, PREG(1), parent_class);
19314     {
19315         PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19316         return (opcode_t *)next;
19317     }
19318 
19319 }
19320 
19321 opcode_t *
Parrot_subclass_p_sc_pc(opcode_t * cur_opcode,PARROT_INTERP)19322 Parrot_subclass_p_sc_pc(opcode_t *cur_opcode, PARROT_INTERP) {
19323     PMC       * const  parent_class = Parrot_oo_get_class_str(interp, SCONST(2));
19324     opcode_t  * const  next =  cur_opcode + 4;
19325 
19326     if (PMC_IS_NULL(parent_class)) {
19327         opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, next, EXCEPTION_NO_CLASS, "Class '%Ss' doesn't exist", SCONST(2));
19328 
19329         PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19330         return (opcode_t *)handler;
19331     }
19332 
19333     PREG(1) = Parrot_pmc_new_init(interp, enum_class_Class, PCONST(3));
19334     VTABLE_add_parent(interp, PREG(1), parent_class);
19335     {
19336         PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19337         return (opcode_t *)next;
19338     }
19339 
19340 }
19341 
19342 opcode_t *
Parrot_get_class_p_s(opcode_t * cur_opcode,PARROT_INTERP)19343 Parrot_get_class_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
19344     PREG(1) = Parrot_oo_get_class_str(interp, SREG(2));
19345     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19346     return cur_opcode + 3;
19347 }
19348 
19349 opcode_t *
Parrot_get_class_p_sc(opcode_t * cur_opcode,PARROT_INTERP)19350 Parrot_get_class_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
19351     PREG(1) = Parrot_oo_get_class_str(interp, SCONST(2));
19352     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19353     return cur_opcode + 3;
19354 }
19355 
19356 opcode_t *
Parrot_get_class_p_p(opcode_t * cur_opcode,PARROT_INTERP)19357 Parrot_get_class_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
19358     PREG(1) = Parrot_oo_get_class(interp, PREG(2));
19359     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19360     return cur_opcode + 3;
19361 }
19362 
19363 opcode_t *
Parrot_get_class_p_pc(opcode_t * cur_opcode,PARROT_INTERP)19364 Parrot_get_class_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
19365     PREG(1) = Parrot_oo_get_class(interp, PCONST(2));
19366     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19367     return cur_opcode + 3;
19368 }
19369 
19370 opcode_t *
Parrot_class_p_p(opcode_t * cur_opcode,PARROT_INTERP)19371 Parrot_class_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
19372     PREG(1) = VTABLE_get_class(interp, PREG(2));
19373     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19374     return cur_opcode + 3;
19375 }
19376 
19377 opcode_t *
Parrot_addparent_p_p(opcode_t * cur_opcode,PARROT_INTERP)19378 Parrot_addparent_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
19379     VTABLE_add_parent(interp, PREG(1), PREG(2));
19380     return cur_opcode + 3;
19381 }
19382 
19383 opcode_t *
Parrot_removeparent_p_p(opcode_t * cur_opcode,PARROT_INTERP)19384 Parrot_removeparent_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
19385     VTABLE_remove_parent(interp, PREG(1), PREG(2));
19386     return cur_opcode + 3;
19387 }
19388 
19389 opcode_t *
Parrot_addrole_p_p(opcode_t * cur_opcode,PARROT_INTERP)19390 Parrot_addrole_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
19391     VTABLE_add_role(interp, PREG(1), PREG(2));
19392     return cur_opcode + 3;
19393 }
19394 
19395 opcode_t *
Parrot_addattribute_p_s(opcode_t * cur_opcode,PARROT_INTERP)19396 Parrot_addattribute_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
19397     VTABLE_add_attribute(interp, PREG(1), SREG(2), PMCNULL);
19398     return cur_opcode + 3;
19399 }
19400 
19401 opcode_t *
Parrot_addattribute_p_sc(opcode_t * cur_opcode,PARROT_INTERP)19402 Parrot_addattribute_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
19403     VTABLE_add_attribute(interp, PREG(1), SCONST(2), PMCNULL);
19404     return cur_opcode + 3;
19405 }
19406 
19407 opcode_t *
Parrot_removeattribute_p_s(opcode_t * cur_opcode,PARROT_INTERP)19408 Parrot_removeattribute_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
19409     VTABLE_remove_attribute(interp, PREG(1), SREG(2));
19410     return cur_opcode + 3;
19411 }
19412 
19413 opcode_t *
Parrot_removeattribute_p_sc(opcode_t * cur_opcode,PARROT_INTERP)19414 Parrot_removeattribute_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
19415     VTABLE_remove_attribute(interp, PREG(1), SCONST(2));
19416     return cur_opcode + 3;
19417 }
19418 
19419 opcode_t *
Parrot_getattribute_p_p_s(opcode_t * cur_opcode,PARROT_INTERP)19420 Parrot_getattribute_p_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
19421     PREG(1) = VTABLE_get_attr_str(interp, PREG(2), SREG(3));
19422     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19423     return cur_opcode + 4;
19424 }
19425 
19426 opcode_t *
Parrot_getattribute_p_p_sc(opcode_t * cur_opcode,PARROT_INTERP)19427 Parrot_getattribute_p_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
19428     PREG(1) = VTABLE_get_attr_str(interp, PREG(2), SCONST(3));
19429     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19430     return cur_opcode + 4;
19431 }
19432 
19433 opcode_t *
Parrot_getattribute_p_p_p_s(opcode_t * cur_opcode,PARROT_INTERP)19434 Parrot_getattribute_p_p_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
19435     PREG(1) = VTABLE_get_attr_keyed(interp, PREG(2), PREG(3), SREG(4));
19436     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19437     return cur_opcode + 5;
19438 }
19439 
19440 opcode_t *
Parrot_getattribute_p_p_pc_s(opcode_t * cur_opcode,PARROT_INTERP)19441 Parrot_getattribute_p_p_pc_s(opcode_t *cur_opcode, PARROT_INTERP) {
19442     PREG(1) = VTABLE_get_attr_keyed(interp, PREG(2), PCONST(3), SREG(4));
19443     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19444     return cur_opcode + 5;
19445 }
19446 
19447 opcode_t *
Parrot_getattribute_p_p_p_sc(opcode_t * cur_opcode,PARROT_INTERP)19448 Parrot_getattribute_p_p_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
19449     PREG(1) = VTABLE_get_attr_keyed(interp, PREG(2), PREG(3), SCONST(4));
19450     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19451     return cur_opcode + 5;
19452 }
19453 
19454 opcode_t *
Parrot_getattribute_p_p_pc_sc(opcode_t * cur_opcode,PARROT_INTERP)19455 Parrot_getattribute_p_p_pc_sc(opcode_t *cur_opcode, PARROT_INTERP) {
19456     PREG(1) = VTABLE_get_attr_keyed(interp, PREG(2), PCONST(3), SCONST(4));
19457     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19458     return cur_opcode + 5;
19459 }
19460 
19461 opcode_t *
Parrot_setattribute_p_s_p(opcode_t * cur_opcode,PARROT_INTERP)19462 Parrot_setattribute_p_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
19463     VTABLE_set_attr_str(interp, PREG(1), SREG(2), PREG(3));
19464     return cur_opcode + 4;
19465 }
19466 
19467 opcode_t *
Parrot_setattribute_p_sc_p(opcode_t * cur_opcode,PARROT_INTERP)19468 Parrot_setattribute_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
19469     VTABLE_set_attr_str(interp, PREG(1), SCONST(2), PREG(3));
19470     return cur_opcode + 4;
19471 }
19472 
19473 opcode_t *
Parrot_setattribute_p_p_s_p(opcode_t * cur_opcode,PARROT_INTERP)19474 Parrot_setattribute_p_p_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
19475     VTABLE_set_attr_keyed(interp, PREG(1), PREG(2), SREG(3), PREG(4));
19476     return cur_opcode + 5;
19477 }
19478 
19479 opcode_t *
Parrot_setattribute_p_pc_s_p(opcode_t * cur_opcode,PARROT_INTERP)19480 Parrot_setattribute_p_pc_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
19481     VTABLE_set_attr_keyed(interp, PREG(1), PCONST(2), SREG(3), PREG(4));
19482     return cur_opcode + 5;
19483 }
19484 
19485 opcode_t *
Parrot_setattribute_p_p_sc_p(opcode_t * cur_opcode,PARROT_INTERP)19486 Parrot_setattribute_p_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
19487     VTABLE_set_attr_keyed(interp, PREG(1), PREG(2), SCONST(3), PREG(4));
19488     return cur_opcode + 5;
19489 }
19490 
19491 opcode_t *
Parrot_setattribute_p_pc_sc_p(opcode_t * cur_opcode,PARROT_INTERP)19492 Parrot_setattribute_p_pc_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
19493     VTABLE_set_attr_keyed(interp, PREG(1), PCONST(2), SCONST(3), PREG(4));
19494     return cur_opcode + 5;
19495 }
19496 
19497 opcode_t *
Parrot_inspect_p_p(opcode_t * cur_opcode,PARROT_INTERP)19498 Parrot_inspect_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
19499     PREG(1) = VTABLE_inspect(interp, PREG(2));
19500     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19501     return cur_opcode + 3;
19502 }
19503 
19504 opcode_t *
Parrot_inspect_p_pc(opcode_t * cur_opcode,PARROT_INTERP)19505 Parrot_inspect_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
19506     PREG(1) = VTABLE_inspect(interp, PCONST(2));
19507     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19508     return cur_opcode + 3;
19509 }
19510 
19511 opcode_t *
Parrot_inspect_p_p_s(opcode_t * cur_opcode,PARROT_INTERP)19512 Parrot_inspect_p_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
19513     PREG(1) = VTABLE_inspect_str(interp, PREG(2), SREG(3));
19514     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19515     return cur_opcode + 4;
19516 }
19517 
19518 opcode_t *
Parrot_inspect_p_pc_s(opcode_t * cur_opcode,PARROT_INTERP)19519 Parrot_inspect_p_pc_s(opcode_t *cur_opcode, PARROT_INTERP) {
19520     PREG(1) = VTABLE_inspect_str(interp, PCONST(2), SREG(3));
19521     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19522     return cur_opcode + 4;
19523 }
19524 
19525 opcode_t *
Parrot_inspect_p_p_sc(opcode_t * cur_opcode,PARROT_INTERP)19526 Parrot_inspect_p_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
19527     PREG(1) = VTABLE_inspect_str(interp, PREG(2), SCONST(3));
19528     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19529     return cur_opcode + 4;
19530 }
19531 
19532 opcode_t *
Parrot_inspect_p_pc_sc(opcode_t * cur_opcode,PARROT_INTERP)19533 Parrot_inspect_p_pc_sc(opcode_t *cur_opcode, PARROT_INTERP) {
19534     PREG(1) = VTABLE_inspect_str(interp, PCONST(2), SCONST(3));
19535     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19536     return cur_opcode + 4;
19537 }
19538 
19539 opcode_t *
Parrot_new_p_s(opcode_t * cur_opcode,PARROT_INTERP)19540 Parrot_new_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
19541     STRING  * const  name = SREG(2);
19542     PMC     * const  _class = Parrot_pcc_get_HLL(interp, CURRENT_CONTEXT(interp)) ? Parrot_oo_get_class_str(interp, name) : PMCNULL;
19543 
19544     if (!PMC_IS_NULL(_class)) {
19545         PREG(1) = VTABLE_instantiate(interp, _class, PMCNULL);
19546     }
19547     else {
19548         const INTVAL   type = Parrot_pmc_get_type_str(interp, name);
19549 
19550         if (type <= 0) {
19551             opcode_t  * const  dest = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 3, EXCEPTION_NO_CLASS, "Class '%Ss' not found", name);
19552 
19553             PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19554             return (opcode_t *)dest;
19555         }
19556 
19557         PREG(1) = Parrot_pmc_new(interp, type);
19558     }
19559 
19560     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19561     return cur_opcode + 3;
19562 }
19563 
19564 opcode_t *
Parrot_new_p_sc(opcode_t * cur_opcode,PARROT_INTERP)19565 Parrot_new_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
19566     STRING  * const  name = SCONST(2);
19567     PMC     * const  _class = Parrot_pcc_get_HLL(interp, CURRENT_CONTEXT(interp)) ? Parrot_oo_get_class_str(interp, name) : PMCNULL;
19568 
19569     if (!PMC_IS_NULL(_class)) {
19570         PREG(1) = VTABLE_instantiate(interp, _class, PMCNULL);
19571     }
19572     else {
19573         const INTVAL   type = Parrot_pmc_get_type_str(interp, name);
19574 
19575         if (type <= 0) {
19576             opcode_t  * const  dest = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 3, EXCEPTION_NO_CLASS, "Class '%Ss' not found", name);
19577 
19578             PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19579             return (opcode_t *)dest;
19580         }
19581 
19582         PREG(1) = Parrot_pmc_new(interp, type);
19583     }
19584 
19585     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19586     return cur_opcode + 3;
19587 }
19588 
19589 opcode_t *
Parrot_new_p_s_p(opcode_t * cur_opcode,PARROT_INTERP)19590 Parrot_new_p_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
19591     STRING  * const  name = SREG(2);
19592     PMC     * const  _class = Parrot_pcc_get_HLL(interp, CURRENT_CONTEXT(interp)) ? Parrot_oo_get_class_str(interp, name) : PMCNULL;
19593 
19594     if (!PMC_IS_NULL(_class)) {
19595         PREG(1) = VTABLE_instantiate(interp, _class, PREG(3));
19596     }
19597     else {
19598         const INTVAL   type = Parrot_pmc_get_type_str(interp, name);
19599 
19600         if (type <= 0) {
19601             opcode_t  * const  dest = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 4, EXCEPTION_NO_CLASS, "Class '%Ss' not found", name);
19602 
19603             PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19604             return (opcode_t *)dest;
19605         }
19606 
19607         PREG(1) = Parrot_pmc_new_init(interp, type, PREG(3));
19608     }
19609 
19610     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19611     return cur_opcode + 4;
19612 }
19613 
19614 opcode_t *
Parrot_new_p_sc_p(opcode_t * cur_opcode,PARROT_INTERP)19615 Parrot_new_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
19616     STRING  * const  name = SCONST(2);
19617     PMC     * const  _class = Parrot_pcc_get_HLL(interp, CURRENT_CONTEXT(interp)) ? Parrot_oo_get_class_str(interp, name) : PMCNULL;
19618 
19619     if (!PMC_IS_NULL(_class)) {
19620         PREG(1) = VTABLE_instantiate(interp, _class, PREG(3));
19621     }
19622     else {
19623         const INTVAL   type = Parrot_pmc_get_type_str(interp, name);
19624 
19625         if (type <= 0) {
19626             opcode_t  * const  dest = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 4, EXCEPTION_NO_CLASS, "Class '%Ss' not found", name);
19627 
19628             PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19629             return (opcode_t *)dest;
19630         }
19631 
19632         PREG(1) = Parrot_pmc_new_init(interp, type, PREG(3));
19633     }
19634 
19635     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19636     return cur_opcode + 4;
19637 }
19638 
19639 opcode_t *
Parrot_new_p_s_pc(opcode_t * cur_opcode,PARROT_INTERP)19640 Parrot_new_p_s_pc(opcode_t *cur_opcode, PARROT_INTERP) {
19641     STRING  * const  name = SREG(2);
19642     PMC     * const  _class = Parrot_pcc_get_HLL(interp, CURRENT_CONTEXT(interp)) ? Parrot_oo_get_class_str(interp, name) : PMCNULL;
19643 
19644     if (!PMC_IS_NULL(_class)) {
19645         PREG(1) = VTABLE_instantiate(interp, _class, PCONST(3));
19646     }
19647     else {
19648         const INTVAL   type = Parrot_pmc_get_type_str(interp, name);
19649 
19650         if (type <= 0) {
19651             opcode_t  * const  dest = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 4, EXCEPTION_NO_CLASS, "Class '%Ss' not found", name);
19652 
19653             PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19654             return (opcode_t *)dest;
19655         }
19656 
19657         PREG(1) = Parrot_pmc_new_init(interp, type, PCONST(3));
19658     }
19659 
19660     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19661     return cur_opcode + 4;
19662 }
19663 
19664 opcode_t *
Parrot_new_p_sc_pc(opcode_t * cur_opcode,PARROT_INTERP)19665 Parrot_new_p_sc_pc(opcode_t *cur_opcode, PARROT_INTERP) {
19666     STRING  * const  name = SCONST(2);
19667     PMC     * const  _class = Parrot_pcc_get_HLL(interp, CURRENT_CONTEXT(interp)) ? Parrot_oo_get_class_str(interp, name) : PMCNULL;
19668 
19669     if (!PMC_IS_NULL(_class)) {
19670         PREG(1) = VTABLE_instantiate(interp, _class, PCONST(3));
19671     }
19672     else {
19673         const INTVAL   type = Parrot_pmc_get_type_str(interp, name);
19674 
19675         if (type <= 0) {
19676             opcode_t  * const  dest = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 4, EXCEPTION_NO_CLASS, "Class '%Ss' not found", name);
19677 
19678             PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19679             return (opcode_t *)dest;
19680         }
19681 
19682         PREG(1) = Parrot_pmc_new_init(interp, type, PCONST(3));
19683     }
19684 
19685     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19686     return cur_opcode + 4;
19687 }
19688 
19689 opcode_t *
Parrot_new_p_p(opcode_t * cur_opcode,PARROT_INTERP)19690 Parrot_new_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
19691     PMC  * const  name_key = PREG(2);
19692     PMC  * const  _class = Parrot_oo_get_class(interp, name_key);
19693 
19694     if (!PMC_IS_NULL(_class)) {
19695         PREG(1) = VTABLE_instantiate(interp, _class, PMCNULL);
19696     }
19697     else {
19698         const INTVAL   type = Parrot_pmc_get_type(interp, name_key);
19699 
19700         if (type <= 0) {
19701             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));
19702 
19703             PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19704             return (opcode_t *)dest;
19705         }
19706 
19707         PREG(1) = Parrot_pmc_new(interp, type);
19708     }
19709 
19710     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19711     return cur_opcode + 3;
19712 }
19713 
19714 opcode_t *
Parrot_new_p_pc(opcode_t * cur_opcode,PARROT_INTERP)19715 Parrot_new_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
19716     PMC  * const  name_key = PCONST(2);
19717     PMC  * const  _class = Parrot_oo_get_class(interp, name_key);
19718 
19719     if (!PMC_IS_NULL(_class)) {
19720         PREG(1) = VTABLE_instantiate(interp, _class, PMCNULL);
19721     }
19722     else {
19723         const INTVAL   type = Parrot_pmc_get_type(interp, name_key);
19724 
19725         if (type <= 0) {
19726             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));
19727 
19728             PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19729             return (opcode_t *)dest;
19730         }
19731 
19732         PREG(1) = Parrot_pmc_new(interp, type);
19733     }
19734 
19735     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19736     return cur_opcode + 3;
19737 }
19738 
19739 opcode_t *
Parrot_new_p_p_p(opcode_t * cur_opcode,PARROT_INTERP)19740 Parrot_new_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
19741     PMC  * const  name_key = PREG(2);
19742     PMC  * const  _class = Parrot_oo_get_class(interp, name_key);
19743 
19744     if (!PMC_IS_NULL(_class)) {
19745         PREG(1) = VTABLE_instantiate(interp, _class, PREG(3));
19746     }
19747     else {
19748         const INTVAL   type = Parrot_pmc_get_type(interp, name_key);
19749 
19750         if (type <= 0) {
19751             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));
19752 
19753             PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19754             return (opcode_t *)dest;
19755         }
19756 
19757         PREG(1) = Parrot_pmc_new_init(interp, type, PREG(3));
19758     }
19759 
19760     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19761     return cur_opcode + 4;
19762 }
19763 
19764 opcode_t *
Parrot_new_p_pc_p(opcode_t * cur_opcode,PARROT_INTERP)19765 Parrot_new_p_pc_p(opcode_t *cur_opcode, PARROT_INTERP) {
19766     PMC  * const  name_key = PCONST(2);
19767     PMC  * const  _class = Parrot_oo_get_class(interp, name_key);
19768 
19769     if (!PMC_IS_NULL(_class)) {
19770         PREG(1) = VTABLE_instantiate(interp, _class, PREG(3));
19771     }
19772     else {
19773         const INTVAL   type = Parrot_pmc_get_type(interp, name_key);
19774 
19775         if (type <= 0) {
19776             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));
19777 
19778             PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19779             return (opcode_t *)dest;
19780         }
19781 
19782         PREG(1) = Parrot_pmc_new_init(interp, type, PREG(3));
19783     }
19784 
19785     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19786     return cur_opcode + 4;
19787 }
19788 
19789 opcode_t *
Parrot_new_p_p_pc(opcode_t * cur_opcode,PARROT_INTERP)19790 Parrot_new_p_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
19791     PMC  * const  name_key = PREG(2);
19792     PMC  * const  _class = Parrot_oo_get_class(interp, name_key);
19793 
19794     if (!PMC_IS_NULL(_class)) {
19795         PREG(1) = VTABLE_instantiate(interp, _class, PCONST(3));
19796     }
19797     else {
19798         const INTVAL   type = Parrot_pmc_get_type(interp, name_key);
19799 
19800         if (type <= 0) {
19801             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));
19802 
19803             PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19804             return (opcode_t *)dest;
19805         }
19806 
19807         PREG(1) = Parrot_pmc_new_init(interp, type, PCONST(3));
19808     }
19809 
19810     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19811     return cur_opcode + 4;
19812 }
19813 
19814 opcode_t *
Parrot_new_p_pc_pc(opcode_t * cur_opcode,PARROT_INTERP)19815 Parrot_new_p_pc_pc(opcode_t *cur_opcode, PARROT_INTERP) {
19816     PMC  * const  name_key = PCONST(2);
19817     PMC  * const  _class = Parrot_oo_get_class(interp, name_key);
19818 
19819     if (!PMC_IS_NULL(_class)) {
19820         PREG(1) = VTABLE_instantiate(interp, _class, PCONST(3));
19821     }
19822     else {
19823         const INTVAL   type = Parrot_pmc_get_type(interp, name_key);
19824 
19825         if (type <= 0) {
19826             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));
19827 
19828             PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19829             return (opcode_t *)dest;
19830         }
19831 
19832         PREG(1) = Parrot_pmc_new_init(interp, type, PCONST(3));
19833     }
19834 
19835     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19836     return cur_opcode + 4;
19837 }
19838 
19839 opcode_t *
Parrot_root_new_p_p(opcode_t * cur_opcode,PARROT_INTERP)19840 Parrot_root_new_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
19841     PMC  * const  key = PREG(2);
19842     PMC  * const  root_ns = interp->root_namespace;
19843     PMC  * const  ns = Parrot_ns_get_namespace_keyed(interp, root_ns, key);
19844     PMC  *  classobj = PMCNULL;
19845 
19846     if (!PMC_IS_NULL(ns)) {
19847         classobj = Parrot_oo_get_class(interp, ns);
19848     }
19849 
19850     if (!PMC_IS_NULL(classobj)) {
19851         PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
19852     }
19853     else {
19854         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));
19855 
19856         PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19857         return (opcode_t *)dest;
19858     }
19859 
19860     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19861     return cur_opcode + 3;
19862 }
19863 
19864 opcode_t *
Parrot_root_new_p_pc(opcode_t * cur_opcode,PARROT_INTERP)19865 Parrot_root_new_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
19866     PMC  * const  key = PCONST(2);
19867     PMC  * const  root_ns = interp->root_namespace;
19868     PMC  * const  ns = Parrot_ns_get_namespace_keyed(interp, root_ns, key);
19869     PMC  *  classobj = PMCNULL;
19870 
19871     if (!PMC_IS_NULL(ns)) {
19872         classobj = Parrot_oo_get_class(interp, ns);
19873     }
19874 
19875     if (!PMC_IS_NULL(classobj)) {
19876         PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
19877     }
19878     else {
19879         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));
19880 
19881         PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19882         return (opcode_t *)dest;
19883     }
19884 
19885     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19886     return cur_opcode + 3;
19887 }
19888 
19889 opcode_t *
Parrot_root_new_p_p_p(opcode_t * cur_opcode,PARROT_INTERP)19890 Parrot_root_new_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
19891     PMC  * const  key = PREG(2);
19892     PMC  * const  root_ns = interp->root_namespace;
19893     PMC  * const  ns = Parrot_ns_get_namespace_keyed(interp, root_ns, key);
19894     PMC  *  classobj = PMCNULL;
19895 
19896     if (!PMC_IS_NULL(ns)) {
19897         classobj = Parrot_oo_get_class(interp, ns);
19898     }
19899 
19900     if (!PMC_IS_NULL(classobj)) {
19901         PREG(1) = VTABLE_instantiate(interp, classobj, PREG(3));
19902     }
19903     else {
19904         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));
19905 
19906         PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19907         return (opcode_t *)dest;
19908     }
19909 
19910     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19911     return cur_opcode + 4;
19912 }
19913 
19914 opcode_t *
Parrot_root_new_p_pc_p(opcode_t * cur_opcode,PARROT_INTERP)19915 Parrot_root_new_p_pc_p(opcode_t *cur_opcode, PARROT_INTERP) {
19916     PMC  * const  key = PCONST(2);
19917     PMC  * const  root_ns = interp->root_namespace;
19918     PMC  * const  ns = Parrot_ns_get_namespace_keyed(interp, root_ns, key);
19919     PMC  *  classobj = PMCNULL;
19920 
19921     if (!PMC_IS_NULL(ns)) {
19922         classobj = Parrot_oo_get_class(interp, ns);
19923     }
19924 
19925     if (!PMC_IS_NULL(classobj)) {
19926         PREG(1) = VTABLE_instantiate(interp, classobj, PREG(3));
19927     }
19928     else {
19929         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));
19930 
19931         PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19932         return (opcode_t *)dest;
19933     }
19934 
19935     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19936     return cur_opcode + 4;
19937 }
19938 
19939 opcode_t *
Parrot_root_new_p_p_pc(opcode_t * cur_opcode,PARROT_INTERP)19940 Parrot_root_new_p_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
19941     PMC  * const  key = PREG(2);
19942     PMC  * const  root_ns = interp->root_namespace;
19943     PMC  * const  ns = Parrot_ns_get_namespace_keyed(interp, root_ns, key);
19944     PMC  *  classobj = PMCNULL;
19945 
19946     if (!PMC_IS_NULL(ns)) {
19947         classobj = Parrot_oo_get_class(interp, ns);
19948     }
19949 
19950     if (!PMC_IS_NULL(classobj)) {
19951         PREG(1) = VTABLE_instantiate(interp, classobj, PCONST(3));
19952     }
19953     else {
19954         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));
19955 
19956         PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19957         return (opcode_t *)dest;
19958     }
19959 
19960     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19961     return cur_opcode + 4;
19962 }
19963 
19964 opcode_t *
Parrot_root_new_p_pc_pc(opcode_t * cur_opcode,PARROT_INTERP)19965 Parrot_root_new_p_pc_pc(opcode_t *cur_opcode, PARROT_INTERP) {
19966     PMC  * const  key = PCONST(2);
19967     PMC  * const  root_ns = interp->root_namespace;
19968     PMC  * const  ns = Parrot_ns_get_namespace_keyed(interp, root_ns, key);
19969     PMC  *  classobj = PMCNULL;
19970 
19971     if (!PMC_IS_NULL(ns)) {
19972         classobj = Parrot_oo_get_class(interp, ns);
19973     }
19974 
19975     if (!PMC_IS_NULL(classobj)) {
19976         PREG(1) = VTABLE_instantiate(interp, classobj, PCONST(3));
19977     }
19978     else {
19979         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));
19980 
19981         PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19982         return (opcode_t *)dest;
19983     }
19984 
19985     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19986     return cur_opcode + 4;
19987 }
19988 
19989 opcode_t *
Parrot_typeof_s_p(opcode_t * cur_opcode,PARROT_INTERP)19990 Parrot_typeof_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
19991     SREG(1) = VTABLE_name(interp, PREG(2));
19992     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
19993     return cur_opcode + 3;
19994 }
19995 
19996 opcode_t *
Parrot_typeof_p_p(opcode_t * cur_opcode,PARROT_INTERP)19997 Parrot_typeof_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
19998     PREG(1) = VTABLE_get_class(interp, PREG(2));
19999     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
20000     return cur_opcode + 3;
20001 }
20002 
20003 opcode_t *
Parrot_get_repr_s_p(opcode_t * cur_opcode,PARROT_INTERP)20004 Parrot_get_repr_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
20005     SREG(1) = VTABLE_get_repr(interp, PREG(2));
20006     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
20007     return cur_opcode + 3;
20008 }
20009 
20010 opcode_t *
Parrot_find_method_p_p_s(opcode_t * cur_opcode,PARROT_INTERP)20011 Parrot_find_method_p_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
20012     opcode_t  * const  resume =  cur_opcode + 4;
20013 
20014     PREG(1) = VTABLE_find_method(interp, PREG(2), SREG(3));
20015     if (PMC_IS_NULL(PREG(1)) || (!VTABLE_defined(interp, PREG(1)))) {
20016         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))));
20017 
20018         PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
20019         return (opcode_t *)dest;
20020     }
20021 
20022     {
20023         PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
20024         return (opcode_t *)resume;
20025     }
20026 
20027 }
20028 
20029 opcode_t *
Parrot_find_method_p_p_sc(opcode_t * cur_opcode,PARROT_INTERP)20030 Parrot_find_method_p_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
20031     opcode_t  * const  resume =  cur_opcode + 4;
20032 
20033     PREG(1) = VTABLE_find_method(interp, PREG(2), SCONST(3));
20034     if (PMC_IS_NULL(PREG(1)) || (!VTABLE_defined(interp, PREG(1)))) {
20035         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))));
20036 
20037         PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
20038         return (opcode_t *)dest;
20039     }
20040 
20041     {
20042         PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
20043         return (opcode_t *)resume;
20044     }
20045 
20046 }
20047 
20048 opcode_t *
Parrot_defined_i_p(opcode_t * cur_opcode,PARROT_INTERP)20049 Parrot_defined_i_p(opcode_t *cur_opcode, PARROT_INTERP) {
20050     IREG(1) = PMC_IS_NULL(PREG(2)) ? 0 : VTABLE_defined(interp, PREG(2));
20051     return cur_opcode + 3;
20052 }
20053 
20054 opcode_t *
Parrot_defined_i_p_ki(opcode_t * cur_opcode,PARROT_INTERP)20055 Parrot_defined_i_p_ki(opcode_t *cur_opcode, PARROT_INTERP) {
20056     IREG(1) = PMC_IS_NULL(PREG(2)) ? 0 : VTABLE_defined_keyed_int(interp, PREG(2), IREG(3));
20057     return cur_opcode + 4;
20058 }
20059 
20060 opcode_t *
Parrot_defined_i_p_kic(opcode_t * cur_opcode,PARROT_INTERP)20061 Parrot_defined_i_p_kic(opcode_t *cur_opcode, PARROT_INTERP) {
20062     IREG(1) = PMC_IS_NULL(PREG(2)) ? 0 : VTABLE_defined_keyed_int(interp, PREG(2), ICONST(3));
20063     return cur_opcode + 4;
20064 }
20065 
20066 opcode_t *
Parrot_defined_i_p_k(opcode_t * cur_opcode,PARROT_INTERP)20067 Parrot_defined_i_p_k(opcode_t *cur_opcode, PARROT_INTERP) {
20068     IREG(1) = PMC_IS_NULL(PREG(2)) ? 0 : VTABLE_defined_keyed(interp, PREG(2), PREG(3));
20069     return cur_opcode + 4;
20070 }
20071 
20072 opcode_t *
Parrot_defined_i_p_kc(opcode_t * cur_opcode,PARROT_INTERP)20073 Parrot_defined_i_p_kc(opcode_t *cur_opcode, PARROT_INTERP) {
20074     IREG(1) = PMC_IS_NULL(PREG(2)) ? 0 : VTABLE_defined_keyed(interp, PREG(2), PCONST(3));
20075     return cur_opcode + 4;
20076 }
20077 
20078 opcode_t *
Parrot_exists_i_p_ki(opcode_t * cur_opcode,PARROT_INTERP)20079 Parrot_exists_i_p_ki(opcode_t *cur_opcode, PARROT_INTERP) {
20080     IREG(1) = PMC_IS_NULL(PREG(2)) ? 0 : VTABLE_exists_keyed_int(interp, PREG(2), IREG(3));
20081     return cur_opcode + 4;
20082 }
20083 
20084 opcode_t *
Parrot_exists_i_p_kic(opcode_t * cur_opcode,PARROT_INTERP)20085 Parrot_exists_i_p_kic(opcode_t *cur_opcode, PARROT_INTERP) {
20086     IREG(1) = PMC_IS_NULL(PREG(2)) ? 0 : VTABLE_exists_keyed_int(interp, PREG(2), ICONST(3));
20087     return cur_opcode + 4;
20088 }
20089 
20090 opcode_t *
Parrot_exists_i_p_k(opcode_t * cur_opcode,PARROT_INTERP)20091 Parrot_exists_i_p_k(opcode_t *cur_opcode, PARROT_INTERP) {
20092     IREG(1) = PMC_IS_NULL(PREG(2)) ? 0 : VTABLE_exists_keyed(interp, PREG(2), PREG(3));
20093     return cur_opcode + 4;
20094 }
20095 
20096 opcode_t *
Parrot_exists_i_p_kc(opcode_t * cur_opcode,PARROT_INTERP)20097 Parrot_exists_i_p_kc(opcode_t *cur_opcode, PARROT_INTERP) {
20098     IREG(1) = PMC_IS_NULL(PREG(2)) ? 0 : VTABLE_exists_keyed(interp, PREG(2), PCONST(3));
20099     return cur_opcode + 4;
20100 }
20101 
20102 opcode_t *
Parrot_delete_p_k(opcode_t * cur_opcode,PARROT_INTERP)20103 Parrot_delete_p_k(opcode_t *cur_opcode, PARROT_INTERP) {
20104     VTABLE_delete_keyed(interp, PREG(1), PREG(2));
20105     return cur_opcode + 3;
20106 }
20107 
20108 opcode_t *
Parrot_delete_p_kc(opcode_t * cur_opcode,PARROT_INTERP)20109 Parrot_delete_p_kc(opcode_t *cur_opcode, PARROT_INTERP) {
20110     VTABLE_delete_keyed(interp, PREG(1), PCONST(2));
20111     return cur_opcode + 3;
20112 }
20113 
20114 opcode_t *
Parrot_delete_p_ki(opcode_t * cur_opcode,PARROT_INTERP)20115 Parrot_delete_p_ki(opcode_t *cur_opcode, PARROT_INTERP) {
20116     VTABLE_delete_keyed_int(interp, PREG(1), IREG(2));
20117     return cur_opcode + 3;
20118 }
20119 
20120 opcode_t *
Parrot_delete_p_kic(opcode_t * cur_opcode,PARROT_INTERP)20121 Parrot_delete_p_kic(opcode_t *cur_opcode, PARROT_INTERP) {
20122     VTABLE_delete_keyed_int(interp, PREG(1), ICONST(2));
20123     return cur_opcode + 3;
20124 }
20125 
20126 opcode_t *
Parrot_elements_i_p(opcode_t * cur_opcode,PARROT_INTERP)20127 Parrot_elements_i_p(opcode_t *cur_opcode, PARROT_INTERP) {
20128     IREG(1) = VTABLE_elements(interp, PREG(2));
20129     return cur_opcode + 3;
20130 }
20131 
20132 opcode_t *
Parrot_push_p_i(opcode_t * cur_opcode,PARROT_INTERP)20133 Parrot_push_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
20134     VTABLE_push_integer(interp, PREG(1), IREG(2));
20135     return cur_opcode + 3;
20136 }
20137 
20138 opcode_t *
Parrot_push_p_ic(opcode_t * cur_opcode,PARROT_INTERP)20139 Parrot_push_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
20140     VTABLE_push_integer(interp, PREG(1), ICONST(2));
20141     return cur_opcode + 3;
20142 }
20143 
20144 opcode_t *
Parrot_push_p_n(opcode_t * cur_opcode,PARROT_INTERP)20145 Parrot_push_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
20146     VTABLE_push_float(interp, PREG(1), NREG(2));
20147     return cur_opcode + 3;
20148 }
20149 
20150 opcode_t *
Parrot_push_p_nc(opcode_t * cur_opcode,PARROT_INTERP)20151 Parrot_push_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
20152     VTABLE_push_float(interp, PREG(1), NCONST(2));
20153     return cur_opcode + 3;
20154 }
20155 
20156 opcode_t *
Parrot_push_p_s(opcode_t * cur_opcode,PARROT_INTERP)20157 Parrot_push_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
20158     VTABLE_push_string(interp, PREG(1), SREG(2));
20159     return cur_opcode + 3;
20160 }
20161 
20162 opcode_t *
Parrot_push_p_sc(opcode_t * cur_opcode,PARROT_INTERP)20163 Parrot_push_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
20164     VTABLE_push_string(interp, PREG(1), SCONST(2));
20165     return cur_opcode + 3;
20166 }
20167 
20168 opcode_t *
Parrot_push_p_p(opcode_t * cur_opcode,PARROT_INTERP)20169 Parrot_push_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
20170     VTABLE_push_pmc(interp, PREG(1), PREG(2));
20171     return cur_opcode + 3;
20172 }
20173 
20174 opcode_t *
Parrot_pop_i_p(opcode_t * cur_opcode,PARROT_INTERP)20175 Parrot_pop_i_p(opcode_t *cur_opcode, PARROT_INTERP) {
20176     IREG(1) = VTABLE_pop_integer(interp, PREG(2));
20177     return cur_opcode + 3;
20178 }
20179 
20180 opcode_t *
Parrot_pop_n_p(opcode_t * cur_opcode,PARROT_INTERP)20181 Parrot_pop_n_p(opcode_t *cur_opcode, PARROT_INTERP) {
20182     NREG(1) = VTABLE_pop_float(interp, PREG(2));
20183     return cur_opcode + 3;
20184 }
20185 
20186 opcode_t *
Parrot_pop_s_p(opcode_t * cur_opcode,PARROT_INTERP)20187 Parrot_pop_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
20188     SREG(1) = VTABLE_pop_string(interp, PREG(2));
20189     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
20190     return cur_opcode + 3;
20191 }
20192 
20193 opcode_t *
Parrot_pop_p_p(opcode_t * cur_opcode,PARROT_INTERP)20194 Parrot_pop_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
20195     PREG(1) = VTABLE_pop_pmc(interp, PREG(2));
20196     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
20197     return cur_opcode + 3;
20198 }
20199 
20200 opcode_t *
Parrot_unshift_p_i(opcode_t * cur_opcode,PARROT_INTERP)20201 Parrot_unshift_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
20202     VTABLE_unshift_integer(interp, PREG(1), IREG(2));
20203     return cur_opcode + 3;
20204 }
20205 
20206 opcode_t *
Parrot_unshift_p_ic(opcode_t * cur_opcode,PARROT_INTERP)20207 Parrot_unshift_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
20208     VTABLE_unshift_integer(interp, PREG(1), ICONST(2));
20209     return cur_opcode + 3;
20210 }
20211 
20212 opcode_t *
Parrot_unshift_p_n(opcode_t * cur_opcode,PARROT_INTERP)20213 Parrot_unshift_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
20214     VTABLE_unshift_float(interp, PREG(1), NREG(2));
20215     return cur_opcode + 3;
20216 }
20217 
20218 opcode_t *
Parrot_unshift_p_nc(opcode_t * cur_opcode,PARROT_INTERP)20219 Parrot_unshift_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
20220     VTABLE_unshift_float(interp, PREG(1), NCONST(2));
20221     return cur_opcode + 3;
20222 }
20223 
20224 opcode_t *
Parrot_unshift_p_s(opcode_t * cur_opcode,PARROT_INTERP)20225 Parrot_unshift_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
20226     VTABLE_unshift_string(interp, PREG(1), SREG(2));
20227     return cur_opcode + 3;
20228 }
20229 
20230 opcode_t *
Parrot_unshift_p_sc(opcode_t * cur_opcode,PARROT_INTERP)20231 Parrot_unshift_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
20232     VTABLE_unshift_string(interp, PREG(1), SCONST(2));
20233     return cur_opcode + 3;
20234 }
20235 
20236 opcode_t *
Parrot_unshift_p_p(opcode_t * cur_opcode,PARROT_INTERP)20237 Parrot_unshift_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
20238     VTABLE_unshift_pmc(interp, PREG(1), PREG(2));
20239     return cur_opcode + 3;
20240 }
20241 
20242 opcode_t *
Parrot_shift_i_p(opcode_t * cur_opcode,PARROT_INTERP)20243 Parrot_shift_i_p(opcode_t *cur_opcode, PARROT_INTERP) {
20244     IREG(1) = VTABLE_shift_integer(interp, PREG(2));
20245     return cur_opcode + 3;
20246 }
20247 
20248 opcode_t *
Parrot_shift_n_p(opcode_t * cur_opcode,PARROT_INTERP)20249 Parrot_shift_n_p(opcode_t *cur_opcode, PARROT_INTERP) {
20250     NREG(1) = VTABLE_shift_float(interp, PREG(2));
20251     return cur_opcode + 3;
20252 }
20253 
20254 opcode_t *
Parrot_shift_s_p(opcode_t * cur_opcode,PARROT_INTERP)20255 Parrot_shift_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
20256     SREG(1) = VTABLE_shift_string(interp, PREG(2));
20257     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
20258     return cur_opcode + 3;
20259 }
20260 
20261 opcode_t *
Parrot_shift_p_p(opcode_t * cur_opcode,PARROT_INTERP)20262 Parrot_shift_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
20263     PREG(1) = VTABLE_shift_pmc(interp, PREG(2));
20264     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
20265     return cur_opcode + 3;
20266 }
20267 
20268 opcode_t *
Parrot_splice_p_p_i_i(opcode_t * cur_opcode,PARROT_INTERP)20269 Parrot_splice_p_p_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
20270     VTABLE_splice(interp, PREG(1), PREG(2), IREG(3), IREG(4));
20271     return cur_opcode + 5;
20272 }
20273 
20274 opcode_t *
Parrot_splice_p_p_ic_i(opcode_t * cur_opcode,PARROT_INTERP)20275 Parrot_splice_p_p_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
20276     VTABLE_splice(interp, PREG(1), PREG(2), ICONST(3), IREG(4));
20277     return cur_opcode + 5;
20278 }
20279 
20280 opcode_t *
Parrot_splice_p_p_i_ic(opcode_t * cur_opcode,PARROT_INTERP)20281 Parrot_splice_p_p_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
20282     VTABLE_splice(interp, PREG(1), PREG(2), IREG(3), ICONST(4));
20283     return cur_opcode + 5;
20284 }
20285 
20286 opcode_t *
Parrot_splice_p_p_ic_ic(opcode_t * cur_opcode,PARROT_INTERP)20287 Parrot_splice_p_p_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
20288     VTABLE_splice(interp, PREG(1), PREG(2), ICONST(3), ICONST(4));
20289     return cur_opcode + 5;
20290 }
20291 
20292 opcode_t *
Parrot_setprop_p_s_p(opcode_t * cur_opcode,PARROT_INTERP)20293 Parrot_setprop_p_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
20294     Parrot_pmc_setprop(interp, PREG(1), SREG(2), PREG(3));
20295     return cur_opcode + 4;
20296 }
20297 
20298 opcode_t *
Parrot_setprop_p_sc_p(opcode_t * cur_opcode,PARROT_INTERP)20299 Parrot_setprop_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
20300     Parrot_pmc_setprop(interp, PREG(1), SCONST(2), PREG(3));
20301     return cur_opcode + 4;
20302 }
20303 
20304 opcode_t *
Parrot_getprop_p_s_p(opcode_t * cur_opcode,PARROT_INTERP)20305 Parrot_getprop_p_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
20306     Parrot_warn_deprecated(interp, "getprop_p_s_p is deprecated. Use getprop_p_p_s instead");
20307     PREG(1) = Parrot_pmc_getprop(interp, PREG(3), SREG(2));
20308     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
20309     return cur_opcode + 4;
20310 }
20311 
20312 opcode_t *
Parrot_getprop_p_sc_p(opcode_t * cur_opcode,PARROT_INTERP)20313 Parrot_getprop_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
20314     Parrot_warn_deprecated(interp, "getprop_p_s_p is deprecated. Use getprop_p_p_s instead");
20315     PREG(1) = Parrot_pmc_getprop(interp, PREG(3), SCONST(2));
20316     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
20317     return cur_opcode + 4;
20318 }
20319 
20320 opcode_t *
Parrot_getprop_p_p_s(opcode_t * cur_opcode,PARROT_INTERP)20321 Parrot_getprop_p_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
20322     PREG(1) = Parrot_pmc_getprop(interp, PREG(2), SREG(3));
20323     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
20324     return cur_opcode + 4;
20325 }
20326 
20327 opcode_t *
Parrot_getprop_p_p_sc(opcode_t * cur_opcode,PARROT_INTERP)20328 Parrot_getprop_p_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
20329     PREG(1) = Parrot_pmc_getprop(interp, PREG(2), SCONST(3));
20330     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
20331     return cur_opcode + 4;
20332 }
20333 
20334 opcode_t *
Parrot_delprop_p_s(opcode_t * cur_opcode,PARROT_INTERP)20335 Parrot_delprop_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
20336     Parrot_pmc_delprop(interp, PREG(1), SREG(2));
20337     return cur_opcode + 3;
20338 }
20339 
20340 opcode_t *
Parrot_delprop_p_sc(opcode_t * cur_opcode,PARROT_INTERP)20341 Parrot_delprop_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
20342     Parrot_pmc_delprop(interp, PREG(1), SCONST(2));
20343     return cur_opcode + 3;
20344 }
20345 
20346 opcode_t *
Parrot_prophash_p_p(opcode_t * cur_opcode,PARROT_INTERP)20347 Parrot_prophash_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
20348     PREG(1) = Parrot_pmc_getprops(interp, PREG(2));
20349     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
20350     return cur_opcode + 3;
20351 }
20352 
20353 opcode_t *
Parrot_freeze_s_p(opcode_t * cur_opcode,PARROT_INTERP)20354 Parrot_freeze_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
20355     SREG(1) = Parrot_freeze(interp, PREG(2));
20356     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
20357     return cur_opcode + 3;
20358 }
20359 
20360 opcode_t *
Parrot_thaw_p_s(opcode_t * cur_opcode,PARROT_INTERP)20361 Parrot_thaw_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
20362     PREG(1) = Parrot_thaw(interp, SREG(2));
20363     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
20364     return cur_opcode + 3;
20365 }
20366 
20367 opcode_t *
Parrot_thaw_p_sc(opcode_t * cur_opcode,PARROT_INTERP)20368 Parrot_thaw_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
20369     PREG(1) = Parrot_thaw(interp, SCONST(2));
20370     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
20371     return cur_opcode + 3;
20372 }
20373 
20374 opcode_t *
Parrot_add_multi_s_s_p(opcode_t * cur_opcode,PARROT_INTERP)20375 Parrot_add_multi_s_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
20376     Parrot_mmd_add_multi_from_long_sig(interp, SREG(1), SREG(2), PREG(3));
20377     return cur_opcode + 4;
20378 }
20379 
20380 opcode_t *
Parrot_add_multi_sc_s_p(opcode_t * cur_opcode,PARROT_INTERP)20381 Parrot_add_multi_sc_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
20382     Parrot_mmd_add_multi_from_long_sig(interp, SCONST(1), SREG(2), PREG(3));
20383     return cur_opcode + 4;
20384 }
20385 
20386 opcode_t *
Parrot_add_multi_s_sc_p(opcode_t * cur_opcode,PARROT_INTERP)20387 Parrot_add_multi_s_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
20388     Parrot_mmd_add_multi_from_long_sig(interp, SREG(1), SCONST(2), PREG(3));
20389     return cur_opcode + 4;
20390 }
20391 
20392 opcode_t *
Parrot_add_multi_sc_sc_p(opcode_t * cur_opcode,PARROT_INTERP)20393 Parrot_add_multi_sc_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
20394     Parrot_mmd_add_multi_from_long_sig(interp, SCONST(1), SCONST(2), PREG(3));
20395     return cur_opcode + 4;
20396 }
20397 
20398 opcode_t *
Parrot_find_multi_p_s_s(opcode_t * cur_opcode,PARROT_INTERP)20399 Parrot_find_multi_p_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
20400     PREG(1) = Parrot_mmd_find_multi_from_long_sig(interp, SREG(2), SREG(3));
20401     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
20402     return cur_opcode + 4;
20403 }
20404 
20405 opcode_t *
Parrot_find_multi_p_sc_s(opcode_t * cur_opcode,PARROT_INTERP)20406 Parrot_find_multi_p_sc_s(opcode_t *cur_opcode, PARROT_INTERP) {
20407     PREG(1) = Parrot_mmd_find_multi_from_long_sig(interp, SCONST(2), SREG(3));
20408     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
20409     return cur_opcode + 4;
20410 }
20411 
20412 opcode_t *
Parrot_find_multi_p_s_sc(opcode_t * cur_opcode,PARROT_INTERP)20413 Parrot_find_multi_p_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
20414     PREG(1) = Parrot_mmd_find_multi_from_long_sig(interp, SREG(2), SCONST(3));
20415     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
20416     return cur_opcode + 4;
20417 }
20418 
20419 opcode_t *
Parrot_find_multi_p_sc_sc(opcode_t * cur_opcode,PARROT_INTERP)20420 Parrot_find_multi_p_sc_sc(opcode_t *cur_opcode, PARROT_INTERP) {
20421     PREG(1) = Parrot_mmd_find_multi_from_long_sig(interp, SCONST(2), SCONST(3));
20422     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
20423     return cur_opcode + 4;
20424 }
20425 
20426 opcode_t *
Parrot_register_p(opcode_t * cur_opcode,PARROT_INTERP)20427 Parrot_register_p(opcode_t *cur_opcode, PARROT_INTERP) {
20428     Parrot_pmc_gc_register(interp, PREG(1));
20429     return cur_opcode + 2;
20430 }
20431 
20432 opcode_t *
Parrot_unregister_p(opcode_t * cur_opcode,PARROT_INTERP)20433 Parrot_unregister_p(opcode_t *cur_opcode, PARROT_INTERP) {
20434     Parrot_pmc_gc_unregister(interp, PREG(1));
20435     return cur_opcode + 2;
20436 }
20437 
20438 opcode_t *
Parrot_box_p_i(opcode_t * cur_opcode,PARROT_INTERP)20439 Parrot_box_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
20440     PREG(1) = Parrot_pmc_box_integer(interp, IREG(2));
20441     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
20442     return cur_opcode + 3;
20443 }
20444 
20445 opcode_t *
Parrot_box_p_ic(opcode_t * cur_opcode,PARROT_INTERP)20446 Parrot_box_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
20447     PREG(1) = Parrot_pmc_box_integer(interp, ICONST(2));
20448     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
20449     return cur_opcode + 3;
20450 }
20451 
20452 opcode_t *
Parrot_box_p_n(opcode_t * cur_opcode,PARROT_INTERP)20453 Parrot_box_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
20454     PREG(1) = Parrot_pmc_box_number(interp, NREG(2));
20455     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
20456     return cur_opcode + 3;
20457 }
20458 
20459 opcode_t *
Parrot_box_p_nc(opcode_t * cur_opcode,PARROT_INTERP)20460 Parrot_box_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
20461     PREG(1) = Parrot_pmc_box_number(interp, NCONST(2));
20462     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
20463     return cur_opcode + 3;
20464 }
20465 
20466 opcode_t *
Parrot_box_p_s(opcode_t * cur_opcode,PARROT_INTERP)20467 Parrot_box_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
20468     PREG(1) = Parrot_pmc_box_string(interp, SREG(2));
20469     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
20470     return cur_opcode + 3;
20471 }
20472 
20473 opcode_t *
Parrot_box_p_sc(opcode_t * cur_opcode,PARROT_INTERP)20474 Parrot_box_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
20475     PREG(1) = Parrot_pmc_box_string(interp, SCONST(2));
20476     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
20477     return cur_opcode + 3;
20478 }
20479 
20480 opcode_t *
Parrot_iter_p_p(opcode_t * cur_opcode,PARROT_INTERP)20481 Parrot_iter_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
20482     PREG(1) = VTABLE_get_iter(interp, PREG(2));
20483     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
20484     return cur_opcode + 3;
20485 }
20486 
20487 opcode_t *
Parrot_morph_p_p(opcode_t * cur_opcode,PARROT_INTERP)20488 Parrot_morph_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
20489     VTABLE_morph(interp, PREG(1), PREG(2));
20490     return cur_opcode + 3;
20491 }
20492 
20493 opcode_t *
Parrot_morph_p_pc(opcode_t * cur_opcode,PARROT_INTERP)20494 Parrot_morph_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
20495     VTABLE_morph(interp, PREG(1), PCONST(2));
20496     return cur_opcode + 3;
20497 }
20498 
20499 opcode_t *
Parrot_clone_s_s(opcode_t * cur_opcode,PARROT_INTERP)20500 Parrot_clone_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
20501     SREG(1) = STRING_IS_NULL(SREG(2)) ? Parrot_str_new(interp, NULL, 0) : SREG(2);
20502     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
20503     return cur_opcode + 3;
20504 }
20505 
20506 opcode_t *
Parrot_clone_s_sc(opcode_t * cur_opcode,PARROT_INTERP)20507 Parrot_clone_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
20508     SREG(1) = STRING_IS_NULL(SCONST(2)) ? Parrot_str_new(interp, NULL, 0) : SCONST(2);
20509     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
20510     return cur_opcode + 3;
20511 }
20512 
20513 opcode_t *
Parrot_set_i_i(opcode_t * cur_opcode,PARROT_INTERP)20514 Parrot_set_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
20515     IREG(1) = IREG(2);
20516     return cur_opcode + 3;
20517 }
20518 
20519 opcode_t *
Parrot_set_i_ic(opcode_t * cur_opcode,PARROT_INTERP)20520 Parrot_set_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
20521     IREG(1) = ICONST(2);
20522     return cur_opcode + 3;
20523 }
20524 
20525 opcode_t *
Parrot_set_i_n(opcode_t * cur_opcode,PARROT_INTERP)20526 Parrot_set_i_n(opcode_t *cur_opcode, PARROT_INTERP) {
20527     IREG(1) = (INTVAL)NREG(2);
20528     return cur_opcode + 3;
20529 }
20530 
20531 opcode_t *
Parrot_set_i_nc(opcode_t * cur_opcode,PARROT_INTERP)20532 Parrot_set_i_nc(opcode_t *cur_opcode, PARROT_INTERP) {
20533     IREG(1) = (INTVAL)NCONST(2);
20534     return cur_opcode + 3;
20535 }
20536 
20537 opcode_t *
Parrot_set_i_s(opcode_t * cur_opcode,PARROT_INTERP)20538 Parrot_set_i_s(opcode_t *cur_opcode, PARROT_INTERP) {
20539     IREG(1) = Parrot_str_to_int(interp, SREG(2));
20540     return cur_opcode + 3;
20541 }
20542 
20543 opcode_t *
Parrot_set_i_sc(opcode_t * cur_opcode,PARROT_INTERP)20544 Parrot_set_i_sc(opcode_t *cur_opcode, PARROT_INTERP) {
20545     IREG(1) = Parrot_str_to_int(interp, SCONST(2));
20546     return cur_opcode + 3;
20547 }
20548 
20549 opcode_t *
Parrot_set_n_n(opcode_t * cur_opcode,PARROT_INTERP)20550 Parrot_set_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
20551     NREG(1) = NREG(2);
20552     return cur_opcode + 3;
20553 }
20554 
20555 opcode_t *
Parrot_set_n_nc(opcode_t * cur_opcode,PARROT_INTERP)20556 Parrot_set_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
20557     NREG(1) = NCONST(2);
20558     return cur_opcode + 3;
20559 }
20560 
20561 opcode_t *
Parrot_set_n_i(opcode_t * cur_opcode,PARROT_INTERP)20562 Parrot_set_n_i(opcode_t *cur_opcode, PARROT_INTERP) {
20563     NREG(1) = (FLOATVAL)IREG(2);
20564     return cur_opcode + 3;
20565 }
20566 
20567 opcode_t *
Parrot_set_n_ic(opcode_t * cur_opcode,PARROT_INTERP)20568 Parrot_set_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
20569     NREG(1) = (FLOATVAL)ICONST(2);
20570     return cur_opcode + 3;
20571 }
20572 
20573 opcode_t *
Parrot_set_n_s(opcode_t * cur_opcode,PARROT_INTERP)20574 Parrot_set_n_s(opcode_t *cur_opcode, PARROT_INTERP) {
20575     NREG(1) = Parrot_str_to_num(interp, SREG(2));
20576     return cur_opcode + 3;
20577 }
20578 
20579 opcode_t *
Parrot_set_n_sc(opcode_t * cur_opcode,PARROT_INTERP)20580 Parrot_set_n_sc(opcode_t *cur_opcode, PARROT_INTERP) {
20581     NREG(1) = Parrot_str_to_num(interp, SCONST(2));
20582     return cur_opcode + 3;
20583 }
20584 
20585 opcode_t *
Parrot_set_n_p(opcode_t * cur_opcode,PARROT_INTERP)20586 Parrot_set_n_p(opcode_t *cur_opcode, PARROT_INTERP) {
20587     NREG(1) = VTABLE_get_number(interp, PREG(2));
20588     return cur_opcode + 3;
20589 }
20590 
20591 opcode_t *
Parrot_set_s_p(opcode_t * cur_opcode,PARROT_INTERP)20592 Parrot_set_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
20593     SREG(1) = VTABLE_get_string(interp, PREG(2));
20594     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
20595     return cur_opcode + 3;
20596 }
20597 
20598 opcode_t *
Parrot_set_s_s(opcode_t * cur_opcode,PARROT_INTERP)20599 Parrot_set_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
20600     SREG(1) = SREG(2);
20601     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
20602     return cur_opcode + 3;
20603 }
20604 
20605 opcode_t *
Parrot_set_s_sc(opcode_t * cur_opcode,PARROT_INTERP)20606 Parrot_set_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
20607     SREG(1) = SCONST(2);
20608     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
20609     return cur_opcode + 3;
20610 }
20611 
20612 opcode_t *
Parrot_set_s_i(opcode_t * cur_opcode,PARROT_INTERP)20613 Parrot_set_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
20614     SREG(1) = Parrot_str_from_int(interp, IREG(2));
20615     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
20616     return cur_opcode + 3;
20617 }
20618 
20619 opcode_t *
Parrot_set_s_ic(opcode_t * cur_opcode,PARROT_INTERP)20620 Parrot_set_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
20621     SREG(1) = Parrot_str_from_int(interp, ICONST(2));
20622     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
20623     return cur_opcode + 3;
20624 }
20625 
20626 opcode_t *
Parrot_set_s_n(opcode_t * cur_opcode,PARROT_INTERP)20627 Parrot_set_s_n(opcode_t *cur_opcode, PARROT_INTERP) {
20628     SREG(1) = Parrot_str_from_num(interp, NREG(2));
20629     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
20630     return cur_opcode + 3;
20631 }
20632 
20633 opcode_t *
Parrot_set_s_nc(opcode_t * cur_opcode,PARROT_INTERP)20634 Parrot_set_s_nc(opcode_t *cur_opcode, PARROT_INTERP) {
20635     SREG(1) = Parrot_str_from_num(interp, NCONST(2));
20636     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
20637     return cur_opcode + 3;
20638 }
20639 
20640 opcode_t *
Parrot_set_p_pc(opcode_t * cur_opcode,PARROT_INTERP)20641 Parrot_set_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
20642     PARROT_ASSERT(((cur_opcode[2] >= 0) || (!"Empty PMC in set_p_pc")));
20643     PREG(1) = PCONST(2);
20644     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
20645     return cur_opcode + 3;
20646 }
20647 
20648 opcode_t *
Parrot_set_p_p(opcode_t * cur_opcode,PARROT_INTERP)20649 Parrot_set_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
20650     PARROT_ASSERT(((cur_opcode[2] >= 0) || (!"Empty PMC in set_p_p")));
20651     PREG(1) = PREG(2);
20652     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
20653     return cur_opcode + 3;
20654 }
20655 
20656 opcode_t *
Parrot_set_p_i(opcode_t * cur_opcode,PARROT_INTERP)20657 Parrot_set_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
20658     VTABLE_set_integer_native(interp, PREG(1), IREG(2));
20659     return cur_opcode + 3;
20660 }
20661 
20662 opcode_t *
Parrot_set_p_ic(opcode_t * cur_opcode,PARROT_INTERP)20663 Parrot_set_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
20664     VTABLE_set_integer_native(interp, PREG(1), ICONST(2));
20665     return cur_opcode + 3;
20666 }
20667 
20668 opcode_t *
Parrot_set_p_n(opcode_t * cur_opcode,PARROT_INTERP)20669 Parrot_set_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
20670     VTABLE_set_number_native(interp, PREG(1), NREG(2));
20671     return cur_opcode + 3;
20672 }
20673 
20674 opcode_t *
Parrot_set_p_nc(opcode_t * cur_opcode,PARROT_INTERP)20675 Parrot_set_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
20676     VTABLE_set_number_native(interp, PREG(1), NCONST(2));
20677     return cur_opcode + 3;
20678 }
20679 
20680 opcode_t *
Parrot_set_p_s(opcode_t * cur_opcode,PARROT_INTERP)20681 Parrot_set_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
20682     VTABLE_set_string_native(interp, PREG(1), SREG(2));
20683     return cur_opcode + 3;
20684 }
20685 
20686 opcode_t *
Parrot_set_p_sc(opcode_t * cur_opcode,PARROT_INTERP)20687 Parrot_set_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
20688     VTABLE_set_string_native(interp, PREG(1), SCONST(2));
20689     return cur_opcode + 3;
20690 }
20691 
20692 opcode_t *
Parrot_set_i_p(opcode_t * cur_opcode,PARROT_INTERP)20693 Parrot_set_i_p(opcode_t *cur_opcode, PARROT_INTERP) {
20694     IREG(1) = VTABLE_get_integer(interp, PREG(2));
20695     return cur_opcode + 3;
20696 }
20697 
20698 opcode_t *
Parrot_assign_p_p(opcode_t * cur_opcode,PARROT_INTERP)20699 Parrot_assign_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
20700     VTABLE_assign_pmc(interp, PREG(1), PREG(2));
20701     return cur_opcode + 3;
20702 }
20703 
20704 opcode_t *
Parrot_assign_p_i(opcode_t * cur_opcode,PARROT_INTERP)20705 Parrot_assign_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
20706     VTABLE_set_integer_native(interp, PREG(1), IREG(2));
20707     return cur_opcode + 3;
20708 }
20709 
20710 opcode_t *
Parrot_assign_p_ic(opcode_t * cur_opcode,PARROT_INTERP)20711 Parrot_assign_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
20712     VTABLE_set_integer_native(interp, PREG(1), ICONST(2));
20713     return cur_opcode + 3;
20714 }
20715 
20716 opcode_t *
Parrot_assign_p_n(opcode_t * cur_opcode,PARROT_INTERP)20717 Parrot_assign_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
20718     VTABLE_set_number_native(interp, PREG(1), NREG(2));
20719     return cur_opcode + 3;
20720 }
20721 
20722 opcode_t *
Parrot_assign_p_nc(opcode_t * cur_opcode,PARROT_INTERP)20723 Parrot_assign_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
20724     VTABLE_set_number_native(interp, PREG(1), NCONST(2));
20725     return cur_opcode + 3;
20726 }
20727 
20728 opcode_t *
Parrot_assign_p_s(opcode_t * cur_opcode,PARROT_INTERP)20729 Parrot_assign_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
20730     VTABLE_assign_string_native(interp, PREG(1), SREG(2));
20731     return cur_opcode + 3;
20732 }
20733 
20734 opcode_t *
Parrot_assign_p_sc(opcode_t * cur_opcode,PARROT_INTERP)20735 Parrot_assign_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
20736     VTABLE_assign_string_native(interp, PREG(1), SCONST(2));
20737     return cur_opcode + 3;
20738 }
20739 
20740 opcode_t *
Parrot_assign_s_s(opcode_t * cur_opcode,PARROT_INTERP)20741 Parrot_assign_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
20742     SREG(1) = SREG(2);
20743     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
20744     return cur_opcode + 3;
20745 }
20746 
20747 opcode_t *
Parrot_assign_s_sc(opcode_t * cur_opcode,PARROT_INTERP)20748 Parrot_assign_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
20749     SREG(1) = SCONST(2);
20750     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
20751     return cur_opcode + 3;
20752 }
20753 
20754 opcode_t *
Parrot_setref_p_p(opcode_t * cur_opcode,PARROT_INTERP)20755 Parrot_setref_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
20756     VTABLE_set_pmc(interp, PREG(1), PREG(2));
20757     return cur_opcode + 3;
20758 }
20759 
20760 opcode_t *
Parrot_deref_p_p(opcode_t * cur_opcode,PARROT_INTERP)20761 Parrot_deref_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
20762     PREG(1) = VTABLE_get_pmc(interp, PREG(2));
20763     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
20764     return cur_opcode + 3;
20765 }
20766 
20767 opcode_t *
Parrot_set_p_ki_i(opcode_t * cur_opcode,PARROT_INTERP)20768 Parrot_set_p_ki_i(opcode_t *cur_opcode, PARROT_INTERP) {
20769     VTABLE_set_integer_keyed_int(interp, PREG(1), IREG(2), IREG(3));
20770     return cur_opcode + 4;
20771 }
20772 
20773 opcode_t *
Parrot_set_p_kic_i(opcode_t * cur_opcode,PARROT_INTERP)20774 Parrot_set_p_kic_i(opcode_t *cur_opcode, PARROT_INTERP) {
20775     VTABLE_set_integer_keyed_int(interp, PREG(1), ICONST(2), IREG(3));
20776     return cur_opcode + 4;
20777 }
20778 
20779 opcode_t *
Parrot_set_p_ki_ic(opcode_t * cur_opcode,PARROT_INTERP)20780 Parrot_set_p_ki_ic(opcode_t *cur_opcode, PARROT_INTERP) {
20781     VTABLE_set_integer_keyed_int(interp, PREG(1), IREG(2), ICONST(3));
20782     return cur_opcode + 4;
20783 }
20784 
20785 opcode_t *
Parrot_set_p_kic_ic(opcode_t * cur_opcode,PARROT_INTERP)20786 Parrot_set_p_kic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
20787     VTABLE_set_integer_keyed_int(interp, PREG(1), ICONST(2), ICONST(3));
20788     return cur_opcode + 4;
20789 }
20790 
20791 opcode_t *
Parrot_set_p_ki_n(opcode_t * cur_opcode,PARROT_INTERP)20792 Parrot_set_p_ki_n(opcode_t *cur_opcode, PARROT_INTERP) {
20793     VTABLE_set_number_keyed_int(interp, PREG(1), IREG(2), NREG(3));
20794     return cur_opcode + 4;
20795 }
20796 
20797 opcode_t *
Parrot_set_p_kic_n(opcode_t * cur_opcode,PARROT_INTERP)20798 Parrot_set_p_kic_n(opcode_t *cur_opcode, PARROT_INTERP) {
20799     VTABLE_set_number_keyed_int(interp, PREG(1), ICONST(2), NREG(3));
20800     return cur_opcode + 4;
20801 }
20802 
20803 opcode_t *
Parrot_set_p_ki_nc(opcode_t * cur_opcode,PARROT_INTERP)20804 Parrot_set_p_ki_nc(opcode_t *cur_opcode, PARROT_INTERP) {
20805     VTABLE_set_number_keyed_int(interp, PREG(1), IREG(2), NCONST(3));
20806     return cur_opcode + 4;
20807 }
20808 
20809 opcode_t *
Parrot_set_p_kic_nc(opcode_t * cur_opcode,PARROT_INTERP)20810 Parrot_set_p_kic_nc(opcode_t *cur_opcode, PARROT_INTERP) {
20811     VTABLE_set_number_keyed_int(interp, PREG(1), ICONST(2), NCONST(3));
20812     return cur_opcode + 4;
20813 }
20814 
20815 opcode_t *
Parrot_set_p_ki_s(opcode_t * cur_opcode,PARROT_INTERP)20816 Parrot_set_p_ki_s(opcode_t *cur_opcode, PARROT_INTERP) {
20817     VTABLE_set_string_keyed_int(interp, PREG(1), IREG(2), SREG(3));
20818     return cur_opcode + 4;
20819 }
20820 
20821 opcode_t *
Parrot_set_p_kic_s(opcode_t * cur_opcode,PARROT_INTERP)20822 Parrot_set_p_kic_s(opcode_t *cur_opcode, PARROT_INTERP) {
20823     VTABLE_set_string_keyed_int(interp, PREG(1), ICONST(2), SREG(3));
20824     return cur_opcode + 4;
20825 }
20826 
20827 opcode_t *
Parrot_set_p_ki_sc(opcode_t * cur_opcode,PARROT_INTERP)20828 Parrot_set_p_ki_sc(opcode_t *cur_opcode, PARROT_INTERP) {
20829     VTABLE_set_string_keyed_int(interp, PREG(1), IREG(2), SCONST(3));
20830     return cur_opcode + 4;
20831 }
20832 
20833 opcode_t *
Parrot_set_p_kic_sc(opcode_t * cur_opcode,PARROT_INTERP)20834 Parrot_set_p_kic_sc(opcode_t *cur_opcode, PARROT_INTERP) {
20835     VTABLE_set_string_keyed_int(interp, PREG(1), ICONST(2), SCONST(3));
20836     return cur_opcode + 4;
20837 }
20838 
20839 opcode_t *
Parrot_set_p_ki_p(opcode_t * cur_opcode,PARROT_INTERP)20840 Parrot_set_p_ki_p(opcode_t *cur_opcode, PARROT_INTERP) {
20841     VTABLE_set_pmc_keyed_int(interp, PREG(1), IREG(2), PREG(3));
20842     return cur_opcode + 4;
20843 }
20844 
20845 opcode_t *
Parrot_set_p_kic_p(opcode_t * cur_opcode,PARROT_INTERP)20846 Parrot_set_p_kic_p(opcode_t *cur_opcode, PARROT_INTERP) {
20847     VTABLE_set_pmc_keyed_int(interp, PREG(1), ICONST(2), PREG(3));
20848     return cur_opcode + 4;
20849 }
20850 
20851 opcode_t *
Parrot_set_i_p_ki(opcode_t * cur_opcode,PARROT_INTERP)20852 Parrot_set_i_p_ki(opcode_t *cur_opcode, PARROT_INTERP) {
20853     IREG(1) = VTABLE_get_integer_keyed_int(interp, PREG(2), IREG(3));
20854     return cur_opcode + 4;
20855 }
20856 
20857 opcode_t *
Parrot_set_i_p_kic(opcode_t * cur_opcode,PARROT_INTERP)20858 Parrot_set_i_p_kic(opcode_t *cur_opcode, PARROT_INTERP) {
20859     IREG(1) = VTABLE_get_integer_keyed_int(interp, PREG(2), ICONST(3));
20860     return cur_opcode + 4;
20861 }
20862 
20863 opcode_t *
Parrot_set_n_p_ki(opcode_t * cur_opcode,PARROT_INTERP)20864 Parrot_set_n_p_ki(opcode_t *cur_opcode, PARROT_INTERP) {
20865     NREG(1) = VTABLE_get_number_keyed_int(interp, PREG(2), IREG(3));
20866     return cur_opcode + 4;
20867 }
20868 
20869 opcode_t *
Parrot_set_n_p_kic(opcode_t * cur_opcode,PARROT_INTERP)20870 Parrot_set_n_p_kic(opcode_t *cur_opcode, PARROT_INTERP) {
20871     NREG(1) = VTABLE_get_number_keyed_int(interp, PREG(2), ICONST(3));
20872     return cur_opcode + 4;
20873 }
20874 
20875 opcode_t *
Parrot_set_s_p_ki(opcode_t * cur_opcode,PARROT_INTERP)20876 Parrot_set_s_p_ki(opcode_t *cur_opcode, PARROT_INTERP) {
20877     SREG(1) = VTABLE_get_string_keyed_int(interp, PREG(2), IREG(3));
20878     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
20879     return cur_opcode + 4;
20880 }
20881 
20882 opcode_t *
Parrot_set_s_p_kic(opcode_t * cur_opcode,PARROT_INTERP)20883 Parrot_set_s_p_kic(opcode_t *cur_opcode, PARROT_INTERP) {
20884     SREG(1) = VTABLE_get_string_keyed_int(interp, PREG(2), ICONST(3));
20885     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
20886     return cur_opcode + 4;
20887 }
20888 
20889 opcode_t *
Parrot_set_p_p_ki(opcode_t * cur_opcode,PARROT_INTERP)20890 Parrot_set_p_p_ki(opcode_t *cur_opcode, PARROT_INTERP) {
20891     PREG(1) = VTABLE_get_pmc_keyed_int(interp, PREG(2), IREG(3));
20892     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
20893     return cur_opcode + 4;
20894 }
20895 
20896 opcode_t *
Parrot_set_p_p_kic(opcode_t * cur_opcode,PARROT_INTERP)20897 Parrot_set_p_p_kic(opcode_t *cur_opcode, PARROT_INTERP) {
20898     PREG(1) = VTABLE_get_pmc_keyed_int(interp, PREG(2), ICONST(3));
20899     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
20900     return cur_opcode + 4;
20901 }
20902 
20903 opcode_t *
Parrot_set_p_k_i(opcode_t * cur_opcode,PARROT_INTERP)20904 Parrot_set_p_k_i(opcode_t *cur_opcode, PARROT_INTERP) {
20905     VTABLE_set_integer_keyed(interp, PREG(1), PREG(2), IREG(3));
20906     return cur_opcode + 4;
20907 }
20908 
20909 opcode_t *
Parrot_set_p_kc_i(opcode_t * cur_opcode,PARROT_INTERP)20910 Parrot_set_p_kc_i(opcode_t *cur_opcode, PARROT_INTERP) {
20911     VTABLE_set_integer_keyed(interp, PREG(1), PCONST(2), IREG(3));
20912     return cur_opcode + 4;
20913 }
20914 
20915 opcode_t *
Parrot_set_p_k_ic(opcode_t * cur_opcode,PARROT_INTERP)20916 Parrot_set_p_k_ic(opcode_t *cur_opcode, PARROT_INTERP) {
20917     VTABLE_set_integer_keyed(interp, PREG(1), PREG(2), ICONST(3));
20918     return cur_opcode + 4;
20919 }
20920 
20921 opcode_t *
Parrot_set_p_kc_ic(opcode_t * cur_opcode,PARROT_INTERP)20922 Parrot_set_p_kc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
20923     VTABLE_set_integer_keyed(interp, PREG(1), PCONST(2), ICONST(3));
20924     return cur_opcode + 4;
20925 }
20926 
20927 opcode_t *
Parrot_set_p_k_n(opcode_t * cur_opcode,PARROT_INTERP)20928 Parrot_set_p_k_n(opcode_t *cur_opcode, PARROT_INTERP) {
20929     VTABLE_set_number_keyed(interp, PREG(1), PREG(2), NREG(3));
20930     return cur_opcode + 4;
20931 }
20932 
20933 opcode_t *
Parrot_set_p_kc_n(opcode_t * cur_opcode,PARROT_INTERP)20934 Parrot_set_p_kc_n(opcode_t *cur_opcode, PARROT_INTERP) {
20935     VTABLE_set_number_keyed(interp, PREG(1), PCONST(2), NREG(3));
20936     return cur_opcode + 4;
20937 }
20938 
20939 opcode_t *
Parrot_set_p_k_nc(opcode_t * cur_opcode,PARROT_INTERP)20940 Parrot_set_p_k_nc(opcode_t *cur_opcode, PARROT_INTERP) {
20941     VTABLE_set_number_keyed(interp, PREG(1), PREG(2), NCONST(3));
20942     return cur_opcode + 4;
20943 }
20944 
20945 opcode_t *
Parrot_set_p_kc_nc(opcode_t * cur_opcode,PARROT_INTERP)20946 Parrot_set_p_kc_nc(opcode_t *cur_opcode, PARROT_INTERP) {
20947     VTABLE_set_number_keyed(interp, PREG(1), PCONST(2), NCONST(3));
20948     return cur_opcode + 4;
20949 }
20950 
20951 opcode_t *
Parrot_set_p_k_s(opcode_t * cur_opcode,PARROT_INTERP)20952 Parrot_set_p_k_s(opcode_t *cur_opcode, PARROT_INTERP) {
20953     VTABLE_set_string_keyed(interp, PREG(1), PREG(2), SREG(3));
20954     return cur_opcode + 4;
20955 }
20956 
20957 opcode_t *
Parrot_set_p_kc_s(opcode_t * cur_opcode,PARROT_INTERP)20958 Parrot_set_p_kc_s(opcode_t *cur_opcode, PARROT_INTERP) {
20959     VTABLE_set_string_keyed(interp, PREG(1), PCONST(2), SREG(3));
20960     return cur_opcode + 4;
20961 }
20962 
20963 opcode_t *
Parrot_set_p_k_sc(opcode_t * cur_opcode,PARROT_INTERP)20964 Parrot_set_p_k_sc(opcode_t *cur_opcode, PARROT_INTERP) {
20965     VTABLE_set_string_keyed(interp, PREG(1), PREG(2), SCONST(3));
20966     return cur_opcode + 4;
20967 }
20968 
20969 opcode_t *
Parrot_set_p_kc_sc(opcode_t * cur_opcode,PARROT_INTERP)20970 Parrot_set_p_kc_sc(opcode_t *cur_opcode, PARROT_INTERP) {
20971     VTABLE_set_string_keyed(interp, PREG(1), PCONST(2), SCONST(3));
20972     return cur_opcode + 4;
20973 }
20974 
20975 opcode_t *
Parrot_set_p_k_p(opcode_t * cur_opcode,PARROT_INTERP)20976 Parrot_set_p_k_p(opcode_t *cur_opcode, PARROT_INTERP) {
20977     VTABLE_set_pmc_keyed(interp, PREG(1), PREG(2), PREG(3));
20978     return cur_opcode + 4;
20979 }
20980 
20981 opcode_t *
Parrot_set_p_kc_p(opcode_t * cur_opcode,PARROT_INTERP)20982 Parrot_set_p_kc_p(opcode_t *cur_opcode, PARROT_INTERP) {
20983     VTABLE_set_pmc_keyed(interp, PREG(1), PCONST(2), PREG(3));
20984     return cur_opcode + 4;
20985 }
20986 
20987 opcode_t *
Parrot_set_i_p_k(opcode_t * cur_opcode,PARROT_INTERP)20988 Parrot_set_i_p_k(opcode_t *cur_opcode, PARROT_INTERP) {
20989     IREG(1) = VTABLE_get_integer_keyed(interp, PREG(2), PREG(3));
20990     return cur_opcode + 4;
20991 }
20992 
20993 opcode_t *
Parrot_set_i_p_kc(opcode_t * cur_opcode,PARROT_INTERP)20994 Parrot_set_i_p_kc(opcode_t *cur_opcode, PARROT_INTERP) {
20995     IREG(1) = VTABLE_get_integer_keyed(interp, PREG(2), PCONST(3));
20996     return cur_opcode + 4;
20997 }
20998 
20999 opcode_t *
Parrot_set_n_p_k(opcode_t * cur_opcode,PARROT_INTERP)21000 Parrot_set_n_p_k(opcode_t *cur_opcode, PARROT_INTERP) {
21001     NREG(1) = VTABLE_get_number_keyed(interp, PREG(2), PREG(3));
21002     return cur_opcode + 4;
21003 }
21004 
21005 opcode_t *
Parrot_set_n_p_kc(opcode_t * cur_opcode,PARROT_INTERP)21006 Parrot_set_n_p_kc(opcode_t *cur_opcode, PARROT_INTERP) {
21007     NREG(1) = VTABLE_get_number_keyed(interp, PREG(2), PCONST(3));
21008     return cur_opcode + 4;
21009 }
21010 
21011 opcode_t *
Parrot_set_s_p_k(opcode_t * cur_opcode,PARROT_INTERP)21012 Parrot_set_s_p_k(opcode_t *cur_opcode, PARROT_INTERP) {
21013     SREG(1) = VTABLE_get_string_keyed(interp, PREG(2), PREG(3));
21014     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
21015     return cur_opcode + 4;
21016 }
21017 
21018 opcode_t *
Parrot_set_s_p_kc(opcode_t * cur_opcode,PARROT_INTERP)21019 Parrot_set_s_p_kc(opcode_t *cur_opcode, PARROT_INTERP) {
21020     SREG(1) = VTABLE_get_string_keyed(interp, PREG(2), PCONST(3));
21021     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
21022     return cur_opcode + 4;
21023 }
21024 
21025 opcode_t *
Parrot_set_p_p_k(opcode_t * cur_opcode,PARROT_INTERP)21026 Parrot_set_p_p_k(opcode_t *cur_opcode, PARROT_INTERP) {
21027     PREG(1) = VTABLE_get_pmc_keyed(interp, PREG(2), PREG(3));
21028     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
21029     return cur_opcode + 4;
21030 }
21031 
21032 opcode_t *
Parrot_set_p_p_kc(opcode_t * cur_opcode,PARROT_INTERP)21033 Parrot_set_p_p_kc(opcode_t *cur_opcode, PARROT_INTERP) {
21034     PREG(1) = VTABLE_get_pmc_keyed(interp, PREG(2), PCONST(3));
21035     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
21036     return cur_opcode + 4;
21037 }
21038 
21039 opcode_t *
Parrot_clone_p_p(opcode_t * cur_opcode,PARROT_INTERP)21040 Parrot_clone_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
21041     PREG(1) = VTABLE_clone(interp, PREG(2));
21042     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
21043     return cur_opcode + 3;
21044 }
21045 
21046 opcode_t *
Parrot_clone_p_p_p(opcode_t * cur_opcode,PARROT_INTERP)21047 Parrot_clone_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
21048     PREG(1) = VTABLE_clone_pmc(interp, PREG(2), PREG(3));
21049     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
21050     return cur_opcode + 4;
21051 }
21052 
21053 opcode_t *
Parrot_clone_p_p_pc(opcode_t * cur_opcode,PARROT_INTERP)21054 Parrot_clone_p_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
21055     PREG(1) = VTABLE_clone_pmc(interp, PREG(2), PCONST(3));
21056     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
21057     return cur_opcode + 4;
21058 }
21059 
21060 opcode_t *
Parrot_copy_p_p(opcode_t * cur_opcode,PARROT_INTERP)21061 Parrot_copy_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
21062     if (PMC_IS_NULL(PREG(1))) {
21063         opcode_t  * const  dest =  cur_opcode + 3;
21064         opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, dest, EXCEPTION_NULL_REG_ACCESS, "Null PMC in copy");
21065 
21066         PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
21067         return (opcode_t *)handler;
21068     }
21069     else {
21070         PMC    * const  clone = VTABLE_clone(interp, PREG(2));
21071         PMC    * const  meta = Parrot_pmc_getprops(interp, PREG(1));
21072         const Parrot_UInt   gc_flags = (PREG(1)->flags & PObj_GC_all_FLAGS);
21073 
21074         Parrot_pmc_destroy(interp, PREG(1));
21075         memmove(PREG(1), clone, sizeof(PMC));
21076         (PREG(1)->flags |= gc_flags);
21077         PARROT_GC_WRITE_BARRIER(interp, PREG(1));
21078         PObj_custom_destroy_CLEAR(clone);
21079         PMC_data(clone) = NULL;
21080         PMC_metadata(clone) = NULL;
21081         if (!PMC_IS_NULL(meta)) {
21082             PMC  * const  iter = VTABLE_get_iter(interp, meta);
21083 
21084             while (VTABLE_get_bool(interp, iter)) {
21085                 STRING  * const  key = VTABLE_shift_string(interp, iter);
21086                 PMC  * const  value = VTABLE_get_pmc_keyed_str(interp, meta, key);
21087 
21088                 Parrot_pmc_setprop(interp, PREG(1), key, value);
21089             }
21090 
21091         }
21092 
21093     }
21094 
21095     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
21096     return cur_opcode + 3;
21097 }
21098 
21099 opcode_t *
Parrot_null_s(opcode_t * cur_opcode,PARROT_INTERP)21100 Parrot_null_s(opcode_t *cur_opcode, PARROT_INTERP) {
21101     SREG(1) = STRINGNULL;
21102     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
21103     return cur_opcode + 2;
21104 }
21105 
21106 opcode_t *
Parrot_null_i(opcode_t * cur_opcode,PARROT_INTERP)21107 Parrot_null_i(opcode_t *cur_opcode, PARROT_INTERP) {
21108     IREG(1) = 0;
21109     return cur_opcode + 2;
21110 }
21111 
21112 opcode_t *
Parrot_null_p(opcode_t * cur_opcode,PARROT_INTERP)21113 Parrot_null_p(opcode_t *cur_opcode, PARROT_INTERP) {
21114     PREG(1) = PMCNULL;
21115     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
21116     return cur_opcode + 2;
21117 }
21118 
21119 opcode_t *
Parrot_null_n(opcode_t * cur_opcode,PARROT_INTERP)21120 Parrot_null_n(opcode_t *cur_opcode, PARROT_INTERP) {
21121     NREG(1) = 0;
21122     return cur_opcode + 2;
21123 }
21124 
21125 opcode_t *
Parrot_ord_i_s(opcode_t * cur_opcode,PARROT_INTERP)21126 Parrot_ord_i_s(opcode_t *cur_opcode, PARROT_INTERP) {
21127     IREG(1) = STRING_ord(interp, SREG(2), 0);
21128     return cur_opcode + 3;
21129 }
21130 
21131 opcode_t *
Parrot_ord_i_sc(opcode_t * cur_opcode,PARROT_INTERP)21132 Parrot_ord_i_sc(opcode_t *cur_opcode, PARROT_INTERP) {
21133     IREG(1) = STRING_ord(interp, SCONST(2), 0);
21134     return cur_opcode + 3;
21135 }
21136 
21137 opcode_t *
Parrot_ord_i_s_i(opcode_t * cur_opcode,PARROT_INTERP)21138 Parrot_ord_i_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
21139     IREG(1) = STRING_ord(interp, SREG(2), IREG(3));
21140     return cur_opcode + 4;
21141 }
21142 
21143 opcode_t *
Parrot_ord_i_sc_i(opcode_t * cur_opcode,PARROT_INTERP)21144 Parrot_ord_i_sc_i(opcode_t *cur_opcode, PARROT_INTERP) {
21145     IREG(1) = STRING_ord(interp, SCONST(2), IREG(3));
21146     return cur_opcode + 4;
21147 }
21148 
21149 opcode_t *
Parrot_ord_i_s_ic(opcode_t * cur_opcode,PARROT_INTERP)21150 Parrot_ord_i_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
21151     IREG(1) = STRING_ord(interp, SREG(2), ICONST(3));
21152     return cur_opcode + 4;
21153 }
21154 
21155 opcode_t *
Parrot_ord_i_sc_ic(opcode_t * cur_opcode,PARROT_INTERP)21156 Parrot_ord_i_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
21157     IREG(1) = STRING_ord(interp, SCONST(2), ICONST(3));
21158     return cur_opcode + 4;
21159 }
21160 
21161 opcode_t *
Parrot_chr_s_i(opcode_t * cur_opcode,PARROT_INTERP)21162 Parrot_chr_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
21163     STRING  * const  s = Parrot_str_chr(interp, (UINTVAL)IREG(2));
21164 
21165     SREG(1) = s;
21166     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
21167     return cur_opcode + 3;
21168 }
21169 
21170 opcode_t *
Parrot_chr_s_ic(opcode_t * cur_opcode,PARROT_INTERP)21171 Parrot_chr_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
21172     STRING  * const  s = Parrot_str_chr(interp, (UINTVAL)ICONST(2));
21173 
21174     SREG(1) = s;
21175     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
21176     return cur_opcode + 3;
21177 }
21178 
21179 opcode_t *
Parrot_chopn_s_s_i(opcode_t * cur_opcode,PARROT_INTERP)21180 Parrot_chopn_s_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
21181     SREG(1) = Parrot_str_chopn(interp, SREG(2), IREG(3));
21182     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
21183     return cur_opcode + 4;
21184 }
21185 
21186 opcode_t *
Parrot_chopn_s_sc_i(opcode_t * cur_opcode,PARROT_INTERP)21187 Parrot_chopn_s_sc_i(opcode_t *cur_opcode, PARROT_INTERP) {
21188     SREG(1) = Parrot_str_chopn(interp, SCONST(2), IREG(3));
21189     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
21190     return cur_opcode + 4;
21191 }
21192 
21193 opcode_t *
Parrot_chopn_s_s_ic(opcode_t * cur_opcode,PARROT_INTERP)21194 Parrot_chopn_s_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
21195     SREG(1) = Parrot_str_chopn(interp, SREG(2), ICONST(3));
21196     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
21197     return cur_opcode + 4;
21198 }
21199 
21200 opcode_t *
Parrot_chopn_s_sc_ic(opcode_t * cur_opcode,PARROT_INTERP)21201 Parrot_chopn_s_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
21202     SREG(1) = Parrot_str_chopn(interp, SCONST(2), ICONST(3));
21203     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
21204     return cur_opcode + 4;
21205 }
21206 
21207 opcode_t *
Parrot_concat_p_p(opcode_t * cur_opcode,PARROT_INTERP)21208 Parrot_concat_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
21209     VTABLE_i_concatenate(interp, PREG(1), PREG(2));
21210     return cur_opcode + 3;
21211 }
21212 
21213 opcode_t *
Parrot_concat_p_s(opcode_t * cur_opcode,PARROT_INTERP)21214 Parrot_concat_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
21215     VTABLE_i_concatenate_str(interp, PREG(1), SREG(2));
21216     return cur_opcode + 3;
21217 }
21218 
21219 opcode_t *
Parrot_concat_p_sc(opcode_t * cur_opcode,PARROT_INTERP)21220 Parrot_concat_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
21221     VTABLE_i_concatenate_str(interp, PREG(1), SCONST(2));
21222     return cur_opcode + 3;
21223 }
21224 
21225 opcode_t *
Parrot_concat_s_s_s(opcode_t * cur_opcode,PARROT_INTERP)21226 Parrot_concat_s_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
21227     SREG(1) = Parrot_str_concat(interp, SREG(2), SREG(3));
21228     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
21229     return cur_opcode + 4;
21230 }
21231 
21232 opcode_t *
Parrot_concat_s_sc_s(opcode_t * cur_opcode,PARROT_INTERP)21233 Parrot_concat_s_sc_s(opcode_t *cur_opcode, PARROT_INTERP) {
21234     SREG(1) = Parrot_str_concat(interp, SCONST(2), SREG(3));
21235     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
21236     return cur_opcode + 4;
21237 }
21238 
21239 opcode_t *
Parrot_concat_s_s_sc(opcode_t * cur_opcode,PARROT_INTERP)21240 Parrot_concat_s_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
21241     SREG(1) = Parrot_str_concat(interp, SREG(2), SCONST(3));
21242     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
21243     return cur_opcode + 4;
21244 }
21245 
21246 opcode_t *
Parrot_concat_p_p_s(opcode_t * cur_opcode,PARROT_INTERP)21247 Parrot_concat_p_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
21248     PREG(1) = VTABLE_concatenate_str(interp, PREG(2), SREG(3), PREG(1));
21249     return cur_opcode + 4;
21250 }
21251 
21252 opcode_t *
Parrot_concat_p_p_sc(opcode_t * cur_opcode,PARROT_INTERP)21253 Parrot_concat_p_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
21254     PREG(1) = VTABLE_concatenate_str(interp, PREG(2), SCONST(3), PREG(1));
21255     return cur_opcode + 4;
21256 }
21257 
21258 opcode_t *
Parrot_concat_p_p_p(opcode_t * cur_opcode,PARROT_INTERP)21259 Parrot_concat_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
21260     PREG(1) = VTABLE_concatenate(interp, PREG(2), PREG(3), PREG(1));
21261     return cur_opcode + 4;
21262 }
21263 
21264 opcode_t *
Parrot_repeat_s_s_i(opcode_t * cur_opcode,PARROT_INTERP)21265 Parrot_repeat_s_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
21266     if (IREG(3) < 0) {
21267         opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, NULL, EXCEPTION_NEG_REPEAT, "Cannot repeat with negative arg");
21268 
21269         PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
21270         return (opcode_t *)handler;
21271     }
21272 
21273     SREG(1) = Parrot_str_repeat(interp, SREG(2), (UINTVAL)IREG(3));
21274     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
21275     return cur_opcode + 4;
21276 }
21277 
21278 opcode_t *
Parrot_repeat_s_sc_i(opcode_t * cur_opcode,PARROT_INTERP)21279 Parrot_repeat_s_sc_i(opcode_t *cur_opcode, PARROT_INTERP) {
21280     if (IREG(3) < 0) {
21281         opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, NULL, EXCEPTION_NEG_REPEAT, "Cannot repeat with negative arg");
21282 
21283         PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
21284         return (opcode_t *)handler;
21285     }
21286 
21287     SREG(1) = Parrot_str_repeat(interp, SCONST(2), (UINTVAL)IREG(3));
21288     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
21289     return cur_opcode + 4;
21290 }
21291 
21292 opcode_t *
Parrot_repeat_s_s_ic(opcode_t * cur_opcode,PARROT_INTERP)21293 Parrot_repeat_s_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
21294     if (ICONST(3) < 0) {
21295         opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, NULL, EXCEPTION_NEG_REPEAT, "Cannot repeat with negative arg");
21296 
21297         PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
21298         return (opcode_t *)handler;
21299     }
21300 
21301     SREG(1) = Parrot_str_repeat(interp, SREG(2), (UINTVAL)ICONST(3));
21302     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
21303     return cur_opcode + 4;
21304 }
21305 
21306 opcode_t *
Parrot_repeat_s_sc_ic(opcode_t * cur_opcode,PARROT_INTERP)21307 Parrot_repeat_s_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
21308     if (ICONST(3) < 0) {
21309         opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, NULL, EXCEPTION_NEG_REPEAT, "Cannot repeat with negative arg");
21310 
21311         PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
21312         return (opcode_t *)handler;
21313     }
21314 
21315     SREG(1) = Parrot_str_repeat(interp, SCONST(2), (UINTVAL)ICONST(3));
21316     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
21317     return cur_opcode + 4;
21318 }
21319 
21320 opcode_t *
Parrot_repeat_p_p_i(opcode_t * cur_opcode,PARROT_INTERP)21321 Parrot_repeat_p_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
21322     if (IREG(3) < 0) {
21323         opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, NULL, EXCEPTION_NEG_REPEAT, "Cannot repeat with negative arg");
21324 
21325         return (opcode_t *)handler;
21326     }
21327 
21328     PREG(1) = VTABLE_repeat_int(interp, PREG(2), IREG(3), PREG(1));
21329     return cur_opcode + 4;
21330 }
21331 
21332 opcode_t *
Parrot_repeat_p_p_ic(opcode_t * cur_opcode,PARROT_INTERP)21333 Parrot_repeat_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
21334     if (ICONST(3) < 0) {
21335         opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, NULL, EXCEPTION_NEG_REPEAT, "Cannot repeat with negative arg");
21336 
21337         return (opcode_t *)handler;
21338     }
21339 
21340     PREG(1) = VTABLE_repeat_int(interp, PREG(2), ICONST(3), PREG(1));
21341     return cur_opcode + 4;
21342 }
21343 
21344 opcode_t *
Parrot_repeat_p_p_p(opcode_t * cur_opcode,PARROT_INTERP)21345 Parrot_repeat_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
21346     if (VTABLE_get_integer(interp, PREG(3)) < 0) {
21347         opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, NULL, EXCEPTION_NEG_REPEAT, "Cannot repeat with negative arg");
21348 
21349         return (opcode_t *)handler;
21350     }
21351 
21352     PREG(1) = VTABLE_repeat(interp, PREG(2), PREG(3), PREG(1));
21353     return cur_opcode + 4;
21354 }
21355 
21356 opcode_t *
Parrot_repeat_p_i(opcode_t * cur_opcode,PARROT_INTERP)21357 Parrot_repeat_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
21358     VTABLE_i_repeat_int(interp, PREG(1), IREG(2));
21359     return cur_opcode + 3;
21360 }
21361 
21362 opcode_t *
Parrot_repeat_p_ic(opcode_t * cur_opcode,PARROT_INTERP)21363 Parrot_repeat_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
21364     VTABLE_i_repeat_int(interp, PREG(1), ICONST(2));
21365     return cur_opcode + 3;
21366 }
21367 
21368 opcode_t *
Parrot_repeat_p_p(opcode_t * cur_opcode,PARROT_INTERP)21369 Parrot_repeat_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
21370     VTABLE_i_repeat(interp, PREG(1), PREG(2));
21371     return cur_opcode + 3;
21372 }
21373 
21374 opcode_t *
Parrot_length_i_s(opcode_t * cur_opcode,PARROT_INTERP)21375 Parrot_length_i_s(opcode_t *cur_opcode, PARROT_INTERP) {
21376     IREG(1) = Parrot_str_length(interp, SREG(2));
21377     return cur_opcode + 3;
21378 }
21379 
21380 opcode_t *
Parrot_length_i_sc(opcode_t * cur_opcode,PARROT_INTERP)21381 Parrot_length_i_sc(opcode_t *cur_opcode, PARROT_INTERP) {
21382     IREG(1) = Parrot_str_length(interp, SCONST(2));
21383     return cur_opcode + 3;
21384 }
21385 
21386 opcode_t *
Parrot_bytelength_i_s(opcode_t * cur_opcode,PARROT_INTERP)21387 Parrot_bytelength_i_s(opcode_t *cur_opcode, PARROT_INTERP) {
21388     IREG(1) = Parrot_str_byte_length(interp, SREG(2));
21389     return cur_opcode + 3;
21390 }
21391 
21392 opcode_t *
Parrot_bytelength_i_sc(opcode_t * cur_opcode,PARROT_INTERP)21393 Parrot_bytelength_i_sc(opcode_t *cur_opcode, PARROT_INTERP) {
21394     IREG(1) = Parrot_str_byte_length(interp, SCONST(2));
21395     return cur_opcode + 3;
21396 }
21397 
21398 opcode_t *
Parrot_pin_s(opcode_t * cur_opcode,PARROT_INTERP)21399 Parrot_pin_s(opcode_t *cur_opcode, PARROT_INTERP) {
21400     Parrot_str_pin(interp, SREG(1));
21401     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
21402     return cur_opcode + 2;
21403 }
21404 
21405 opcode_t *
Parrot_unpin_s(opcode_t * cur_opcode,PARROT_INTERP)21406 Parrot_unpin_s(opcode_t *cur_opcode, PARROT_INTERP) {
21407     Parrot_str_unpin(interp, SREG(1));
21408     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
21409     return cur_opcode + 2;
21410 }
21411 
21412 opcode_t *
Parrot_substr_s_s_i(opcode_t * cur_opcode,PARROT_INTERP)21413 Parrot_substr_s_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
21414     const INTVAL   len = Parrot_str_byte_length(interp, SREG(2));
21415 
21416     SREG(1) = STRING_substr(interp, SREG(2), IREG(3), len);
21417     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
21418     return cur_opcode + 4;
21419 }
21420 
21421 opcode_t *
Parrot_substr_s_sc_i(opcode_t * cur_opcode,PARROT_INTERP)21422 Parrot_substr_s_sc_i(opcode_t *cur_opcode, PARROT_INTERP) {
21423     const INTVAL   len = Parrot_str_byte_length(interp, SCONST(2));
21424 
21425     SREG(1) = STRING_substr(interp, SCONST(2), IREG(3), len);
21426     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
21427     return cur_opcode + 4;
21428 }
21429 
21430 opcode_t *
Parrot_substr_s_s_ic(opcode_t * cur_opcode,PARROT_INTERP)21431 Parrot_substr_s_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
21432     const INTVAL   len = Parrot_str_byte_length(interp, SREG(2));
21433 
21434     SREG(1) = STRING_substr(interp, SREG(2), ICONST(3), len);
21435     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
21436     return cur_opcode + 4;
21437 }
21438 
21439 opcode_t *
Parrot_substr_s_sc_ic(opcode_t * cur_opcode,PARROT_INTERP)21440 Parrot_substr_s_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
21441     const INTVAL   len = Parrot_str_byte_length(interp, SCONST(2));
21442 
21443     SREG(1) = STRING_substr(interp, SCONST(2), ICONST(3), len);
21444     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
21445     return cur_opcode + 4;
21446 }
21447 
21448 opcode_t *
Parrot_substr_s_s_i_i(opcode_t * cur_opcode,PARROT_INTERP)21449 Parrot_substr_s_s_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
21450     SREG(1) = STRING_substr(interp, SREG(2), IREG(3), IREG(4));
21451     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
21452     return cur_opcode + 5;
21453 }
21454 
21455 opcode_t *
Parrot_substr_s_sc_i_i(opcode_t * cur_opcode,PARROT_INTERP)21456 Parrot_substr_s_sc_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
21457     SREG(1) = STRING_substr(interp, SCONST(2), IREG(3), IREG(4));
21458     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
21459     return cur_opcode + 5;
21460 }
21461 
21462 opcode_t *
Parrot_substr_s_s_ic_i(opcode_t * cur_opcode,PARROT_INTERP)21463 Parrot_substr_s_s_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
21464     SREG(1) = STRING_substr(interp, SREG(2), ICONST(3), IREG(4));
21465     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
21466     return cur_opcode + 5;
21467 }
21468 
21469 opcode_t *
Parrot_substr_s_sc_ic_i(opcode_t * cur_opcode,PARROT_INTERP)21470 Parrot_substr_s_sc_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
21471     SREG(1) = STRING_substr(interp, SCONST(2), ICONST(3), IREG(4));
21472     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
21473     return cur_opcode + 5;
21474 }
21475 
21476 opcode_t *
Parrot_substr_s_s_i_ic(opcode_t * cur_opcode,PARROT_INTERP)21477 Parrot_substr_s_s_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
21478     SREG(1) = STRING_substr(interp, SREG(2), IREG(3), ICONST(4));
21479     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
21480     return cur_opcode + 5;
21481 }
21482 
21483 opcode_t *
Parrot_substr_s_sc_i_ic(opcode_t * cur_opcode,PARROT_INTERP)21484 Parrot_substr_s_sc_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
21485     SREG(1) = STRING_substr(interp, SCONST(2), IREG(3), ICONST(4));
21486     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
21487     return cur_opcode + 5;
21488 }
21489 
21490 opcode_t *
Parrot_substr_s_s_ic_ic(opcode_t * cur_opcode,PARROT_INTERP)21491 Parrot_substr_s_s_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
21492     SREG(1) = STRING_substr(interp, SREG(2), ICONST(3), ICONST(4));
21493     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
21494     return cur_opcode + 5;
21495 }
21496 
21497 opcode_t *
Parrot_substr_s_sc_ic_ic(opcode_t * cur_opcode,PARROT_INTERP)21498 Parrot_substr_s_sc_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
21499     SREG(1) = STRING_substr(interp, SCONST(2), ICONST(3), ICONST(4));
21500     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
21501     return cur_opcode + 5;
21502 }
21503 
21504 opcode_t *
Parrot_substr_s_p_i_i(opcode_t * cur_opcode,PARROT_INTERP)21505 Parrot_substr_s_p_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
21506     SREG(1) = VTABLE_substr(interp, PREG(2), IREG(3), IREG(4));
21507     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
21508     return cur_opcode + 5;
21509 }
21510 
21511 opcode_t *
Parrot_substr_s_p_ic_i(opcode_t * cur_opcode,PARROT_INTERP)21512 Parrot_substr_s_p_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
21513     SREG(1) = VTABLE_substr(interp, PREG(2), ICONST(3), IREG(4));
21514     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
21515     return cur_opcode + 5;
21516 }
21517 
21518 opcode_t *
Parrot_substr_s_p_i_ic(opcode_t * cur_opcode,PARROT_INTERP)21519 Parrot_substr_s_p_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
21520     SREG(1) = VTABLE_substr(interp, PREG(2), IREG(3), ICONST(4));
21521     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
21522     return cur_opcode + 5;
21523 }
21524 
21525 opcode_t *
Parrot_substr_s_p_ic_ic(opcode_t * cur_opcode,PARROT_INTERP)21526 Parrot_substr_s_p_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
21527     SREG(1) = VTABLE_substr(interp, PREG(2), ICONST(3), ICONST(4));
21528     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
21529     return cur_opcode + 5;
21530 }
21531 
21532 opcode_t *
Parrot_replace_s_s_i_i_s(opcode_t * cur_opcode,PARROT_INTERP)21533 Parrot_replace_s_s_i_i_s(opcode_t *cur_opcode, PARROT_INTERP) {
21534     SREG(1) = Parrot_str_replace(interp, SREG(2), IREG(3), IREG(4), SREG(5));
21535     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
21536     return cur_opcode + 6;
21537 }
21538 
21539 opcode_t *
Parrot_replace_s_sc_i_i_s(opcode_t * cur_opcode,PARROT_INTERP)21540 Parrot_replace_s_sc_i_i_s(opcode_t *cur_opcode, PARROT_INTERP) {
21541     SREG(1) = Parrot_str_replace(interp, SCONST(2), IREG(3), IREG(4), SREG(5));
21542     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
21543     return cur_opcode + 6;
21544 }
21545 
21546 opcode_t *
Parrot_replace_s_s_ic_i_s(opcode_t * cur_opcode,PARROT_INTERP)21547 Parrot_replace_s_s_ic_i_s(opcode_t *cur_opcode, PARROT_INTERP) {
21548     SREG(1) = Parrot_str_replace(interp, SREG(2), ICONST(3), IREG(4), SREG(5));
21549     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
21550     return cur_opcode + 6;
21551 }
21552 
21553 opcode_t *
Parrot_replace_s_sc_ic_i_s(opcode_t * cur_opcode,PARROT_INTERP)21554 Parrot_replace_s_sc_ic_i_s(opcode_t *cur_opcode, PARROT_INTERP) {
21555     SREG(1) = Parrot_str_replace(interp, SCONST(2), ICONST(3), IREG(4), SREG(5));
21556     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
21557     return cur_opcode + 6;
21558 }
21559 
21560 opcode_t *
Parrot_replace_s_s_i_ic_s(opcode_t * cur_opcode,PARROT_INTERP)21561 Parrot_replace_s_s_i_ic_s(opcode_t *cur_opcode, PARROT_INTERP) {
21562     SREG(1) = Parrot_str_replace(interp, SREG(2), IREG(3), ICONST(4), SREG(5));
21563     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
21564     return cur_opcode + 6;
21565 }
21566 
21567 opcode_t *
Parrot_replace_s_sc_i_ic_s(opcode_t * cur_opcode,PARROT_INTERP)21568 Parrot_replace_s_sc_i_ic_s(opcode_t *cur_opcode, PARROT_INTERP) {
21569     SREG(1) = Parrot_str_replace(interp, SCONST(2), IREG(3), ICONST(4), SREG(5));
21570     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
21571     return cur_opcode + 6;
21572 }
21573 
21574 opcode_t *
Parrot_replace_s_s_ic_ic_s(opcode_t * cur_opcode,PARROT_INTERP)21575 Parrot_replace_s_s_ic_ic_s(opcode_t *cur_opcode, PARROT_INTERP) {
21576     SREG(1) = Parrot_str_replace(interp, SREG(2), ICONST(3), ICONST(4), SREG(5));
21577     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
21578     return cur_opcode + 6;
21579 }
21580 
21581 opcode_t *
Parrot_replace_s_sc_ic_ic_s(opcode_t * cur_opcode,PARROT_INTERP)21582 Parrot_replace_s_sc_ic_ic_s(opcode_t *cur_opcode, PARROT_INTERP) {
21583     SREG(1) = Parrot_str_replace(interp, SCONST(2), ICONST(3), ICONST(4), SREG(5));
21584     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
21585     return cur_opcode + 6;
21586 }
21587 
21588 opcode_t *
Parrot_replace_s_s_i_i_sc(opcode_t * cur_opcode,PARROT_INTERP)21589 Parrot_replace_s_s_i_i_sc(opcode_t *cur_opcode, PARROT_INTERP) {
21590     SREG(1) = Parrot_str_replace(interp, SREG(2), IREG(3), IREG(4), SCONST(5));
21591     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
21592     return cur_opcode + 6;
21593 }
21594 
21595 opcode_t *
Parrot_replace_s_sc_i_i_sc(opcode_t * cur_opcode,PARROT_INTERP)21596 Parrot_replace_s_sc_i_i_sc(opcode_t *cur_opcode, PARROT_INTERP) {
21597     SREG(1) = Parrot_str_replace(interp, SCONST(2), IREG(3), IREG(4), SCONST(5));
21598     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
21599     return cur_opcode + 6;
21600 }
21601 
21602 opcode_t *
Parrot_replace_s_s_ic_i_sc(opcode_t * cur_opcode,PARROT_INTERP)21603 Parrot_replace_s_s_ic_i_sc(opcode_t *cur_opcode, PARROT_INTERP) {
21604     SREG(1) = Parrot_str_replace(interp, SREG(2), ICONST(3), IREG(4), SCONST(5));
21605     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
21606     return cur_opcode + 6;
21607 }
21608 
21609 opcode_t *
Parrot_replace_s_sc_ic_i_sc(opcode_t * cur_opcode,PARROT_INTERP)21610 Parrot_replace_s_sc_ic_i_sc(opcode_t *cur_opcode, PARROT_INTERP) {
21611     SREG(1) = Parrot_str_replace(interp, SCONST(2), ICONST(3), IREG(4), SCONST(5));
21612     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
21613     return cur_opcode + 6;
21614 }
21615 
21616 opcode_t *
Parrot_replace_s_s_i_ic_sc(opcode_t * cur_opcode,PARROT_INTERP)21617 Parrot_replace_s_s_i_ic_sc(opcode_t *cur_opcode, PARROT_INTERP) {
21618     SREG(1) = Parrot_str_replace(interp, SREG(2), IREG(3), ICONST(4), SCONST(5));
21619     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
21620     return cur_opcode + 6;
21621 }
21622 
21623 opcode_t *
Parrot_replace_s_sc_i_ic_sc(opcode_t * cur_opcode,PARROT_INTERP)21624 Parrot_replace_s_sc_i_ic_sc(opcode_t *cur_opcode, PARROT_INTERP) {
21625     SREG(1) = Parrot_str_replace(interp, SCONST(2), IREG(3), ICONST(4), SCONST(5));
21626     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
21627     return cur_opcode + 6;
21628 }
21629 
21630 opcode_t *
Parrot_replace_s_s_ic_ic_sc(opcode_t * cur_opcode,PARROT_INTERP)21631 Parrot_replace_s_s_ic_ic_sc(opcode_t *cur_opcode, PARROT_INTERP) {
21632     SREG(1) = Parrot_str_replace(interp, SREG(2), ICONST(3), ICONST(4), SCONST(5));
21633     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
21634     return cur_opcode + 6;
21635 }
21636 
21637 opcode_t *
Parrot_replace_s_sc_ic_ic_sc(opcode_t * cur_opcode,PARROT_INTERP)21638 Parrot_replace_s_sc_ic_ic_sc(opcode_t *cur_opcode, PARROT_INTERP) {
21639     SREG(1) = Parrot_str_replace(interp, SCONST(2), ICONST(3), ICONST(4), SCONST(5));
21640     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
21641     return cur_opcode + 6;
21642 }
21643 
21644 opcode_t *
Parrot_index_i_s_s(opcode_t * cur_opcode,PARROT_INTERP)21645 Parrot_index_i_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
21646     IREG(1) = ((SREG(2) && SREG(3))) ? STRING_index(interp, SREG(2), SREG(3), 0) : (-1);
21647     return cur_opcode + 4;
21648 }
21649 
21650 opcode_t *
Parrot_index_i_sc_s(opcode_t * cur_opcode,PARROT_INTERP)21651 Parrot_index_i_sc_s(opcode_t *cur_opcode, PARROT_INTERP) {
21652     IREG(1) = ((SCONST(2) && SREG(3))) ? STRING_index(interp, SCONST(2), SREG(3), 0) : (-1);
21653     return cur_opcode + 4;
21654 }
21655 
21656 opcode_t *
Parrot_index_i_s_sc(opcode_t * cur_opcode,PARROT_INTERP)21657 Parrot_index_i_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
21658     IREG(1) = ((SREG(2) && SCONST(3))) ? STRING_index(interp, SREG(2), SCONST(3), 0) : (-1);
21659     return cur_opcode + 4;
21660 }
21661 
21662 opcode_t *
Parrot_index_i_sc_sc(opcode_t * cur_opcode,PARROT_INTERP)21663 Parrot_index_i_sc_sc(opcode_t *cur_opcode, PARROT_INTERP) {
21664     IREG(1) = ((SCONST(2) && SCONST(3))) ? STRING_index(interp, SCONST(2), SCONST(3), 0) : (-1);
21665     return cur_opcode + 4;
21666 }
21667 
21668 opcode_t *
Parrot_index_i_s_s_i(opcode_t * cur_opcode,PARROT_INTERP)21669 Parrot_index_i_s_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
21670     IREG(1) = ((SREG(2) && SREG(3))) ? STRING_index(interp, SREG(2), SREG(3), IREG(4)) : (-1);
21671     return cur_opcode + 5;
21672 }
21673 
21674 opcode_t *
Parrot_index_i_sc_s_i(opcode_t * cur_opcode,PARROT_INTERP)21675 Parrot_index_i_sc_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
21676     IREG(1) = ((SCONST(2) && SREG(3))) ? STRING_index(interp, SCONST(2), SREG(3), IREG(4)) : (-1);
21677     return cur_opcode + 5;
21678 }
21679 
21680 opcode_t *
Parrot_index_i_s_sc_i(opcode_t * cur_opcode,PARROT_INTERP)21681 Parrot_index_i_s_sc_i(opcode_t *cur_opcode, PARROT_INTERP) {
21682     IREG(1) = ((SREG(2) && SCONST(3))) ? STRING_index(interp, SREG(2), SCONST(3), IREG(4)) : (-1);
21683     return cur_opcode + 5;
21684 }
21685 
21686 opcode_t *
Parrot_index_i_sc_sc_i(opcode_t * cur_opcode,PARROT_INTERP)21687 Parrot_index_i_sc_sc_i(opcode_t *cur_opcode, PARROT_INTERP) {
21688     IREG(1) = ((SCONST(2) && SCONST(3))) ? STRING_index(interp, SCONST(2), SCONST(3), IREG(4)) : (-1);
21689     return cur_opcode + 5;
21690 }
21691 
21692 opcode_t *
Parrot_index_i_s_s_ic(opcode_t * cur_opcode,PARROT_INTERP)21693 Parrot_index_i_s_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
21694     IREG(1) = ((SREG(2) && SREG(3))) ? STRING_index(interp, SREG(2), SREG(3), ICONST(4)) : (-1);
21695     return cur_opcode + 5;
21696 }
21697 
21698 opcode_t *
Parrot_index_i_sc_s_ic(opcode_t * cur_opcode,PARROT_INTERP)21699 Parrot_index_i_sc_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
21700     IREG(1) = ((SCONST(2) && SREG(3))) ? STRING_index(interp, SCONST(2), SREG(3), ICONST(4)) : (-1);
21701     return cur_opcode + 5;
21702 }
21703 
21704 opcode_t *
Parrot_index_i_s_sc_ic(opcode_t * cur_opcode,PARROT_INTERP)21705 Parrot_index_i_s_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
21706     IREG(1) = ((SREG(2) && SCONST(3))) ? STRING_index(interp, SREG(2), SCONST(3), ICONST(4)) : (-1);
21707     return cur_opcode + 5;
21708 }
21709 
21710 opcode_t *
Parrot_index_i_sc_sc_ic(opcode_t * cur_opcode,PARROT_INTERP)21711 Parrot_index_i_sc_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
21712     IREG(1) = ((SCONST(2) && SCONST(3))) ? STRING_index(interp, SCONST(2), SCONST(3), ICONST(4)) : (-1);
21713     return cur_opcode + 5;
21714 }
21715 
21716 opcode_t *
Parrot_rindex_i_s_s(opcode_t * cur_opcode,PARROT_INTERP)21717 Parrot_rindex_i_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
21718     STRING  * const  str = SREG(2);
21719 
21720     IREG(1) = Parrot_str_find_reverse_index(interp, str, SREG(3), STRING_length(str));
21721     return cur_opcode + 4;
21722 }
21723 
21724 opcode_t *
Parrot_rindex_i_sc_s(opcode_t * cur_opcode,PARROT_INTERP)21725 Parrot_rindex_i_sc_s(opcode_t *cur_opcode, PARROT_INTERP) {
21726     STRING  * const  str = SCONST(2);
21727 
21728     IREG(1) = Parrot_str_find_reverse_index(interp, str, SREG(3), STRING_length(str));
21729     return cur_opcode + 4;
21730 }
21731 
21732 opcode_t *
Parrot_rindex_i_s_sc(opcode_t * cur_opcode,PARROT_INTERP)21733 Parrot_rindex_i_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
21734     STRING  * const  str = SREG(2);
21735 
21736     IREG(1) = Parrot_str_find_reverse_index(interp, str, SCONST(3), STRING_length(str));
21737     return cur_opcode + 4;
21738 }
21739 
21740 opcode_t *
Parrot_rindex_i_sc_sc(opcode_t * cur_opcode,PARROT_INTERP)21741 Parrot_rindex_i_sc_sc(opcode_t *cur_opcode, PARROT_INTERP) {
21742     STRING  * const  str = SCONST(2);
21743 
21744     IREG(1) = Parrot_str_find_reverse_index(interp, str, SCONST(3), STRING_length(str));
21745     return cur_opcode + 4;
21746 }
21747 
21748 opcode_t *
Parrot_rindex_i_s_s_i(opcode_t * cur_opcode,PARROT_INTERP)21749 Parrot_rindex_i_s_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
21750     STRING  * const  str = SREG(2);
21751 
21752     IREG(1) = Parrot_str_find_reverse_index(interp, str, SREG(3), IREG(4));
21753     return cur_opcode + 5;
21754 }
21755 
21756 opcode_t *
Parrot_rindex_i_sc_s_i(opcode_t * cur_opcode,PARROT_INTERP)21757 Parrot_rindex_i_sc_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
21758     STRING  * const  str = SCONST(2);
21759 
21760     IREG(1) = Parrot_str_find_reverse_index(interp, str, SREG(3), IREG(4));
21761     return cur_opcode + 5;
21762 }
21763 
21764 opcode_t *
Parrot_rindex_i_s_sc_i(opcode_t * cur_opcode,PARROT_INTERP)21765 Parrot_rindex_i_s_sc_i(opcode_t *cur_opcode, PARROT_INTERP) {
21766     STRING  * const  str = SREG(2);
21767 
21768     IREG(1) = Parrot_str_find_reverse_index(interp, str, SCONST(3), IREG(4));
21769     return cur_opcode + 5;
21770 }
21771 
21772 opcode_t *
Parrot_rindex_i_sc_sc_i(opcode_t * cur_opcode,PARROT_INTERP)21773 Parrot_rindex_i_sc_sc_i(opcode_t *cur_opcode, PARROT_INTERP) {
21774     STRING  * const  str = SCONST(2);
21775 
21776     IREG(1) = Parrot_str_find_reverse_index(interp, str, SCONST(3), IREG(4));
21777     return cur_opcode + 5;
21778 }
21779 
21780 opcode_t *
Parrot_rindex_i_s_s_ic(opcode_t * cur_opcode,PARROT_INTERP)21781 Parrot_rindex_i_s_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
21782     STRING  * const  str = SREG(2);
21783 
21784     IREG(1) = Parrot_str_find_reverse_index(interp, str, SREG(3), ICONST(4));
21785     return cur_opcode + 5;
21786 }
21787 
21788 opcode_t *
Parrot_rindex_i_sc_s_ic(opcode_t * cur_opcode,PARROT_INTERP)21789 Parrot_rindex_i_sc_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
21790     STRING  * const  str = SCONST(2);
21791 
21792     IREG(1) = Parrot_str_find_reverse_index(interp, str, SREG(3), ICONST(4));
21793     return cur_opcode + 5;
21794 }
21795 
21796 opcode_t *
Parrot_rindex_i_s_sc_ic(opcode_t * cur_opcode,PARROT_INTERP)21797 Parrot_rindex_i_s_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
21798     STRING  * const  str = SREG(2);
21799 
21800     IREG(1) = Parrot_str_find_reverse_index(interp, str, SCONST(3), ICONST(4));
21801     return cur_opcode + 5;
21802 }
21803 
21804 opcode_t *
Parrot_rindex_i_sc_sc_ic(opcode_t * cur_opcode,PARROT_INTERP)21805 Parrot_rindex_i_sc_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
21806     STRING  * const  str = SCONST(2);
21807 
21808     IREG(1) = Parrot_str_find_reverse_index(interp, str, SCONST(3), ICONST(4));
21809     return cur_opcode + 5;
21810 }
21811 
21812 opcode_t *
Parrot_sprintf_s_s_p(opcode_t * cur_opcode,PARROT_INTERP)21813 Parrot_sprintf_s_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
21814     SREG(1) = Parrot_psprintf(interp, SREG(2), PREG(3));
21815     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
21816     return cur_opcode + 4;
21817 }
21818 
21819 opcode_t *
Parrot_sprintf_s_sc_p(opcode_t * cur_opcode,PARROT_INTERP)21820 Parrot_sprintf_s_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
21821     SREG(1) = Parrot_psprintf(interp, SCONST(2), PREG(3));
21822     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
21823     return cur_opcode + 4;
21824 }
21825 
21826 opcode_t *
Parrot_sprintf_p_p_p(opcode_t * cur_opcode,PARROT_INTERP)21827 Parrot_sprintf_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
21828     VTABLE_set_string_native(interp, PREG(1), Parrot_psprintf(interp, VTABLE_get_string(interp, PREG(2)), PREG(3)));
21829     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
21830     return cur_opcode + 4;
21831 }
21832 
21833 opcode_t *
Parrot_new_s(opcode_t * cur_opcode,PARROT_INTERP)21834 Parrot_new_s(opcode_t *cur_opcode, PARROT_INTERP) {
21835     SREG(1) = Parrot_str_new_noinit(interp, 0);
21836     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
21837     return cur_opcode + 2;
21838 }
21839 
21840 opcode_t *
Parrot_stringinfo_i_s_i(opcode_t * cur_opcode,PARROT_INTERP)21841 Parrot_stringinfo_i_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
21842     if (SREG(2) == NULL) {
21843         IREG(1) = 0;
21844     }
21845     else {
21846         switch (IREG(3)) {
21847           case STRINGINFO_HEADER:
21848             IREG(1) = PTR2UINTVAL(SREG(2));
21849             break;
21850           case STRINGINFO_STRSTART:
21851             IREG(1) = PTR2UINTVAL(SREG(2)->strstart);
21852             break;
21853           case STRINGINFO_BUFLEN:
21854             IREG(1) = Buffer_buflen(SREG(2));
21855             break;
21856           case STRINGINFO_FLAGS:
21857             IREG(1) = PObj_get_FLAGS(SREG(2));
21858             break;
21859           case STRINGINFO_BUFUSED:
21860             IREG(1) = SREG(2)->bufused;
21861             break;
21862           case STRINGINFO_STRLEN:
21863             IREG(1) = SREG(2)->strlen;
21864             break;
21865           default:
21866             {
21867                 opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, NULL, EXCEPTION_INVALID_OPERATION, "stringinfo: unknown info type: %d", IREG(3));
21868 
21869                 return (opcode_t *)handler;
21870             }
21871 
21872         }
21873 
21874     }
21875 
21876     return cur_opcode + 4;
21877 }
21878 
21879 opcode_t *
Parrot_stringinfo_i_sc_i(opcode_t * cur_opcode,PARROT_INTERP)21880 Parrot_stringinfo_i_sc_i(opcode_t *cur_opcode, PARROT_INTERP) {
21881     if (SCONST(2) == NULL) {
21882         IREG(1) = 0;
21883     }
21884     else {
21885         switch (IREG(3)) {
21886           case STRINGINFO_HEADER:
21887             IREG(1) = PTR2UINTVAL(SCONST(2));
21888             break;
21889           case STRINGINFO_STRSTART:
21890             IREG(1) = PTR2UINTVAL(SCONST(2)->strstart);
21891             break;
21892           case STRINGINFO_BUFLEN:
21893             IREG(1) = Buffer_buflen(SCONST(2));
21894             break;
21895           case STRINGINFO_FLAGS:
21896             IREG(1) = PObj_get_FLAGS(SCONST(2));
21897             break;
21898           case STRINGINFO_BUFUSED:
21899             IREG(1) = SCONST(2)->bufused;
21900             break;
21901           case STRINGINFO_STRLEN:
21902             IREG(1) = SCONST(2)->strlen;
21903             break;
21904           default:
21905             {
21906                 opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, NULL, EXCEPTION_INVALID_OPERATION, "stringinfo: unknown info type: %d", IREG(3));
21907 
21908                 return (opcode_t *)handler;
21909             }
21910 
21911         }
21912 
21913     }
21914 
21915     return cur_opcode + 4;
21916 }
21917 
21918 opcode_t *
Parrot_stringinfo_i_s_ic(opcode_t * cur_opcode,PARROT_INTERP)21919 Parrot_stringinfo_i_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
21920     if (SREG(2) == NULL) {
21921         IREG(1) = 0;
21922     }
21923     else {
21924         switch (ICONST(3)) {
21925           case STRINGINFO_HEADER:
21926             IREG(1) = PTR2UINTVAL(SREG(2));
21927             break;
21928           case STRINGINFO_STRSTART:
21929             IREG(1) = PTR2UINTVAL(SREG(2)->strstart);
21930             break;
21931           case STRINGINFO_BUFLEN:
21932             IREG(1) = Buffer_buflen(SREG(2));
21933             break;
21934           case STRINGINFO_FLAGS:
21935             IREG(1) = PObj_get_FLAGS(SREG(2));
21936             break;
21937           case STRINGINFO_BUFUSED:
21938             IREG(1) = SREG(2)->bufused;
21939             break;
21940           case STRINGINFO_STRLEN:
21941             IREG(1) = SREG(2)->strlen;
21942             break;
21943           default:
21944             {
21945                 opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, NULL, EXCEPTION_INVALID_OPERATION, "stringinfo: unknown info type: %d", ICONST(3));
21946 
21947                 return (opcode_t *)handler;
21948             }
21949 
21950         }
21951 
21952     }
21953 
21954     return cur_opcode + 4;
21955 }
21956 
21957 opcode_t *
Parrot_stringinfo_i_sc_ic(opcode_t * cur_opcode,PARROT_INTERP)21958 Parrot_stringinfo_i_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
21959     if (SCONST(2) == NULL) {
21960         IREG(1) = 0;
21961     }
21962     else {
21963         switch (ICONST(3)) {
21964           case STRINGINFO_HEADER:
21965             IREG(1) = PTR2UINTVAL(SCONST(2));
21966             break;
21967           case STRINGINFO_STRSTART:
21968             IREG(1) = PTR2UINTVAL(SCONST(2)->strstart);
21969             break;
21970           case STRINGINFO_BUFLEN:
21971             IREG(1) = Buffer_buflen(SCONST(2));
21972             break;
21973           case STRINGINFO_FLAGS:
21974             IREG(1) = PObj_get_FLAGS(SCONST(2));
21975             break;
21976           case STRINGINFO_BUFUSED:
21977             IREG(1) = SCONST(2)->bufused;
21978             break;
21979           case STRINGINFO_STRLEN:
21980             IREG(1) = SCONST(2)->strlen;
21981             break;
21982           default:
21983             {
21984                 opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, NULL, EXCEPTION_INVALID_OPERATION, "stringinfo: unknown info type: %d", ICONST(3));
21985 
21986                 return (opcode_t *)handler;
21987             }
21988 
21989         }
21990 
21991     }
21992 
21993     return cur_opcode + 4;
21994 }
21995 
21996 opcode_t *
Parrot_upcase_s_s(opcode_t * cur_opcode,PARROT_INTERP)21997 Parrot_upcase_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
21998     SREG(1) = Parrot_str_upcase(interp, SREG(2));
21999     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
22000     return cur_opcode + 3;
22001 }
22002 
22003 opcode_t *
Parrot_upcase_s_sc(opcode_t * cur_opcode,PARROT_INTERP)22004 Parrot_upcase_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
22005     SREG(1) = Parrot_str_upcase(interp, SCONST(2));
22006     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
22007     return cur_opcode + 3;
22008 }
22009 
22010 opcode_t *
Parrot_downcase_s_s(opcode_t * cur_opcode,PARROT_INTERP)22011 Parrot_downcase_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
22012     SREG(1) = Parrot_str_downcase(interp, SREG(2));
22013     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
22014     return cur_opcode + 3;
22015 }
22016 
22017 opcode_t *
Parrot_downcase_s_sc(opcode_t * cur_opcode,PARROT_INTERP)22018 Parrot_downcase_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
22019     SREG(1) = Parrot_str_downcase(interp, SCONST(2));
22020     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
22021     return cur_opcode + 3;
22022 }
22023 
22024 opcode_t *
Parrot_titlecase_s_s(opcode_t * cur_opcode,PARROT_INTERP)22025 Parrot_titlecase_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
22026     SREG(1) = Parrot_str_titlecase(interp, SREG(2));
22027     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
22028     return cur_opcode + 3;
22029 }
22030 
22031 opcode_t *
Parrot_titlecase_s_sc(opcode_t * cur_opcode,PARROT_INTERP)22032 Parrot_titlecase_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
22033     SREG(1) = Parrot_str_titlecase(interp, SCONST(2));
22034     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
22035     return cur_opcode + 3;
22036 }
22037 
22038 opcode_t *
Parrot_join_s_s_p(opcode_t * cur_opcode,PARROT_INTERP)22039 Parrot_join_s_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
22040     SREG(1) = Parrot_str_join(interp, SREG(2), PREG(3));
22041     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
22042     return cur_opcode + 4;
22043 }
22044 
22045 opcode_t *
Parrot_join_s_sc_p(opcode_t * cur_opcode,PARROT_INTERP)22046 Parrot_join_s_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
22047     SREG(1) = Parrot_str_join(interp, SCONST(2), PREG(3));
22048     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
22049     return cur_opcode + 4;
22050 }
22051 
22052 opcode_t *
Parrot_split_p_s_s(opcode_t * cur_opcode,PARROT_INTERP)22053 Parrot_split_p_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
22054     PREG(1) = Parrot_str_split(interp, SREG(2), SREG(3));
22055     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
22056     return cur_opcode + 4;
22057 }
22058 
22059 opcode_t *
Parrot_split_p_sc_s(opcode_t * cur_opcode,PARROT_INTERP)22060 Parrot_split_p_sc_s(opcode_t *cur_opcode, PARROT_INTERP) {
22061     PREG(1) = Parrot_str_split(interp, SCONST(2), SREG(3));
22062     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
22063     return cur_opcode + 4;
22064 }
22065 
22066 opcode_t *
Parrot_split_p_s_sc(opcode_t * cur_opcode,PARROT_INTERP)22067 Parrot_split_p_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
22068     PREG(1) = Parrot_str_split(interp, SREG(2), SCONST(3));
22069     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
22070     return cur_opcode + 4;
22071 }
22072 
22073 opcode_t *
Parrot_split_p_sc_sc(opcode_t * cur_opcode,PARROT_INTERP)22074 Parrot_split_p_sc_sc(opcode_t *cur_opcode, PARROT_INTERP) {
22075     PREG(1) = Parrot_str_split(interp, SCONST(2), SCONST(3));
22076     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
22077     return cur_opcode + 4;
22078 }
22079 
22080 opcode_t *
Parrot_encoding_i_s(opcode_t * cur_opcode,PARROT_INTERP)22081 Parrot_encoding_i_s(opcode_t *cur_opcode, PARROT_INTERP) {
22082     IREG(1) = Parrot_encoding_number_of_str(interp, SREG(2));
22083     return cur_opcode + 3;
22084 }
22085 
22086 opcode_t *
Parrot_encoding_i_sc(opcode_t * cur_opcode,PARROT_INTERP)22087 Parrot_encoding_i_sc(opcode_t *cur_opcode, PARROT_INTERP) {
22088     IREG(1) = Parrot_encoding_number_of_str(interp, SCONST(2));
22089     return cur_opcode + 3;
22090 }
22091 
22092 opcode_t *
Parrot_encodingname_s_i(opcode_t * cur_opcode,PARROT_INTERP)22093 Parrot_encodingname_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
22094     SREG(1) = Parrot_encoding_name(interp, IREG(2));
22095     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
22096     return cur_opcode + 3;
22097 }
22098 
22099 opcode_t *
Parrot_encodingname_s_ic(opcode_t * cur_opcode,PARROT_INTERP)22100 Parrot_encodingname_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
22101     SREG(1) = Parrot_encoding_name(interp, ICONST(2));
22102     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
22103     return cur_opcode + 3;
22104 }
22105 
22106 opcode_t *
Parrot_find_encoding_i_s(opcode_t * cur_opcode,PARROT_INTERP)22107 Parrot_find_encoding_i_s(opcode_t *cur_opcode, PARROT_INTERP) {
22108     const INTVAL   n = Parrot_encoding_number(interp, SREG(2));
22109 
22110     if (n < 0) {
22111         opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, NULL, EXCEPTION_INVALID_ENCODING, "encoding '%Ss' not found", SREG(2));
22112 
22113         return (opcode_t *)handler;
22114     }
22115 
22116     IREG(1) = n;
22117     return cur_opcode + 3;
22118 }
22119 
22120 opcode_t *
Parrot_find_encoding_i_sc(opcode_t * cur_opcode,PARROT_INTERP)22121 Parrot_find_encoding_i_sc(opcode_t *cur_opcode, PARROT_INTERP) {
22122     const INTVAL   n = Parrot_encoding_number(interp, SCONST(2));
22123 
22124     if (n < 0) {
22125         opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, NULL, EXCEPTION_INVALID_ENCODING, "encoding '%Ss' not found", SCONST(2));
22126 
22127         return (opcode_t *)handler;
22128     }
22129 
22130     IREG(1) = n;
22131     return cur_opcode + 3;
22132 }
22133 
22134 opcode_t *
Parrot_trans_encoding_s_s_i(opcode_t * cur_opcode,PARROT_INTERP)22135 Parrot_trans_encoding_s_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
22136     SREG(1) = Parrot_str_change_encoding(interp, SREG(2), IREG(3));
22137     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
22138     return cur_opcode + 4;
22139 }
22140 
22141 opcode_t *
Parrot_trans_encoding_s_sc_i(opcode_t * cur_opcode,PARROT_INTERP)22142 Parrot_trans_encoding_s_sc_i(opcode_t *cur_opcode, PARROT_INTERP) {
22143     SREG(1) = Parrot_str_change_encoding(interp, SCONST(2), IREG(3));
22144     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
22145     return cur_opcode + 4;
22146 }
22147 
22148 opcode_t *
Parrot_trans_encoding_s_s_ic(opcode_t * cur_opcode,PARROT_INTERP)22149 Parrot_trans_encoding_s_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
22150     SREG(1) = Parrot_str_change_encoding(interp, SREG(2), ICONST(3));
22151     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
22152     return cur_opcode + 4;
22153 }
22154 
22155 opcode_t *
Parrot_trans_encoding_s_sc_ic(opcode_t * cur_opcode,PARROT_INTERP)22156 Parrot_trans_encoding_s_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
22157     SREG(1) = Parrot_str_change_encoding(interp, SCONST(2), ICONST(3));
22158     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
22159     return cur_opcode + 4;
22160 }
22161 
22162 opcode_t *
Parrot_is_cclass_i_i_s_i(opcode_t * cur_opcode,PARROT_INTERP)22163 Parrot_is_cclass_i_i_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
22164     IREG(1) = Parrot_str_is_cclass(interp, IREG(2), SREG(3), IREG(4));
22165     return cur_opcode + 5;
22166 }
22167 
22168 opcode_t *
Parrot_is_cclass_i_ic_s_i(opcode_t * cur_opcode,PARROT_INTERP)22169 Parrot_is_cclass_i_ic_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
22170     IREG(1) = Parrot_str_is_cclass(interp, ICONST(2), SREG(3), IREG(4));
22171     return cur_opcode + 5;
22172 }
22173 
22174 opcode_t *
Parrot_is_cclass_i_i_sc_i(opcode_t * cur_opcode,PARROT_INTERP)22175 Parrot_is_cclass_i_i_sc_i(opcode_t *cur_opcode, PARROT_INTERP) {
22176     IREG(1) = Parrot_str_is_cclass(interp, IREG(2), SCONST(3), IREG(4));
22177     return cur_opcode + 5;
22178 }
22179 
22180 opcode_t *
Parrot_is_cclass_i_ic_sc_i(opcode_t * cur_opcode,PARROT_INTERP)22181 Parrot_is_cclass_i_ic_sc_i(opcode_t *cur_opcode, PARROT_INTERP) {
22182     IREG(1) = Parrot_str_is_cclass(interp, ICONST(2), SCONST(3), IREG(4));
22183     return cur_opcode + 5;
22184 }
22185 
22186 opcode_t *
Parrot_is_cclass_i_i_s_ic(opcode_t * cur_opcode,PARROT_INTERP)22187 Parrot_is_cclass_i_i_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
22188     IREG(1) = Parrot_str_is_cclass(interp, IREG(2), SREG(3), ICONST(4));
22189     return cur_opcode + 5;
22190 }
22191 
22192 opcode_t *
Parrot_is_cclass_i_ic_s_ic(opcode_t * cur_opcode,PARROT_INTERP)22193 Parrot_is_cclass_i_ic_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
22194     IREG(1) = Parrot_str_is_cclass(interp, ICONST(2), SREG(3), ICONST(4));
22195     return cur_opcode + 5;
22196 }
22197 
22198 opcode_t *
Parrot_is_cclass_i_i_sc_ic(opcode_t * cur_opcode,PARROT_INTERP)22199 Parrot_is_cclass_i_i_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
22200     IREG(1) = Parrot_str_is_cclass(interp, IREG(2), SCONST(3), ICONST(4));
22201     return cur_opcode + 5;
22202 }
22203 
22204 opcode_t *
Parrot_is_cclass_i_ic_sc_ic(opcode_t * cur_opcode,PARROT_INTERP)22205 Parrot_is_cclass_i_ic_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
22206     IREG(1) = Parrot_str_is_cclass(interp, ICONST(2), SCONST(3), ICONST(4));
22207     return cur_opcode + 5;
22208 }
22209 
22210 opcode_t *
Parrot_find_cclass_i_i_s_i_i(opcode_t * cur_opcode,PARROT_INTERP)22211 Parrot_find_cclass_i_i_s_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
22212     IREG(1) = Parrot_str_find_cclass(interp, IREG(2), SREG(3), IREG(4), IREG(5));
22213     return cur_opcode + 6;
22214 }
22215 
22216 opcode_t *
Parrot_find_cclass_i_ic_s_i_i(opcode_t * cur_opcode,PARROT_INTERP)22217 Parrot_find_cclass_i_ic_s_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
22218     IREG(1) = Parrot_str_find_cclass(interp, ICONST(2), SREG(3), IREG(4), IREG(5));
22219     return cur_opcode + 6;
22220 }
22221 
22222 opcode_t *
Parrot_find_cclass_i_i_sc_i_i(opcode_t * cur_opcode,PARROT_INTERP)22223 Parrot_find_cclass_i_i_sc_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
22224     IREG(1) = Parrot_str_find_cclass(interp, IREG(2), SCONST(3), IREG(4), IREG(5));
22225     return cur_opcode + 6;
22226 }
22227 
22228 opcode_t *
Parrot_find_cclass_i_ic_sc_i_i(opcode_t * cur_opcode,PARROT_INTERP)22229 Parrot_find_cclass_i_ic_sc_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
22230     IREG(1) = Parrot_str_find_cclass(interp, ICONST(2), SCONST(3), IREG(4), IREG(5));
22231     return cur_opcode + 6;
22232 }
22233 
22234 opcode_t *
Parrot_find_cclass_i_i_s_ic_i(opcode_t * cur_opcode,PARROT_INTERP)22235 Parrot_find_cclass_i_i_s_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
22236     IREG(1) = Parrot_str_find_cclass(interp, IREG(2), SREG(3), ICONST(4), IREG(5));
22237     return cur_opcode + 6;
22238 }
22239 
22240 opcode_t *
Parrot_find_cclass_i_ic_s_ic_i(opcode_t * cur_opcode,PARROT_INTERP)22241 Parrot_find_cclass_i_ic_s_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
22242     IREG(1) = Parrot_str_find_cclass(interp, ICONST(2), SREG(3), ICONST(4), IREG(5));
22243     return cur_opcode + 6;
22244 }
22245 
22246 opcode_t *
Parrot_find_cclass_i_i_sc_ic_i(opcode_t * cur_opcode,PARROT_INTERP)22247 Parrot_find_cclass_i_i_sc_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
22248     IREG(1) = Parrot_str_find_cclass(interp, IREG(2), SCONST(3), ICONST(4), IREG(5));
22249     return cur_opcode + 6;
22250 }
22251 
22252 opcode_t *
Parrot_find_cclass_i_ic_sc_ic_i(opcode_t * cur_opcode,PARROT_INTERP)22253 Parrot_find_cclass_i_ic_sc_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
22254     IREG(1) = Parrot_str_find_cclass(interp, ICONST(2), SCONST(3), ICONST(4), IREG(5));
22255     return cur_opcode + 6;
22256 }
22257 
22258 opcode_t *
Parrot_find_cclass_i_i_s_i_ic(opcode_t * cur_opcode,PARROT_INTERP)22259 Parrot_find_cclass_i_i_s_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
22260     IREG(1) = Parrot_str_find_cclass(interp, IREG(2), SREG(3), IREG(4), ICONST(5));
22261     return cur_opcode + 6;
22262 }
22263 
22264 opcode_t *
Parrot_find_cclass_i_ic_s_i_ic(opcode_t * cur_opcode,PARROT_INTERP)22265 Parrot_find_cclass_i_ic_s_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
22266     IREG(1) = Parrot_str_find_cclass(interp, ICONST(2), SREG(3), IREG(4), ICONST(5));
22267     return cur_opcode + 6;
22268 }
22269 
22270 opcode_t *
Parrot_find_cclass_i_i_sc_i_ic(opcode_t * cur_opcode,PARROT_INTERP)22271 Parrot_find_cclass_i_i_sc_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
22272     IREG(1) = Parrot_str_find_cclass(interp, IREG(2), SCONST(3), IREG(4), ICONST(5));
22273     return cur_opcode + 6;
22274 }
22275 
22276 opcode_t *
Parrot_find_cclass_i_ic_sc_i_ic(opcode_t * cur_opcode,PARROT_INTERP)22277 Parrot_find_cclass_i_ic_sc_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
22278     IREG(1) = Parrot_str_find_cclass(interp, ICONST(2), SCONST(3), IREG(4), ICONST(5));
22279     return cur_opcode + 6;
22280 }
22281 
22282 opcode_t *
Parrot_find_cclass_i_i_s_ic_ic(opcode_t * cur_opcode,PARROT_INTERP)22283 Parrot_find_cclass_i_i_s_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
22284     IREG(1) = Parrot_str_find_cclass(interp, IREG(2), SREG(3), ICONST(4), ICONST(5));
22285     return cur_opcode + 6;
22286 }
22287 
22288 opcode_t *
Parrot_find_cclass_i_ic_s_ic_ic(opcode_t * cur_opcode,PARROT_INTERP)22289 Parrot_find_cclass_i_ic_s_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
22290     IREG(1) = Parrot_str_find_cclass(interp, ICONST(2), SREG(3), ICONST(4), ICONST(5));
22291     return cur_opcode + 6;
22292 }
22293 
22294 opcode_t *
Parrot_find_cclass_i_i_sc_ic_ic(opcode_t * cur_opcode,PARROT_INTERP)22295 Parrot_find_cclass_i_i_sc_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
22296     IREG(1) = Parrot_str_find_cclass(interp, IREG(2), SCONST(3), ICONST(4), ICONST(5));
22297     return cur_opcode + 6;
22298 }
22299 
22300 opcode_t *
Parrot_find_cclass_i_ic_sc_ic_ic(opcode_t * cur_opcode,PARROT_INTERP)22301 Parrot_find_cclass_i_ic_sc_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
22302     IREG(1) = Parrot_str_find_cclass(interp, ICONST(2), SCONST(3), ICONST(4), ICONST(5));
22303     return cur_opcode + 6;
22304 }
22305 
22306 opcode_t *
Parrot_find_not_cclass_i_i_s_i_i(opcode_t * cur_opcode,PARROT_INTERP)22307 Parrot_find_not_cclass_i_i_s_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
22308     IREG(1) = Parrot_str_find_not_cclass(interp, IREG(2), SREG(3), IREG(4), IREG(5));
22309     return cur_opcode + 6;
22310 }
22311 
22312 opcode_t *
Parrot_find_not_cclass_i_ic_s_i_i(opcode_t * cur_opcode,PARROT_INTERP)22313 Parrot_find_not_cclass_i_ic_s_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
22314     IREG(1) = Parrot_str_find_not_cclass(interp, ICONST(2), SREG(3), IREG(4), IREG(5));
22315     return cur_opcode + 6;
22316 }
22317 
22318 opcode_t *
Parrot_find_not_cclass_i_i_sc_i_i(opcode_t * cur_opcode,PARROT_INTERP)22319 Parrot_find_not_cclass_i_i_sc_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
22320     IREG(1) = Parrot_str_find_not_cclass(interp, IREG(2), SCONST(3), IREG(4), IREG(5));
22321     return cur_opcode + 6;
22322 }
22323 
22324 opcode_t *
Parrot_find_not_cclass_i_ic_sc_i_i(opcode_t * cur_opcode,PARROT_INTERP)22325 Parrot_find_not_cclass_i_ic_sc_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
22326     IREG(1) = Parrot_str_find_not_cclass(interp, ICONST(2), SCONST(3), IREG(4), IREG(5));
22327     return cur_opcode + 6;
22328 }
22329 
22330 opcode_t *
Parrot_find_not_cclass_i_i_s_ic_i(opcode_t * cur_opcode,PARROT_INTERP)22331 Parrot_find_not_cclass_i_i_s_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
22332     IREG(1) = Parrot_str_find_not_cclass(interp, IREG(2), SREG(3), ICONST(4), IREG(5));
22333     return cur_opcode + 6;
22334 }
22335 
22336 opcode_t *
Parrot_find_not_cclass_i_ic_s_ic_i(opcode_t * cur_opcode,PARROT_INTERP)22337 Parrot_find_not_cclass_i_ic_s_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
22338     IREG(1) = Parrot_str_find_not_cclass(interp, ICONST(2), SREG(3), ICONST(4), IREG(5));
22339     return cur_opcode + 6;
22340 }
22341 
22342 opcode_t *
Parrot_find_not_cclass_i_i_sc_ic_i(opcode_t * cur_opcode,PARROT_INTERP)22343 Parrot_find_not_cclass_i_i_sc_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
22344     IREG(1) = Parrot_str_find_not_cclass(interp, IREG(2), SCONST(3), ICONST(4), IREG(5));
22345     return cur_opcode + 6;
22346 }
22347 
22348 opcode_t *
Parrot_find_not_cclass_i_ic_sc_ic_i(opcode_t * cur_opcode,PARROT_INTERP)22349 Parrot_find_not_cclass_i_ic_sc_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
22350     IREG(1) = Parrot_str_find_not_cclass(interp, ICONST(2), SCONST(3), ICONST(4), IREG(5));
22351     return cur_opcode + 6;
22352 }
22353 
22354 opcode_t *
Parrot_find_not_cclass_i_i_s_i_ic(opcode_t * cur_opcode,PARROT_INTERP)22355 Parrot_find_not_cclass_i_i_s_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
22356     IREG(1) = Parrot_str_find_not_cclass(interp, IREG(2), SREG(3), IREG(4), ICONST(5));
22357     return cur_opcode + 6;
22358 }
22359 
22360 opcode_t *
Parrot_find_not_cclass_i_ic_s_i_ic(opcode_t * cur_opcode,PARROT_INTERP)22361 Parrot_find_not_cclass_i_ic_s_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
22362     IREG(1) = Parrot_str_find_not_cclass(interp, ICONST(2), SREG(3), IREG(4), ICONST(5));
22363     return cur_opcode + 6;
22364 }
22365 
22366 opcode_t *
Parrot_find_not_cclass_i_i_sc_i_ic(opcode_t * cur_opcode,PARROT_INTERP)22367 Parrot_find_not_cclass_i_i_sc_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
22368     IREG(1) = Parrot_str_find_not_cclass(interp, IREG(2), SCONST(3), IREG(4), ICONST(5));
22369     return cur_opcode + 6;
22370 }
22371 
22372 opcode_t *
Parrot_find_not_cclass_i_ic_sc_i_ic(opcode_t * cur_opcode,PARROT_INTERP)22373 Parrot_find_not_cclass_i_ic_sc_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
22374     IREG(1) = Parrot_str_find_not_cclass(interp, ICONST(2), SCONST(3), IREG(4), ICONST(5));
22375     return cur_opcode + 6;
22376 }
22377 
22378 opcode_t *
Parrot_find_not_cclass_i_i_s_ic_ic(opcode_t * cur_opcode,PARROT_INTERP)22379 Parrot_find_not_cclass_i_i_s_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
22380     IREG(1) = Parrot_str_find_not_cclass(interp, IREG(2), SREG(3), ICONST(4), ICONST(5));
22381     return cur_opcode + 6;
22382 }
22383 
22384 opcode_t *
Parrot_find_not_cclass_i_ic_s_ic_ic(opcode_t * cur_opcode,PARROT_INTERP)22385 Parrot_find_not_cclass_i_ic_s_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
22386     IREG(1) = Parrot_str_find_not_cclass(interp, ICONST(2), SREG(3), ICONST(4), ICONST(5));
22387     return cur_opcode + 6;
22388 }
22389 
22390 opcode_t *
Parrot_find_not_cclass_i_i_sc_ic_ic(opcode_t * cur_opcode,PARROT_INTERP)22391 Parrot_find_not_cclass_i_i_sc_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
22392     IREG(1) = Parrot_str_find_not_cclass(interp, IREG(2), SCONST(3), ICONST(4), ICONST(5));
22393     return cur_opcode + 6;
22394 }
22395 
22396 opcode_t *
Parrot_find_not_cclass_i_ic_sc_ic_ic(opcode_t * cur_opcode,PARROT_INTERP)22397 Parrot_find_not_cclass_i_ic_sc_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
22398     IREG(1) = Parrot_str_find_not_cclass(interp, ICONST(2), SCONST(3), ICONST(4), ICONST(5));
22399     return cur_opcode + 6;
22400 }
22401 
22402 opcode_t *
Parrot_escape_s_s(opcode_t * cur_opcode,PARROT_INTERP)22403 Parrot_escape_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
22404     SREG(1) = Parrot_str_escape(interp, SREG(2));
22405     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
22406     return cur_opcode + 3;
22407 }
22408 
22409 opcode_t *
Parrot_compose_s_s(opcode_t * cur_opcode,PARROT_INTERP)22410 Parrot_compose_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
22411     SREG(1) = Parrot_str_compose(interp, SREG(2));
22412     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
22413     return cur_opcode + 3;
22414 }
22415 
22416 opcode_t *
Parrot_compose_s_sc(opcode_t * cur_opcode,PARROT_INTERP)22417 Parrot_compose_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
22418     SREG(1) = Parrot_str_compose(interp, SCONST(2));
22419     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
22420     return cur_opcode + 3;
22421 }
22422 
22423 opcode_t *
Parrot_find_codepoint_i_s(opcode_t * cur_opcode,PARROT_INTERP)22424 Parrot_find_codepoint_i_s(opcode_t *cur_opcode, PARROT_INTERP) {
22425     IREG(1) = Parrot_str_internal_find_codepoint(interp, SREG(2));
22426     return cur_opcode + 3;
22427 }
22428 
22429 opcode_t *
Parrot_find_codepoint_i_sc(opcode_t * cur_opcode,PARROT_INTERP)22430 Parrot_find_codepoint_i_sc(opcode_t *cur_opcode, PARROT_INTERP) {
22431     IREG(1) = Parrot_str_internal_find_codepoint(interp, SCONST(2));
22432     return cur_opcode + 3;
22433 }
22434 
22435 opcode_t *
Parrot_spawnw_i_s(opcode_t * cur_opcode,PARROT_INTERP)22436 Parrot_spawnw_i_s(opcode_t *cur_opcode, PARROT_INTERP) {
22437     IREG(1) = Parrot_Run_OS_Command(interp, SREG(2));
22438     return cur_opcode + 3;
22439 }
22440 
22441 opcode_t *
Parrot_spawnw_i_sc(opcode_t * cur_opcode,PARROT_INTERP)22442 Parrot_spawnw_i_sc(opcode_t *cur_opcode, PARROT_INTERP) {
22443     IREG(1) = Parrot_Run_OS_Command(interp, SCONST(2));
22444     return cur_opcode + 3;
22445 }
22446 
22447 opcode_t *
Parrot_spawnw_i_p(opcode_t * cur_opcode,PARROT_INTERP)22448 Parrot_spawnw_i_p(opcode_t *cur_opcode, PARROT_INTERP) {
22449     IREG(1) = Parrot_Run_OS_Command_Argv(interp, PREG(2));
22450     return cur_opcode + 3;
22451 }
22452 
22453 opcode_t *
Parrot_err_i(opcode_t * cur_opcode,PARROT_INTERP)22454 Parrot_err_i(opcode_t *cur_opcode, PARROT_INTERP) {
22455     IREG(1) = errno;
22456     return cur_opcode + 2;
22457 }
22458 
22459 opcode_t *
Parrot_err_s(opcode_t * cur_opcode,PARROT_INTERP)22460 Parrot_err_s(opcode_t *cur_opcode, PARROT_INTERP) {
22461     const char  * const  tmp = strerror(errno);
22462 
22463     SREG(1) = Parrot_str_new_init(interp, tmp, strlen(tmp), Parrot_ascii_encoding_ptr, 0);
22464     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
22465     return cur_opcode + 2;
22466 }
22467 
22468 opcode_t *
Parrot_err_s_i(opcode_t * cur_opcode,PARROT_INTERP)22469 Parrot_err_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
22470     const char  * const  tmp = strerror(IREG(2));
22471 
22472     SREG(1) = Parrot_str_new_init(interp, tmp, strlen(tmp), Parrot_ascii_encoding_ptr, 0);
22473     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
22474     return cur_opcode + 3;
22475 }
22476 
22477 opcode_t *
Parrot_err_s_ic(opcode_t * cur_opcode,PARROT_INTERP)22478 Parrot_err_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
22479     const char  * const  tmp = strerror(ICONST(2));
22480 
22481     SREG(1) = Parrot_str_new_init(interp, tmp, strlen(tmp), Parrot_ascii_encoding_ptr, 0);
22482     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
22483     return cur_opcode + 3;
22484 }
22485 
22486 opcode_t *
Parrot_time_i(opcode_t * cur_opcode,PARROT_INTERP)22487 Parrot_time_i(opcode_t *cur_opcode, PARROT_INTERP) {
22488     IREG(1) = Parrot_intval_time();
22489     return cur_opcode + 2;
22490 }
22491 
22492 opcode_t *
Parrot_time_n(opcode_t * cur_opcode,PARROT_INTERP)22493 Parrot_time_n(opcode_t *cur_opcode, PARROT_INTERP) {
22494     NREG(1) = Parrot_floatval_time();
22495     return cur_opcode + 2;
22496 }
22497 
22498 opcode_t *
Parrot_sleep_i(opcode_t * cur_opcode,PARROT_INTERP)22499 Parrot_sleep_i(opcode_t *cur_opcode, PARROT_INTERP) {
22500     opcode_t  * next =  cur_opcode + 2;
22501 
22502     if (IREG(1) < 0) {
22503         opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, next, EXCEPTION_NEG_SLEEP, "Cannot go back in time");
22504 
22505         return (opcode_t *)handler;
22506     }
22507 
22508     next = (opcode_t *)Parrot_cx_schedule_sleep(interp, (FLOATVAL)IREG(1), next);
22509     return (opcode_t *)next;
22510 }
22511 
22512 opcode_t *
Parrot_sleep_ic(opcode_t * cur_opcode,PARROT_INTERP)22513 Parrot_sleep_ic(opcode_t *cur_opcode, PARROT_INTERP) {
22514     opcode_t  * next =  cur_opcode + 2;
22515 
22516     if (ICONST(1) < 0) {
22517         opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, next, EXCEPTION_NEG_SLEEP, "Cannot go back in time");
22518 
22519         return (opcode_t *)handler;
22520     }
22521 
22522     next = (opcode_t *)Parrot_cx_schedule_sleep(interp, (FLOATVAL)ICONST(1), next);
22523     return (opcode_t *)next;
22524 }
22525 
22526 opcode_t *
Parrot_sleep_n(opcode_t * cur_opcode,PARROT_INTERP)22527 Parrot_sleep_n(opcode_t *cur_opcode, PARROT_INTERP) {
22528     opcode_t  * next =  cur_opcode + 2;
22529 
22530     if (NREG(1) < 0.0) {
22531         opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, next, EXCEPTION_NEG_SLEEP, "Cannot go back in time");
22532 
22533         return (opcode_t *)handler;
22534     }
22535 
22536     next = (opcode_t *)Parrot_cx_schedule_sleep(interp, NREG(1), next);
22537     return (opcode_t *)next;
22538 }
22539 
22540 opcode_t *
Parrot_sleep_nc(opcode_t * cur_opcode,PARROT_INTERP)22541 Parrot_sleep_nc(opcode_t *cur_opcode, PARROT_INTERP) {
22542     opcode_t  * next =  cur_opcode + 2;
22543 
22544     if (NCONST(1) < 0.0) {
22545         opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, next, EXCEPTION_NEG_SLEEP, "Cannot go back in time");
22546 
22547         return (opcode_t *)handler;
22548     }
22549 
22550     next = (opcode_t *)Parrot_cx_schedule_sleep(interp, NCONST(1), next);
22551     return (opcode_t *)next;
22552 }
22553 
22554 opcode_t *
Parrot_store_lex_s_p(opcode_t * cur_opcode,PARROT_INTERP)22555 Parrot_store_lex_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
22556     PMC      * const  ctx = CURRENT_CONTEXT(interp);
22557     STRING   * const  lex_name = SREG(1);
22558     PMC      * const  lex_pad = Parrot_sub_find_pad(interp, lex_name, ctx);
22559 
22560     if (PMC_IS_NULL(lex_pad)) {
22561         opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, NULL, EXCEPTION_LEX_NOT_FOUND, "Lexical '%Ss' not found", lex_name);
22562 
22563         return (opcode_t *)handler;
22564     }
22565 
22566     VTABLE_set_pmc_keyed_str(interp, lex_pad, lex_name, PREG(2));
22567     return cur_opcode + 3;
22568 }
22569 
22570 opcode_t *
Parrot_store_lex_sc_p(opcode_t * cur_opcode,PARROT_INTERP)22571 Parrot_store_lex_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
22572     PMC      * const  ctx = CURRENT_CONTEXT(interp);
22573     STRING   * const  lex_name = SCONST(1);
22574     PMC      * const  lex_pad = Parrot_sub_find_pad(interp, lex_name, ctx);
22575 
22576     if (PMC_IS_NULL(lex_pad)) {
22577         opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, NULL, EXCEPTION_LEX_NOT_FOUND, "Lexical '%Ss' not found", lex_name);
22578 
22579         return (opcode_t *)handler;
22580     }
22581 
22582     VTABLE_set_pmc_keyed_str(interp, lex_pad, lex_name, PREG(2));
22583     return cur_opcode + 3;
22584 }
22585 
22586 opcode_t *
Parrot_store_lex_s_s(opcode_t * cur_opcode,PARROT_INTERP)22587 Parrot_store_lex_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
22588     PMC      * const  ctx = CURRENT_CONTEXT(interp);
22589     STRING   * const  lex_name = SREG(1);
22590     PMC      * const  lex_pad = Parrot_sub_find_pad(interp, lex_name, ctx);
22591 
22592     if (PMC_IS_NULL(lex_pad)) {
22593         opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, NULL, EXCEPTION_LEX_NOT_FOUND, "Lexical '%Ss' not found", lex_name);
22594 
22595         return (opcode_t *)handler;
22596     }
22597 
22598     VTABLE_set_string_keyed_str(interp, lex_pad, lex_name, SREG(2));
22599     return cur_opcode + 3;
22600 }
22601 
22602 opcode_t *
Parrot_store_lex_sc_s(opcode_t * cur_opcode,PARROT_INTERP)22603 Parrot_store_lex_sc_s(opcode_t *cur_opcode, PARROT_INTERP) {
22604     PMC      * const  ctx = CURRENT_CONTEXT(interp);
22605     STRING   * const  lex_name = SCONST(1);
22606     PMC      * const  lex_pad = Parrot_sub_find_pad(interp, lex_name, ctx);
22607 
22608     if (PMC_IS_NULL(lex_pad)) {
22609         opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, NULL, EXCEPTION_LEX_NOT_FOUND, "Lexical '%Ss' not found", lex_name);
22610 
22611         return (opcode_t *)handler;
22612     }
22613 
22614     VTABLE_set_string_keyed_str(interp, lex_pad, lex_name, SREG(2));
22615     return cur_opcode + 3;
22616 }
22617 
22618 opcode_t *
Parrot_store_lex_s_sc(opcode_t * cur_opcode,PARROT_INTERP)22619 Parrot_store_lex_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
22620     PMC      * const  ctx = CURRENT_CONTEXT(interp);
22621     STRING   * const  lex_name = SREG(1);
22622     PMC      * const  lex_pad = Parrot_sub_find_pad(interp, lex_name, ctx);
22623 
22624     if (PMC_IS_NULL(lex_pad)) {
22625         opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, NULL, EXCEPTION_LEX_NOT_FOUND, "Lexical '%Ss' not found", lex_name);
22626 
22627         return (opcode_t *)handler;
22628     }
22629 
22630     VTABLE_set_string_keyed_str(interp, lex_pad, lex_name, SCONST(2));
22631     return cur_opcode + 3;
22632 }
22633 
22634 opcode_t *
Parrot_store_lex_sc_sc(opcode_t * cur_opcode,PARROT_INTERP)22635 Parrot_store_lex_sc_sc(opcode_t *cur_opcode, PARROT_INTERP) {
22636     PMC      * const  ctx = CURRENT_CONTEXT(interp);
22637     STRING   * const  lex_name = SCONST(1);
22638     PMC      * const  lex_pad = Parrot_sub_find_pad(interp, lex_name, ctx);
22639 
22640     if (PMC_IS_NULL(lex_pad)) {
22641         opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, NULL, EXCEPTION_LEX_NOT_FOUND, "Lexical '%Ss' not found", lex_name);
22642 
22643         return (opcode_t *)handler;
22644     }
22645 
22646     VTABLE_set_string_keyed_str(interp, lex_pad, lex_name, SCONST(2));
22647     return cur_opcode + 3;
22648 }
22649 
22650 opcode_t *
Parrot_store_lex_s_i(opcode_t * cur_opcode,PARROT_INTERP)22651 Parrot_store_lex_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
22652     PMC      * const  ctx = CURRENT_CONTEXT(interp);
22653     STRING   * const  lex_name = SREG(1);
22654     PMC      * const  lex_pad = Parrot_sub_find_pad(interp, lex_name, ctx);
22655 
22656     if (PMC_IS_NULL(lex_pad)) {
22657         opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, NULL, EXCEPTION_LEX_NOT_FOUND, "Lexical '%Ss' not found", lex_name);
22658 
22659         return (opcode_t *)handler;
22660     }
22661 
22662     VTABLE_set_integer_keyed_str(interp, lex_pad, lex_name, IREG(2));
22663     return cur_opcode + 3;
22664 }
22665 
22666 opcode_t *
Parrot_store_lex_sc_i(opcode_t * cur_opcode,PARROT_INTERP)22667 Parrot_store_lex_sc_i(opcode_t *cur_opcode, PARROT_INTERP) {
22668     PMC      * const  ctx = CURRENT_CONTEXT(interp);
22669     STRING   * const  lex_name = SCONST(1);
22670     PMC      * const  lex_pad = Parrot_sub_find_pad(interp, lex_name, ctx);
22671 
22672     if (PMC_IS_NULL(lex_pad)) {
22673         opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, NULL, EXCEPTION_LEX_NOT_FOUND, "Lexical '%Ss' not found", lex_name);
22674 
22675         return (opcode_t *)handler;
22676     }
22677 
22678     VTABLE_set_integer_keyed_str(interp, lex_pad, lex_name, IREG(2));
22679     return cur_opcode + 3;
22680 }
22681 
22682 opcode_t *
Parrot_store_lex_s_ic(opcode_t * cur_opcode,PARROT_INTERP)22683 Parrot_store_lex_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
22684     PMC      * const  ctx = CURRENT_CONTEXT(interp);
22685     STRING   * const  lex_name = SREG(1);
22686     PMC      * const  lex_pad = Parrot_sub_find_pad(interp, lex_name, ctx);
22687 
22688     if (PMC_IS_NULL(lex_pad)) {
22689         opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, NULL, EXCEPTION_LEX_NOT_FOUND, "Lexical '%Ss' not found", lex_name);
22690 
22691         return (opcode_t *)handler;
22692     }
22693 
22694     VTABLE_set_integer_keyed_str(interp, lex_pad, lex_name, ICONST(2));
22695     return cur_opcode + 3;
22696 }
22697 
22698 opcode_t *
Parrot_store_lex_sc_ic(opcode_t * cur_opcode,PARROT_INTERP)22699 Parrot_store_lex_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
22700     PMC      * const  ctx = CURRENT_CONTEXT(interp);
22701     STRING   * const  lex_name = SCONST(1);
22702     PMC      * const  lex_pad = Parrot_sub_find_pad(interp, lex_name, ctx);
22703 
22704     if (PMC_IS_NULL(lex_pad)) {
22705         opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, NULL, EXCEPTION_LEX_NOT_FOUND, "Lexical '%Ss' not found", lex_name);
22706 
22707         return (opcode_t *)handler;
22708     }
22709 
22710     VTABLE_set_integer_keyed_str(interp, lex_pad, lex_name, ICONST(2));
22711     return cur_opcode + 3;
22712 }
22713 
22714 opcode_t *
Parrot_store_lex_s_n(opcode_t * cur_opcode,PARROT_INTERP)22715 Parrot_store_lex_s_n(opcode_t *cur_opcode, PARROT_INTERP) {
22716     PMC      * const  ctx = CURRENT_CONTEXT(interp);
22717     STRING   * const  lex_name = SREG(1);
22718     PMC      * const  lex_pad = Parrot_sub_find_pad(interp, lex_name, ctx);
22719 
22720     if (PMC_IS_NULL(lex_pad)) {
22721         opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, NULL, EXCEPTION_LEX_NOT_FOUND, "Lexical '%Ss' not found", lex_name);
22722 
22723         return (opcode_t *)handler;
22724     }
22725 
22726     VTABLE_set_number_keyed_str(interp, lex_pad, lex_name, NREG(2));
22727     return cur_opcode + 3;
22728 }
22729 
22730 opcode_t *
Parrot_store_lex_sc_n(opcode_t * cur_opcode,PARROT_INTERP)22731 Parrot_store_lex_sc_n(opcode_t *cur_opcode, PARROT_INTERP) {
22732     PMC      * const  ctx = CURRENT_CONTEXT(interp);
22733     STRING   * const  lex_name = SCONST(1);
22734     PMC      * const  lex_pad = Parrot_sub_find_pad(interp, lex_name, ctx);
22735 
22736     if (PMC_IS_NULL(lex_pad)) {
22737         opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, NULL, EXCEPTION_LEX_NOT_FOUND, "Lexical '%Ss' not found", lex_name);
22738 
22739         return (opcode_t *)handler;
22740     }
22741 
22742     VTABLE_set_number_keyed_str(interp, lex_pad, lex_name, NREG(2));
22743     return cur_opcode + 3;
22744 }
22745 
22746 opcode_t *
Parrot_store_lex_s_nc(opcode_t * cur_opcode,PARROT_INTERP)22747 Parrot_store_lex_s_nc(opcode_t *cur_opcode, PARROT_INTERP) {
22748     PMC      * const  ctx = CURRENT_CONTEXT(interp);
22749     STRING   * const  lex_name = SREG(1);
22750     PMC      * const  lex_pad = Parrot_sub_find_pad(interp, lex_name, ctx);
22751 
22752     if (PMC_IS_NULL(lex_pad)) {
22753         opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, NULL, EXCEPTION_LEX_NOT_FOUND, "Lexical '%Ss' not found", lex_name);
22754 
22755         return (opcode_t *)handler;
22756     }
22757 
22758     VTABLE_set_number_keyed_str(interp, lex_pad, lex_name, NCONST(2));
22759     return cur_opcode + 3;
22760 }
22761 
22762 opcode_t *
Parrot_store_lex_sc_nc(opcode_t * cur_opcode,PARROT_INTERP)22763 Parrot_store_lex_sc_nc(opcode_t *cur_opcode, PARROT_INTERP) {
22764     PMC      * const  ctx = CURRENT_CONTEXT(interp);
22765     STRING   * const  lex_name = SCONST(1);
22766     PMC      * const  lex_pad = Parrot_sub_find_pad(interp, lex_name, ctx);
22767 
22768     if (PMC_IS_NULL(lex_pad)) {
22769         opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, NULL, EXCEPTION_LEX_NOT_FOUND, "Lexical '%Ss' not found", lex_name);
22770 
22771         return (opcode_t *)handler;
22772     }
22773 
22774     VTABLE_set_number_keyed_str(interp, lex_pad, lex_name, NCONST(2));
22775     return cur_opcode + 3;
22776 }
22777 
22778 opcode_t *
Parrot_store_dynamic_lex_s_p(opcode_t * cur_opcode,PARROT_INTERP)22779 Parrot_store_dynamic_lex_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
22780     STRING   * const  lex_name = SREG(1);
22781     PMC      * const  ctx = Parrot_pcc_get_caller_ctx(interp, CURRENT_CONTEXT(interp));
22782     PMC      * const  lex_pad = PMC_IS_NULL(ctx) ? PMCNULL : Parrot_sub_find_dynamic_pad(interp, lex_name, ctx);
22783 
22784     if (PMC_IS_NULL(lex_pad)) {
22785         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);
22786 
22787         return (opcode_t *)handler;
22788     }
22789 
22790     VTABLE_set_pmc_keyed_str(interp, lex_pad, lex_name, PREG(2));
22791     return cur_opcode + 3;
22792 }
22793 
22794 opcode_t *
Parrot_store_dynamic_lex_sc_p(opcode_t * cur_opcode,PARROT_INTERP)22795 Parrot_store_dynamic_lex_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
22796     STRING   * const  lex_name = SCONST(1);
22797     PMC      * const  ctx = Parrot_pcc_get_caller_ctx(interp, CURRENT_CONTEXT(interp));
22798     PMC      * const  lex_pad = PMC_IS_NULL(ctx) ? PMCNULL : Parrot_sub_find_dynamic_pad(interp, lex_name, ctx);
22799 
22800     if (PMC_IS_NULL(lex_pad)) {
22801         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);
22802 
22803         return (opcode_t *)handler;
22804     }
22805 
22806     VTABLE_set_pmc_keyed_str(interp, lex_pad, lex_name, PREG(2));
22807     return cur_opcode + 3;
22808 }
22809 
22810 opcode_t *
Parrot_find_lex_p_s(opcode_t * cur_opcode,PARROT_INTERP)22811 Parrot_find_lex_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
22812     PMC      * const  ctx = CURRENT_CONTEXT(interp);
22813     STRING   * const  lex_name = SREG(2);
22814     PMC      * const  lex_pad = Parrot_sub_find_pad(interp, lex_name, ctx);
22815     PMC  * const  result = PMC_IS_NULL(lex_pad) ? PMCNULL : VTABLE_get_pmc_keyed_str(interp, lex_pad, lex_name);
22816 
22817     PREG(1) = result;
22818     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
22819     return cur_opcode + 3;
22820 }
22821 
22822 opcode_t *
Parrot_find_lex_p_sc(opcode_t * cur_opcode,PARROT_INTERP)22823 Parrot_find_lex_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
22824     PMC      * const  ctx = CURRENT_CONTEXT(interp);
22825     STRING   * const  lex_name = SCONST(2);
22826     PMC      * const  lex_pad = Parrot_sub_find_pad(interp, lex_name, ctx);
22827     PMC  * const  result = PMC_IS_NULL(lex_pad) ? PMCNULL : VTABLE_get_pmc_keyed_str(interp, lex_pad, lex_name);
22828 
22829     PREG(1) = result;
22830     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
22831     return cur_opcode + 3;
22832 }
22833 
22834 opcode_t *
Parrot_find_lex_s_s(opcode_t * cur_opcode,PARROT_INTERP)22835 Parrot_find_lex_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
22836     PMC      * const  ctx = CURRENT_CONTEXT(interp);
22837     STRING   * const  lex_name = SREG(2);
22838     PMC      * const  lex_pad = Parrot_sub_find_pad(interp, lex_name, ctx);
22839     STRING  * const  result = PMC_IS_NULL(lex_pad) ? STRINGNULL : VTABLE_get_string_keyed_str(interp, lex_pad, lex_name);
22840 
22841     SREG(1) = result;
22842     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
22843     return cur_opcode + 3;
22844 }
22845 
22846 opcode_t *
Parrot_find_lex_s_sc(opcode_t * cur_opcode,PARROT_INTERP)22847 Parrot_find_lex_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
22848     PMC      * const  ctx = CURRENT_CONTEXT(interp);
22849     STRING   * const  lex_name = SCONST(2);
22850     PMC      * const  lex_pad = Parrot_sub_find_pad(interp, lex_name, ctx);
22851     STRING  * const  result = PMC_IS_NULL(lex_pad) ? STRINGNULL : VTABLE_get_string_keyed_str(interp, lex_pad, lex_name);
22852 
22853     SREG(1) = result;
22854     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
22855     return cur_opcode + 3;
22856 }
22857 
22858 opcode_t *
Parrot_find_lex_i_s(opcode_t * cur_opcode,PARROT_INTERP)22859 Parrot_find_lex_i_s(opcode_t *cur_opcode, PARROT_INTERP) {
22860     PMC      * const  ctx = CURRENT_CONTEXT(interp);
22861     STRING   * const  lex_name = SREG(2);
22862     PMC      * const  lex_pad = Parrot_sub_find_pad(interp, lex_name, ctx);
22863     INTVAL   result = PMC_IS_NULL(lex_pad) ? 0 : VTABLE_get_integer_keyed_str(interp, lex_pad, lex_name);
22864 
22865     IREG(1) = result;
22866     return cur_opcode + 3;
22867 }
22868 
22869 opcode_t *
Parrot_find_lex_i_sc(opcode_t * cur_opcode,PARROT_INTERP)22870 Parrot_find_lex_i_sc(opcode_t *cur_opcode, PARROT_INTERP) {
22871     PMC      * const  ctx = CURRENT_CONTEXT(interp);
22872     STRING   * const  lex_name = SCONST(2);
22873     PMC      * const  lex_pad = Parrot_sub_find_pad(interp, lex_name, ctx);
22874     INTVAL   result = PMC_IS_NULL(lex_pad) ? 0 : VTABLE_get_integer_keyed_str(interp, lex_pad, lex_name);
22875 
22876     IREG(1) = result;
22877     return cur_opcode + 3;
22878 }
22879 
22880 opcode_t *
Parrot_find_lex_n_s(opcode_t * cur_opcode,PARROT_INTERP)22881 Parrot_find_lex_n_s(opcode_t *cur_opcode, PARROT_INTERP) {
22882     PMC      * const  ctx = CURRENT_CONTEXT(interp);
22883     STRING   * const  lex_name = SREG(2);
22884     PMC      * const  lex_pad = Parrot_sub_find_pad(interp, lex_name, ctx);
22885     FLOATVAL   result = PMC_IS_NULL(lex_pad) ? 0.0 : VTABLE_get_number_keyed_str(interp, lex_pad, lex_name);
22886 
22887     NREG(1) = result;
22888     return cur_opcode + 3;
22889 }
22890 
22891 opcode_t *
Parrot_find_lex_n_sc(opcode_t * cur_opcode,PARROT_INTERP)22892 Parrot_find_lex_n_sc(opcode_t *cur_opcode, PARROT_INTERP) {
22893     PMC      * const  ctx = CURRENT_CONTEXT(interp);
22894     STRING   * const  lex_name = SCONST(2);
22895     PMC      * const  lex_pad = Parrot_sub_find_pad(interp, lex_name, ctx);
22896     FLOATVAL   result = PMC_IS_NULL(lex_pad) ? 0.0 : VTABLE_get_number_keyed_str(interp, lex_pad, lex_name);
22897 
22898     NREG(1) = result;
22899     return cur_opcode + 3;
22900 }
22901 
22902 opcode_t *
Parrot_find_dynamic_lex_p_s(opcode_t * cur_opcode,PARROT_INTERP)22903 Parrot_find_dynamic_lex_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
22904     STRING   * const  lex_name = SREG(2);
22905     PMC      * const  ctx = Parrot_pcc_get_caller_ctx(interp, CURRENT_CONTEXT(interp));
22906     PMC      * const  lex_pad = PMC_IS_NULL(ctx) ? PMCNULL : Parrot_sub_find_dynamic_pad(interp, lex_name, ctx);
22907     PMC      * const  result = PMC_IS_NULL(lex_pad) ? PMCNULL : VTABLE_get_pmc_keyed_str(interp, lex_pad, lex_name);
22908 
22909     PREG(1) = result;
22910     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
22911     return cur_opcode + 3;
22912 }
22913 
22914 opcode_t *
Parrot_find_dynamic_lex_p_sc(opcode_t * cur_opcode,PARROT_INTERP)22915 Parrot_find_dynamic_lex_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
22916     STRING   * const  lex_name = SCONST(2);
22917     PMC      * const  ctx = Parrot_pcc_get_caller_ctx(interp, CURRENT_CONTEXT(interp));
22918     PMC      * const  lex_pad = PMC_IS_NULL(ctx) ? PMCNULL : Parrot_sub_find_dynamic_pad(interp, lex_name, ctx);
22919     PMC      * const  result = PMC_IS_NULL(lex_pad) ? PMCNULL : VTABLE_get_pmc_keyed_str(interp, lex_pad, lex_name);
22920 
22921     PREG(1) = result;
22922     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
22923     return cur_opcode + 3;
22924 }
22925 
22926 opcode_t *
Parrot_find_caller_lex_p_s(opcode_t * cur_opcode,PARROT_INTERP)22927 Parrot_find_caller_lex_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
22928     STRING   * const  lex_name = SREG(2);
22929     PMC      *  ctx = CURRENT_CONTEXT(interp);
22930     PMC      *  result = PMCNULL;
22931 
22932     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)) {
22933         PMC  * const  lex_pad = Parrot_sub_find_pad(interp, lex_name, ctx);
22934 
22935         if (!PMC_IS_NULL(lex_pad)) {
22936             result = VTABLE_get_pmc_keyed_str(interp, lex_pad, lex_name);
22937         }
22938 
22939         if (!result) {
22940             result = PMCNULL;
22941         }
22942 
22943     }
22944 
22945     PREG(1) = result;
22946     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
22947     return cur_opcode + 3;
22948 }
22949 
22950 opcode_t *
Parrot_find_caller_lex_p_sc(opcode_t * cur_opcode,PARROT_INTERP)22951 Parrot_find_caller_lex_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
22952     STRING   * const  lex_name = SCONST(2);
22953     PMC      *  ctx = CURRENT_CONTEXT(interp);
22954     PMC      *  result = PMCNULL;
22955 
22956     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)) {
22957         PMC  * const  lex_pad = Parrot_sub_find_pad(interp, lex_name, ctx);
22958 
22959         if (!PMC_IS_NULL(lex_pad)) {
22960             result = VTABLE_get_pmc_keyed_str(interp, lex_pad, lex_name);
22961         }
22962 
22963         if (!result) {
22964             result = PMCNULL;
22965         }
22966 
22967     }
22968 
22969     PREG(1) = result;
22970     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
22971     return cur_opcode + 3;
22972 }
22973 
22974 opcode_t *
Parrot_get_namespace_p(opcode_t * cur_opcode,PARROT_INTERP)22975 Parrot_get_namespace_p(opcode_t *cur_opcode, PARROT_INTERP) {
22976     PMC  * const  cur_ns = Parrot_pcc_get_namespace(interp, CURRENT_CONTEXT(interp));
22977 
22978     PREG(1) = cur_ns;
22979     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
22980     return cur_opcode + 2;
22981 }
22982 
22983 opcode_t *
Parrot_get_namespace_p_p(opcode_t * cur_opcode,PARROT_INTERP)22984 Parrot_get_namespace_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
22985     PMC  * const  cur_ns = Parrot_pcc_get_namespace(interp, CURRENT_CONTEXT(interp));
22986     PMC  * const  ns = Parrot_ns_get_namespace_keyed(interp, cur_ns, PREG(2));
22987 
22988     PREG(1) = PMC_IS_NULL(ns) ? PMCNULL : ns;
22989     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
22990     return cur_opcode + 3;
22991 }
22992 
22993 opcode_t *
Parrot_get_namespace_p_pc(opcode_t * cur_opcode,PARROT_INTERP)22994 Parrot_get_namespace_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
22995     PMC  * const  cur_ns = Parrot_pcc_get_namespace(interp, CURRENT_CONTEXT(interp));
22996     PMC  * const  ns = Parrot_ns_get_namespace_keyed(interp, cur_ns, PCONST(2));
22997 
22998     PREG(1) = PMC_IS_NULL(ns) ? PMCNULL : ns;
22999     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
23000     return cur_opcode + 3;
23001 }
23002 
23003 opcode_t *
Parrot_get_hll_namespace_p(opcode_t * cur_opcode,PARROT_INTERP)23004 Parrot_get_hll_namespace_p(opcode_t *cur_opcode, PARROT_INTERP) {
23005     PMC  * const  hll_ns = Parrot_hll_get_ctx_HLL_namespace(interp);
23006 
23007     PREG(1) = hll_ns;
23008     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
23009     return cur_opcode + 2;
23010 }
23011 
23012 opcode_t *
Parrot_get_hll_namespace_p_p(opcode_t * cur_opcode,PARROT_INTERP)23013 Parrot_get_hll_namespace_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
23014     PMC  * const  hll_ns = Parrot_hll_get_ctx_HLL_namespace(interp);
23015 
23016     if (PMC_IS_NULL(hll_ns)) {
23017         PREG(1) = PMCNULL;
23018     }
23019     else {
23020         PMC  * const  ns = Parrot_ns_get_namespace_keyed(interp, hll_ns, PREG(2));
23021 
23022         PREG(1) = ns;
23023     }
23024 
23025     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
23026     return cur_opcode + 3;
23027 }
23028 
23029 opcode_t *
Parrot_get_hll_namespace_p_pc(opcode_t * cur_opcode,PARROT_INTERP)23030 Parrot_get_hll_namespace_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
23031     PMC  * const  hll_ns = Parrot_hll_get_ctx_HLL_namespace(interp);
23032 
23033     if (PMC_IS_NULL(hll_ns)) {
23034         PREG(1) = PMCNULL;
23035     }
23036     else {
23037         PMC  * const  ns = Parrot_ns_get_namespace_keyed(interp, hll_ns, PCONST(2));
23038 
23039         PREG(1) = ns;
23040     }
23041 
23042     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
23043     return cur_opcode + 3;
23044 }
23045 
23046 opcode_t *
Parrot_get_root_namespace_p(opcode_t * cur_opcode,PARROT_INTERP)23047 Parrot_get_root_namespace_p(opcode_t *cur_opcode, PARROT_INTERP) {
23048     PMC  * const  root_ns = interp->root_namespace;
23049 
23050     PREG(1) = root_ns;
23051     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
23052     return cur_opcode + 2;
23053 }
23054 
23055 opcode_t *
Parrot_get_root_namespace_p_p(opcode_t * cur_opcode,PARROT_INTERP)23056 Parrot_get_root_namespace_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
23057     PMC  * const  root_ns = interp->root_namespace;
23058 
23059     if (PMC_IS_NULL(root_ns)) {
23060         PREG(1) = PMCNULL;
23061     }
23062     else {
23063         PMC  * const  ns = Parrot_ns_get_namespace_keyed(interp, root_ns, PREG(2));
23064 
23065         PREG(1) = ns;
23066     }
23067 
23068     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
23069     return cur_opcode + 3;
23070 }
23071 
23072 opcode_t *
Parrot_get_root_namespace_p_pc(opcode_t * cur_opcode,PARROT_INTERP)23073 Parrot_get_root_namespace_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
23074     PMC  * const  root_ns = interp->root_namespace;
23075 
23076     if (PMC_IS_NULL(root_ns)) {
23077         PREG(1) = PMCNULL;
23078     }
23079     else {
23080         PMC  * const  ns = Parrot_ns_get_namespace_keyed(interp, root_ns, PCONST(2));
23081 
23082         PREG(1) = ns;
23083     }
23084 
23085     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
23086     return cur_opcode + 3;
23087 }
23088 
23089 opcode_t *
Parrot_get_global_p_s(opcode_t * cur_opcode,PARROT_INTERP)23090 Parrot_get_global_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
23091     PMC  * const  cur_ns = Parrot_pcc_get_namespace(interp, CURRENT_CONTEXT(interp));
23092     STRING  * const  name = SREG(2);
23093     PMC  * const  result = Parrot_ns_find_global_from_op(interp, cur_ns, name,  cur_opcode + 3);
23094 
23095     PARROT_ASSERT_INTERP(result, interp);
23096     PREG(1) = result;
23097     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
23098     return cur_opcode + 3;
23099 }
23100 
23101 opcode_t *
Parrot_get_global_p_sc(opcode_t * cur_opcode,PARROT_INTERP)23102 Parrot_get_global_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
23103     PMC  * const  cur_ns = Parrot_pcc_get_namespace(interp, CURRENT_CONTEXT(interp));
23104     STRING  * const  name = SCONST(2);
23105     PMC  * const  result = Parrot_ns_find_global_from_op(interp, cur_ns, name,  cur_opcode + 3);
23106 
23107     PARROT_ASSERT_INTERP(result, interp);
23108     PREG(1) = result;
23109     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
23110     return cur_opcode + 3;
23111 }
23112 
23113 opcode_t *
Parrot_get_global_p_p_s(opcode_t * cur_opcode,PARROT_INTERP)23114 Parrot_get_global_p_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
23115     PMC  * const  cur_ns = Parrot_pcc_get_namespace(interp, CURRENT_CONTEXT(interp));
23116 
23117     if (PMC_IS_NULL(cur_ns)) {
23118         PREG(1) = PMCNULL;
23119     }
23120     else {
23121         PMC  * const  ns = Parrot_ns_get_namespace_keyed(interp, cur_ns, PREG(2));
23122 
23123         if (PMC_IS_NULL(ns)) {
23124             PREG(1) = PMCNULL;
23125         }
23126         else {
23127             PREG(1) = Parrot_ns_find_global_from_op(interp, ns, SREG(3),  cur_opcode + 4);
23128         }
23129 
23130     }
23131 
23132     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
23133     return cur_opcode + 4;
23134 }
23135 
23136 opcode_t *
Parrot_get_global_p_pc_s(opcode_t * cur_opcode,PARROT_INTERP)23137 Parrot_get_global_p_pc_s(opcode_t *cur_opcode, PARROT_INTERP) {
23138     PMC  * const  cur_ns = Parrot_pcc_get_namespace(interp, CURRENT_CONTEXT(interp));
23139 
23140     if (PMC_IS_NULL(cur_ns)) {
23141         PREG(1) = PMCNULL;
23142     }
23143     else {
23144         PMC  * const  ns = Parrot_ns_get_namespace_keyed(interp, cur_ns, PCONST(2));
23145 
23146         if (PMC_IS_NULL(ns)) {
23147             PREG(1) = PMCNULL;
23148         }
23149         else {
23150             PREG(1) = Parrot_ns_find_global_from_op(interp, ns, SREG(3),  cur_opcode + 4);
23151         }
23152 
23153     }
23154 
23155     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
23156     return cur_opcode + 4;
23157 }
23158 
23159 opcode_t *
Parrot_get_global_p_p_sc(opcode_t * cur_opcode,PARROT_INTERP)23160 Parrot_get_global_p_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
23161     PMC  * const  cur_ns = Parrot_pcc_get_namespace(interp, CURRENT_CONTEXT(interp));
23162 
23163     if (PMC_IS_NULL(cur_ns)) {
23164         PREG(1) = PMCNULL;
23165     }
23166     else {
23167         PMC  * const  ns = Parrot_ns_get_namespace_keyed(interp, cur_ns, PREG(2));
23168 
23169         if (PMC_IS_NULL(ns)) {
23170             PREG(1) = PMCNULL;
23171         }
23172         else {
23173             PREG(1) = Parrot_ns_find_global_from_op(interp, ns, SCONST(3),  cur_opcode + 4);
23174         }
23175 
23176     }
23177 
23178     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
23179     return cur_opcode + 4;
23180 }
23181 
23182 opcode_t *
Parrot_get_global_p_pc_sc(opcode_t * cur_opcode,PARROT_INTERP)23183 Parrot_get_global_p_pc_sc(opcode_t *cur_opcode, PARROT_INTERP) {
23184     PMC  * const  cur_ns = Parrot_pcc_get_namespace(interp, CURRENT_CONTEXT(interp));
23185 
23186     if (PMC_IS_NULL(cur_ns)) {
23187         PREG(1) = PMCNULL;
23188     }
23189     else {
23190         PMC  * const  ns = Parrot_ns_get_namespace_keyed(interp, cur_ns, PCONST(2));
23191 
23192         if (PMC_IS_NULL(ns)) {
23193             PREG(1) = PMCNULL;
23194         }
23195         else {
23196             PREG(1) = Parrot_ns_find_global_from_op(interp, ns, SCONST(3),  cur_opcode + 4);
23197         }
23198 
23199     }
23200 
23201     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
23202     return cur_opcode + 4;
23203 }
23204 
23205 opcode_t *
Parrot_get_hll_global_p_s(opcode_t * cur_opcode,PARROT_INTERP)23206 Parrot_get_hll_global_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
23207     PMC  * const  hll_ns = Parrot_hll_get_ctx_HLL_namespace(interp);
23208 
23209     PREG(1) = Parrot_ns_find_global_from_op(interp, hll_ns, SREG(2),  cur_opcode + 3);
23210     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
23211     return cur_opcode + 3;
23212 }
23213 
23214 opcode_t *
Parrot_get_hll_global_p_sc(opcode_t * cur_opcode,PARROT_INTERP)23215 Parrot_get_hll_global_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
23216     PMC  * const  hll_ns = Parrot_hll_get_ctx_HLL_namespace(interp);
23217 
23218     PREG(1) = Parrot_ns_find_global_from_op(interp, hll_ns, SCONST(2),  cur_opcode + 3);
23219     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
23220     return cur_opcode + 3;
23221 }
23222 
23223 opcode_t *
Parrot_get_hll_global_p_p_s(opcode_t * cur_opcode,PARROT_INTERP)23224 Parrot_get_hll_global_p_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
23225     PMC  * const  hll_ns = Parrot_hll_get_ctx_HLL_namespace(interp);
23226 
23227     if (PMC_IS_NULL(hll_ns)) {
23228         PREG(1) = hll_ns;
23229     }
23230     else {
23231         PMC  * const  ns = Parrot_ns_get_namespace_keyed(interp, hll_ns, PREG(2));
23232 
23233         if (PMC_IS_NULL(ns)) {
23234             PREG(1) = PMCNULL;
23235         }
23236         else {
23237             PREG(1) = Parrot_ns_find_global_from_op(interp, ns, SREG(3),  cur_opcode + 4);
23238         }
23239 
23240     }
23241 
23242     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
23243     return cur_opcode + 4;
23244 }
23245 
23246 opcode_t *
Parrot_get_hll_global_p_pc_s(opcode_t * cur_opcode,PARROT_INTERP)23247 Parrot_get_hll_global_p_pc_s(opcode_t *cur_opcode, PARROT_INTERP) {
23248     PMC  * const  hll_ns = Parrot_hll_get_ctx_HLL_namespace(interp);
23249 
23250     if (PMC_IS_NULL(hll_ns)) {
23251         PREG(1) = hll_ns;
23252     }
23253     else {
23254         PMC  * const  ns = Parrot_ns_get_namespace_keyed(interp, hll_ns, PCONST(2));
23255 
23256         if (PMC_IS_NULL(ns)) {
23257             PREG(1) = PMCNULL;
23258         }
23259         else {
23260             PREG(1) = Parrot_ns_find_global_from_op(interp, ns, SREG(3),  cur_opcode + 4);
23261         }
23262 
23263     }
23264 
23265     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
23266     return cur_opcode + 4;
23267 }
23268 
23269 opcode_t *
Parrot_get_hll_global_p_p_sc(opcode_t * cur_opcode,PARROT_INTERP)23270 Parrot_get_hll_global_p_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
23271     PMC  * const  hll_ns = Parrot_hll_get_ctx_HLL_namespace(interp);
23272 
23273     if (PMC_IS_NULL(hll_ns)) {
23274         PREG(1) = hll_ns;
23275     }
23276     else {
23277         PMC  * const  ns = Parrot_ns_get_namespace_keyed(interp, hll_ns, PREG(2));
23278 
23279         if (PMC_IS_NULL(ns)) {
23280             PREG(1) = PMCNULL;
23281         }
23282         else {
23283             PREG(1) = Parrot_ns_find_global_from_op(interp, ns, SCONST(3),  cur_opcode + 4);
23284         }
23285 
23286     }
23287 
23288     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
23289     return cur_opcode + 4;
23290 }
23291 
23292 opcode_t *
Parrot_get_hll_global_p_pc_sc(opcode_t * cur_opcode,PARROT_INTERP)23293 Parrot_get_hll_global_p_pc_sc(opcode_t *cur_opcode, PARROT_INTERP) {
23294     PMC  * const  hll_ns = Parrot_hll_get_ctx_HLL_namespace(interp);
23295 
23296     if (PMC_IS_NULL(hll_ns)) {
23297         PREG(1) = hll_ns;
23298     }
23299     else {
23300         PMC  * const  ns = Parrot_ns_get_namespace_keyed(interp, hll_ns, PCONST(2));
23301 
23302         if (PMC_IS_NULL(ns)) {
23303             PREG(1) = PMCNULL;
23304         }
23305         else {
23306             PREG(1) = Parrot_ns_find_global_from_op(interp, ns, SCONST(3),  cur_opcode + 4);
23307         }
23308 
23309     }
23310 
23311     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
23312     return cur_opcode + 4;
23313 }
23314 
23315 opcode_t *
Parrot_get_root_global_p_s(opcode_t * cur_opcode,PARROT_INTERP)23316 Parrot_get_root_global_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
23317     PMC  * const  root_ns = interp->root_namespace;
23318 
23319     PREG(1) = Parrot_ns_find_global_from_op(interp, root_ns, SREG(2),  cur_opcode + 3);
23320     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
23321     return cur_opcode + 3;
23322 }
23323 
23324 opcode_t *
Parrot_get_root_global_p_sc(opcode_t * cur_opcode,PARROT_INTERP)23325 Parrot_get_root_global_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
23326     PMC  * const  root_ns = interp->root_namespace;
23327 
23328     PREG(1) = Parrot_ns_find_global_from_op(interp, root_ns, SCONST(2),  cur_opcode + 3);
23329     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
23330     return cur_opcode + 3;
23331 }
23332 
23333 opcode_t *
Parrot_get_root_global_p_p_s(opcode_t * cur_opcode,PARROT_INTERP)23334 Parrot_get_root_global_p_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
23335     PMC  * const  root_ns = interp->root_namespace;
23336 
23337     if (PMC_IS_NULL(root_ns)) {
23338         PREG(1) = PMCNULL;
23339     }
23340     else {
23341         PMC  * const  ns = Parrot_ns_get_namespace_keyed(interp, root_ns, PREG(2));
23342 
23343         if (PMC_IS_NULL(ns)) {
23344             PREG(1) = PMCNULL;
23345         }
23346         else {
23347             PREG(1) = Parrot_ns_find_global_from_op(interp, ns, SREG(3),  cur_opcode + 4);
23348         }
23349 
23350     }
23351 
23352     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
23353     return cur_opcode + 4;
23354 }
23355 
23356 opcode_t *
Parrot_get_root_global_p_pc_s(opcode_t * cur_opcode,PARROT_INTERP)23357 Parrot_get_root_global_p_pc_s(opcode_t *cur_opcode, PARROT_INTERP) {
23358     PMC  * const  root_ns = interp->root_namespace;
23359 
23360     if (PMC_IS_NULL(root_ns)) {
23361         PREG(1) = PMCNULL;
23362     }
23363     else {
23364         PMC  * const  ns = Parrot_ns_get_namespace_keyed(interp, root_ns, PCONST(2));
23365 
23366         if (PMC_IS_NULL(ns)) {
23367             PREG(1) = PMCNULL;
23368         }
23369         else {
23370             PREG(1) = Parrot_ns_find_global_from_op(interp, ns, SREG(3),  cur_opcode + 4);
23371         }
23372 
23373     }
23374 
23375     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
23376     return cur_opcode + 4;
23377 }
23378 
23379 opcode_t *
Parrot_get_root_global_p_p_sc(opcode_t * cur_opcode,PARROT_INTERP)23380 Parrot_get_root_global_p_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
23381     PMC  * const  root_ns = interp->root_namespace;
23382 
23383     if (PMC_IS_NULL(root_ns)) {
23384         PREG(1) = PMCNULL;
23385     }
23386     else {
23387         PMC  * const  ns = Parrot_ns_get_namespace_keyed(interp, root_ns, PREG(2));
23388 
23389         if (PMC_IS_NULL(ns)) {
23390             PREG(1) = PMCNULL;
23391         }
23392         else {
23393             PREG(1) = Parrot_ns_find_global_from_op(interp, ns, SCONST(3),  cur_opcode + 4);
23394         }
23395 
23396     }
23397 
23398     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
23399     return cur_opcode + 4;
23400 }
23401 
23402 opcode_t *
Parrot_get_root_global_p_pc_sc(opcode_t * cur_opcode,PARROT_INTERP)23403 Parrot_get_root_global_p_pc_sc(opcode_t *cur_opcode, PARROT_INTERP) {
23404     PMC  * const  root_ns = interp->root_namespace;
23405 
23406     if (PMC_IS_NULL(root_ns)) {
23407         PREG(1) = PMCNULL;
23408     }
23409     else {
23410         PMC  * const  ns = Parrot_ns_get_namespace_keyed(interp, root_ns, PCONST(2));
23411 
23412         if (PMC_IS_NULL(ns)) {
23413             PREG(1) = PMCNULL;
23414         }
23415         else {
23416             PREG(1) = Parrot_ns_find_global_from_op(interp, ns, SCONST(3),  cur_opcode + 4);
23417         }
23418 
23419     }
23420 
23421     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
23422     return cur_opcode + 4;
23423 }
23424 
23425 opcode_t *
Parrot_set_global_s_p(opcode_t * cur_opcode,PARROT_INTERP)23426 Parrot_set_global_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
23427     PMC  * const  cur_ns = Parrot_pcc_get_namespace(interp, CURRENT_CONTEXT(interp));
23428 
23429     Parrot_ns_set_global(interp, cur_ns, SREG(1), PREG(2));
23430     return cur_opcode + 3;
23431 }
23432 
23433 opcode_t *
Parrot_set_global_sc_p(opcode_t * cur_opcode,PARROT_INTERP)23434 Parrot_set_global_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
23435     PMC  * const  cur_ns = Parrot_pcc_get_namespace(interp, CURRENT_CONTEXT(interp));
23436 
23437     Parrot_ns_set_global(interp, cur_ns, SCONST(1), PREG(2));
23438     return cur_opcode + 3;
23439 }
23440 
23441 opcode_t *
Parrot_set_global_p_s_p(opcode_t * cur_opcode,PARROT_INTERP)23442 Parrot_set_global_p_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
23443     PMC  * const  cur_ns = Parrot_pcc_get_namespace(interp, CURRENT_CONTEXT(interp));
23444     PMC  * const  ns = Parrot_ns_make_namespace_keyed(interp, cur_ns, PREG(1));
23445 
23446     Parrot_ns_set_global(interp, ns, SREG(2), PREG(3));
23447     return cur_opcode + 4;
23448 }
23449 
23450 opcode_t *
Parrot_set_global_pc_s_p(opcode_t * cur_opcode,PARROT_INTERP)23451 Parrot_set_global_pc_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
23452     PMC  * const  cur_ns = Parrot_pcc_get_namespace(interp, CURRENT_CONTEXT(interp));
23453     PMC  * const  ns = Parrot_ns_make_namespace_keyed(interp, cur_ns, PCONST(1));
23454 
23455     Parrot_ns_set_global(interp, ns, SREG(2), PREG(3));
23456     return cur_opcode + 4;
23457 }
23458 
23459 opcode_t *
Parrot_set_global_p_sc_p(opcode_t * cur_opcode,PARROT_INTERP)23460 Parrot_set_global_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
23461     PMC  * const  cur_ns = Parrot_pcc_get_namespace(interp, CURRENT_CONTEXT(interp));
23462     PMC  * const  ns = Parrot_ns_make_namespace_keyed(interp, cur_ns, PREG(1));
23463 
23464     Parrot_ns_set_global(interp, ns, SCONST(2), PREG(3));
23465     return cur_opcode + 4;
23466 }
23467 
23468 opcode_t *
Parrot_set_global_pc_sc_p(opcode_t * cur_opcode,PARROT_INTERP)23469 Parrot_set_global_pc_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
23470     PMC  * const  cur_ns = Parrot_pcc_get_namespace(interp, CURRENT_CONTEXT(interp));
23471     PMC  * const  ns = Parrot_ns_make_namespace_keyed(interp, cur_ns, PCONST(1));
23472 
23473     Parrot_ns_set_global(interp, ns, SCONST(2), PREG(3));
23474     return cur_opcode + 4;
23475 }
23476 
23477 opcode_t *
Parrot_set_hll_global_s_p(opcode_t * cur_opcode,PARROT_INTERP)23478 Parrot_set_hll_global_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
23479     PMC  * const  hll_ns = Parrot_hll_get_ctx_HLL_namespace(interp);
23480 
23481     Parrot_ns_set_global(interp, hll_ns, SREG(1), PREG(2));
23482     return cur_opcode + 3;
23483 }
23484 
23485 opcode_t *
Parrot_set_hll_global_sc_p(opcode_t * cur_opcode,PARROT_INTERP)23486 Parrot_set_hll_global_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
23487     PMC  * const  hll_ns = Parrot_hll_get_ctx_HLL_namespace(interp);
23488 
23489     Parrot_ns_set_global(interp, hll_ns, SCONST(1), PREG(2));
23490     return cur_opcode + 3;
23491 }
23492 
23493 opcode_t *
Parrot_set_hll_global_p_s_p(opcode_t * cur_opcode,PARROT_INTERP)23494 Parrot_set_hll_global_p_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
23495     PMC  * const  hll_ns = Parrot_hll_get_ctx_HLL_namespace(interp);
23496     PMC  * const  ns = Parrot_ns_make_namespace_keyed(interp, hll_ns, PREG(1));
23497 
23498     Parrot_ns_set_global(interp, ns, SREG(2), PREG(3));
23499     return cur_opcode + 4;
23500 }
23501 
23502 opcode_t *
Parrot_set_hll_global_pc_s_p(opcode_t * cur_opcode,PARROT_INTERP)23503 Parrot_set_hll_global_pc_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
23504     PMC  * const  hll_ns = Parrot_hll_get_ctx_HLL_namespace(interp);
23505     PMC  * const  ns = Parrot_ns_make_namespace_keyed(interp, hll_ns, PCONST(1));
23506 
23507     Parrot_ns_set_global(interp, ns, SREG(2), PREG(3));
23508     return cur_opcode + 4;
23509 }
23510 
23511 opcode_t *
Parrot_set_hll_global_p_sc_p(opcode_t * cur_opcode,PARROT_INTERP)23512 Parrot_set_hll_global_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
23513     PMC  * const  hll_ns = Parrot_hll_get_ctx_HLL_namespace(interp);
23514     PMC  * const  ns = Parrot_ns_make_namespace_keyed(interp, hll_ns, PREG(1));
23515 
23516     Parrot_ns_set_global(interp, ns, SCONST(2), PREG(3));
23517     return cur_opcode + 4;
23518 }
23519 
23520 opcode_t *
Parrot_set_hll_global_pc_sc_p(opcode_t * cur_opcode,PARROT_INTERP)23521 Parrot_set_hll_global_pc_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
23522     PMC  * const  hll_ns = Parrot_hll_get_ctx_HLL_namespace(interp);
23523     PMC  * const  ns = Parrot_ns_make_namespace_keyed(interp, hll_ns, PCONST(1));
23524 
23525     Parrot_ns_set_global(interp, ns, SCONST(2), PREG(3));
23526     return cur_opcode + 4;
23527 }
23528 
23529 opcode_t *
Parrot_set_root_global_s_p(opcode_t * cur_opcode,PARROT_INTERP)23530 Parrot_set_root_global_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
23531     PMC  * const  root_ns = interp->root_namespace;
23532 
23533     Parrot_ns_set_global(interp, root_ns, SREG(1), PREG(2));
23534     return cur_opcode + 3;
23535 }
23536 
23537 opcode_t *
Parrot_set_root_global_sc_p(opcode_t * cur_opcode,PARROT_INTERP)23538 Parrot_set_root_global_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
23539     PMC  * const  root_ns = interp->root_namespace;
23540 
23541     Parrot_ns_set_global(interp, root_ns, SCONST(1), PREG(2));
23542     return cur_opcode + 3;
23543 }
23544 
23545 opcode_t *
Parrot_set_root_global_p_s_p(opcode_t * cur_opcode,PARROT_INTERP)23546 Parrot_set_root_global_p_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
23547     PMC  * const  root_ns = interp->root_namespace;
23548     PMC  * const  ns = Parrot_ns_make_namespace_keyed(interp, root_ns, PREG(1));
23549 
23550     Parrot_ns_set_global(interp, ns, SREG(2), PREG(3));
23551     return cur_opcode + 4;
23552 }
23553 
23554 opcode_t *
Parrot_set_root_global_pc_s_p(opcode_t * cur_opcode,PARROT_INTERP)23555 Parrot_set_root_global_pc_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
23556     PMC  * const  root_ns = interp->root_namespace;
23557     PMC  * const  ns = Parrot_ns_make_namespace_keyed(interp, root_ns, PCONST(1));
23558 
23559     Parrot_ns_set_global(interp, ns, SREG(2), PREG(3));
23560     return cur_opcode + 4;
23561 }
23562 
23563 opcode_t *
Parrot_set_root_global_p_sc_p(opcode_t * cur_opcode,PARROT_INTERP)23564 Parrot_set_root_global_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
23565     PMC  * const  root_ns = interp->root_namespace;
23566     PMC  * const  ns = Parrot_ns_make_namespace_keyed(interp, root_ns, PREG(1));
23567 
23568     Parrot_ns_set_global(interp, ns, SCONST(2), PREG(3));
23569     return cur_opcode + 4;
23570 }
23571 
23572 opcode_t *
Parrot_set_root_global_pc_sc_p(opcode_t * cur_opcode,PARROT_INTERP)23573 Parrot_set_root_global_pc_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
23574     PMC  * const  root_ns = interp->root_namespace;
23575     PMC  * const  ns = Parrot_ns_make_namespace_keyed(interp, root_ns, PCONST(1));
23576 
23577     Parrot_ns_set_global(interp, ns, SCONST(2), PREG(3));
23578     return cur_opcode + 4;
23579 }
23580 
23581 opcode_t *
Parrot_find_name_p_s(opcode_t * cur_opcode,PARROT_INTERP)23582 Parrot_find_name_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
23583     if (!SREG(2)) {
23584         opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, NULL, EXCEPTION_INVALID_OPERATION, "Tried to find null name");
23585 
23586         PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
23587         return (opcode_t *)handler;
23588     }
23589 
23590     PREG(1) = Parrot_ns_find_named_item(interp, SREG(2),  cur_opcode + 3);
23591     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
23592     return cur_opcode + 3;
23593 }
23594 
23595 opcode_t *
Parrot_find_name_p_sc(opcode_t * cur_opcode,PARROT_INTERP)23596 Parrot_find_name_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
23597     if (!SCONST(2)) {
23598         opcode_t  * const  handler = Parrot_ex_throw_from_op_args(interp, NULL, EXCEPTION_INVALID_OPERATION, "Tried to find null name");
23599 
23600         PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
23601         return (opcode_t *)handler;
23602     }
23603 
23604     PREG(1) = Parrot_ns_find_named_item(interp, SCONST(2),  cur_opcode + 3);
23605     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
23606     return cur_opcode + 3;
23607 }
23608 
23609 opcode_t *
Parrot_find_sub_not_null_p_s(opcode_t * cur_opcode,PARROT_INTERP)23610 Parrot_find_sub_not_null_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
23611     opcode_t  * const  dest =  cur_opcode + 3;
23612     PMC       * const  sub = Parrot_ns_find_named_item(interp, SREG(2), dest);
23613 
23614     if (PMC_IS_NULL(sub)) {
23615         opcode_t  * handler;
23616 
23617         Parrot_pcc_set_pc(interp, CURRENT_CONTEXT(interp), dest);
23618         handler = Parrot_ex_throw_from_op_args(interp, dest, EXCEPTION_GLOBAL_NOT_FOUND, "Could not find sub %Ss", SREG(2));
23619         {
23620             PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
23621             return (opcode_t *)handler;
23622         }
23623 
23624     }
23625 
23626     PREG(1) = sub;
23627     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
23628     return cur_opcode + 3;
23629 }
23630 
23631 opcode_t *
Parrot_find_sub_not_null_p_sc(opcode_t * cur_opcode,PARROT_INTERP)23632 Parrot_find_sub_not_null_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
23633     opcode_t  * const  dest =  cur_opcode + 3;
23634     PMC       * const  sub = Parrot_ns_find_named_item(interp, SCONST(2), dest);
23635 
23636     if (PMC_IS_NULL(sub)) {
23637         opcode_t  * handler;
23638 
23639         Parrot_pcc_set_pc(interp, CURRENT_CONTEXT(interp), dest);
23640         handler = Parrot_ex_throw_from_op_args(interp, dest, EXCEPTION_GLOBAL_NOT_FOUND, "Could not find sub %Ss", SCONST(2));
23641         {
23642             PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
23643             return (opcode_t *)handler;
23644         }
23645 
23646     }
23647 
23648     PREG(1) = sub;
23649     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
23650     return cur_opcode + 3;
23651 }
23652 
23653 opcode_t *
Parrot_trap(opcode_t * cur_opcode,PARROT_INTERP)23654 Parrot_trap(opcode_t *cur_opcode, PARROT_INTERP) {
23655     UNUSED(interp);
23656     #if defined(__GNUC__) && (defined(i386) || defined(__x86_64__)) && !defined(sun)
23657         __asm__("int3");
23658 
23659 #endif
23660 ;
23661     #if defined(__GNUC__) && defined(PPC)
23662         __asm__("trap");
23663 
23664 #endif
23665 ;
23666     return cur_opcode + 1;
23667 }
23668 
23669 opcode_t *
Parrot_set_label_p_ic(opcode_t * cur_opcode,PARROT_INTERP)23670 Parrot_set_label_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
23671     VTABLE_set_pointer(interp, PREG(1), ((CUR_OPCODE + ICONST(2))));
23672     return cur_opcode + 3;
23673 }
23674 
23675 opcode_t *
Parrot_get_label_i_p(opcode_t * cur_opcode,PARROT_INTERP)23676 Parrot_get_label_i_p(opcode_t *cur_opcode, PARROT_INTERP) {
23677     void  * const  ptr = VTABLE_get_pointer(interp, PREG(2));
23678 
23679     IREG(1) = PTR2INTVAL(ptr);
23680     return cur_opcode + 3;
23681 }
23682 
23683 opcode_t *
Parrot_get_id_i_p(opcode_t * cur_opcode,PARROT_INTERP)23684 Parrot_get_id_i_p(opcode_t *cur_opcode, PARROT_INTERP) {
23685     IREG(1) = Parrot_hash_pointer((void *)PREG(2), interp->hash_seed);
23686     return cur_opcode + 3;
23687 }
23688 
23689 opcode_t *
Parrot_get_id_i_pc(opcode_t * cur_opcode,PARROT_INTERP)23690 Parrot_get_id_i_pc(opcode_t *cur_opcode, PARROT_INTERP) {
23691     IREG(1) = Parrot_hash_pointer((void *)PCONST(2), interp->hash_seed);
23692     return cur_opcode + 3;
23693 }
23694 
23695 opcode_t *
Parrot_fetch_p_p_p_p(opcode_t * cur_opcode,PARROT_INTERP)23696 Parrot_fetch_p_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
23697     PREG(1) = VTABLE_get_pmc_keyed(interp, PREG(2), PREG(3));
23698     if (PMC_IS_NULL(PREG(1))) {
23699         PREG(1) = Parrot_pmc_new_from_type(interp, PREG(4));
23700     }
23701 
23702     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
23703     return cur_opcode + 5;
23704 }
23705 
23706 opcode_t *
Parrot_fetch_p_pc_p_p(opcode_t * cur_opcode,PARROT_INTERP)23707 Parrot_fetch_p_pc_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
23708     PREG(1) = VTABLE_get_pmc_keyed(interp, PCONST(2), PREG(3));
23709     if (PMC_IS_NULL(PREG(1))) {
23710         PREG(1) = Parrot_pmc_new_from_type(interp, PREG(4));
23711     }
23712 
23713     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
23714     return cur_opcode + 5;
23715 }
23716 
23717 opcode_t *
Parrot_fetch_p_p_pc_p(opcode_t * cur_opcode,PARROT_INTERP)23718 Parrot_fetch_p_p_pc_p(opcode_t *cur_opcode, PARROT_INTERP) {
23719     PREG(1) = VTABLE_get_pmc_keyed(interp, PREG(2), PCONST(3));
23720     if (PMC_IS_NULL(PREG(1))) {
23721         PREG(1) = Parrot_pmc_new_from_type(interp, PREG(4));
23722     }
23723 
23724     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
23725     return cur_opcode + 5;
23726 }
23727 
23728 opcode_t *
Parrot_fetch_p_pc_pc_p(opcode_t * cur_opcode,PARROT_INTERP)23729 Parrot_fetch_p_pc_pc_p(opcode_t *cur_opcode, PARROT_INTERP) {
23730     PREG(1) = VTABLE_get_pmc_keyed(interp, PCONST(2), PCONST(3));
23731     if (PMC_IS_NULL(PREG(1))) {
23732         PREG(1) = Parrot_pmc_new_from_type(interp, PREG(4));
23733     }
23734 
23735     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
23736     return cur_opcode + 5;
23737 }
23738 
23739 opcode_t *
Parrot_fetch_p_p_p_pc(opcode_t * cur_opcode,PARROT_INTERP)23740 Parrot_fetch_p_p_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
23741     PREG(1) = VTABLE_get_pmc_keyed(interp, PREG(2), PREG(3));
23742     if (PMC_IS_NULL(PREG(1))) {
23743         PREG(1) = Parrot_pmc_new_from_type(interp, PCONST(4));
23744     }
23745 
23746     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
23747     return cur_opcode + 5;
23748 }
23749 
23750 opcode_t *
Parrot_fetch_p_pc_p_pc(opcode_t * cur_opcode,PARROT_INTERP)23751 Parrot_fetch_p_pc_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
23752     PREG(1) = VTABLE_get_pmc_keyed(interp, PCONST(2), PREG(3));
23753     if (PMC_IS_NULL(PREG(1))) {
23754         PREG(1) = Parrot_pmc_new_from_type(interp, PCONST(4));
23755     }
23756 
23757     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
23758     return cur_opcode + 5;
23759 }
23760 
23761 opcode_t *
Parrot_fetch_p_p_pc_pc(opcode_t * cur_opcode,PARROT_INTERP)23762 Parrot_fetch_p_p_pc_pc(opcode_t *cur_opcode, PARROT_INTERP) {
23763     PREG(1) = VTABLE_get_pmc_keyed(interp, PREG(2), PCONST(3));
23764     if (PMC_IS_NULL(PREG(1))) {
23765         PREG(1) = Parrot_pmc_new_from_type(interp, PCONST(4));
23766     }
23767 
23768     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
23769     return cur_opcode + 5;
23770 }
23771 
23772 opcode_t *
Parrot_fetch_p_pc_pc_pc(opcode_t * cur_opcode,PARROT_INTERP)23773 Parrot_fetch_p_pc_pc_pc(opcode_t *cur_opcode, PARROT_INTERP) {
23774     PREG(1) = VTABLE_get_pmc_keyed(interp, PCONST(2), PCONST(3));
23775     if (PMC_IS_NULL(PREG(1))) {
23776         PREG(1) = Parrot_pmc_new_from_type(interp, PCONST(4));
23777     }
23778 
23779     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
23780     return cur_opcode + 5;
23781 }
23782 
23783 opcode_t *
Parrot_fetch_p_p_i_p(opcode_t * cur_opcode,PARROT_INTERP)23784 Parrot_fetch_p_p_i_p(opcode_t *cur_opcode, PARROT_INTERP) {
23785     PREG(1) = VTABLE_get_pmc_keyed_int(interp, PREG(2), IREG(3));
23786     if (PMC_IS_NULL(PREG(1))) {
23787         PREG(1) = Parrot_pmc_new_from_type(interp, PREG(4));
23788     }
23789 
23790     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
23791     return cur_opcode + 5;
23792 }
23793 
23794 opcode_t *
Parrot_fetch_p_pc_i_p(opcode_t * cur_opcode,PARROT_INTERP)23795 Parrot_fetch_p_pc_i_p(opcode_t *cur_opcode, PARROT_INTERP) {
23796     PREG(1) = VTABLE_get_pmc_keyed_int(interp, PCONST(2), IREG(3));
23797     if (PMC_IS_NULL(PREG(1))) {
23798         PREG(1) = Parrot_pmc_new_from_type(interp, PREG(4));
23799     }
23800 
23801     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
23802     return cur_opcode + 5;
23803 }
23804 
23805 opcode_t *
Parrot_fetch_p_p_ic_p(opcode_t * cur_opcode,PARROT_INTERP)23806 Parrot_fetch_p_p_ic_p(opcode_t *cur_opcode, PARROT_INTERP) {
23807     PREG(1) = VTABLE_get_pmc_keyed_int(interp, PREG(2), ICONST(3));
23808     if (PMC_IS_NULL(PREG(1))) {
23809         PREG(1) = Parrot_pmc_new_from_type(interp, PREG(4));
23810     }
23811 
23812     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
23813     return cur_opcode + 5;
23814 }
23815 
23816 opcode_t *
Parrot_fetch_p_pc_ic_p(opcode_t * cur_opcode,PARROT_INTERP)23817 Parrot_fetch_p_pc_ic_p(opcode_t *cur_opcode, PARROT_INTERP) {
23818     PREG(1) = VTABLE_get_pmc_keyed_int(interp, PCONST(2), ICONST(3));
23819     if (PMC_IS_NULL(PREG(1))) {
23820         PREG(1) = Parrot_pmc_new_from_type(interp, PREG(4));
23821     }
23822 
23823     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
23824     return cur_opcode + 5;
23825 }
23826 
23827 opcode_t *
Parrot_fetch_p_p_i_pc(opcode_t * cur_opcode,PARROT_INTERP)23828 Parrot_fetch_p_p_i_pc(opcode_t *cur_opcode, PARROT_INTERP) {
23829     PREG(1) = VTABLE_get_pmc_keyed_int(interp, PREG(2), IREG(3));
23830     if (PMC_IS_NULL(PREG(1))) {
23831         PREG(1) = Parrot_pmc_new_from_type(interp, PCONST(4));
23832     }
23833 
23834     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
23835     return cur_opcode + 5;
23836 }
23837 
23838 opcode_t *
Parrot_fetch_p_pc_i_pc(opcode_t * cur_opcode,PARROT_INTERP)23839 Parrot_fetch_p_pc_i_pc(opcode_t *cur_opcode, PARROT_INTERP) {
23840     PREG(1) = VTABLE_get_pmc_keyed_int(interp, PCONST(2), IREG(3));
23841     if (PMC_IS_NULL(PREG(1))) {
23842         PREG(1) = Parrot_pmc_new_from_type(interp, PCONST(4));
23843     }
23844 
23845     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
23846     return cur_opcode + 5;
23847 }
23848 
23849 opcode_t *
Parrot_fetch_p_p_ic_pc(opcode_t * cur_opcode,PARROT_INTERP)23850 Parrot_fetch_p_p_ic_pc(opcode_t *cur_opcode, PARROT_INTERP) {
23851     PREG(1) = VTABLE_get_pmc_keyed_int(interp, PREG(2), ICONST(3));
23852     if (PMC_IS_NULL(PREG(1))) {
23853         PREG(1) = Parrot_pmc_new_from_type(interp, PCONST(4));
23854     }
23855 
23856     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
23857     return cur_opcode + 5;
23858 }
23859 
23860 opcode_t *
Parrot_fetch_p_pc_ic_pc(opcode_t * cur_opcode,PARROT_INTERP)23861 Parrot_fetch_p_pc_ic_pc(opcode_t *cur_opcode, PARROT_INTERP) {
23862     PREG(1) = VTABLE_get_pmc_keyed_int(interp, PCONST(2), ICONST(3));
23863     if (PMC_IS_NULL(PREG(1))) {
23864         PREG(1) = Parrot_pmc_new_from_type(interp, PCONST(4));
23865     }
23866 
23867     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
23868     return cur_opcode + 5;
23869 }
23870 
23871 opcode_t *
Parrot_fetch_p_p_s_p(opcode_t * cur_opcode,PARROT_INTERP)23872 Parrot_fetch_p_p_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
23873     PREG(1) = VTABLE_get_pmc_keyed_str(interp, PREG(2), SREG(3));
23874     if (PMC_IS_NULL(PREG(1))) {
23875         PREG(1) = Parrot_pmc_new_from_type(interp, PREG(4));
23876     }
23877 
23878     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
23879     return cur_opcode + 5;
23880 }
23881 
23882 opcode_t *
Parrot_fetch_p_pc_s_p(opcode_t * cur_opcode,PARROT_INTERP)23883 Parrot_fetch_p_pc_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
23884     PREG(1) = VTABLE_get_pmc_keyed_str(interp, PCONST(2), SREG(3));
23885     if (PMC_IS_NULL(PREG(1))) {
23886         PREG(1) = Parrot_pmc_new_from_type(interp, PREG(4));
23887     }
23888 
23889     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
23890     return cur_opcode + 5;
23891 }
23892 
23893 opcode_t *
Parrot_fetch_p_p_sc_p(opcode_t * cur_opcode,PARROT_INTERP)23894 Parrot_fetch_p_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
23895     PREG(1) = VTABLE_get_pmc_keyed_str(interp, PREG(2), SCONST(3));
23896     if (PMC_IS_NULL(PREG(1))) {
23897         PREG(1) = Parrot_pmc_new_from_type(interp, PREG(4));
23898     }
23899 
23900     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
23901     return cur_opcode + 5;
23902 }
23903 
23904 opcode_t *
Parrot_fetch_p_pc_sc_p(opcode_t * cur_opcode,PARROT_INTERP)23905 Parrot_fetch_p_pc_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
23906     PREG(1) = VTABLE_get_pmc_keyed_str(interp, PCONST(2), SCONST(3));
23907     if (PMC_IS_NULL(PREG(1))) {
23908         PREG(1) = Parrot_pmc_new_from_type(interp, PREG(4));
23909     }
23910 
23911     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
23912     return cur_opcode + 5;
23913 }
23914 
23915 opcode_t *
Parrot_fetch_p_p_s_pc(opcode_t * cur_opcode,PARROT_INTERP)23916 Parrot_fetch_p_p_s_pc(opcode_t *cur_opcode, PARROT_INTERP) {
23917     PREG(1) = VTABLE_get_pmc_keyed_str(interp, PREG(2), SREG(3));
23918     if (PMC_IS_NULL(PREG(1))) {
23919         PREG(1) = Parrot_pmc_new_from_type(interp, PCONST(4));
23920     }
23921 
23922     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
23923     return cur_opcode + 5;
23924 }
23925 
23926 opcode_t *
Parrot_fetch_p_pc_s_pc(opcode_t * cur_opcode,PARROT_INTERP)23927 Parrot_fetch_p_pc_s_pc(opcode_t *cur_opcode, PARROT_INTERP) {
23928     PREG(1) = VTABLE_get_pmc_keyed_str(interp, PCONST(2), SREG(3));
23929     if (PMC_IS_NULL(PREG(1))) {
23930         PREG(1) = Parrot_pmc_new_from_type(interp, PCONST(4));
23931     }
23932 
23933     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
23934     return cur_opcode + 5;
23935 }
23936 
23937 opcode_t *
Parrot_fetch_p_p_sc_pc(opcode_t * cur_opcode,PARROT_INTERP)23938 Parrot_fetch_p_p_sc_pc(opcode_t *cur_opcode, PARROT_INTERP) {
23939     PREG(1) = VTABLE_get_pmc_keyed_str(interp, PREG(2), SCONST(3));
23940     if (PMC_IS_NULL(PREG(1))) {
23941         PREG(1) = Parrot_pmc_new_from_type(interp, PCONST(4));
23942     }
23943 
23944     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
23945     return cur_opcode + 5;
23946 }
23947 
23948 opcode_t *
Parrot_fetch_p_pc_sc_pc(opcode_t * cur_opcode,PARROT_INTERP)23949 Parrot_fetch_p_pc_sc_pc(opcode_t *cur_opcode, PARROT_INTERP) {
23950     PREG(1) = VTABLE_get_pmc_keyed_str(interp, PCONST(2), SCONST(3));
23951     if (PMC_IS_NULL(PREG(1))) {
23952         PREG(1) = Parrot_pmc_new_from_type(interp, PCONST(4));
23953     }
23954 
23955     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
23956     return cur_opcode + 5;
23957 }
23958 
23959 opcode_t *
Parrot_vivify_p_p_p_p(opcode_t * cur_opcode,PARROT_INTERP)23960 Parrot_vivify_p_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
23961     PREG(1) = VTABLE_get_pmc_keyed(interp, PREG(2), PREG(3));
23962     if (PMC_IS_NULL(PREG(1))) {
23963         PREG(1) = Parrot_pmc_new_from_type(interp, PREG(4));
23964         VTABLE_set_pmc_keyed(interp, PREG(2), PREG(3), PREG(1));
23965     }
23966 
23967     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
23968     return cur_opcode + 5;
23969 }
23970 
23971 opcode_t *
Parrot_vivify_p_pc_p_p(opcode_t * cur_opcode,PARROT_INTERP)23972 Parrot_vivify_p_pc_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
23973     PREG(1) = VTABLE_get_pmc_keyed(interp, PCONST(2), PREG(3));
23974     if (PMC_IS_NULL(PREG(1))) {
23975         PREG(1) = Parrot_pmc_new_from_type(interp, PREG(4));
23976         VTABLE_set_pmc_keyed(interp, PCONST(2), PREG(3), PREG(1));
23977     }
23978 
23979     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
23980     return cur_opcode + 5;
23981 }
23982 
23983 opcode_t *
Parrot_vivify_p_p_pc_p(opcode_t * cur_opcode,PARROT_INTERP)23984 Parrot_vivify_p_p_pc_p(opcode_t *cur_opcode, PARROT_INTERP) {
23985     PREG(1) = VTABLE_get_pmc_keyed(interp, PREG(2), PCONST(3));
23986     if (PMC_IS_NULL(PREG(1))) {
23987         PREG(1) = Parrot_pmc_new_from_type(interp, PREG(4));
23988         VTABLE_set_pmc_keyed(interp, PREG(2), PCONST(3), PREG(1));
23989     }
23990 
23991     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
23992     return cur_opcode + 5;
23993 }
23994 
23995 opcode_t *
Parrot_vivify_p_pc_pc_p(opcode_t * cur_opcode,PARROT_INTERP)23996 Parrot_vivify_p_pc_pc_p(opcode_t *cur_opcode, PARROT_INTERP) {
23997     PREG(1) = VTABLE_get_pmc_keyed(interp, PCONST(2), PCONST(3));
23998     if (PMC_IS_NULL(PREG(1))) {
23999         PREG(1) = Parrot_pmc_new_from_type(interp, PREG(4));
24000         VTABLE_set_pmc_keyed(interp, PCONST(2), PCONST(3), PREG(1));
24001     }
24002 
24003     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
24004     return cur_opcode + 5;
24005 }
24006 
24007 opcode_t *
Parrot_vivify_p_p_p_pc(opcode_t * cur_opcode,PARROT_INTERP)24008 Parrot_vivify_p_p_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
24009     PREG(1) = VTABLE_get_pmc_keyed(interp, PREG(2), PREG(3));
24010     if (PMC_IS_NULL(PREG(1))) {
24011         PREG(1) = Parrot_pmc_new_from_type(interp, PCONST(4));
24012         VTABLE_set_pmc_keyed(interp, PREG(2), PREG(3), PREG(1));
24013     }
24014 
24015     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
24016     return cur_opcode + 5;
24017 }
24018 
24019 opcode_t *
Parrot_vivify_p_pc_p_pc(opcode_t * cur_opcode,PARROT_INTERP)24020 Parrot_vivify_p_pc_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
24021     PREG(1) = VTABLE_get_pmc_keyed(interp, PCONST(2), PREG(3));
24022     if (PMC_IS_NULL(PREG(1))) {
24023         PREG(1) = Parrot_pmc_new_from_type(interp, PCONST(4));
24024         VTABLE_set_pmc_keyed(interp, PCONST(2), PREG(3), PREG(1));
24025     }
24026 
24027     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
24028     return cur_opcode + 5;
24029 }
24030 
24031 opcode_t *
Parrot_vivify_p_p_pc_pc(opcode_t * cur_opcode,PARROT_INTERP)24032 Parrot_vivify_p_p_pc_pc(opcode_t *cur_opcode, PARROT_INTERP) {
24033     PREG(1) = VTABLE_get_pmc_keyed(interp, PREG(2), PCONST(3));
24034     if (PMC_IS_NULL(PREG(1))) {
24035         PREG(1) = Parrot_pmc_new_from_type(interp, PCONST(4));
24036         VTABLE_set_pmc_keyed(interp, PREG(2), PCONST(3), PREG(1));
24037     }
24038 
24039     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
24040     return cur_opcode + 5;
24041 }
24042 
24043 opcode_t *
Parrot_vivify_p_pc_pc_pc(opcode_t * cur_opcode,PARROT_INTERP)24044 Parrot_vivify_p_pc_pc_pc(opcode_t *cur_opcode, PARROT_INTERP) {
24045     PREG(1) = VTABLE_get_pmc_keyed(interp, PCONST(2), PCONST(3));
24046     if (PMC_IS_NULL(PREG(1))) {
24047         PREG(1) = Parrot_pmc_new_from_type(interp, PCONST(4));
24048         VTABLE_set_pmc_keyed(interp, PCONST(2), PCONST(3), PREG(1));
24049     }
24050 
24051     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
24052     return cur_opcode + 5;
24053 }
24054 
24055 opcode_t *
Parrot_vivify_p_p_i_p(opcode_t * cur_opcode,PARROT_INTERP)24056 Parrot_vivify_p_p_i_p(opcode_t *cur_opcode, PARROT_INTERP) {
24057     PREG(1) = VTABLE_get_pmc_keyed_int(interp, PREG(2), IREG(3));
24058     if (PMC_IS_NULL(PREG(1))) {
24059         PREG(1) = Parrot_pmc_new_from_type(interp, PREG(4));
24060         VTABLE_set_pmc_keyed_int(interp, PREG(2), IREG(3), PREG(1));
24061     }
24062 
24063     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
24064     return cur_opcode + 5;
24065 }
24066 
24067 opcode_t *
Parrot_vivify_p_pc_i_p(opcode_t * cur_opcode,PARROT_INTERP)24068 Parrot_vivify_p_pc_i_p(opcode_t *cur_opcode, PARROT_INTERP) {
24069     PREG(1) = VTABLE_get_pmc_keyed_int(interp, PCONST(2), IREG(3));
24070     if (PMC_IS_NULL(PREG(1))) {
24071         PREG(1) = Parrot_pmc_new_from_type(interp, PREG(4));
24072         VTABLE_set_pmc_keyed_int(interp, PCONST(2), IREG(3), PREG(1));
24073     }
24074 
24075     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
24076     return cur_opcode + 5;
24077 }
24078 
24079 opcode_t *
Parrot_vivify_p_p_ic_p(opcode_t * cur_opcode,PARROT_INTERP)24080 Parrot_vivify_p_p_ic_p(opcode_t *cur_opcode, PARROT_INTERP) {
24081     PREG(1) = VTABLE_get_pmc_keyed_int(interp, PREG(2), ICONST(3));
24082     if (PMC_IS_NULL(PREG(1))) {
24083         PREG(1) = Parrot_pmc_new_from_type(interp, PREG(4));
24084         VTABLE_set_pmc_keyed_int(interp, PREG(2), ICONST(3), PREG(1));
24085     }
24086 
24087     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
24088     return cur_opcode + 5;
24089 }
24090 
24091 opcode_t *
Parrot_vivify_p_pc_ic_p(opcode_t * cur_opcode,PARROT_INTERP)24092 Parrot_vivify_p_pc_ic_p(opcode_t *cur_opcode, PARROT_INTERP) {
24093     PREG(1) = VTABLE_get_pmc_keyed_int(interp, PCONST(2), ICONST(3));
24094     if (PMC_IS_NULL(PREG(1))) {
24095         PREG(1) = Parrot_pmc_new_from_type(interp, PREG(4));
24096         VTABLE_set_pmc_keyed_int(interp, PCONST(2), ICONST(3), PREG(1));
24097     }
24098 
24099     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
24100     return cur_opcode + 5;
24101 }
24102 
24103 opcode_t *
Parrot_vivify_p_p_i_pc(opcode_t * cur_opcode,PARROT_INTERP)24104 Parrot_vivify_p_p_i_pc(opcode_t *cur_opcode, PARROT_INTERP) {
24105     PREG(1) = VTABLE_get_pmc_keyed_int(interp, PREG(2), IREG(3));
24106     if (PMC_IS_NULL(PREG(1))) {
24107         PREG(1) = Parrot_pmc_new_from_type(interp, PCONST(4));
24108         VTABLE_set_pmc_keyed_int(interp, PREG(2), IREG(3), PREG(1));
24109     }
24110 
24111     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
24112     return cur_opcode + 5;
24113 }
24114 
24115 opcode_t *
Parrot_vivify_p_pc_i_pc(opcode_t * cur_opcode,PARROT_INTERP)24116 Parrot_vivify_p_pc_i_pc(opcode_t *cur_opcode, PARROT_INTERP) {
24117     PREG(1) = VTABLE_get_pmc_keyed_int(interp, PCONST(2), IREG(3));
24118     if (PMC_IS_NULL(PREG(1))) {
24119         PREG(1) = Parrot_pmc_new_from_type(interp, PCONST(4));
24120         VTABLE_set_pmc_keyed_int(interp, PCONST(2), IREG(3), PREG(1));
24121     }
24122 
24123     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
24124     return cur_opcode + 5;
24125 }
24126 
24127 opcode_t *
Parrot_vivify_p_p_ic_pc(opcode_t * cur_opcode,PARROT_INTERP)24128 Parrot_vivify_p_p_ic_pc(opcode_t *cur_opcode, PARROT_INTERP) {
24129     PREG(1) = VTABLE_get_pmc_keyed_int(interp, PREG(2), ICONST(3));
24130     if (PMC_IS_NULL(PREG(1))) {
24131         PREG(1) = Parrot_pmc_new_from_type(interp, PCONST(4));
24132         VTABLE_set_pmc_keyed_int(interp, PREG(2), ICONST(3), PREG(1));
24133     }
24134 
24135     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
24136     return cur_opcode + 5;
24137 }
24138 
24139 opcode_t *
Parrot_vivify_p_pc_ic_pc(opcode_t * cur_opcode,PARROT_INTERP)24140 Parrot_vivify_p_pc_ic_pc(opcode_t *cur_opcode, PARROT_INTERP) {
24141     PREG(1) = VTABLE_get_pmc_keyed_int(interp, PCONST(2), ICONST(3));
24142     if (PMC_IS_NULL(PREG(1))) {
24143         PREG(1) = Parrot_pmc_new_from_type(interp, PCONST(4));
24144         VTABLE_set_pmc_keyed_int(interp, PCONST(2), ICONST(3), PREG(1));
24145     }
24146 
24147     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
24148     return cur_opcode + 5;
24149 }
24150 
24151 opcode_t *
Parrot_vivify_p_p_s_p(opcode_t * cur_opcode,PARROT_INTERP)24152 Parrot_vivify_p_p_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
24153     PREG(1) = VTABLE_get_pmc_keyed_str(interp, PREG(2), SREG(3));
24154     if (PMC_IS_NULL(PREG(1))) {
24155         PREG(1) = Parrot_pmc_new_from_type(interp, PREG(4));
24156         VTABLE_set_pmc_keyed_str(interp, PREG(2), SREG(3), PREG(1));
24157     }
24158 
24159     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
24160     return cur_opcode + 5;
24161 }
24162 
24163 opcode_t *
Parrot_vivify_p_pc_s_p(opcode_t * cur_opcode,PARROT_INTERP)24164 Parrot_vivify_p_pc_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
24165     PREG(1) = VTABLE_get_pmc_keyed_str(interp, PCONST(2), SREG(3));
24166     if (PMC_IS_NULL(PREG(1))) {
24167         PREG(1) = Parrot_pmc_new_from_type(interp, PREG(4));
24168         VTABLE_set_pmc_keyed_str(interp, PCONST(2), SREG(3), PREG(1));
24169     }
24170 
24171     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
24172     return cur_opcode + 5;
24173 }
24174 
24175 opcode_t *
Parrot_vivify_p_p_sc_p(opcode_t * cur_opcode,PARROT_INTERP)24176 Parrot_vivify_p_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
24177     PREG(1) = VTABLE_get_pmc_keyed_str(interp, PREG(2), SCONST(3));
24178     if (PMC_IS_NULL(PREG(1))) {
24179         PREG(1) = Parrot_pmc_new_from_type(interp, PREG(4));
24180         VTABLE_set_pmc_keyed_str(interp, PREG(2), SCONST(3), PREG(1));
24181     }
24182 
24183     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
24184     return cur_opcode + 5;
24185 }
24186 
24187 opcode_t *
Parrot_vivify_p_pc_sc_p(opcode_t * cur_opcode,PARROT_INTERP)24188 Parrot_vivify_p_pc_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
24189     PREG(1) = VTABLE_get_pmc_keyed_str(interp, PCONST(2), SCONST(3));
24190     if (PMC_IS_NULL(PREG(1))) {
24191         PREG(1) = Parrot_pmc_new_from_type(interp, PREG(4));
24192         VTABLE_set_pmc_keyed_str(interp, PCONST(2), SCONST(3), PREG(1));
24193     }
24194 
24195     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
24196     return cur_opcode + 5;
24197 }
24198 
24199 opcode_t *
Parrot_vivify_p_p_s_pc(opcode_t * cur_opcode,PARROT_INTERP)24200 Parrot_vivify_p_p_s_pc(opcode_t *cur_opcode, PARROT_INTERP) {
24201     PREG(1) = VTABLE_get_pmc_keyed_str(interp, PREG(2), SREG(3));
24202     if (PMC_IS_NULL(PREG(1))) {
24203         PREG(1) = Parrot_pmc_new_from_type(interp, PCONST(4));
24204         VTABLE_set_pmc_keyed_str(interp, PREG(2), SREG(3), PREG(1));
24205     }
24206 
24207     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
24208     return cur_opcode + 5;
24209 }
24210 
24211 opcode_t *
Parrot_vivify_p_pc_s_pc(opcode_t * cur_opcode,PARROT_INTERP)24212 Parrot_vivify_p_pc_s_pc(opcode_t *cur_opcode, PARROT_INTERP) {
24213     PREG(1) = VTABLE_get_pmc_keyed_str(interp, PCONST(2), SREG(3));
24214     if (PMC_IS_NULL(PREG(1))) {
24215         PREG(1) = Parrot_pmc_new_from_type(interp, PCONST(4));
24216         VTABLE_set_pmc_keyed_str(interp, PCONST(2), SREG(3), PREG(1));
24217     }
24218 
24219     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
24220     return cur_opcode + 5;
24221 }
24222 
24223 opcode_t *
Parrot_vivify_p_p_sc_pc(opcode_t * cur_opcode,PARROT_INTERP)24224 Parrot_vivify_p_p_sc_pc(opcode_t *cur_opcode, PARROT_INTERP) {
24225     PREG(1) = VTABLE_get_pmc_keyed_str(interp, PREG(2), SCONST(3));
24226     if (PMC_IS_NULL(PREG(1))) {
24227         PREG(1) = Parrot_pmc_new_from_type(interp, PCONST(4));
24228         VTABLE_set_pmc_keyed_str(interp, PREG(2), SCONST(3), PREG(1));
24229     }
24230 
24231     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
24232     return cur_opcode + 5;
24233 }
24234 
24235 opcode_t *
Parrot_vivify_p_pc_sc_pc(opcode_t * cur_opcode,PARROT_INTERP)24236 Parrot_vivify_p_pc_sc_pc(opcode_t *cur_opcode, PARROT_INTERP) {
24237     PREG(1) = VTABLE_get_pmc_keyed_str(interp, PCONST(2), SCONST(3));
24238     if (PMC_IS_NULL(PREG(1))) {
24239         PREG(1) = Parrot_pmc_new_from_type(interp, PCONST(4));
24240         VTABLE_set_pmc_keyed_str(interp, PCONST(2), SCONST(3), PREG(1));
24241     }
24242 
24243     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
24244     return cur_opcode + 5;
24245 }
24246 
24247 opcode_t *
Parrot_new_p_s_i(opcode_t * cur_opcode,PARROT_INTERP)24248 Parrot_new_p_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
24249     STRING  * const  name = SREG(2);
24250     PMC     * const  _class = Parrot_pcc_get_HLL(interp, CURRENT_CONTEXT(interp)) ? Parrot_oo_get_class_str(interp, name) : PMCNULL;
24251 
24252     if (!PMC_IS_NULL(_class)) {
24253         PMC  * const  initial = Parrot_pmc_new(interp, Parrot_hll_get_ctx_HLL_type(interp, enum_class_Integer));
24254 
24255         VTABLE_set_integer_native(interp, initial, IREG(3));
24256         PREG(1) = VTABLE_instantiate(interp, _class, initial);
24257     }
24258     else {
24259         const INTVAL   type = Parrot_pmc_get_type_str(interp, name);
24260 
24261         if (type <= 0) {
24262             opcode_t  * dest = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 4, EXCEPTION_NO_CLASS, "Class '%Ss' not found", name);
24263 
24264             PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
24265             return (opcode_t *)dest;
24266         }
24267 
24268         PREG(1) = Parrot_pmc_new_init_int(interp, type, IREG(3));
24269     }
24270 
24271     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
24272     return cur_opcode + 4;
24273 }
24274 
24275 opcode_t *
Parrot_new_p_sc_i(opcode_t * cur_opcode,PARROT_INTERP)24276 Parrot_new_p_sc_i(opcode_t *cur_opcode, PARROT_INTERP) {
24277     STRING  * const  name = SCONST(2);
24278     PMC     * const  _class = Parrot_pcc_get_HLL(interp, CURRENT_CONTEXT(interp)) ? Parrot_oo_get_class_str(interp, name) : PMCNULL;
24279 
24280     if (!PMC_IS_NULL(_class)) {
24281         PMC  * const  initial = Parrot_pmc_new(interp, Parrot_hll_get_ctx_HLL_type(interp, enum_class_Integer));
24282 
24283         VTABLE_set_integer_native(interp, initial, IREG(3));
24284         PREG(1) = VTABLE_instantiate(interp, _class, initial);
24285     }
24286     else {
24287         const INTVAL   type = Parrot_pmc_get_type_str(interp, name);
24288 
24289         if (type <= 0) {
24290             opcode_t  * dest = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 4, EXCEPTION_NO_CLASS, "Class '%Ss' not found", name);
24291 
24292             PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
24293             return (opcode_t *)dest;
24294         }
24295 
24296         PREG(1) = Parrot_pmc_new_init_int(interp, type, IREG(3));
24297     }
24298 
24299     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
24300     return cur_opcode + 4;
24301 }
24302 
24303 opcode_t *
Parrot_new_p_s_ic(opcode_t * cur_opcode,PARROT_INTERP)24304 Parrot_new_p_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
24305     STRING  * const  name = SREG(2);
24306     PMC     * const  _class = Parrot_pcc_get_HLL(interp, CURRENT_CONTEXT(interp)) ? Parrot_oo_get_class_str(interp, name) : PMCNULL;
24307 
24308     if (!PMC_IS_NULL(_class)) {
24309         PMC  * const  initial = Parrot_pmc_new(interp, Parrot_hll_get_ctx_HLL_type(interp, enum_class_Integer));
24310 
24311         VTABLE_set_integer_native(interp, initial, ICONST(3));
24312         PREG(1) = VTABLE_instantiate(interp, _class, initial);
24313     }
24314     else {
24315         const INTVAL   type = Parrot_pmc_get_type_str(interp, name);
24316 
24317         if (type <= 0) {
24318             opcode_t  * dest = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 4, EXCEPTION_NO_CLASS, "Class '%Ss' not found", name);
24319 
24320             PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
24321             return (opcode_t *)dest;
24322         }
24323 
24324         PREG(1) = Parrot_pmc_new_init_int(interp, type, ICONST(3));
24325     }
24326 
24327     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
24328     return cur_opcode + 4;
24329 }
24330 
24331 opcode_t *
Parrot_new_p_sc_ic(opcode_t * cur_opcode,PARROT_INTERP)24332 Parrot_new_p_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
24333     STRING  * const  name = SCONST(2);
24334     PMC     * const  _class = Parrot_pcc_get_HLL(interp, CURRENT_CONTEXT(interp)) ? Parrot_oo_get_class_str(interp, name) : PMCNULL;
24335 
24336     if (!PMC_IS_NULL(_class)) {
24337         PMC  * const  initial = Parrot_pmc_new(interp, Parrot_hll_get_ctx_HLL_type(interp, enum_class_Integer));
24338 
24339         VTABLE_set_integer_native(interp, initial, ICONST(3));
24340         PREG(1) = VTABLE_instantiate(interp, _class, initial);
24341     }
24342     else {
24343         const INTVAL   type = Parrot_pmc_get_type_str(interp, name);
24344 
24345         if (type <= 0) {
24346             opcode_t  * dest = Parrot_ex_throw_from_op_args(interp,  cur_opcode + 4, EXCEPTION_NO_CLASS, "Class '%Ss' not found", name);
24347 
24348             PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
24349             return (opcode_t *)dest;
24350         }
24351 
24352         PREG(1) = Parrot_pmc_new_init_int(interp, type, ICONST(3));
24353     }
24354 
24355     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
24356     return cur_opcode + 4;
24357 }
24358 
24359 opcode_t *
Parrot_new_p_p_i(opcode_t * cur_opcode,PARROT_INTERP)24360 Parrot_new_p_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
24361     PMC  * const   name_key = PREG(2);
24362     const INTVAL   type = Parrot_pmc_get_type(interp, name_key);
24363 
24364     if (type > enum_class_core_max) {
24365         PMC  * const  _class = Parrot_oo_get_class(interp, name_key);
24366 
24367         if (!PMC_IS_NULL(_class)) {
24368             PMC  * const  initial = Parrot_pmc_new(interp, Parrot_hll_get_ctx_HLL_type(interp, enum_class_Integer));
24369 
24370             VTABLE_set_integer_native(interp, initial, IREG(3));
24371             PREG(1) = VTABLE_instantiate(interp, _class, initial);
24372         }
24373 
24374     }
24375     else {
24376         if (type > enum_class_default) {
24377             PREG(1) = Parrot_pmc_new_init_int(interp, type, IREG(3));
24378         }
24379         else {
24380             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));
24381 
24382             PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
24383             return (opcode_t *)dest;
24384         }
24385 
24386     }
24387 
24388     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
24389     return cur_opcode + 4;
24390 }
24391 
24392 opcode_t *
Parrot_new_p_pc_i(opcode_t * cur_opcode,PARROT_INTERP)24393 Parrot_new_p_pc_i(opcode_t *cur_opcode, PARROT_INTERP) {
24394     PMC  * const   name_key = PCONST(2);
24395     const INTVAL   type = Parrot_pmc_get_type(interp, name_key);
24396 
24397     if (type > enum_class_core_max) {
24398         PMC  * const  _class = Parrot_oo_get_class(interp, name_key);
24399 
24400         if (!PMC_IS_NULL(_class)) {
24401             PMC  * const  initial = Parrot_pmc_new(interp, Parrot_hll_get_ctx_HLL_type(interp, enum_class_Integer));
24402 
24403             VTABLE_set_integer_native(interp, initial, IREG(3));
24404             PREG(1) = VTABLE_instantiate(interp, _class, initial);
24405         }
24406 
24407     }
24408     else {
24409         if (type > enum_class_default) {
24410             PREG(1) = Parrot_pmc_new_init_int(interp, type, IREG(3));
24411         }
24412         else {
24413             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));
24414 
24415             PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
24416             return (opcode_t *)dest;
24417         }
24418 
24419     }
24420 
24421     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
24422     return cur_opcode + 4;
24423 }
24424 
24425 opcode_t *
Parrot_new_p_p_ic(opcode_t * cur_opcode,PARROT_INTERP)24426 Parrot_new_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
24427     PMC  * const   name_key = PREG(2);
24428     const INTVAL   type = Parrot_pmc_get_type(interp, name_key);
24429 
24430     if (type > enum_class_core_max) {
24431         PMC  * const  _class = Parrot_oo_get_class(interp, name_key);
24432 
24433         if (!PMC_IS_NULL(_class)) {
24434             PMC  * const  initial = Parrot_pmc_new(interp, Parrot_hll_get_ctx_HLL_type(interp, enum_class_Integer));
24435 
24436             VTABLE_set_integer_native(interp, initial, ICONST(3));
24437             PREG(1) = VTABLE_instantiate(interp, _class, initial);
24438         }
24439 
24440     }
24441     else {
24442         if (type > enum_class_default) {
24443             PREG(1) = Parrot_pmc_new_init_int(interp, type, ICONST(3));
24444         }
24445         else {
24446             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));
24447 
24448             PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
24449             return (opcode_t *)dest;
24450         }
24451 
24452     }
24453 
24454     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
24455     return cur_opcode + 4;
24456 }
24457 
24458 opcode_t *
Parrot_new_p_pc_ic(opcode_t * cur_opcode,PARROT_INTERP)24459 Parrot_new_p_pc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
24460     PMC  * const   name_key = PCONST(2);
24461     const INTVAL   type = Parrot_pmc_get_type(interp, name_key);
24462 
24463     if (type > enum_class_core_max) {
24464         PMC  * const  _class = Parrot_oo_get_class(interp, name_key);
24465 
24466         if (!PMC_IS_NULL(_class)) {
24467             PMC  * const  initial = Parrot_pmc_new(interp, Parrot_hll_get_ctx_HLL_type(interp, enum_class_Integer));
24468 
24469             VTABLE_set_integer_native(interp, initial, ICONST(3));
24470             PREG(1) = VTABLE_instantiate(interp, _class, initial);
24471         }
24472 
24473     }
24474     else {
24475         if (type > enum_class_default) {
24476             PREG(1) = Parrot_pmc_new_init_int(interp, type, ICONST(3));
24477         }
24478         else {
24479             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));
24480 
24481             PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
24482             return (opcode_t *)dest;
24483         }
24484 
24485     }
24486 
24487     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
24488     return cur_opcode + 4;
24489 }
24490 
24491 opcode_t *
Parrot_root_new_p_p_i(opcode_t * cur_opcode,PARROT_INTERP)24492 Parrot_root_new_p_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
24493     PMC  * const   name_key = PREG(2);
24494     const INTVAL   type = Parrot_pmc_get_type(interp, name_key);
24495 
24496     if (type > enum_class_core_max) {
24497         PMC  * const  root_ns = interp->root_namespace;
24498         PMC  * const  ns = Parrot_ns_get_namespace_keyed(interp, root_ns, name_key);
24499         PMC  * const  _class = Parrot_oo_get_class(interp, ns);
24500 
24501         if (!PMC_IS_NULL(_class)) {
24502             PMC  * const  initial = Parrot_pmc_new(interp, Parrot_hll_get_ctx_HLL_type(interp, enum_class_Integer));
24503 
24504             VTABLE_set_integer_native(interp, initial, IREG(3));
24505             PREG(1) = VTABLE_instantiate(interp, _class, initial);
24506         }
24507 
24508     }
24509     else {
24510         if (type > enum_class_default) {
24511             PREG(1) = Parrot_pmc_new_init_int(interp, type, IREG(3));
24512         }
24513         else {
24514             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));
24515 
24516             PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
24517             return (opcode_t *)dest;
24518         }
24519 
24520     }
24521 
24522     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
24523     return cur_opcode + 4;
24524 }
24525 
24526 opcode_t *
Parrot_root_new_p_pc_i(opcode_t * cur_opcode,PARROT_INTERP)24527 Parrot_root_new_p_pc_i(opcode_t *cur_opcode, PARROT_INTERP) {
24528     PMC  * const   name_key = PCONST(2);
24529     const INTVAL   type = Parrot_pmc_get_type(interp, name_key);
24530 
24531     if (type > enum_class_core_max) {
24532         PMC  * const  root_ns = interp->root_namespace;
24533         PMC  * const  ns = Parrot_ns_get_namespace_keyed(interp, root_ns, name_key);
24534         PMC  * const  _class = Parrot_oo_get_class(interp, ns);
24535 
24536         if (!PMC_IS_NULL(_class)) {
24537             PMC  * const  initial = Parrot_pmc_new(interp, Parrot_hll_get_ctx_HLL_type(interp, enum_class_Integer));
24538 
24539             VTABLE_set_integer_native(interp, initial, IREG(3));
24540             PREG(1) = VTABLE_instantiate(interp, _class, initial);
24541         }
24542 
24543     }
24544     else {
24545         if (type > enum_class_default) {
24546             PREG(1) = Parrot_pmc_new_init_int(interp, type, IREG(3));
24547         }
24548         else {
24549             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));
24550 
24551             PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
24552             return (opcode_t *)dest;
24553         }
24554 
24555     }
24556 
24557     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
24558     return cur_opcode + 4;
24559 }
24560 
24561 opcode_t *
Parrot_root_new_p_p_ic(opcode_t * cur_opcode,PARROT_INTERP)24562 Parrot_root_new_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
24563     PMC  * const   name_key = PREG(2);
24564     const INTVAL   type = Parrot_pmc_get_type(interp, name_key);
24565 
24566     if (type > enum_class_core_max) {
24567         PMC  * const  root_ns = interp->root_namespace;
24568         PMC  * const  ns = Parrot_ns_get_namespace_keyed(interp, root_ns, name_key);
24569         PMC  * const  _class = Parrot_oo_get_class(interp, ns);
24570 
24571         if (!PMC_IS_NULL(_class)) {
24572             PMC  * const  initial = Parrot_pmc_new(interp, Parrot_hll_get_ctx_HLL_type(interp, enum_class_Integer));
24573 
24574             VTABLE_set_integer_native(interp, initial, ICONST(3));
24575             PREG(1) = VTABLE_instantiate(interp, _class, initial);
24576         }
24577 
24578     }
24579     else {
24580         if (type > enum_class_default) {
24581             PREG(1) = Parrot_pmc_new_init_int(interp, type, ICONST(3));
24582         }
24583         else {
24584             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));
24585 
24586             PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
24587             return (opcode_t *)dest;
24588         }
24589 
24590     }
24591 
24592     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
24593     return cur_opcode + 4;
24594 }
24595 
24596 opcode_t *
Parrot_root_new_p_pc_ic(opcode_t * cur_opcode,PARROT_INTERP)24597 Parrot_root_new_p_pc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
24598     PMC  * const   name_key = PCONST(2);
24599     const INTVAL   type = Parrot_pmc_get_type(interp, name_key);
24600 
24601     if (type > enum_class_core_max) {
24602         PMC  * const  root_ns = interp->root_namespace;
24603         PMC  * const  ns = Parrot_ns_get_namespace_keyed(interp, root_ns, name_key);
24604         PMC  * const  _class = Parrot_oo_get_class(interp, ns);
24605 
24606         if (!PMC_IS_NULL(_class)) {
24607             PMC  * const  initial = Parrot_pmc_new(interp, Parrot_hll_get_ctx_HLL_type(interp, enum_class_Integer));
24608 
24609             VTABLE_set_integer_native(interp, initial, ICONST(3));
24610             PREG(1) = VTABLE_instantiate(interp, _class, initial);
24611         }
24612 
24613     }
24614     else {
24615         if (type > enum_class_default) {
24616             PREG(1) = Parrot_pmc_new_init_int(interp, type, ICONST(3));
24617         }
24618         else {
24619             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));
24620 
24621             PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
24622             return (opcode_t *)dest;
24623         }
24624 
24625     }
24626 
24627     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
24628     return cur_opcode + 4;
24629 }
24630 
24631 opcode_t *
Parrot_get_context_p(opcode_t * cur_opcode,PARROT_INTERP)24632 Parrot_get_context_p(opcode_t *cur_opcode, PARROT_INTERP) {
24633     PREG(1) = CURRENT_CONTEXT(interp);
24634     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
24635     return cur_opcode + 2;
24636 }
24637 
24638 opcode_t *
Parrot_new_call_context_p(opcode_t * cur_opcode,PARROT_INTERP)24639 Parrot_new_call_context_p(opcode_t *cur_opcode, PARROT_INTERP) {
24640     PREG(1) = Parrot_pcc_new_call_object(interp);
24641     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
24642     return cur_opcode + 2;
24643 }
24644 
24645 opcode_t *
Parrot_invokecc_p_p(opcode_t * cur_opcode,PARROT_INTERP)24646 Parrot_invokecc_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
24647     PMC       * const  p = PREG(1);
24648     opcode_t  * dest =  cur_opcode + 3;
24649 
24650     Parrot_pcc_set_pc(interp, CURRENT_CONTEXT(interp), dest);
24651     Parrot_pcc_reuse_continuation(interp, CURRENT_CONTEXT(interp), dest);
24652     dest = VTABLE_invoke(interp, p, dest);
24653     return (opcode_t *)dest;
24654 }
24655 
24656 opcode_t *
Parrot_flatten_array_into_p_p_i(opcode_t * cur_opcode,PARROT_INTERP)24657 Parrot_flatten_array_into_p_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
24658     PMC  * const  dest = PREG(1);
24659     PMC  * const  src = PREG(2);
24660     const INTVAL   overwrite = IREG(3);
24661     INTVAL   i;
24662     INTVAL   start_idx = overwrite ? 0 : VTABLE_elements(interp, dest);
24663     INTVAL   src_elems = VTABLE_elements(interp, src);
24664 
24665     for (i = 0; (i < src_elems); (i++)) {
24666         PMC  * const  val = VTABLE_get_pmc_keyed_int(interp, dest, i);
24667 
24668         VTABLE_set_pmc_keyed_int(interp, dest, (i + start_idx), val);
24669     }
24670 
24671     return cur_opcode + 4;
24672 }
24673 
24674 opcode_t *
Parrot_flatten_array_into_p_p_ic(opcode_t * cur_opcode,PARROT_INTERP)24675 Parrot_flatten_array_into_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
24676     PMC  * const  dest = PREG(1);
24677     PMC  * const  src = PREG(2);
24678     const INTVAL   overwrite = ICONST(3);
24679     INTVAL   i;
24680     INTVAL   start_idx = overwrite ? 0 : VTABLE_elements(interp, dest);
24681     INTVAL   src_elems = VTABLE_elements(interp, src);
24682 
24683     for (i = 0; (i < src_elems); (i++)) {
24684         PMC  * const  val = VTABLE_get_pmc_keyed_int(interp, dest, i);
24685 
24686         VTABLE_set_pmc_keyed_int(interp, dest, (i + start_idx), val);
24687     }
24688 
24689     return cur_opcode + 4;
24690 }
24691 
24692 opcode_t *
Parrot_flatten_hash_into_p_p_i(opcode_t * cur_opcode,PARROT_INTERP)24693 Parrot_flatten_hash_into_p_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
24694     PMC  * const  dest = PREG(1);
24695     PMC  * const  src = PREG(2);
24696     const INTVAL   overwrite = IREG(3);
24697 
24698     Parrot_hash_flatten_hash_into(interp, dest, src, overwrite);
24699     return cur_opcode + 4;
24700 }
24701 
24702 opcode_t *
Parrot_flatten_hash_into_p_p_ic(opcode_t * cur_opcode,PARROT_INTERP)24703 Parrot_flatten_hash_into_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
24704     PMC  * const  dest = PREG(1);
24705     PMC  * const  src = PREG(2);
24706     const INTVAL   overwrite = ICONST(3);
24707 
24708     Parrot_hash_flatten_hash_into(interp, dest, src, overwrite);
24709     return cur_opcode + 4;
24710 }
24711 
24712 opcode_t *
Parrot_slurp_array_from_p_p_i(opcode_t * cur_opcode,PARROT_INTERP)24713 Parrot_slurp_array_from_p_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
24714     PMC  * const  dest = Parrot_pmc_new(interp, enum_class_ResizablePMCArray);
24715     PMC  * const  src = PREG(2);
24716     const INTVAL   src_elems = VTABLE_elements(interp, src);
24717     INTVAL   i;
24718 
24719     for (i = IREG(3); (i < src_elems); (i++)) {
24720         PMC  * const  value = VTABLE_get_pmc_keyed_int(interp, src, i);
24721 
24722         VTABLE_push_pmc(interp, src, value);
24723     }
24724 
24725     PREG(1) = dest;
24726     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
24727     return cur_opcode + 4;
24728 }
24729 
24730 opcode_t *
Parrot_slurp_array_from_p_p_ic(opcode_t * cur_opcode,PARROT_INTERP)24731 Parrot_slurp_array_from_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
24732     PMC  * const  dest = Parrot_pmc_new(interp, enum_class_ResizablePMCArray);
24733     PMC  * const  src = PREG(2);
24734     const INTVAL   src_elems = VTABLE_elements(interp, src);
24735     INTVAL   i;
24736 
24737     for (i = ICONST(3); (i < src_elems); (i++)) {
24738         PMC  * const  value = VTABLE_get_pmc_keyed_int(interp, src, i);
24739 
24740         VTABLE_push_pmc(interp, src, value);
24741     }
24742 
24743     PREG(1) = dest;
24744     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
24745     return cur_opcode + 4;
24746 }
24747 
24748 opcode_t *
Parrot_receive_p(opcode_t * cur_opcode,PARROT_INTERP)24749 Parrot_receive_p(opcode_t *cur_opcode, PARROT_INTERP) {
24750     opcode_t  *const  dest =  cur_opcode + 2;
24751     PMC  * cur_task = Parrot_cx_current_task(interp);
24752     Parrot_Task_attributes  * tdata = PARROT_TASK(cur_task);
24753     int   msg_count;
24754 
24755     if (tdata->partner) {
24756         Parrot_Task_attributes  * const  pdata = PARROT_TASK(tdata->partner);
24757 
24758         LOCK(pdata->mailbox_lock);
24759         Parrot_block_GC_mark(interp);
24760         if (PMC_IS_NULL(pdata->mailbox)) {
24761             msg_count = 0;
24762         }
24763         else {
24764             msg_count = VTABLE_elements(interp, pdata->mailbox);
24765         }
24766 
24767         if (msg_count > 0) {
24768             PREG(1) = VTABLE_shift_pmc(pdata->interp, pdata->mailbox);
24769             Parrot_unblock_GC_mark(interp);
24770             UNLOCK(pdata->mailbox_lock);
24771             {
24772                 PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
24773                 return (opcode_t *)dest;
24774             }
24775 
24776         }
24777         else {
24778             Parrot_unblock_GC_mark(interp);
24779             TASK_recv_block_SET(cur_task);
24780             (void)Parrot_cx_stop_task(interp, cur_opcode);
24781             UNLOCK(pdata->mailbox_lock);
24782             {
24783                 PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
24784                 return (opcode_t *)0;
24785             }
24786 
24787         }
24788 
24789     }
24790     else {
24791         if (PMC_IS_NULL(tdata->mailbox)) {
24792             msg_count = 0;
24793         }
24794         else {
24795             msg_count = VTABLE_elements(interp, tdata->mailbox);
24796         }
24797 
24798         if (msg_count > 0) {
24799             PREG(1) = VTABLE_shift_pmc(interp, tdata->mailbox);
24800             {
24801                 PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
24802                 return (opcode_t *)dest;
24803             }
24804 
24805         }
24806         else {
24807             TASK_recv_block_SET(cur_task);
24808             (void)Parrot_cx_stop_task(interp, cur_opcode);
24809             {
24810                 PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
24811                 return (opcode_t *)0;
24812             }
24813 
24814         }
24815 
24816     }
24817 
24818     PARROT_GC_WRITE_BARRIER(interp, CURRENT_CONTEXT(interp));
24819     return cur_opcode + 2;
24820 }
24821 
24822 opcode_t *
Parrot_wait_p(opcode_t * cur_opcode,PARROT_INTERP)24823 Parrot_wait_p(opcode_t *cur_opcode, PARROT_INTERP) {
24824     opcode_t  *const  next =  cur_opcode + 2;
24825     PMC  * task = PREG(1);
24826     PMC  * cur_task;
24827     Parrot_Task_attributes  * tdata;
24828 
24829     if (!VTABLE_isa(interp, task, Parrot_str_new_constant(interp, "Task"))) {
24830         Parrot_ex_throw_from_c_noargs(interp, EXCEPTION_INVALID_OPERATION, "Argument to wait op must be a Task");
24831     }
24832 
24833     tdata = PARROT_TASK(task);
24834     LOCK(tdata->waiters_lock);
24835     if (tdata->killed) {
24836         UNLOCK(tdata->waiters_lock);
24837         return (opcode_t *)next;
24838     }
24839 
24840     cur_task = Parrot_cx_stop_task(interp, next);
24841     if (PMC_IS_NULL(tdata->waiters)) {
24842         tdata->waiters = Parrot_pmc_new(interp, enum_class_ResizablePMCArray);
24843         PARROT_GC_WRITE_BARRIER(interp, task);
24844     }
24845 
24846     VTABLE_push_pmc(interp, tdata->waiters, cur_task);
24847     UNLOCK(tdata->waiters_lock);
24848     return (opcode_t *)0;
24849     return cur_opcode + 2;
24850 }
24851 
24852 opcode_t *
Parrot_wait_pc(opcode_t * cur_opcode,PARROT_INTERP)24853 Parrot_wait_pc(opcode_t *cur_opcode, PARROT_INTERP) {
24854     opcode_t  *const  next =  cur_opcode + 2;
24855     PMC  * task = PCONST(1);
24856     PMC  * cur_task;
24857     Parrot_Task_attributes  * tdata;
24858 
24859     if (!VTABLE_isa(interp, task, Parrot_str_new_constant(interp, "Task"))) {
24860         Parrot_ex_throw_from_c_noargs(interp, EXCEPTION_INVALID_OPERATION, "Argument to wait op must be a Task");
24861     }
24862 
24863     tdata = PARROT_TASK(task);
24864     LOCK(tdata->waiters_lock);
24865     if (tdata->killed) {
24866         UNLOCK(tdata->waiters_lock);
24867         return (opcode_t *)next;
24868     }
24869 
24870     cur_task = Parrot_cx_stop_task(interp, next);
24871     if (PMC_IS_NULL(tdata->waiters)) {
24872         tdata->waiters = Parrot_pmc_new(interp, enum_class_ResizablePMCArray);
24873         PARROT_GC_WRITE_BARRIER(interp, task);
24874     }
24875 
24876     VTABLE_push_pmc(interp, tdata->waiters, cur_task);
24877     UNLOCK(tdata->waiters_lock);
24878     return (opcode_t *)0;
24879     return cur_opcode + 2;
24880 }
24881 
24882 opcode_t *
Parrot_pass(opcode_t * cur_opcode,PARROT_INTERP)24883 Parrot_pass(opcode_t *cur_opcode, PARROT_INTERP) {
24884     opcode_t  *const  next =  cur_opcode + 1;
24885     opcode_t  *const  addr = Parrot_cx_preempt_task(interp, interp->scheduler, next);
24886 
24887     return (opcode_t *)addr;
24888     return cur_opcode + 1;
24889 }
24890 
24891 opcode_t *
Parrot_disable_preemption(opcode_t * cur_opcode,PARROT_INTERP)24892 Parrot_disable_preemption(opcode_t *cur_opcode, PARROT_INTERP) {
24893     Parrot_cx_disable_preemption(interp);
24894     return cur_opcode + 1;
24895 }
24896 
24897 opcode_t *
Parrot_enable_preemption(opcode_t * cur_opcode,PARROT_INTERP)24898 Parrot_enable_preemption(opcode_t *cur_opcode, PARROT_INTERP) {
24899     Parrot_cx_enable_preemption(interp);
24900     return cur_opcode + 1;
24901 }
24902 
24903 opcode_t *
Parrot_terminate(opcode_t * cur_opcode,PARROT_INTERP)24904 Parrot_terminate(opcode_t *cur_opcode, PARROT_INTERP) {
24905     UNUSED(interp);
24906     UNUSED(cur_opcode);
24907     return (opcode_t *)0;
24908     return cur_opcode + 1;
24909 }
24910 
24911 
24912 /*
24913 ** op lib descriptor:
24914 */
24915 
24916 /* XXX should be static, but C++ doesn't want to play ball */
24917 op_lib_t core_op_lib = {
24918   "core_ops",                /* name */
24919   "",                  /* suffix */
24920   PARROT_FUNCTION_CORE,                       /* core_type = PARROT_XX_CORE */
24921   0,                                /* flags */
24922   PARROT_PBC_MAJOR,
24923   PARROT_PBC_MINOR,
24924   1129,             /* op_count */
24925   core_op_info_table,       /* op_info_table */
24926   core_op_func_table,       /* op_func_table */
24927   get_op          /* op_code() */
24928 };
24929 
24930 /*
24931 ** Op lookup function:
24932 */
24933 
24934 #define OP_HASH_SIZE 3041
24935 
24936 /* we could calculate a prime somewhat bigger than
24937  * n of fullnames + n of names
24938  * for now this should be ok
24939  *
24940  * look up an op_code: at first call to op_code() a hash
24941  * of short and full opcode names is created
24942  * hash functions are from imcc, thanks to Melvin.
24943  */
24944 
24945 
24946 typedef struct hop {
24947     op_info_t * info;
24948     struct hop *next;
24949 } HOP;
24950 
24951 static HOP *hop_buckets;
24952 static HOP **hop;
24953 
24954 static void hop_init(PARROT_INTERP);
24955 static size_t hash_str(ARGIN(const char *str));
24956 static void store_op(ARGIN(op_info_t *info), ARGMOD(HOP *p), ARGIN(const char *name));
24957 
24958 /* XXX on changing interpreters, this should be called,
24959    through a hook */
24960 
24961 static void hop_deinit(PARROT_INTERP);
24962 
24963 /*
24964  * find a short or full opcode
24965  * usage:
24966  *
24967  * interp->op_lib->op_code("set", 0)
24968  * interp->op_lib->op_code("set_i_i", 1)
24969  *
24970  * returns >= 0 (found idx into info_table), -1 if not
24971  */
24972 
24973 PARROT_PURE_FUNCTION
24974 static
hash_str(ARGIN (const char * str))24975 size_t hash_str(ARGIN(const char *str))
24976 {
24977     size_t      key = 0;
24978     const char *s   = str;
24979 
24980     while (*s) {
24981         key *= 65599;
24982         key += *s++;
24983     }
24984 
24985     return key;
24986 }
24987 
24988 
store_op(ARGIN (op_info_t * info),ARGMOD (HOP * p),ARGIN (const char * name))24989 static void store_op(ARGIN(op_info_t *info), ARGMOD(HOP *p), ARGIN(const char *name))
24990 {
24991     const size_t hidx = hash_str(name) % OP_HASH_SIZE;
24992 
24993     p->info           = info;
24994     p->next           = hop[hidx];
24995     hop[hidx]         = p;
24996 }
24997 
get_op(PARROT_INTERP,ARGIN (const char * name),int full)24998 static int get_op(PARROT_INTERP, ARGIN(const char *name), int full)
24999 {
25000     const HOP   *p;
25001     const size_t hidx = hash_str(name) % OP_HASH_SIZE;
25002 
25003     if (!hop) {
25004         hop = mem_gc_allocate_n_zeroed_typed(interp, OP_HASH_SIZE,HOP *);
25005         hop_init(interp);
25006     }
25007 
25008     for (p = hop[hidx]; p; p = p->next) {
25009         if (STREQ(name, full ? p->info->full_name : p->info->name))
25010             return p->info - core_op_lib.op_info_table;
25011     }
25012 
25013     return -1;
25014 }
25015 
25016 
hop_init(PARROT_INTERP)25017 static void hop_init(PARROT_INTERP)
25018 {
25019     op_info_t * const info = core_op_lib.op_info_table;
25020     opcode_t i;
25021 
25022     /* allocate the storage all in one chunk
25023      * yes, this is profligate, but we can tighten it later */
25024     HOP *hops;
25025 
25026     hop_buckets = mem_gc_allocate_n_zeroed_typed(interp, core_op_lib.op_count * 2, HOP );
25027     hops        = hop_buckets;
25028 
25029 
25030     /* store full names */
25031     for (i = 0; i < core_op_lib.op_count; i++) {
25032         store_op(info + i, hops++, info[i].full_name);
25033 
25034         /* plus one short name */
25035         if (i && info[i - 1].name != info[i].name)
25036             store_op(info + i, hops++, info[i].name);
25037     }
25038 }
25039 
hop_deinit(PARROT_INTERP)25040 static void hop_deinit(PARROT_INTERP)
25041 {
25042     if (hop)
25043         mem_sys_free(hop);
25044     if (hop_buckets)
25045         mem_gc_free(interp, hop_buckets);
25046 
25047     hop         = NULL;
25048     hop_buckets = NULL;
25049 }
25050 
25051 PARROT_EXPORT
25052 op_lib_t *
PARROT_CORE_OPLIB_INIT(PARROT_INTERP,long init)25053 PARROT_CORE_OPLIB_INIT(PARROT_INTERP, long init) {
25054     /* initialize and return op_lib ptr */
25055     if (init == 1) {
25056 
25057         return &core_op_lib;
25058     }
25059     /* set op_lib to the passed ptr (in init) */
25060     else if (init) {
25061 
25062     }
25063     /* deinit - free resources */
25064     else {
25065         hop_deinit(interp);
25066     }
25067     return NULL;
25068 }
25069 
25070 
25071 /*
25072  * dynamic lib load function - called once
25073  */
25074  PMC*
25075 Parrot_lib_core_ops_load(PARROT_INTERP);
25076 
25077  PMC*
Parrot_lib_core_ops_load(PARROT_INTERP)25078 Parrot_lib_core_ops_load(PARROT_INTERP)
25079 
25080 {
25081     PMC *const lib = Parrot_pmc_new(interp, enum_class_ParrotLibrary);
25082     ((Parrot_ParrotLibrary_attributes*)PMC_data(lib))->oplib_init = (void *) PARROT_CORE_OPLIB_INIT;
25083     Parrot_dynop_register(interp, lib);
25084     return lib;
25085 }
25086 
25087 
25088 /*
25089  * Local variables:
25090  *   c-file-style: "parrot"
25091  *   buffer-read-only: t
25092  * End:
25093  * vim: expandtab shiftwidth=4:
25094  */
25095