3 * !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
5 * This file is generated automatically from 'src/ops/core.ops' (and possibly other
6 * .ops files). by ops2c.nqp.
8 * Any changes made here will be lost! To regenerate this file after making
9 * changes to any ops, use the bootstap-ops makefile target.
13 #include "parrot/oplib/core_ops.h"
14 #include "pmc/pmc_parrotlibrary.h"
15 #include "pmc/pmc_callcontext.h"
18 /* defines - Ops::Trans::C */
20 #define REL_PC ((size_t)(cur_opcode - (opcode_t *)interp->code->base.data))
21 #define CUR_OPCODE cur_opcode
22 #define IREG(i) (CUR_CTX->bp.regs_i[cur_opcode[i]])
23 #define NREG(i) (CUR_CTX->bp.regs_n[-1L - cur_opcode[i]])
24 #define PREG(i) (CUR_CTX->bp_ps.regs_p[-1L - cur_opcode[i]])
25 #define SREG(i) (CUR_CTX->bp_ps.regs_s[cur_opcode[i]])
26 #define CONST(i) Parrot_pcc_get_constants(interp, interp->ctx)[cur_opcode[i]]
28 static int get_op(PARROT_INTERP
, const char * name
, int full
);
31 /* XXX should be static, but C++ doesn't want to play ball */
32 extern op_lib_t core_op_lib
;
36 #include "parrot/dynext.h"
37 #include "parrot/embed.h"
38 #include "parrot/runcore_api.h"
39 #include "pmc/pmc_continuation.h"
40 #include "pmc/pmc_parrotlibrary.h"
43 /* Signed shift operator that is compatible with PMC shifts. This is
44 * guaranteed to produce the same result as bitwise_left_shift_internal modulo
45 * word size, ignoring the fact that Parrot integers are always signed. This
46 * usually gives the same answer regardless whether you shift PMC operands and
47 * then assign to an I-reg, or move the operands to I-regs and do the shift
48 * there -- except when the true result is between 2^{w-1} and 2^w (where w is
49 * the word size), in which case the high order bit is taken as the sign,
50 * giving a truncated result that is 2^w lower.
52 #define bit_shift_left(number, bits) \
53 ((bits) >= 8*INTVAL_SIZE ? 0 \
54 : (bits) >= 0 ? (number) << (bits) \
55 : (bits) > -8*INTVAL_SIZE ? (number) >> -(bits) \
59 #include "../io/io_private.h"
63 # include <unicode/uchar.h>
68 INTVAL core_numops
= 1084;
74 static op_func_t core_op_func_table
[1084] = {
77 Parrot_check_events
, /* 2 */
78 Parrot_check_events__
, /* 3 */
79 Parrot_wrapper__
, /* 4 */
80 Parrot_load_bytecode_s
, /* 5 */
81 Parrot_load_bytecode_sc
, /* 6 */
82 Parrot_load_language_s
, /* 7 */
83 Parrot_load_language_sc
, /* 8 */
84 Parrot_branch_i
, /* 9 */
85 Parrot_branch_ic
, /* 10 */
86 Parrot_local_branch_p_i
, /* 11 */
87 Parrot_local_branch_p_ic
, /* 12 */
88 Parrot_local_return_p
, /* 13 */
89 Parrot_jump_i
, /* 14 */
90 Parrot_jump_ic
, /* 15 */
91 Parrot_enternative
, /* 16 */
92 Parrot_if_i_ic
, /* 17 */
93 Parrot_if_n_ic
, /* 18 */
94 Parrot_if_s_ic
, /* 19 */
95 Parrot_if_p_ic
, /* 20 */
96 Parrot_unless_i_ic
, /* 21 */
97 Parrot_unless_n_ic
, /* 22 */
98 Parrot_unless_s_ic
, /* 23 */
99 Parrot_unless_p_ic
, /* 24 */
100 Parrot_invokecc_p
, /* 25 */
101 Parrot_invoke_p_p
, /* 26 */
102 Parrot_yield
, /* 27 */
103 Parrot_tailcall_p
, /* 28 */
104 Parrot_returncc
, /* 29 */
105 Parrot_capture_lex_p
, /* 30 */
106 Parrot_newclosure_p_p
, /* 31 */
107 Parrot_set_args_pc
, /* 32 */
108 Parrot_get_params_pc
, /* 33 */
109 Parrot_set_returns_pc
, /* 34 */
110 Parrot_get_results_pc
, /* 35 */
111 Parrot_set_result_info_p
, /* 36 */
112 Parrot_set_result_info_pc
, /* 37 */
113 Parrot_result_info_p
, /* 38 */
114 Parrot_set_addr_i_ic
, /* 39 */
115 Parrot_set_addr_p_ic
, /* 40 */
116 Parrot_set_addr_p_i
, /* 41 */
117 Parrot_get_addr_i_p
, /* 42 */
118 Parrot_schedule_p
, /* 43 */
119 Parrot_addhandler_p
, /* 44 */
120 Parrot_push_eh_ic
, /* 45 */
121 Parrot_push_eh_p
, /* 46 */
122 Parrot_pop_eh
, /* 47 */
123 Parrot_throw_p
, /* 48 */
124 Parrot_throw_p_p
, /* 49 */
125 Parrot_rethrow_p
, /* 50 */
126 Parrot_count_eh_i
, /* 51 */
127 Parrot_die_s
, /* 52 */
128 Parrot_die_sc
, /* 53 */
129 Parrot_die_p
, /* 54 */
130 Parrot_die_pc
, /* 55 */
131 Parrot_die_i_i
, /* 56 */
132 Parrot_die_ic_i
, /* 57 */
133 Parrot_die_i_ic
, /* 58 */
134 Parrot_die_ic_ic
, /* 59 */
135 Parrot_exit_i
, /* 60 */
136 Parrot_exit_ic
, /* 61 */
137 Parrot_debug_i
, /* 62 */
138 Parrot_debug_ic
, /* 63 */
139 Parrot_bounds_i
, /* 64 */
140 Parrot_bounds_ic
, /* 65 */
141 Parrot_profile_i
, /* 66 */
142 Parrot_profile_ic
, /* 67 */
143 Parrot_trace_i
, /* 68 */
144 Parrot_trace_ic
, /* 69 */
145 Parrot_gc_debug_i
, /* 70 */
146 Parrot_gc_debug_ic
, /* 71 */
147 Parrot_interpinfo_i_i
, /* 72 */
148 Parrot_interpinfo_i_ic
, /* 73 */
149 Parrot_interpinfo_p_i
, /* 74 */
150 Parrot_interpinfo_p_ic
, /* 75 */
151 Parrot_interpinfo_s_i
, /* 76 */
152 Parrot_interpinfo_s_ic
, /* 77 */
153 Parrot_warningson_i
, /* 78 */
154 Parrot_warningson_ic
, /* 79 */
155 Parrot_warningsoff_i
, /* 80 */
156 Parrot_warningsoff_ic
, /* 81 */
157 Parrot_errorson_i
, /* 82 */
158 Parrot_errorson_ic
, /* 83 */
159 Parrot_errorsoff_i
, /* 84 */
160 Parrot_errorsoff_ic
, /* 85 */
161 Parrot_runinterp_p_i
, /* 86 */
162 Parrot_runinterp_p_ic
, /* 87 */
163 Parrot_getinterp_p
, /* 88 */
164 Parrot_sweep_ic
, /* 89 */
165 Parrot_collect
, /* 90 */
166 Parrot_sweepoff
, /* 91 */
167 Parrot_sweepon
, /* 92 */
168 Parrot_collectoff
, /* 93 */
169 Parrot_collecton
, /* 94 */
170 Parrot_needs_destroy_p
, /* 95 */
171 Parrot_loadlib_p_s
, /* 96 */
172 Parrot_loadlib_p_sc
, /* 97 */
173 Parrot_loadlib_p_s_p
, /* 98 */
174 Parrot_loadlib_p_sc_p
, /* 99 */
175 Parrot_loadlib_p_s_pc
, /* 100 */
176 Parrot_loadlib_p_sc_pc
, /* 101 */
177 Parrot_dlfunc_p_p_s_s
, /* 102 */
178 Parrot_dlfunc_p_p_sc_s
, /* 103 */
179 Parrot_dlfunc_p_p_s_sc
, /* 104 */
180 Parrot_dlfunc_p_p_sc_sc
, /* 105 */
181 Parrot_dlvar_p_p_s
, /* 106 */
182 Parrot_dlvar_p_p_sc
, /* 107 */
183 Parrot_compreg_s_p
, /* 108 */
184 Parrot_compreg_sc_p
, /* 109 */
185 Parrot_compreg_p_s
, /* 110 */
186 Parrot_compreg_p_sc
, /* 111 */
187 Parrot_new_callback_p_p_p_s
, /* 112 */
188 Parrot_new_callback_p_p_p_sc
, /* 113 */
189 Parrot_annotations_p
, /* 114 */
190 Parrot_annotations_p_s
, /* 115 */
191 Parrot_annotations_p_sc
, /* 116 */
192 Parrot_band_i_i
, /* 117 */
193 Parrot_band_i_ic
, /* 118 */
194 Parrot_band_i_i_i
, /* 119 */
195 Parrot_band_i_ic_i
, /* 120 */
196 Parrot_band_i_i_ic
, /* 121 */
197 Parrot_bor_i_i
, /* 122 */
198 Parrot_bor_i_ic
, /* 123 */
199 Parrot_bor_i_i_i
, /* 124 */
200 Parrot_bor_i_ic_i
, /* 125 */
201 Parrot_bor_i_i_ic
, /* 126 */
202 Parrot_shl_i_i
, /* 127 */
203 Parrot_shl_i_ic
, /* 128 */
204 Parrot_shl_i_i_i
, /* 129 */
205 Parrot_shl_i_ic_i
, /* 130 */
206 Parrot_shl_i_i_ic
, /* 131 */
207 Parrot_shr_i_i
, /* 132 */
208 Parrot_shr_i_ic
, /* 133 */
209 Parrot_shr_i_i_i
, /* 134 */
210 Parrot_shr_i_ic_i
, /* 135 */
211 Parrot_shr_i_i_ic
, /* 136 */
212 Parrot_lsr_i_i
, /* 137 */
213 Parrot_lsr_i_ic
, /* 138 */
214 Parrot_lsr_i_i_i
, /* 139 */
215 Parrot_lsr_i_ic_i
, /* 140 */
216 Parrot_lsr_i_i_ic
, /* 141 */
217 Parrot_bxor_i_i
, /* 142 */
218 Parrot_bxor_i_ic
, /* 143 */
219 Parrot_bxor_i_i_i
, /* 144 */
220 Parrot_bxor_i_ic_i
, /* 145 */
221 Parrot_bxor_i_i_ic
, /* 146 */
222 Parrot_eq_i_i_ic
, /* 147 */
223 Parrot_eq_ic_i_ic
, /* 148 */
224 Parrot_eq_i_ic_ic
, /* 149 */
225 Parrot_eq_n_n_ic
, /* 150 */
226 Parrot_eq_nc_n_ic
, /* 151 */
227 Parrot_eq_n_nc_ic
, /* 152 */
228 Parrot_eq_s_s_ic
, /* 153 */
229 Parrot_eq_sc_s_ic
, /* 154 */
230 Parrot_eq_s_sc_ic
, /* 155 */
231 Parrot_eq_p_p_ic
, /* 156 */
232 Parrot_eq_p_i_ic
, /* 157 */
233 Parrot_eq_p_ic_ic
, /* 158 */
234 Parrot_eq_p_n_ic
, /* 159 */
235 Parrot_eq_p_nc_ic
, /* 160 */
236 Parrot_eq_p_s_ic
, /* 161 */
237 Parrot_eq_p_sc_ic
, /* 162 */
238 Parrot_eq_str_p_p_ic
, /* 163 */
239 Parrot_eq_num_p_p_ic
, /* 164 */
240 Parrot_eq_addr_s_s_ic
, /* 165 */
241 Parrot_eq_addr_sc_s_ic
, /* 166 */
242 Parrot_eq_addr_s_sc_ic
, /* 167 */
243 Parrot_eq_addr_sc_sc_ic
, /* 168 */
244 Parrot_eq_addr_p_p_ic
, /* 169 */
245 Parrot_ne_i_i_ic
, /* 170 */
246 Parrot_ne_ic_i_ic
, /* 171 */
247 Parrot_ne_i_ic_ic
, /* 172 */
248 Parrot_ne_n_n_ic
, /* 173 */
249 Parrot_ne_nc_n_ic
, /* 174 */
250 Parrot_ne_n_nc_ic
, /* 175 */
251 Parrot_ne_s_s_ic
, /* 176 */
252 Parrot_ne_sc_s_ic
, /* 177 */
253 Parrot_ne_s_sc_ic
, /* 178 */
254 Parrot_ne_p_p_ic
, /* 179 */
255 Parrot_ne_p_i_ic
, /* 180 */
256 Parrot_ne_p_ic_ic
, /* 181 */
257 Parrot_ne_p_n_ic
, /* 182 */
258 Parrot_ne_p_nc_ic
, /* 183 */
259 Parrot_ne_p_s_ic
, /* 184 */
260 Parrot_ne_p_sc_ic
, /* 185 */
261 Parrot_ne_str_p_p_ic
, /* 186 */
262 Parrot_ne_num_p_p_ic
, /* 187 */
263 Parrot_ne_addr_s_s_ic
, /* 188 */
264 Parrot_ne_addr_sc_s_ic
, /* 189 */
265 Parrot_ne_addr_s_sc_ic
, /* 190 */
266 Parrot_ne_addr_sc_sc_ic
, /* 191 */
267 Parrot_ne_addr_p_p_ic
, /* 192 */
268 Parrot_lt_i_i_ic
, /* 193 */
269 Parrot_lt_ic_i_ic
, /* 194 */
270 Parrot_lt_i_ic_ic
, /* 195 */
271 Parrot_lt_n_n_ic
, /* 196 */
272 Parrot_lt_nc_n_ic
, /* 197 */
273 Parrot_lt_n_nc_ic
, /* 198 */
274 Parrot_lt_s_s_ic
, /* 199 */
275 Parrot_lt_sc_s_ic
, /* 200 */
276 Parrot_lt_s_sc_ic
, /* 201 */
277 Parrot_lt_p_p_ic
, /* 202 */
278 Parrot_lt_p_i_ic
, /* 203 */
279 Parrot_lt_p_ic_ic
, /* 204 */
280 Parrot_lt_p_n_ic
, /* 205 */
281 Parrot_lt_p_nc_ic
, /* 206 */
282 Parrot_lt_p_s_ic
, /* 207 */
283 Parrot_lt_p_sc_ic
, /* 208 */
284 Parrot_lt_str_p_p_ic
, /* 209 */
285 Parrot_lt_num_p_p_ic
, /* 210 */
286 Parrot_le_i_i_ic
, /* 211 */
287 Parrot_le_ic_i_ic
, /* 212 */
288 Parrot_le_i_ic_ic
, /* 213 */
289 Parrot_le_n_n_ic
, /* 214 */
290 Parrot_le_nc_n_ic
, /* 215 */
291 Parrot_le_n_nc_ic
, /* 216 */
292 Parrot_le_s_s_ic
, /* 217 */
293 Parrot_le_sc_s_ic
, /* 218 */
294 Parrot_le_s_sc_ic
, /* 219 */
295 Parrot_le_p_p_ic
, /* 220 */
296 Parrot_le_p_i_ic
, /* 221 */
297 Parrot_le_p_ic_ic
, /* 222 */
298 Parrot_le_p_n_ic
, /* 223 */
299 Parrot_le_p_nc_ic
, /* 224 */
300 Parrot_le_p_s_ic
, /* 225 */
301 Parrot_le_p_sc_ic
, /* 226 */
302 Parrot_le_str_p_p_ic
, /* 227 */
303 Parrot_le_num_p_p_ic
, /* 228 */
304 Parrot_gt_p_p_ic
, /* 229 */
305 Parrot_gt_p_i_ic
, /* 230 */
306 Parrot_gt_p_ic_ic
, /* 231 */
307 Parrot_gt_p_n_ic
, /* 232 */
308 Parrot_gt_p_nc_ic
, /* 233 */
309 Parrot_gt_p_s_ic
, /* 234 */
310 Parrot_gt_p_sc_ic
, /* 235 */
311 Parrot_gt_str_p_p_ic
, /* 236 */
312 Parrot_gt_num_p_p_ic
, /* 237 */
313 Parrot_ge_p_p_ic
, /* 238 */
314 Parrot_ge_p_i_ic
, /* 239 */
315 Parrot_ge_p_ic_ic
, /* 240 */
316 Parrot_ge_p_n_ic
, /* 241 */
317 Parrot_ge_p_nc_ic
, /* 242 */
318 Parrot_ge_p_s_ic
, /* 243 */
319 Parrot_ge_p_sc_ic
, /* 244 */
320 Parrot_ge_str_p_p_ic
, /* 245 */
321 Parrot_ge_num_p_p_ic
, /* 246 */
322 Parrot_if_null_p_ic
, /* 247 */
323 Parrot_if_null_s_ic
, /* 248 */
324 Parrot_unless_null_p_ic
, /* 249 */
325 Parrot_unless_null_s_ic
, /* 250 */
326 Parrot_cmp_i_i_i
, /* 251 */
327 Parrot_cmp_i_ic_i
, /* 252 */
328 Parrot_cmp_i_i_ic
, /* 253 */
329 Parrot_cmp_i_n_n
, /* 254 */
330 Parrot_cmp_i_nc_n
, /* 255 */
331 Parrot_cmp_i_n_nc
, /* 256 */
332 Parrot_cmp_i_s_s
, /* 257 */
333 Parrot_cmp_i_sc_s
, /* 258 */
334 Parrot_cmp_i_s_sc
, /* 259 */
335 Parrot_cmp_i_p_p
, /* 260 */
336 Parrot_cmp_i_p_i
, /* 261 */
337 Parrot_cmp_i_p_ic
, /* 262 */
338 Parrot_cmp_i_p_n
, /* 263 */
339 Parrot_cmp_i_p_nc
, /* 264 */
340 Parrot_cmp_i_p_s
, /* 265 */
341 Parrot_cmp_i_p_sc
, /* 266 */
342 Parrot_cmp_str_i_p_p
, /* 267 */
343 Parrot_cmp_num_i_p_p
, /* 268 */
344 Parrot_cmp_pmc_p_p_p
, /* 269 */
345 Parrot_issame_i_p_p
, /* 270 */
346 Parrot_issame_i_s_s
, /* 271 */
347 Parrot_issame_i_sc_s
, /* 272 */
348 Parrot_issame_i_s_sc
, /* 273 */
349 Parrot_issame_i_sc_sc
, /* 274 */
350 Parrot_isntsame_i_p_p
, /* 275 */
351 Parrot_isntsame_i_s_s
, /* 276 */
352 Parrot_isntsame_i_sc_s
, /* 277 */
353 Parrot_isntsame_i_s_sc
, /* 278 */
354 Parrot_isntsame_i_sc_sc
, /* 279 */
355 Parrot_istrue_i_p
, /* 280 */
356 Parrot_isfalse_i_p
, /* 281 */
357 Parrot_isnull_i_p
, /* 282 */
358 Parrot_isnull_i_pc
, /* 283 */
359 Parrot_isnull_i_s
, /* 284 */
360 Parrot_isnull_i_sc
, /* 285 */
361 Parrot_isgt_i_p_p
, /* 286 */
362 Parrot_isge_i_p_p
, /* 287 */
363 Parrot_isle_i_i_i
, /* 288 */
364 Parrot_isle_i_ic_i
, /* 289 */
365 Parrot_isle_i_i_ic
, /* 290 */
366 Parrot_isle_i_n_n
, /* 291 */
367 Parrot_isle_i_nc_n
, /* 292 */
368 Parrot_isle_i_n_nc
, /* 293 */
369 Parrot_isle_i_s_s
, /* 294 */
370 Parrot_isle_i_sc_s
, /* 295 */
371 Parrot_isle_i_s_sc
, /* 296 */
372 Parrot_isle_i_p_p
, /* 297 */
373 Parrot_islt_i_i_i
, /* 298 */
374 Parrot_islt_i_ic_i
, /* 299 */
375 Parrot_islt_i_i_ic
, /* 300 */
376 Parrot_islt_i_n_n
, /* 301 */
377 Parrot_islt_i_nc_n
, /* 302 */
378 Parrot_islt_i_n_nc
, /* 303 */
379 Parrot_islt_i_s_s
, /* 304 */
380 Parrot_islt_i_sc_s
, /* 305 */
381 Parrot_islt_i_s_sc
, /* 306 */
382 Parrot_islt_i_p_p
, /* 307 */
383 Parrot_iseq_i_i_i
, /* 308 */
384 Parrot_iseq_i_ic_i
, /* 309 */
385 Parrot_iseq_i_i_ic
, /* 310 */
386 Parrot_iseq_i_n_n
, /* 311 */
387 Parrot_iseq_i_nc_n
, /* 312 */
388 Parrot_iseq_i_n_nc
, /* 313 */
389 Parrot_iseq_i_s_s
, /* 314 */
390 Parrot_iseq_i_sc_s
, /* 315 */
391 Parrot_iseq_i_s_sc
, /* 316 */
392 Parrot_iseq_i_p_p
, /* 317 */
393 Parrot_isne_i_i_i
, /* 318 */
394 Parrot_isne_i_ic_i
, /* 319 */
395 Parrot_isne_i_i_ic
, /* 320 */
396 Parrot_isne_i_n_n
, /* 321 */
397 Parrot_isne_i_nc_n
, /* 322 */
398 Parrot_isne_i_n_nc
, /* 323 */
399 Parrot_isne_i_s_s
, /* 324 */
400 Parrot_isne_i_sc_s
, /* 325 */
401 Parrot_isne_i_s_sc
, /* 326 */
402 Parrot_isne_i_p_p
, /* 327 */
403 Parrot_and_i_i_i
, /* 328 */
404 Parrot_and_i_ic_i
, /* 329 */
405 Parrot_and_i_i_ic
, /* 330 */
406 Parrot_and_p_p_p
, /* 331 */
407 Parrot_not_i
, /* 332 */
408 Parrot_not_i_i
, /* 333 */
409 Parrot_not_p
, /* 334 */
410 Parrot_not_p_p
, /* 335 */
411 Parrot_or_i_i_i
, /* 336 */
412 Parrot_or_i_ic_i
, /* 337 */
413 Parrot_or_i_i_ic
, /* 338 */
414 Parrot_or_p_p_p
, /* 339 */
415 Parrot_xor_i_i_i
, /* 340 */
416 Parrot_xor_i_ic_i
, /* 341 */
417 Parrot_xor_i_i_ic
, /* 342 */
418 Parrot_xor_p_p_p
, /* 343 */
419 Parrot_print_i
, /* 344 */
420 Parrot_print_ic
, /* 345 */
421 Parrot_print_n
, /* 346 */
422 Parrot_print_nc
, /* 347 */
423 Parrot_print_s
, /* 348 */
424 Parrot_print_sc
, /* 349 */
425 Parrot_print_p
, /* 350 */
426 Parrot_say_i
, /* 351 */
427 Parrot_say_ic
, /* 352 */
428 Parrot_say_n
, /* 353 */
429 Parrot_say_nc
, /* 354 */
430 Parrot_say_s
, /* 355 */
431 Parrot_say_sc
, /* 356 */
432 Parrot_say_p
, /* 357 */
433 Parrot_print_p_i
, /* 358 */
434 Parrot_print_p_ic
, /* 359 */
435 Parrot_print_p_n
, /* 360 */
436 Parrot_print_p_nc
, /* 361 */
437 Parrot_print_p_s
, /* 362 */
438 Parrot_print_p_sc
, /* 363 */
439 Parrot_print_p_p
, /* 364 */
440 Parrot_getstdin_p
, /* 365 */
441 Parrot_getstdout_p
, /* 366 */
442 Parrot_getstderr_p
, /* 367 */
443 Parrot_abs_i
, /* 368 */
444 Parrot_abs_n
, /* 369 */
445 Parrot_abs_i_i
, /* 370 */
446 Parrot_abs_n_n
, /* 371 */
447 Parrot_abs_p
, /* 372 */
448 Parrot_abs_p_p
, /* 373 */
449 Parrot_add_i_i
, /* 374 */
450 Parrot_add_i_ic
, /* 375 */
451 Parrot_add_n_n
, /* 376 */
452 Parrot_add_n_nc
, /* 377 */
453 Parrot_add_p_p
, /* 378 */
454 Parrot_add_p_i
, /* 379 */
455 Parrot_add_p_ic
, /* 380 */
456 Parrot_add_p_n
, /* 381 */
457 Parrot_add_p_nc
, /* 382 */
458 Parrot_add_i_i_i
, /* 383 */
459 Parrot_add_i_ic_i
, /* 384 */
460 Parrot_add_i_i_ic
, /* 385 */
461 Parrot_add_n_n_n
, /* 386 */
462 Parrot_add_n_nc_n
, /* 387 */
463 Parrot_add_n_n_nc
, /* 388 */
464 Parrot_add_p_p_p
, /* 389 */
465 Parrot_add_p_p_i
, /* 390 */
466 Parrot_add_p_p_ic
, /* 391 */
467 Parrot_add_p_p_n
, /* 392 */
468 Parrot_add_p_p_nc
, /* 393 */
469 Parrot_dec_i
, /* 394 */
470 Parrot_dec_n
, /* 395 */
471 Parrot_dec_p
, /* 396 */
472 Parrot_div_i_i
, /* 397 */
473 Parrot_div_i_ic
, /* 398 */
474 Parrot_div_n_n
, /* 399 */
475 Parrot_div_n_nc
, /* 400 */
476 Parrot_div_p_p
, /* 401 */
477 Parrot_div_p_i
, /* 402 */
478 Parrot_div_p_ic
, /* 403 */
479 Parrot_div_p_n
, /* 404 */
480 Parrot_div_p_nc
, /* 405 */
481 Parrot_div_i_i_i
, /* 406 */
482 Parrot_div_i_ic_i
, /* 407 */
483 Parrot_div_i_i_ic
, /* 408 */
484 Parrot_div_i_ic_ic
, /* 409 */
485 Parrot_div_n_n_n
, /* 410 */
486 Parrot_div_n_nc_n
, /* 411 */
487 Parrot_div_n_n_nc
, /* 412 */
488 Parrot_div_n_nc_nc
, /* 413 */
489 Parrot_div_p_p_p
, /* 414 */
490 Parrot_div_p_p_i
, /* 415 */
491 Parrot_div_p_p_ic
, /* 416 */
492 Parrot_div_p_p_n
, /* 417 */
493 Parrot_div_p_p_nc
, /* 418 */
494 Parrot_fdiv_i_i
, /* 419 */
495 Parrot_fdiv_i_ic
, /* 420 */
496 Parrot_fdiv_n_n
, /* 421 */
497 Parrot_fdiv_n_nc
, /* 422 */
498 Parrot_fdiv_p_p
, /* 423 */
499 Parrot_fdiv_p_i
, /* 424 */
500 Parrot_fdiv_p_ic
, /* 425 */
501 Parrot_fdiv_p_n
, /* 426 */
502 Parrot_fdiv_p_nc
, /* 427 */
503 Parrot_fdiv_i_i_i
, /* 428 */
504 Parrot_fdiv_i_ic_i
, /* 429 */
505 Parrot_fdiv_i_i_ic
, /* 430 */
506 Parrot_fdiv_n_n_n
, /* 431 */
507 Parrot_fdiv_n_nc_n
, /* 432 */
508 Parrot_fdiv_n_n_nc
, /* 433 */
509 Parrot_fdiv_p_p_p
, /* 434 */
510 Parrot_fdiv_p_p_i
, /* 435 */
511 Parrot_fdiv_p_p_ic
, /* 436 */
512 Parrot_fdiv_p_p_n
, /* 437 */
513 Parrot_fdiv_p_p_nc
, /* 438 */
514 Parrot_ceil_n
, /* 439 */
515 Parrot_ceil_i_n
, /* 440 */
516 Parrot_ceil_n_n
, /* 441 */
517 Parrot_floor_n
, /* 442 */
518 Parrot_floor_i_n
, /* 443 */
519 Parrot_floor_n_n
, /* 444 */
520 Parrot_inc_i
, /* 445 */
521 Parrot_inc_n
, /* 446 */
522 Parrot_inc_p
, /* 447 */
523 Parrot_mod_i_i
, /* 448 */
524 Parrot_mod_i_ic
, /* 449 */
525 Parrot_mod_n_n
, /* 450 */
526 Parrot_mod_n_nc
, /* 451 */
527 Parrot_mod_p_p
, /* 452 */
528 Parrot_mod_p_i
, /* 453 */
529 Parrot_mod_p_ic
, /* 454 */
530 Parrot_mod_p_n
, /* 455 */
531 Parrot_mod_p_nc
, /* 456 */
532 Parrot_mod_i_i_i
, /* 457 */
533 Parrot_mod_i_ic_i
, /* 458 */
534 Parrot_mod_i_i_ic
, /* 459 */
535 Parrot_mod_n_n_n
, /* 460 */
536 Parrot_mod_n_nc_n
, /* 461 */
537 Parrot_mod_n_n_nc
, /* 462 */
538 Parrot_mod_p_p_p
, /* 463 */
539 Parrot_mod_p_p_i
, /* 464 */
540 Parrot_mod_p_p_ic
, /* 465 */
541 Parrot_mod_p_p_n
, /* 466 */
542 Parrot_mod_p_p_nc
, /* 467 */
543 Parrot_mul_i_i
, /* 468 */
544 Parrot_mul_i_ic
, /* 469 */
545 Parrot_mul_n_n
, /* 470 */
546 Parrot_mul_n_nc
, /* 471 */
547 Parrot_mul_p_p
, /* 472 */
548 Parrot_mul_p_i
, /* 473 */
549 Parrot_mul_p_ic
, /* 474 */
550 Parrot_mul_p_n
, /* 475 */
551 Parrot_mul_p_nc
, /* 476 */
552 Parrot_mul_i_i_i
, /* 477 */
553 Parrot_mul_i_ic_i
, /* 478 */
554 Parrot_mul_i_i_ic
, /* 479 */
555 Parrot_mul_n_n_n
, /* 480 */
556 Parrot_mul_n_nc_n
, /* 481 */
557 Parrot_mul_n_n_nc
, /* 482 */
558 Parrot_mul_p_p_p
, /* 483 */
559 Parrot_mul_p_p_i
, /* 484 */
560 Parrot_mul_p_p_ic
, /* 485 */
561 Parrot_mul_p_p_n
, /* 486 */
562 Parrot_mul_p_p_nc
, /* 487 */
563 Parrot_neg_i
, /* 488 */
564 Parrot_neg_n
, /* 489 */
565 Parrot_neg_p
, /* 490 */
566 Parrot_neg_i_i
, /* 491 */
567 Parrot_neg_n_n
, /* 492 */
568 Parrot_neg_p_p
, /* 493 */
569 Parrot_sub_i_i
, /* 494 */
570 Parrot_sub_i_ic
, /* 495 */
571 Parrot_sub_n_n
, /* 496 */
572 Parrot_sub_n_nc
, /* 497 */
573 Parrot_sub_p_p
, /* 498 */
574 Parrot_sub_p_i
, /* 499 */
575 Parrot_sub_p_ic
, /* 500 */
576 Parrot_sub_p_n
, /* 501 */
577 Parrot_sub_p_nc
, /* 502 */
578 Parrot_sub_i_i_i
, /* 503 */
579 Parrot_sub_i_ic_i
, /* 504 */
580 Parrot_sub_i_i_ic
, /* 505 */
581 Parrot_sub_n_n_n
, /* 506 */
582 Parrot_sub_n_nc_n
, /* 507 */
583 Parrot_sub_n_n_nc
, /* 508 */
584 Parrot_sub_p_p_p
, /* 509 */
585 Parrot_sub_p_p_i
, /* 510 */
586 Parrot_sub_p_p_ic
, /* 511 */
587 Parrot_sub_p_p_n
, /* 512 */
588 Parrot_sub_p_p_nc
, /* 513 */
589 Parrot_sqrt_n_n
, /* 514 */
590 Parrot_callmethodcc_p_s
, /* 515 */
591 Parrot_callmethodcc_p_sc
, /* 516 */
592 Parrot_callmethodcc_p_p
, /* 517 */
593 Parrot_callmethod_p_s_p
, /* 518 */
594 Parrot_callmethod_p_sc_p
, /* 519 */
595 Parrot_callmethod_p_p_p
, /* 520 */
596 Parrot_tailcallmethod_p_s
, /* 521 */
597 Parrot_tailcallmethod_p_sc
, /* 522 */
598 Parrot_tailcallmethod_p_p
, /* 523 */
599 Parrot_addmethod_p_s_p
, /* 524 */
600 Parrot_addmethod_p_sc_p
, /* 525 */
601 Parrot_can_i_p_s
, /* 526 */
602 Parrot_can_i_p_sc
, /* 527 */
603 Parrot_does_i_p_s
, /* 528 */
604 Parrot_does_i_p_sc
, /* 529 */
605 Parrot_does_i_p_p
, /* 530 */
606 Parrot_does_i_p_pc
, /* 531 */
607 Parrot_isa_i_p_s
, /* 532 */
608 Parrot_isa_i_p_sc
, /* 533 */
609 Parrot_isa_i_p_p
, /* 534 */
610 Parrot_isa_i_p_pc
, /* 535 */
611 Parrot_newclass_p_s
, /* 536 */
612 Parrot_newclass_p_sc
, /* 537 */
613 Parrot_newclass_p_p
, /* 538 */
614 Parrot_newclass_p_pc
, /* 539 */
615 Parrot_subclass_p_p
, /* 540 */
616 Parrot_subclass_p_pc
, /* 541 */
617 Parrot_subclass_p_p_s
, /* 542 */
618 Parrot_subclass_p_pc_s
, /* 543 */
619 Parrot_subclass_p_p_sc
, /* 544 */
620 Parrot_subclass_p_pc_sc
, /* 545 */
621 Parrot_subclass_p_p_p
, /* 546 */
622 Parrot_subclass_p_pc_p
, /* 547 */
623 Parrot_subclass_p_p_pc
, /* 548 */
624 Parrot_subclass_p_pc_pc
, /* 549 */
625 Parrot_subclass_p_s
, /* 550 */
626 Parrot_subclass_p_sc
, /* 551 */
627 Parrot_subclass_p_s_s
, /* 552 */
628 Parrot_subclass_p_sc_s
, /* 553 */
629 Parrot_subclass_p_s_sc
, /* 554 */
630 Parrot_subclass_p_sc_sc
, /* 555 */
631 Parrot_subclass_p_s_p
, /* 556 */
632 Parrot_subclass_p_sc_p
, /* 557 */
633 Parrot_subclass_p_s_pc
, /* 558 */
634 Parrot_subclass_p_sc_pc
, /* 559 */
635 Parrot_get_class_p_s
, /* 560 */
636 Parrot_get_class_p_sc
, /* 561 */
637 Parrot_get_class_p_p
, /* 562 */
638 Parrot_get_class_p_pc
, /* 563 */
639 Parrot_class_p_p
, /* 564 */
640 Parrot_addparent_p_p
, /* 565 */
641 Parrot_removeparent_p_p
, /* 566 */
642 Parrot_addrole_p_p
, /* 567 */
643 Parrot_addattribute_p_s
, /* 568 */
644 Parrot_addattribute_p_sc
, /* 569 */
645 Parrot_removeattribute_p_s
, /* 570 */
646 Parrot_removeattribute_p_sc
, /* 571 */
647 Parrot_getattribute_p_p_s
, /* 572 */
648 Parrot_getattribute_p_p_sc
, /* 573 */
649 Parrot_getattribute_p_p_p_s
, /* 574 */
650 Parrot_getattribute_p_p_pc_s
, /* 575 */
651 Parrot_getattribute_p_p_p_sc
, /* 576 */
652 Parrot_getattribute_p_p_pc_sc
, /* 577 */
653 Parrot_setattribute_p_s_p
, /* 578 */
654 Parrot_setattribute_p_sc_p
, /* 579 */
655 Parrot_setattribute_p_p_s_p
, /* 580 */
656 Parrot_setattribute_p_pc_s_p
, /* 581 */
657 Parrot_setattribute_p_p_sc_p
, /* 582 */
658 Parrot_setattribute_p_pc_sc_p
, /* 583 */
659 Parrot_inspect_p_p
, /* 584 */
660 Parrot_inspect_p_pc
, /* 585 */
661 Parrot_inspect_p_p_s
, /* 586 */
662 Parrot_inspect_p_pc_s
, /* 587 */
663 Parrot_inspect_p_p_sc
, /* 588 */
664 Parrot_inspect_p_pc_sc
, /* 589 */
665 Parrot_new_p_s
, /* 590 */
666 Parrot_new_p_sc
, /* 591 */
667 Parrot_new_p_s_p
, /* 592 */
668 Parrot_new_p_sc_p
, /* 593 */
669 Parrot_new_p_s_pc
, /* 594 */
670 Parrot_new_p_sc_pc
, /* 595 */
671 Parrot_new_p_p
, /* 596 */
672 Parrot_new_p_pc
, /* 597 */
673 Parrot_new_p_p_p
, /* 598 */
674 Parrot_new_p_pc_p
, /* 599 */
675 Parrot_new_p_p_pc
, /* 600 */
676 Parrot_new_p_pc_pc
, /* 601 */
677 Parrot_root_new_p_p
, /* 602 */
678 Parrot_root_new_p_pc
, /* 603 */
679 Parrot_root_new_p_p_p
, /* 604 */
680 Parrot_root_new_p_pc_p
, /* 605 */
681 Parrot_root_new_p_p_pc
, /* 606 */
682 Parrot_root_new_p_pc_pc
, /* 607 */
683 Parrot_typeof_s_p
, /* 608 */
684 Parrot_typeof_p_p
, /* 609 */
685 Parrot_get_repr_s_p
, /* 610 */
686 Parrot_find_method_p_p_s
, /* 611 */
687 Parrot_find_method_p_p_sc
, /* 612 */
688 Parrot_defined_i_p
, /* 613 */
689 Parrot_defined_i_p_ki
, /* 614 */
690 Parrot_defined_i_p_kic
, /* 615 */
691 Parrot_defined_i_p_k
, /* 616 */
692 Parrot_defined_i_p_kc
, /* 617 */
693 Parrot_exists_i_p_ki
, /* 618 */
694 Parrot_exists_i_p_kic
, /* 619 */
695 Parrot_exists_i_p_k
, /* 620 */
696 Parrot_exists_i_p_kc
, /* 621 */
697 Parrot_delete_p_k
, /* 622 */
698 Parrot_delete_p_kc
, /* 623 */
699 Parrot_delete_p_ki
, /* 624 */
700 Parrot_delete_p_kic
, /* 625 */
701 Parrot_elements_i_p
, /* 626 */
702 Parrot_push_p_i
, /* 627 */
703 Parrot_push_p_ic
, /* 628 */
704 Parrot_push_p_n
, /* 629 */
705 Parrot_push_p_nc
, /* 630 */
706 Parrot_push_p_s
, /* 631 */
707 Parrot_push_p_sc
, /* 632 */
708 Parrot_push_p_p
, /* 633 */
709 Parrot_pop_i_p
, /* 634 */
710 Parrot_pop_n_p
, /* 635 */
711 Parrot_pop_s_p
, /* 636 */
712 Parrot_pop_p_p
, /* 637 */
713 Parrot_unshift_p_i
, /* 638 */
714 Parrot_unshift_p_ic
, /* 639 */
715 Parrot_unshift_p_n
, /* 640 */
716 Parrot_unshift_p_nc
, /* 641 */
717 Parrot_unshift_p_s
, /* 642 */
718 Parrot_unshift_p_sc
, /* 643 */
719 Parrot_unshift_p_p
, /* 644 */
720 Parrot_shift_i_p
, /* 645 */
721 Parrot_shift_n_p
, /* 646 */
722 Parrot_shift_s_p
, /* 647 */
723 Parrot_shift_p_p
, /* 648 */
724 Parrot_splice_p_p_i_i
, /* 649 */
725 Parrot_splice_p_p_ic_i
, /* 650 */
726 Parrot_splice_p_p_i_ic
, /* 651 */
727 Parrot_splice_p_p_ic_ic
, /* 652 */
728 Parrot_setprop_p_s_p
, /* 653 */
729 Parrot_setprop_p_sc_p
, /* 654 */
730 Parrot_getprop_p_s_p
, /* 655 */
731 Parrot_getprop_p_sc_p
, /* 656 */
732 Parrot_delprop_p_s
, /* 657 */
733 Parrot_delprop_p_sc
, /* 658 */
734 Parrot_prophash_p_p
, /* 659 */
735 Parrot_freeze_s_p
, /* 660 */
736 Parrot_thaw_p_s
, /* 661 */
737 Parrot_thaw_p_sc
, /* 662 */
738 Parrot_add_multi_s_s_p
, /* 663 */
739 Parrot_add_multi_sc_s_p
, /* 664 */
740 Parrot_add_multi_s_sc_p
, /* 665 */
741 Parrot_add_multi_sc_sc_p
, /* 666 */
742 Parrot_find_multi_p_s_s
, /* 667 */
743 Parrot_find_multi_p_sc_s
, /* 668 */
744 Parrot_find_multi_p_s_sc
, /* 669 */
745 Parrot_find_multi_p_sc_sc
, /* 670 */
746 Parrot_register_p
, /* 671 */
747 Parrot_unregister_p
, /* 672 */
748 Parrot_box_p_i
, /* 673 */
749 Parrot_box_p_ic
, /* 674 */
750 Parrot_box_p_n
, /* 675 */
751 Parrot_box_p_nc
, /* 676 */
752 Parrot_box_p_s
, /* 677 */
753 Parrot_box_p_sc
, /* 678 */
754 Parrot_iter_p_p
, /* 679 */
755 Parrot_morph_p_p
, /* 680 */
756 Parrot_morph_p_pc
, /* 681 */
757 Parrot_clone_s_s
, /* 682 */
758 Parrot_clone_s_sc
, /* 683 */
759 Parrot_set_i_i
, /* 684 */
760 Parrot_set_i_ic
, /* 685 */
761 Parrot_set_i_n
, /* 686 */
762 Parrot_set_i_nc
, /* 687 */
763 Parrot_set_i_s
, /* 688 */
764 Parrot_set_i_sc
, /* 689 */
765 Parrot_set_n_n
, /* 690 */
766 Parrot_set_n_nc
, /* 691 */
767 Parrot_set_n_i
, /* 692 */
768 Parrot_set_n_ic
, /* 693 */
769 Parrot_set_n_s
, /* 694 */
770 Parrot_set_n_sc
, /* 695 */
771 Parrot_set_n_p
, /* 696 */
772 Parrot_set_s_p
, /* 697 */
773 Parrot_set_s_s
, /* 698 */
774 Parrot_set_s_sc
, /* 699 */
775 Parrot_set_s_i
, /* 700 */
776 Parrot_set_s_ic
, /* 701 */
777 Parrot_set_s_n
, /* 702 */
778 Parrot_set_s_nc
, /* 703 */
779 Parrot_set_p_pc
, /* 704 */
780 Parrot_set_p_p
, /* 705 */
781 Parrot_set_p_i
, /* 706 */
782 Parrot_set_p_ic
, /* 707 */
783 Parrot_set_p_n
, /* 708 */
784 Parrot_set_p_nc
, /* 709 */
785 Parrot_set_p_s
, /* 710 */
786 Parrot_set_p_sc
, /* 711 */
787 Parrot_set_i_p
, /* 712 */
788 Parrot_assign_p_p
, /* 713 */
789 Parrot_assign_p_i
, /* 714 */
790 Parrot_assign_p_ic
, /* 715 */
791 Parrot_assign_p_n
, /* 716 */
792 Parrot_assign_p_nc
, /* 717 */
793 Parrot_assign_p_s
, /* 718 */
794 Parrot_assign_p_sc
, /* 719 */
795 Parrot_assign_s_s
, /* 720 */
796 Parrot_assign_s_sc
, /* 721 */
797 Parrot_setref_p_p
, /* 722 */
798 Parrot_deref_p_p
, /* 723 */
799 Parrot_set_p_ki_i
, /* 724 */
800 Parrot_set_p_kic_i
, /* 725 */
801 Parrot_set_p_ki_ic
, /* 726 */
802 Parrot_set_p_kic_ic
, /* 727 */
803 Parrot_set_p_ki_n
, /* 728 */
804 Parrot_set_p_kic_n
, /* 729 */
805 Parrot_set_p_ki_nc
, /* 730 */
806 Parrot_set_p_kic_nc
, /* 731 */
807 Parrot_set_p_ki_s
, /* 732 */
808 Parrot_set_p_kic_s
, /* 733 */
809 Parrot_set_p_ki_sc
, /* 734 */
810 Parrot_set_p_kic_sc
, /* 735 */
811 Parrot_set_p_ki_p
, /* 736 */
812 Parrot_set_p_kic_p
, /* 737 */
813 Parrot_set_i_p_ki
, /* 738 */
814 Parrot_set_i_p_kic
, /* 739 */
815 Parrot_set_n_p_ki
, /* 740 */
816 Parrot_set_n_p_kic
, /* 741 */
817 Parrot_set_s_p_ki
, /* 742 */
818 Parrot_set_s_p_kic
, /* 743 */
819 Parrot_set_p_p_ki
, /* 744 */
820 Parrot_set_p_p_kic
, /* 745 */
821 Parrot_set_p_k_i
, /* 746 */
822 Parrot_set_p_kc_i
, /* 747 */
823 Parrot_set_p_k_ic
, /* 748 */
824 Parrot_set_p_kc_ic
, /* 749 */
825 Parrot_set_p_k_n
, /* 750 */
826 Parrot_set_p_kc_n
, /* 751 */
827 Parrot_set_p_k_nc
, /* 752 */
828 Parrot_set_p_kc_nc
, /* 753 */
829 Parrot_set_p_k_s
, /* 754 */
830 Parrot_set_p_kc_s
, /* 755 */
831 Parrot_set_p_k_sc
, /* 756 */
832 Parrot_set_p_kc_sc
, /* 757 */
833 Parrot_set_p_k_p
, /* 758 */
834 Parrot_set_p_kc_p
, /* 759 */
835 Parrot_set_i_p_k
, /* 760 */
836 Parrot_set_i_p_kc
, /* 761 */
837 Parrot_set_n_p_k
, /* 762 */
838 Parrot_set_n_p_kc
, /* 763 */
839 Parrot_set_s_p_k
, /* 764 */
840 Parrot_set_s_p_kc
, /* 765 */
841 Parrot_set_p_p_k
, /* 766 */
842 Parrot_set_p_p_kc
, /* 767 */
843 Parrot_clone_p_p
, /* 768 */
844 Parrot_clone_p_p_p
, /* 769 */
845 Parrot_clone_p_p_pc
, /* 770 */
846 Parrot_copy_p_p
, /* 771 */
847 Parrot_null_s
, /* 772 */
848 Parrot_null_i
, /* 773 */
849 Parrot_null_p
, /* 774 */
850 Parrot_null_n
, /* 775 */
851 Parrot_ord_i_s
, /* 776 */
852 Parrot_ord_i_sc
, /* 777 */
853 Parrot_ord_i_s_i
, /* 778 */
854 Parrot_ord_i_sc_i
, /* 779 */
855 Parrot_ord_i_s_ic
, /* 780 */
856 Parrot_ord_i_sc_ic
, /* 781 */
857 Parrot_chr_s_i
, /* 782 */
858 Parrot_chr_s_ic
, /* 783 */
859 Parrot_chopn_s_s_i
, /* 784 */
860 Parrot_chopn_s_sc_i
, /* 785 */
861 Parrot_chopn_s_s_ic
, /* 786 */
862 Parrot_chopn_s_sc_ic
, /* 787 */
863 Parrot_concat_s_s
, /* 788 */
864 Parrot_concat_s_sc
, /* 789 */
865 Parrot_concat_p_p
, /* 790 */
866 Parrot_concat_p_s
, /* 791 */
867 Parrot_concat_p_sc
, /* 792 */
868 Parrot_concat_s_s_s
, /* 793 */
869 Parrot_concat_s_sc_s
, /* 794 */
870 Parrot_concat_s_s_sc
, /* 795 */
871 Parrot_concat_p_p_s
, /* 796 */
872 Parrot_concat_p_p_sc
, /* 797 */
873 Parrot_concat_p_p_p
, /* 798 */
874 Parrot_repeat_s_s_i
, /* 799 */
875 Parrot_repeat_s_sc_i
, /* 800 */
876 Parrot_repeat_s_s_ic
, /* 801 */
877 Parrot_repeat_s_sc_ic
, /* 802 */
878 Parrot_repeat_p_p_i
, /* 803 */
879 Parrot_repeat_p_p_ic
, /* 804 */
880 Parrot_repeat_p_p_p
, /* 805 */
881 Parrot_repeat_p_i
, /* 806 */
882 Parrot_repeat_p_ic
, /* 807 */
883 Parrot_repeat_p_p
, /* 808 */
884 Parrot_length_i_s
, /* 809 */
885 Parrot_length_i_sc
, /* 810 */
886 Parrot_bytelength_i_s
, /* 811 */
887 Parrot_bytelength_i_sc
, /* 812 */
888 Parrot_pin_s
, /* 813 */
889 Parrot_unpin_s
, /* 814 */
890 Parrot_substr_s_s_i
, /* 815 */
891 Parrot_substr_s_sc_i
, /* 816 */
892 Parrot_substr_s_s_ic
, /* 817 */
893 Parrot_substr_s_sc_ic
, /* 818 */
894 Parrot_substr_s_s_i_i
, /* 819 */
895 Parrot_substr_s_sc_i_i
, /* 820 */
896 Parrot_substr_s_s_ic_i
, /* 821 */
897 Parrot_substr_s_sc_ic_i
, /* 822 */
898 Parrot_substr_s_s_i_ic
, /* 823 */
899 Parrot_substr_s_sc_i_ic
, /* 824 */
900 Parrot_substr_s_s_ic_ic
, /* 825 */
901 Parrot_substr_s_sc_ic_ic
, /* 826 */
902 Parrot_substr_s_p_i_i
, /* 827 */
903 Parrot_substr_s_p_ic_i
, /* 828 */
904 Parrot_substr_s_p_i_ic
, /* 829 */
905 Parrot_substr_s_p_ic_ic
, /* 830 */
906 Parrot_replace_s_s_i_i_s
, /* 831 */
907 Parrot_replace_s_sc_i_i_s
, /* 832 */
908 Parrot_replace_s_s_ic_i_s
, /* 833 */
909 Parrot_replace_s_sc_ic_i_s
, /* 834 */
910 Parrot_replace_s_s_i_ic_s
, /* 835 */
911 Parrot_replace_s_sc_i_ic_s
, /* 836 */
912 Parrot_replace_s_s_ic_ic_s
, /* 837 */
913 Parrot_replace_s_sc_ic_ic_s
, /* 838 */
914 Parrot_replace_s_s_i_i_sc
, /* 839 */
915 Parrot_replace_s_sc_i_i_sc
, /* 840 */
916 Parrot_replace_s_s_ic_i_sc
, /* 841 */
917 Parrot_replace_s_sc_ic_i_sc
, /* 842 */
918 Parrot_replace_s_s_i_ic_sc
, /* 843 */
919 Parrot_replace_s_sc_i_ic_sc
, /* 844 */
920 Parrot_replace_s_s_ic_ic_sc
, /* 845 */
921 Parrot_replace_s_sc_ic_ic_sc
, /* 846 */
922 Parrot_index_i_s_s
, /* 847 */
923 Parrot_index_i_sc_s
, /* 848 */
924 Parrot_index_i_s_sc
, /* 849 */
925 Parrot_index_i_sc_sc
, /* 850 */
926 Parrot_index_i_s_s_i
, /* 851 */
927 Parrot_index_i_sc_s_i
, /* 852 */
928 Parrot_index_i_s_sc_i
, /* 853 */
929 Parrot_index_i_sc_sc_i
, /* 854 */
930 Parrot_index_i_s_s_ic
, /* 855 */
931 Parrot_index_i_sc_s_ic
, /* 856 */
932 Parrot_index_i_s_sc_ic
, /* 857 */
933 Parrot_index_i_sc_sc_ic
, /* 858 */
934 Parrot_sprintf_s_s_p
, /* 859 */
935 Parrot_sprintf_s_sc_p
, /* 860 */
936 Parrot_sprintf_p_p_p
, /* 861 */
937 Parrot_new_s
, /* 862 */
938 Parrot_new_s_i
, /* 863 */
939 Parrot_new_s_ic
, /* 864 */
940 Parrot_stringinfo_i_s_i
, /* 865 */
941 Parrot_stringinfo_i_sc_i
, /* 866 */
942 Parrot_stringinfo_i_s_ic
, /* 867 */
943 Parrot_stringinfo_i_sc_ic
, /* 868 */
944 Parrot_upcase_s_s
, /* 869 */
945 Parrot_upcase_s_sc
, /* 870 */
946 Parrot_downcase_s_s
, /* 871 */
947 Parrot_downcase_s_sc
, /* 872 */
948 Parrot_titlecase_s_s
, /* 873 */
949 Parrot_titlecase_s_sc
, /* 874 */
950 Parrot_join_s_s_p
, /* 875 */
951 Parrot_join_s_sc_p
, /* 876 */
952 Parrot_split_p_s_s
, /* 877 */
953 Parrot_split_p_sc_s
, /* 878 */
954 Parrot_split_p_s_sc
, /* 879 */
955 Parrot_split_p_sc_sc
, /* 880 */
956 Parrot_charset_i_s
, /* 881 */
957 Parrot_charset_i_sc
, /* 882 */
958 Parrot_charsetname_s_i
, /* 883 */
959 Parrot_charsetname_s_ic
, /* 884 */
960 Parrot_find_charset_i_s
, /* 885 */
961 Parrot_find_charset_i_sc
, /* 886 */
962 Parrot_trans_charset_s_s_i
, /* 887 */
963 Parrot_trans_charset_s_sc_i
, /* 888 */
964 Parrot_trans_charset_s_s_ic
, /* 889 */
965 Parrot_trans_charset_s_sc_ic
, /* 890 */
966 Parrot_encoding_i_s
, /* 891 */
967 Parrot_encoding_i_sc
, /* 892 */
968 Parrot_encodingname_s_i
, /* 893 */
969 Parrot_encodingname_s_ic
, /* 894 */
970 Parrot_find_encoding_i_s
, /* 895 */
971 Parrot_find_encoding_i_sc
, /* 896 */
972 Parrot_trans_encoding_s_s_i
, /* 897 */
973 Parrot_trans_encoding_s_sc_i
, /* 898 */
974 Parrot_trans_encoding_s_s_ic
, /* 899 */
975 Parrot_trans_encoding_s_sc_ic
, /* 900 */
976 Parrot_is_cclass_i_i_s_i
, /* 901 */
977 Parrot_is_cclass_i_ic_s_i
, /* 902 */
978 Parrot_is_cclass_i_i_sc_i
, /* 903 */
979 Parrot_is_cclass_i_ic_sc_i
, /* 904 */
980 Parrot_is_cclass_i_i_s_ic
, /* 905 */
981 Parrot_is_cclass_i_ic_s_ic
, /* 906 */
982 Parrot_is_cclass_i_i_sc_ic
, /* 907 */
983 Parrot_is_cclass_i_ic_sc_ic
, /* 908 */
984 Parrot_find_cclass_i_i_s_i_i
, /* 909 */
985 Parrot_find_cclass_i_ic_s_i_i
, /* 910 */
986 Parrot_find_cclass_i_i_sc_i_i
, /* 911 */
987 Parrot_find_cclass_i_ic_sc_i_i
, /* 912 */
988 Parrot_find_cclass_i_i_s_ic_i
, /* 913 */
989 Parrot_find_cclass_i_ic_s_ic_i
, /* 914 */
990 Parrot_find_cclass_i_i_sc_ic_i
, /* 915 */
991 Parrot_find_cclass_i_ic_sc_ic_i
, /* 916 */
992 Parrot_find_cclass_i_i_s_i_ic
, /* 917 */
993 Parrot_find_cclass_i_ic_s_i_ic
, /* 918 */
994 Parrot_find_cclass_i_i_sc_i_ic
, /* 919 */
995 Parrot_find_cclass_i_ic_sc_i_ic
, /* 920 */
996 Parrot_find_cclass_i_i_s_ic_ic
, /* 921 */
997 Parrot_find_cclass_i_ic_s_ic_ic
, /* 922 */
998 Parrot_find_cclass_i_i_sc_ic_ic
, /* 923 */
999 Parrot_find_cclass_i_ic_sc_ic_ic
, /* 924 */
1000 Parrot_find_not_cclass_i_i_s_i_i
, /* 925 */
1001 Parrot_find_not_cclass_i_ic_s_i_i
, /* 926 */
1002 Parrot_find_not_cclass_i_i_sc_i_i
, /* 927 */
1003 Parrot_find_not_cclass_i_ic_sc_i_i
, /* 928 */
1004 Parrot_find_not_cclass_i_i_s_ic_i
, /* 929 */
1005 Parrot_find_not_cclass_i_ic_s_ic_i
, /* 930 */
1006 Parrot_find_not_cclass_i_i_sc_ic_i
, /* 931 */
1007 Parrot_find_not_cclass_i_ic_sc_ic_i
, /* 932 */
1008 Parrot_find_not_cclass_i_i_s_i_ic
, /* 933 */
1009 Parrot_find_not_cclass_i_ic_s_i_ic
, /* 934 */
1010 Parrot_find_not_cclass_i_i_sc_i_ic
, /* 935 */
1011 Parrot_find_not_cclass_i_ic_sc_i_ic
, /* 936 */
1012 Parrot_find_not_cclass_i_i_s_ic_ic
, /* 937 */
1013 Parrot_find_not_cclass_i_ic_s_ic_ic
, /* 938 */
1014 Parrot_find_not_cclass_i_i_sc_ic_ic
, /* 939 */
1015 Parrot_find_not_cclass_i_ic_sc_ic_ic
, /* 940 */
1016 Parrot_escape_s_s
, /* 941 */
1017 Parrot_compose_s_s
, /* 942 */
1018 Parrot_compose_s_sc
, /* 943 */
1019 Parrot_spawnw_i_s
, /* 944 */
1020 Parrot_spawnw_i_sc
, /* 945 */
1021 Parrot_spawnw_i_p
, /* 946 */
1022 Parrot_err_i
, /* 947 */
1023 Parrot_err_s
, /* 948 */
1024 Parrot_err_s_i
, /* 949 */
1025 Parrot_err_s_ic
, /* 950 */
1026 Parrot_time_i
, /* 951 */
1027 Parrot_time_n
, /* 952 */
1028 Parrot_sleep_i
, /* 953 */
1029 Parrot_sleep_ic
, /* 954 */
1030 Parrot_sleep_n
, /* 955 */
1031 Parrot_sleep_nc
, /* 956 */
1032 Parrot_store_lex_s_p
, /* 957 */
1033 Parrot_store_lex_sc_p
, /* 958 */
1034 Parrot_store_dynamic_lex_s_p
, /* 959 */
1035 Parrot_store_dynamic_lex_sc_p
, /* 960 */
1036 Parrot_find_lex_p_s
, /* 961 */
1037 Parrot_find_lex_p_sc
, /* 962 */
1038 Parrot_find_dynamic_lex_p_s
, /* 963 */
1039 Parrot_find_dynamic_lex_p_sc
, /* 964 */
1040 Parrot_find_caller_lex_p_s
, /* 965 */
1041 Parrot_find_caller_lex_p_sc
, /* 966 */
1042 Parrot_get_namespace_p
, /* 967 */
1043 Parrot_get_namespace_p_p
, /* 968 */
1044 Parrot_get_namespace_p_pc
, /* 969 */
1045 Parrot_get_hll_namespace_p
, /* 970 */
1046 Parrot_get_hll_namespace_p_p
, /* 971 */
1047 Parrot_get_hll_namespace_p_pc
, /* 972 */
1048 Parrot_get_root_namespace_p
, /* 973 */
1049 Parrot_get_root_namespace_p_p
, /* 974 */
1050 Parrot_get_root_namespace_p_pc
, /* 975 */
1051 Parrot_get_global_p_s
, /* 976 */
1052 Parrot_get_global_p_sc
, /* 977 */
1053 Parrot_get_global_p_p_s
, /* 978 */
1054 Parrot_get_global_p_pc_s
, /* 979 */
1055 Parrot_get_global_p_p_sc
, /* 980 */
1056 Parrot_get_global_p_pc_sc
, /* 981 */
1057 Parrot_get_hll_global_p_s
, /* 982 */
1058 Parrot_get_hll_global_p_sc
, /* 983 */
1059 Parrot_get_hll_global_p_p_s
, /* 984 */
1060 Parrot_get_hll_global_p_pc_s
, /* 985 */
1061 Parrot_get_hll_global_p_p_sc
, /* 986 */
1062 Parrot_get_hll_global_p_pc_sc
, /* 987 */
1063 Parrot_get_root_global_p_s
, /* 988 */
1064 Parrot_get_root_global_p_sc
, /* 989 */
1065 Parrot_get_root_global_p_p_s
, /* 990 */
1066 Parrot_get_root_global_p_pc_s
, /* 991 */
1067 Parrot_get_root_global_p_p_sc
, /* 992 */
1068 Parrot_get_root_global_p_pc_sc
, /* 993 */
1069 Parrot_set_global_s_p
, /* 994 */
1070 Parrot_set_global_sc_p
, /* 995 */
1071 Parrot_set_global_p_s_p
, /* 996 */
1072 Parrot_set_global_pc_s_p
, /* 997 */
1073 Parrot_set_global_p_sc_p
, /* 998 */
1074 Parrot_set_global_pc_sc_p
, /* 999 */
1075 Parrot_set_hll_global_s_p
, /* 1000 */
1076 Parrot_set_hll_global_sc_p
, /* 1001 */
1077 Parrot_set_hll_global_p_s_p
, /* 1002 */
1078 Parrot_set_hll_global_pc_s_p
, /* 1003 */
1079 Parrot_set_hll_global_p_sc_p
, /* 1004 */
1080 Parrot_set_hll_global_pc_sc_p
, /* 1005 */
1081 Parrot_set_root_global_s_p
, /* 1006 */
1082 Parrot_set_root_global_sc_p
, /* 1007 */
1083 Parrot_set_root_global_p_s_p
, /* 1008 */
1084 Parrot_set_root_global_pc_s_p
, /* 1009 */
1085 Parrot_set_root_global_p_sc_p
, /* 1010 */
1086 Parrot_set_root_global_pc_sc_p
, /* 1011 */
1087 Parrot_find_name_p_s
, /* 1012 */
1088 Parrot_find_name_p_sc
, /* 1013 */
1089 Parrot_find_sub_not_null_p_s
, /* 1014 */
1090 Parrot_find_sub_not_null_p_sc
, /* 1015 */
1091 Parrot_trap
, /* 1016 */
1092 Parrot_set_label_p_ic
, /* 1017 */
1093 Parrot_get_label_i_p
, /* 1018 */
1094 Parrot_fetch_p_p_p_p
, /* 1019 */
1095 Parrot_fetch_p_pc_p_p
, /* 1020 */
1096 Parrot_fetch_p_p_pc_p
, /* 1021 */
1097 Parrot_fetch_p_pc_pc_p
, /* 1022 */
1098 Parrot_fetch_p_p_p_pc
, /* 1023 */
1099 Parrot_fetch_p_pc_p_pc
, /* 1024 */
1100 Parrot_fetch_p_p_pc_pc
, /* 1025 */
1101 Parrot_fetch_p_pc_pc_pc
, /* 1026 */
1102 Parrot_fetch_p_p_i_p
, /* 1027 */
1103 Parrot_fetch_p_pc_i_p
, /* 1028 */
1104 Parrot_fetch_p_p_ic_p
, /* 1029 */
1105 Parrot_fetch_p_pc_ic_p
, /* 1030 */
1106 Parrot_fetch_p_p_i_pc
, /* 1031 */
1107 Parrot_fetch_p_pc_i_pc
, /* 1032 */
1108 Parrot_fetch_p_p_ic_pc
, /* 1033 */
1109 Parrot_fetch_p_pc_ic_pc
, /* 1034 */
1110 Parrot_fetch_p_p_s_p
, /* 1035 */
1111 Parrot_fetch_p_pc_s_p
, /* 1036 */
1112 Parrot_fetch_p_p_sc_p
, /* 1037 */
1113 Parrot_fetch_p_pc_sc_p
, /* 1038 */
1114 Parrot_fetch_p_p_s_pc
, /* 1039 */
1115 Parrot_fetch_p_pc_s_pc
, /* 1040 */
1116 Parrot_fetch_p_p_sc_pc
, /* 1041 */
1117 Parrot_fetch_p_pc_sc_pc
, /* 1042 */
1118 Parrot_vivify_p_p_p_p
, /* 1043 */
1119 Parrot_vivify_p_pc_p_p
, /* 1044 */
1120 Parrot_vivify_p_p_pc_p
, /* 1045 */
1121 Parrot_vivify_p_pc_pc_p
, /* 1046 */
1122 Parrot_vivify_p_p_p_pc
, /* 1047 */
1123 Parrot_vivify_p_pc_p_pc
, /* 1048 */
1124 Parrot_vivify_p_p_pc_pc
, /* 1049 */
1125 Parrot_vivify_p_pc_pc_pc
, /* 1050 */
1126 Parrot_vivify_p_p_i_p
, /* 1051 */
1127 Parrot_vivify_p_pc_i_p
, /* 1052 */
1128 Parrot_vivify_p_p_ic_p
, /* 1053 */
1129 Parrot_vivify_p_pc_ic_p
, /* 1054 */
1130 Parrot_vivify_p_p_i_pc
, /* 1055 */
1131 Parrot_vivify_p_pc_i_pc
, /* 1056 */
1132 Parrot_vivify_p_p_ic_pc
, /* 1057 */
1133 Parrot_vivify_p_pc_ic_pc
, /* 1058 */
1134 Parrot_vivify_p_p_s_p
, /* 1059 */
1135 Parrot_vivify_p_pc_s_p
, /* 1060 */
1136 Parrot_vivify_p_p_sc_p
, /* 1061 */
1137 Parrot_vivify_p_pc_sc_p
, /* 1062 */
1138 Parrot_vivify_p_p_s_pc
, /* 1063 */
1139 Parrot_vivify_p_pc_s_pc
, /* 1064 */
1140 Parrot_vivify_p_p_sc_pc
, /* 1065 */
1141 Parrot_vivify_p_pc_sc_pc
, /* 1066 */
1142 Parrot_new_p_s_i
, /* 1067 */
1143 Parrot_new_p_sc_i
, /* 1068 */
1144 Parrot_new_p_s_ic
, /* 1069 */
1145 Parrot_new_p_sc_ic
, /* 1070 */
1146 Parrot_new_p_p_i
, /* 1071 */
1147 Parrot_new_p_pc_i
, /* 1072 */
1148 Parrot_new_p_p_ic
, /* 1073 */
1149 Parrot_new_p_pc_ic
, /* 1074 */
1150 Parrot_root_new_p_p_i
, /* 1075 */
1151 Parrot_root_new_p_pc_i
, /* 1076 */
1152 Parrot_root_new_p_p_ic
, /* 1077 */
1153 Parrot_root_new_p_pc_ic
, /* 1078 */
1154 Parrot_find_codepoint_i_s
, /* 1079 */
1155 Parrot_find_codepoint_i_sc
, /* 1080 */
1156 Parrot_finalize_p
, /* 1081 */
1157 Parrot_finalize_pc
, /* 1082 */
1159 NULL
/* NULL function pointer */
1168 static op_info_t core_op_info_table
[1084] = {
1170 /* type PARROT_INLINE_OP, */
1183 /* type PARROT_INLINE_OP, */
1196 /* type PARROT_INLINE_OP, */
1199 "Parrot_check_events",
1209 /* type PARROT_INLINE_OP, */
1212 "Parrot_check_events__",
1222 /* type PARROT_INLINE_OP, */
1235 /* type PARROT_INLINE_OP, */
1238 "Parrot_load_bytecode_s",
1243 { PARROT_ARGDIR_IN
},
1248 /* type PARROT_INLINE_OP, */
1251 "Parrot_load_bytecode_sc",
1256 { PARROT_ARGDIR_IN
},
1261 /* type PARROT_INLINE_OP, */
1264 "Parrot_load_language_s",
1269 { PARROT_ARGDIR_IN
},
1274 /* type PARROT_INLINE_OP, */
1277 "Parrot_load_language_sc",
1282 { PARROT_ARGDIR_IN
},
1287 /* type PARROT_INLINE_OP, */
1292 PARROT_JUMP_RELATIVE
,
1295 { PARROT_ARGDIR_IN
},
1300 /* type PARROT_INLINE_OP, */
1305 PARROT_JUMP_RELATIVE
,
1308 { PARROT_ARGDIR_IN
},
1313 /* type PARROT_INLINE_OP, */
1316 "Parrot_local_branch_p_i",
1318 PARROT_JUMP_RELATIVE
,
1320 { PARROT_ARG_P
, PARROT_ARG_I
},
1321 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
1326 /* type PARROT_INLINE_OP, */
1328 "local_branch_p_ic",
1329 "Parrot_local_branch_p_ic",
1331 PARROT_JUMP_RELATIVE
,
1333 { PARROT_ARG_P
, PARROT_ARG_IC
},
1334 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
1339 /* type PARROT_INLINE_OP, */
1342 "Parrot_local_return_p",
1347 { PARROT_ARGDIR_IN
},
1352 /* type PARROT_INLINE_OP, */
1360 { PARROT_ARGDIR_IN
},
1365 /* type PARROT_INLINE_OP, */
1373 { PARROT_ARGDIR_IN
},
1378 /* type PARROT_FUNCTION_OP, */
1381 "Parrot_enternative",
1391 /* type PARROT_INLINE_OP, */
1396 PARROT_JUMP_RELATIVE
,
1398 { PARROT_ARG_I
, PARROT_ARG_IC
},
1399 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
1404 /* type PARROT_INLINE_OP, */
1409 PARROT_JUMP_RELATIVE
,
1411 { PARROT_ARG_N
, PARROT_ARG_IC
},
1412 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
1417 /* type PARROT_FUNCTION_OP, */
1422 PARROT_JUMP_RELATIVE
,
1424 { PARROT_ARG_S
, PARROT_ARG_IC
},
1425 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
1430 /* type PARROT_FUNCTION_OP, */
1435 PARROT_JUMP_RELATIVE
,
1437 { PARROT_ARG_P
, PARROT_ARG_IC
},
1438 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
1443 /* type PARROT_INLINE_OP, */
1446 "Parrot_unless_i_ic",
1448 PARROT_JUMP_RELATIVE
,
1450 { PARROT_ARG_I
, PARROT_ARG_IC
},
1451 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
1456 /* type PARROT_INLINE_OP, */
1459 "Parrot_unless_n_ic",
1461 PARROT_JUMP_RELATIVE
,
1463 { PARROT_ARG_N
, PARROT_ARG_IC
},
1464 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
1469 /* type PARROT_FUNCTION_OP, */
1472 "Parrot_unless_s_ic",
1474 PARROT_JUMP_RELATIVE
,
1476 { PARROT_ARG_S
, PARROT_ARG_IC
},
1477 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
1482 /* type PARROT_FUNCTION_OP, */
1485 "Parrot_unless_p_ic",
1487 PARROT_JUMP_RELATIVE
,
1489 { PARROT_ARG_P
, PARROT_ARG_IC
},
1490 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
1495 /* type PARROT_INLINE_OP, */
1498 "Parrot_invokecc_p",
1503 { PARROT_ARGDIR_IN
},
1508 /* type PARROT_INLINE_OP, */
1511 "Parrot_invoke_p_p",
1515 { PARROT_ARG_P
, PARROT_ARG_P
},
1516 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
1521 /* type PARROT_INLINE_OP, */
1534 /* type PARROT_INLINE_OP, */
1537 "Parrot_tailcall_p",
1542 { PARROT_ARGDIR_IN
},
1547 /* type PARROT_INLINE_OP, */
1560 /* type PARROT_INLINE_OP, */
1563 "Parrot_capture_lex_p",
1568 { PARROT_ARGDIR_IN
},
1573 /* type PARROT_INLINE_OP, */
1576 "Parrot_newclosure_p_p",
1580 { PARROT_ARG_P
, PARROT_ARG_P
},
1581 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
1586 /* type PARROT_FUNCTION_OP, */
1589 "Parrot_set_args_pc",
1591 PARROT_JUMP_RELATIVE
,
1594 { PARROT_ARGDIR_IN
},
1599 /* type PARROT_FUNCTION_OP, */
1602 "Parrot_get_params_pc",
1604 PARROT_JUMP_RELATIVE
,
1607 { PARROT_ARGDIR_IN
},
1612 /* type PARROT_FUNCTION_OP, */
1615 "Parrot_set_returns_pc",
1617 PARROT_JUMP_RELATIVE
,
1620 { PARROT_ARGDIR_IN
},
1625 /* type PARROT_FUNCTION_OP, */
1628 "Parrot_get_results_pc",
1630 PARROT_JUMP_RELATIVE
,
1633 { PARROT_ARGDIR_IN
},
1638 /* type PARROT_INLINE_OP, */
1640 "set_result_info_p",
1641 "Parrot_set_result_info_p",
1646 { PARROT_ARGDIR_IN
},
1651 /* type PARROT_INLINE_OP, */
1653 "set_result_info_pc",
1654 "Parrot_set_result_info_pc",
1659 { PARROT_ARGDIR_IN
},
1664 /* type PARROT_INLINE_OP, */
1667 "Parrot_result_info_p",
1672 { PARROT_ARGDIR_OUT
},
1677 /* type PARROT_INLINE_OP, */
1680 "Parrot_set_addr_i_ic",
1684 { PARROT_ARG_I
, PARROT_ARG_IC
},
1685 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
1690 /* type PARROT_INLINE_OP, */
1693 "Parrot_set_addr_p_ic",
1697 { PARROT_ARG_P
, PARROT_ARG_IC
},
1698 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
1703 /* type PARROT_INLINE_OP, */
1706 "Parrot_set_addr_p_i",
1710 { PARROT_ARG_P
, PARROT_ARG_I
},
1711 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
1716 /* type PARROT_INLINE_OP, */
1719 "Parrot_get_addr_i_p",
1723 { PARROT_ARG_I
, PARROT_ARG_P
},
1724 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
1729 /* type PARROT_INLINE_OP, */
1732 "Parrot_schedule_p",
1737 { PARROT_ARGDIR_IN
},
1742 /* type PARROT_INLINE_OP, */
1745 "Parrot_addhandler_p",
1750 { PARROT_ARGDIR_IN
},
1755 /* type PARROT_INLINE_OP, */
1758 "Parrot_push_eh_ic",
1763 { PARROT_ARGDIR_IN
},
1768 /* type PARROT_INLINE_OP, */
1776 { PARROT_ARGDIR_IN
},
1781 /* type PARROT_INLINE_OP, */
1794 /* type PARROT_INLINE_OP, */
1802 { PARROT_ARGDIR_IN
},
1807 /* type PARROT_INLINE_OP, */
1814 { PARROT_ARG_P
, PARROT_ARG_P
},
1815 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
1820 /* type PARROT_INLINE_OP, */
1828 { PARROT_ARGDIR_IN
},
1833 /* type PARROT_INLINE_OP, */
1836 "Parrot_count_eh_i",
1841 { PARROT_ARGDIR_OUT
},
1846 /* type PARROT_INLINE_OP, */
1854 { PARROT_ARGDIR_IN
},
1859 /* type PARROT_INLINE_OP, */
1867 { PARROT_ARGDIR_IN
},
1872 /* type PARROT_INLINE_OP, */
1880 { PARROT_ARGDIR_IN
},
1885 /* type PARROT_INLINE_OP, */
1893 { PARROT_ARGDIR_IN
},
1898 /* type PARROT_INLINE_OP, */
1905 { PARROT_ARG_I
, PARROT_ARG_I
},
1906 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
1911 /* type PARROT_INLINE_OP, */
1918 { PARROT_ARG_IC
, PARROT_ARG_I
},
1919 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
1924 /* type PARROT_INLINE_OP, */
1931 { PARROT_ARG_I
, PARROT_ARG_IC
},
1932 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
1937 /* type PARROT_INLINE_OP, */
1944 { PARROT_ARG_IC
, PARROT_ARG_IC
},
1945 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
1950 /* type PARROT_INLINE_OP, */
1958 { PARROT_ARGDIR_IN
},
1963 /* type PARROT_INLINE_OP, */
1971 { PARROT_ARGDIR_IN
},
1976 /* type PARROT_INLINE_OP, */
1984 { PARROT_ARGDIR_IN
},
1989 /* type PARROT_INLINE_OP, */
1997 { PARROT_ARGDIR_IN
},
2002 /* type PARROT_INLINE_OP, */
2010 { PARROT_ARGDIR_IN
},
2015 /* type PARROT_INLINE_OP, */
2023 { PARROT_ARGDIR_IN
},
2028 /* type PARROT_INLINE_OP, */
2036 { PARROT_ARGDIR_IN
},
2041 /* type PARROT_INLINE_OP, */
2044 "Parrot_profile_ic",
2049 { PARROT_ARGDIR_IN
},
2054 /* type PARROT_INLINE_OP, */
2062 { PARROT_ARGDIR_IN
},
2067 /* type PARROT_INLINE_OP, */
2075 { PARROT_ARGDIR_IN
},
2080 /* type PARROT_INLINE_OP, */
2083 "Parrot_gc_debug_i",
2088 { PARROT_ARGDIR_IN
},
2093 /* type PARROT_INLINE_OP, */
2096 "Parrot_gc_debug_ic",
2101 { PARROT_ARGDIR_IN
},
2106 /* type PARROT_FUNCTION_OP, */
2109 "Parrot_interpinfo_i_i",
2113 { PARROT_ARG_I
, PARROT_ARG_I
},
2114 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
2119 /* type PARROT_FUNCTION_OP, */
2122 "Parrot_interpinfo_i_ic",
2126 { PARROT_ARG_I
, PARROT_ARG_IC
},
2127 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
2132 /* type PARROT_FUNCTION_OP, */
2135 "Parrot_interpinfo_p_i",
2139 { PARROT_ARG_P
, PARROT_ARG_I
},
2140 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
2145 /* type PARROT_FUNCTION_OP, */
2148 "Parrot_interpinfo_p_ic",
2152 { PARROT_ARG_P
, PARROT_ARG_IC
},
2153 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
2158 /* type PARROT_FUNCTION_OP, */
2161 "Parrot_interpinfo_s_i",
2165 { PARROT_ARG_S
, PARROT_ARG_I
},
2166 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
2171 /* type PARROT_FUNCTION_OP, */
2174 "Parrot_interpinfo_s_ic",
2178 { PARROT_ARG_S
, PARROT_ARG_IC
},
2179 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
2184 /* type PARROT_INLINE_OP, */
2187 "Parrot_warningson_i",
2192 { PARROT_ARGDIR_IN
},
2197 /* type PARROT_INLINE_OP, */
2200 "Parrot_warningson_ic",
2205 { PARROT_ARGDIR_IN
},
2210 /* type PARROT_INLINE_OP, */
2213 "Parrot_warningsoff_i",
2218 { PARROT_ARGDIR_IN
},
2223 /* type PARROT_INLINE_OP, */
2226 "Parrot_warningsoff_ic",
2231 { PARROT_ARGDIR_IN
},
2236 /* type PARROT_INLINE_OP, */
2239 "Parrot_errorson_i",
2244 { PARROT_ARGDIR_IN
},
2249 /* type PARROT_INLINE_OP, */
2252 "Parrot_errorson_ic",
2257 { PARROT_ARGDIR_IN
},
2262 /* type PARROT_INLINE_OP, */
2265 "Parrot_errorsoff_i",
2270 { PARROT_ARGDIR_IN
},
2275 /* type PARROT_INLINE_OP, */
2278 "Parrot_errorsoff_ic",
2283 { PARROT_ARGDIR_IN
},
2288 /* type PARROT_FUNCTION_OP, */
2291 "Parrot_runinterp_p_i",
2293 PARROT_JUMP_RELATIVE
,
2295 { PARROT_ARG_P
, PARROT_ARG_I
},
2296 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
2301 /* type PARROT_FUNCTION_OP, */
2304 "Parrot_runinterp_p_ic",
2306 PARROT_JUMP_RELATIVE
,
2308 { PARROT_ARG_P
, PARROT_ARG_IC
},
2309 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
2314 /* type PARROT_FUNCTION_OP, */
2317 "Parrot_getinterp_p",
2322 { PARROT_ARGDIR_OUT
},
2327 /* type PARROT_FUNCTION_OP, */
2335 { PARROT_ARGDIR_IN
},
2340 /* type PARROT_FUNCTION_OP, */
2353 /* type PARROT_FUNCTION_OP, */
2366 /* type PARROT_FUNCTION_OP, */
2379 /* type PARROT_FUNCTION_OP, */
2382 "Parrot_collectoff",
2392 /* type PARROT_FUNCTION_OP, */
2405 /* type PARROT_FUNCTION_OP, */
2408 "Parrot_needs_destroy_p",
2413 { PARROT_ARGDIR_IN
},
2418 /* type PARROT_INLINE_OP, */
2421 "Parrot_loadlib_p_s",
2425 { PARROT_ARG_P
, PARROT_ARG_S
},
2426 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
2431 /* type PARROT_INLINE_OP, */
2434 "Parrot_loadlib_p_sc",
2438 { PARROT_ARG_P
, PARROT_ARG_SC
},
2439 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
2444 /* type PARROT_INLINE_OP, */
2447 "Parrot_loadlib_p_s_p",
2451 { PARROT_ARG_P
, PARROT_ARG_S
, PARROT_ARG_P
},
2452 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
2457 /* type PARROT_INLINE_OP, */
2460 "Parrot_loadlib_p_sc_p",
2464 { PARROT_ARG_P
, PARROT_ARG_SC
, PARROT_ARG_P
},
2465 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
2470 /* type PARROT_INLINE_OP, */
2473 "Parrot_loadlib_p_s_pc",
2477 { PARROT_ARG_P
, PARROT_ARG_S
, PARROT_ARG_PC
},
2478 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
2483 /* type PARROT_INLINE_OP, */
2486 "Parrot_loadlib_p_sc_pc",
2490 { PARROT_ARG_P
, PARROT_ARG_SC
, PARROT_ARG_PC
},
2491 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
2496 /* type PARROT_FUNCTION_OP, */
2499 "Parrot_dlfunc_p_p_s_s",
2503 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_S
, PARROT_ARG_S
},
2504 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
2509 /* type PARROT_FUNCTION_OP, */
2512 "Parrot_dlfunc_p_p_sc_s",
2516 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_SC
, PARROT_ARG_S
},
2517 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
2522 /* type PARROT_FUNCTION_OP, */
2525 "Parrot_dlfunc_p_p_s_sc",
2529 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_S
, PARROT_ARG_SC
},
2530 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
2535 /* type PARROT_FUNCTION_OP, */
2538 "Parrot_dlfunc_p_p_sc_sc",
2542 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_SC
, PARROT_ARG_SC
},
2543 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
2548 /* type PARROT_FUNCTION_OP, */
2551 "Parrot_dlvar_p_p_s",
2555 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_S
},
2556 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
2561 /* type PARROT_FUNCTION_OP, */
2564 "Parrot_dlvar_p_p_sc",
2568 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_SC
},
2569 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
2574 /* type PARROT_INLINE_OP, */
2577 "Parrot_compreg_s_p",
2581 { PARROT_ARG_S
, PARROT_ARG_P
},
2582 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
2587 /* type PARROT_INLINE_OP, */
2590 "Parrot_compreg_sc_p",
2594 { PARROT_ARG_SC
, PARROT_ARG_P
},
2595 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
2600 /* type PARROT_INLINE_OP, */
2603 "Parrot_compreg_p_s",
2607 { PARROT_ARG_P
, PARROT_ARG_S
},
2608 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
2613 /* type PARROT_INLINE_OP, */
2616 "Parrot_compreg_p_sc",
2620 { PARROT_ARG_P
, PARROT_ARG_SC
},
2621 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
2626 /* type PARROT_FUNCTION_OP, */
2628 "new_callback_p_p_p_s",
2629 "Parrot_new_callback_p_p_p_s",
2633 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_S
},
2634 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
2639 /* type PARROT_FUNCTION_OP, */
2641 "new_callback_p_p_p_sc",
2642 "Parrot_new_callback_p_p_p_sc",
2646 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_SC
},
2647 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
2652 /* type PARROT_INLINE_OP, */
2655 "Parrot_annotations_p",
2660 { PARROT_ARGDIR_OUT
},
2665 /* type PARROT_INLINE_OP, */
2668 "Parrot_annotations_p_s",
2672 { PARROT_ARG_P
, PARROT_ARG_S
},
2673 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
2678 /* type PARROT_INLINE_OP, */
2681 "Parrot_annotations_p_sc",
2685 { PARROT_ARG_P
, PARROT_ARG_SC
},
2686 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
2691 /* type PARROT_INLINE_OP, */
2698 { PARROT_ARG_I
, PARROT_ARG_I
},
2699 { PARROT_ARGDIR_INOUT
, PARROT_ARGDIR_IN
},
2704 /* type PARROT_INLINE_OP, */
2711 { PARROT_ARG_I
, PARROT_ARG_IC
},
2712 { PARROT_ARGDIR_INOUT
, PARROT_ARGDIR_IN
},
2717 /* type PARROT_INLINE_OP, */
2720 "Parrot_band_i_i_i",
2724 { PARROT_ARG_I
, PARROT_ARG_I
, PARROT_ARG_I
},
2725 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
2730 /* type PARROT_INLINE_OP, */
2733 "Parrot_band_i_ic_i",
2737 { PARROT_ARG_I
, PARROT_ARG_IC
, PARROT_ARG_I
},
2738 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
2743 /* type PARROT_INLINE_OP, */
2746 "Parrot_band_i_i_ic",
2750 { PARROT_ARG_I
, PARROT_ARG_I
, PARROT_ARG_IC
},
2751 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
2756 /* type PARROT_INLINE_OP, */
2763 { PARROT_ARG_I
, PARROT_ARG_I
},
2764 { PARROT_ARGDIR_INOUT
, PARROT_ARGDIR_IN
},
2769 /* type PARROT_INLINE_OP, */
2776 { PARROT_ARG_I
, PARROT_ARG_IC
},
2777 { PARROT_ARGDIR_INOUT
, PARROT_ARGDIR_IN
},
2782 /* type PARROT_INLINE_OP, */
2789 { PARROT_ARG_I
, PARROT_ARG_I
, PARROT_ARG_I
},
2790 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
2795 /* type PARROT_INLINE_OP, */
2798 "Parrot_bor_i_ic_i",
2802 { PARROT_ARG_I
, PARROT_ARG_IC
, PARROT_ARG_I
},
2803 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
2808 /* type PARROT_INLINE_OP, */
2811 "Parrot_bor_i_i_ic",
2815 { PARROT_ARG_I
, PARROT_ARG_I
, PARROT_ARG_IC
},
2816 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
2821 /* type PARROT_INLINE_OP, */
2828 { PARROT_ARG_I
, PARROT_ARG_I
},
2829 { PARROT_ARGDIR_INOUT
, PARROT_ARGDIR_IN
},
2834 /* type PARROT_INLINE_OP, */
2841 { PARROT_ARG_I
, PARROT_ARG_IC
},
2842 { PARROT_ARGDIR_INOUT
, PARROT_ARGDIR_IN
},
2847 /* type PARROT_INLINE_OP, */
2854 { PARROT_ARG_I
, PARROT_ARG_I
, PARROT_ARG_I
},
2855 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
2860 /* type PARROT_INLINE_OP, */
2863 "Parrot_shl_i_ic_i",
2867 { PARROT_ARG_I
, PARROT_ARG_IC
, PARROT_ARG_I
},
2868 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
2873 /* type PARROT_INLINE_OP, */
2876 "Parrot_shl_i_i_ic",
2880 { PARROT_ARG_I
, PARROT_ARG_I
, PARROT_ARG_IC
},
2881 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
2886 /* type PARROT_INLINE_OP, */
2893 { PARROT_ARG_I
, PARROT_ARG_I
},
2894 { PARROT_ARGDIR_INOUT
, PARROT_ARGDIR_IN
},
2899 /* type PARROT_INLINE_OP, */
2906 { PARROT_ARG_I
, PARROT_ARG_IC
},
2907 { PARROT_ARGDIR_INOUT
, PARROT_ARGDIR_IN
},
2912 /* type PARROT_INLINE_OP, */
2919 { PARROT_ARG_I
, PARROT_ARG_I
, PARROT_ARG_I
},
2920 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
2925 /* type PARROT_INLINE_OP, */
2928 "Parrot_shr_i_ic_i",
2932 { PARROT_ARG_I
, PARROT_ARG_IC
, PARROT_ARG_I
},
2933 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
2938 /* type PARROT_INLINE_OP, */
2941 "Parrot_shr_i_i_ic",
2945 { PARROT_ARG_I
, PARROT_ARG_I
, PARROT_ARG_IC
},
2946 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
2951 /* type PARROT_INLINE_OP, */
2958 { PARROT_ARG_I
, PARROT_ARG_I
},
2959 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
2964 /* type PARROT_INLINE_OP, */
2971 { PARROT_ARG_I
, PARROT_ARG_IC
},
2972 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
2977 /* type PARROT_INLINE_OP, */
2984 { PARROT_ARG_I
, PARROT_ARG_I
, PARROT_ARG_I
},
2985 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
2990 /* type PARROT_INLINE_OP, */
2993 "Parrot_lsr_i_ic_i",
2997 { PARROT_ARG_I
, PARROT_ARG_IC
, PARROT_ARG_I
},
2998 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3003 /* type PARROT_INLINE_OP, */
3006 "Parrot_lsr_i_i_ic",
3010 { PARROT_ARG_I
, PARROT_ARG_I
, PARROT_ARG_IC
},
3011 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3016 /* type PARROT_INLINE_OP, */
3023 { PARROT_ARG_I
, PARROT_ARG_I
},
3024 { PARROT_ARGDIR_INOUT
, PARROT_ARGDIR_IN
},
3029 /* type PARROT_INLINE_OP, */
3036 { PARROT_ARG_I
, PARROT_ARG_IC
},
3037 { PARROT_ARGDIR_INOUT
, PARROT_ARGDIR_IN
},
3042 /* type PARROT_INLINE_OP, */
3045 "Parrot_bxor_i_i_i",
3049 { PARROT_ARG_I
, PARROT_ARG_I
, PARROT_ARG_I
},
3050 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3055 /* type PARROT_INLINE_OP, */
3058 "Parrot_bxor_i_ic_i",
3062 { PARROT_ARG_I
, PARROT_ARG_IC
, PARROT_ARG_I
},
3063 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3068 /* type PARROT_INLINE_OP, */
3071 "Parrot_bxor_i_i_ic",
3075 { PARROT_ARG_I
, PARROT_ARG_I
, PARROT_ARG_IC
},
3076 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3081 /* type PARROT_INLINE_OP, */
3086 PARROT_JUMP_RELATIVE
,
3088 { PARROT_ARG_I
, PARROT_ARG_I
, PARROT_ARG_IC
},
3089 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3094 /* type PARROT_INLINE_OP, */
3097 "Parrot_eq_ic_i_ic",
3099 PARROT_JUMP_RELATIVE
,
3101 { PARROT_ARG_IC
, PARROT_ARG_I
, PARROT_ARG_IC
},
3102 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3107 /* type PARROT_INLINE_OP, */
3110 "Parrot_eq_i_ic_ic",
3112 PARROT_JUMP_RELATIVE
,
3114 { PARROT_ARG_I
, PARROT_ARG_IC
, PARROT_ARG_IC
},
3115 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3120 /* type PARROT_INLINE_OP, */
3125 PARROT_JUMP_RELATIVE
,
3127 { PARROT_ARG_N
, PARROT_ARG_N
, PARROT_ARG_IC
},
3128 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3133 /* type PARROT_INLINE_OP, */
3136 "Parrot_eq_nc_n_ic",
3138 PARROT_JUMP_RELATIVE
,
3140 { PARROT_ARG_NC
, PARROT_ARG_N
, PARROT_ARG_IC
},
3141 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3146 /* type PARROT_INLINE_OP, */
3149 "Parrot_eq_n_nc_ic",
3151 PARROT_JUMP_RELATIVE
,
3153 { PARROT_ARG_N
, PARROT_ARG_NC
, PARROT_ARG_IC
},
3154 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3159 /* type PARROT_FUNCTION_OP, */
3164 PARROT_JUMP_RELATIVE
,
3166 { PARROT_ARG_S
, PARROT_ARG_S
, PARROT_ARG_IC
},
3167 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3172 /* type PARROT_FUNCTION_OP, */
3175 "Parrot_eq_sc_s_ic",
3177 PARROT_JUMP_RELATIVE
,
3179 { PARROT_ARG_SC
, PARROT_ARG_S
, PARROT_ARG_IC
},
3180 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3185 /* type PARROT_FUNCTION_OP, */
3188 "Parrot_eq_s_sc_ic",
3190 PARROT_JUMP_RELATIVE
,
3192 { PARROT_ARG_S
, PARROT_ARG_SC
, PARROT_ARG_IC
},
3193 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3198 /* type PARROT_FUNCTION_OP, */
3203 PARROT_JUMP_RELATIVE
,
3205 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_IC
},
3206 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3211 /* type PARROT_FUNCTION_OP, */
3216 PARROT_JUMP_RELATIVE
,
3218 { PARROT_ARG_P
, PARROT_ARG_I
, PARROT_ARG_IC
},
3219 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3224 /* type PARROT_FUNCTION_OP, */
3227 "Parrot_eq_p_ic_ic",
3229 PARROT_JUMP_RELATIVE
,
3231 { PARROT_ARG_P
, PARROT_ARG_IC
, PARROT_ARG_IC
},
3232 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3237 /* type PARROT_FUNCTION_OP, */
3242 PARROT_JUMP_RELATIVE
,
3244 { PARROT_ARG_P
, PARROT_ARG_N
, PARROT_ARG_IC
},
3245 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3250 /* type PARROT_FUNCTION_OP, */
3253 "Parrot_eq_p_nc_ic",
3255 PARROT_JUMP_RELATIVE
,
3257 { PARROT_ARG_P
, PARROT_ARG_NC
, PARROT_ARG_IC
},
3258 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3263 /* type PARROT_FUNCTION_OP, */
3268 PARROT_JUMP_RELATIVE
,
3270 { PARROT_ARG_P
, PARROT_ARG_S
, PARROT_ARG_IC
},
3271 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3276 /* type PARROT_FUNCTION_OP, */
3279 "Parrot_eq_p_sc_ic",
3281 PARROT_JUMP_RELATIVE
,
3283 { PARROT_ARG_P
, PARROT_ARG_SC
, PARROT_ARG_IC
},
3284 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3289 /* type PARROT_FUNCTION_OP, */
3292 "Parrot_eq_str_p_p_ic",
3294 PARROT_JUMP_RELATIVE
,
3296 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_IC
},
3297 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3302 /* type PARROT_FUNCTION_OP, */
3305 "Parrot_eq_num_p_p_ic",
3307 PARROT_JUMP_RELATIVE
,
3309 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_IC
},
3310 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3315 /* type PARROT_FUNCTION_OP, */
3318 "Parrot_eq_addr_s_s_ic",
3320 PARROT_JUMP_RELATIVE
,
3322 { PARROT_ARG_S
, PARROT_ARG_S
, PARROT_ARG_IC
},
3323 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3328 /* type PARROT_FUNCTION_OP, */
3331 "Parrot_eq_addr_sc_s_ic",
3333 PARROT_JUMP_RELATIVE
,
3335 { PARROT_ARG_SC
, PARROT_ARG_S
, PARROT_ARG_IC
},
3336 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3341 /* type PARROT_FUNCTION_OP, */
3344 "Parrot_eq_addr_s_sc_ic",
3346 PARROT_JUMP_RELATIVE
,
3348 { PARROT_ARG_S
, PARROT_ARG_SC
, PARROT_ARG_IC
},
3349 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3354 /* type PARROT_FUNCTION_OP, */
3357 "Parrot_eq_addr_sc_sc_ic",
3359 PARROT_JUMP_RELATIVE
,
3361 { PARROT_ARG_SC
, PARROT_ARG_SC
, PARROT_ARG_IC
},
3362 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3367 /* type PARROT_FUNCTION_OP, */
3370 "Parrot_eq_addr_p_p_ic",
3372 PARROT_JUMP_RELATIVE
,
3374 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_IC
},
3375 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3380 /* type PARROT_INLINE_OP, */
3385 PARROT_JUMP_RELATIVE
,
3387 { PARROT_ARG_I
, PARROT_ARG_I
, PARROT_ARG_IC
},
3388 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3393 /* type PARROT_INLINE_OP, */
3396 "Parrot_ne_ic_i_ic",
3398 PARROT_JUMP_RELATIVE
,
3400 { PARROT_ARG_IC
, PARROT_ARG_I
, PARROT_ARG_IC
},
3401 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3406 /* type PARROT_INLINE_OP, */
3409 "Parrot_ne_i_ic_ic",
3411 PARROT_JUMP_RELATIVE
,
3413 { PARROT_ARG_I
, PARROT_ARG_IC
, PARROT_ARG_IC
},
3414 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3419 /* type PARROT_INLINE_OP, */
3424 PARROT_JUMP_RELATIVE
,
3426 { PARROT_ARG_N
, PARROT_ARG_N
, PARROT_ARG_IC
},
3427 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3432 /* type PARROT_INLINE_OP, */
3435 "Parrot_ne_nc_n_ic",
3437 PARROT_JUMP_RELATIVE
,
3439 { PARROT_ARG_NC
, PARROT_ARG_N
, PARROT_ARG_IC
},
3440 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3445 /* type PARROT_INLINE_OP, */
3448 "Parrot_ne_n_nc_ic",
3450 PARROT_JUMP_RELATIVE
,
3452 { PARROT_ARG_N
, PARROT_ARG_NC
, PARROT_ARG_IC
},
3453 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3458 /* type PARROT_FUNCTION_OP, */
3463 PARROT_JUMP_RELATIVE
,
3465 { PARROT_ARG_S
, PARROT_ARG_S
, PARROT_ARG_IC
},
3466 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3471 /* type PARROT_FUNCTION_OP, */
3474 "Parrot_ne_sc_s_ic",
3476 PARROT_JUMP_RELATIVE
,
3478 { PARROT_ARG_SC
, PARROT_ARG_S
, PARROT_ARG_IC
},
3479 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3484 /* type PARROT_FUNCTION_OP, */
3487 "Parrot_ne_s_sc_ic",
3489 PARROT_JUMP_RELATIVE
,
3491 { PARROT_ARG_S
, PARROT_ARG_SC
, PARROT_ARG_IC
},
3492 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3497 /* type PARROT_FUNCTION_OP, */
3502 PARROT_JUMP_RELATIVE
,
3504 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_IC
},
3505 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3510 /* type PARROT_FUNCTION_OP, */
3515 PARROT_JUMP_RELATIVE
,
3517 { PARROT_ARG_P
, PARROT_ARG_I
, PARROT_ARG_IC
},
3518 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3523 /* type PARROT_FUNCTION_OP, */
3526 "Parrot_ne_p_ic_ic",
3528 PARROT_JUMP_RELATIVE
,
3530 { PARROT_ARG_P
, PARROT_ARG_IC
, PARROT_ARG_IC
},
3531 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3536 /* type PARROT_FUNCTION_OP, */
3541 PARROT_JUMP_RELATIVE
,
3543 { PARROT_ARG_P
, PARROT_ARG_N
, PARROT_ARG_IC
},
3544 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3549 /* type PARROT_FUNCTION_OP, */
3552 "Parrot_ne_p_nc_ic",
3554 PARROT_JUMP_RELATIVE
,
3556 { PARROT_ARG_P
, PARROT_ARG_NC
, PARROT_ARG_IC
},
3557 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3562 /* type PARROT_FUNCTION_OP, */
3567 PARROT_JUMP_RELATIVE
,
3569 { PARROT_ARG_P
, PARROT_ARG_S
, PARROT_ARG_IC
},
3570 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3575 /* type PARROT_FUNCTION_OP, */
3578 "Parrot_ne_p_sc_ic",
3580 PARROT_JUMP_RELATIVE
,
3582 { PARROT_ARG_P
, PARROT_ARG_SC
, PARROT_ARG_IC
},
3583 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3588 /* type PARROT_FUNCTION_OP, */
3591 "Parrot_ne_str_p_p_ic",
3593 PARROT_JUMP_RELATIVE
,
3595 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_IC
},
3596 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3601 /* type PARROT_FUNCTION_OP, */
3604 "Parrot_ne_num_p_p_ic",
3606 PARROT_JUMP_RELATIVE
,
3608 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_IC
},
3609 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3614 /* type PARROT_FUNCTION_OP, */
3617 "Parrot_ne_addr_s_s_ic",
3619 PARROT_JUMP_RELATIVE
,
3621 { PARROT_ARG_S
, PARROT_ARG_S
, PARROT_ARG_IC
},
3622 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3627 /* type PARROT_FUNCTION_OP, */
3630 "Parrot_ne_addr_sc_s_ic",
3632 PARROT_JUMP_RELATIVE
,
3634 { PARROT_ARG_SC
, PARROT_ARG_S
, PARROT_ARG_IC
},
3635 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3640 /* type PARROT_FUNCTION_OP, */
3643 "Parrot_ne_addr_s_sc_ic",
3645 PARROT_JUMP_RELATIVE
,
3647 { PARROT_ARG_S
, PARROT_ARG_SC
, PARROT_ARG_IC
},
3648 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3653 /* type PARROT_FUNCTION_OP, */
3656 "Parrot_ne_addr_sc_sc_ic",
3658 PARROT_JUMP_RELATIVE
,
3660 { PARROT_ARG_SC
, PARROT_ARG_SC
, PARROT_ARG_IC
},
3661 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3666 /* type PARROT_FUNCTION_OP, */
3669 "Parrot_ne_addr_p_p_ic",
3671 PARROT_JUMP_RELATIVE
,
3673 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_IC
},
3674 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3679 /* type PARROT_INLINE_OP, */
3684 PARROT_JUMP_RELATIVE
,
3686 { PARROT_ARG_I
, PARROT_ARG_I
, PARROT_ARG_IC
},
3687 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3692 /* type PARROT_INLINE_OP, */
3695 "Parrot_lt_ic_i_ic",
3697 PARROT_JUMP_RELATIVE
,
3699 { PARROT_ARG_IC
, PARROT_ARG_I
, PARROT_ARG_IC
},
3700 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3705 /* type PARROT_INLINE_OP, */
3708 "Parrot_lt_i_ic_ic",
3710 PARROT_JUMP_RELATIVE
,
3712 { PARROT_ARG_I
, PARROT_ARG_IC
, PARROT_ARG_IC
},
3713 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3718 /* type PARROT_INLINE_OP, */
3723 PARROT_JUMP_RELATIVE
,
3725 { PARROT_ARG_N
, PARROT_ARG_N
, PARROT_ARG_IC
},
3726 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3731 /* type PARROT_INLINE_OP, */
3734 "Parrot_lt_nc_n_ic",
3736 PARROT_JUMP_RELATIVE
,
3738 { PARROT_ARG_NC
, PARROT_ARG_N
, PARROT_ARG_IC
},
3739 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3744 /* type PARROT_INLINE_OP, */
3747 "Parrot_lt_n_nc_ic",
3749 PARROT_JUMP_RELATIVE
,
3751 { PARROT_ARG_N
, PARROT_ARG_NC
, PARROT_ARG_IC
},
3752 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3757 /* type PARROT_FUNCTION_OP, */
3762 PARROT_JUMP_RELATIVE
,
3764 { PARROT_ARG_S
, PARROT_ARG_S
, PARROT_ARG_IC
},
3765 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3770 /* type PARROT_FUNCTION_OP, */
3773 "Parrot_lt_sc_s_ic",
3775 PARROT_JUMP_RELATIVE
,
3777 { PARROT_ARG_SC
, PARROT_ARG_S
, PARROT_ARG_IC
},
3778 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3783 /* type PARROT_FUNCTION_OP, */
3786 "Parrot_lt_s_sc_ic",
3788 PARROT_JUMP_RELATIVE
,
3790 { PARROT_ARG_S
, PARROT_ARG_SC
, PARROT_ARG_IC
},
3791 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3796 /* type PARROT_FUNCTION_OP, */
3801 PARROT_JUMP_RELATIVE
,
3803 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_IC
},
3804 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3809 /* type PARROT_FUNCTION_OP, */
3814 PARROT_JUMP_RELATIVE
,
3816 { PARROT_ARG_P
, PARROT_ARG_I
, PARROT_ARG_IC
},
3817 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3822 /* type PARROT_FUNCTION_OP, */
3825 "Parrot_lt_p_ic_ic",
3827 PARROT_JUMP_RELATIVE
,
3829 { PARROT_ARG_P
, PARROT_ARG_IC
, PARROT_ARG_IC
},
3830 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3835 /* type PARROT_FUNCTION_OP, */
3840 PARROT_JUMP_RELATIVE
,
3842 { PARROT_ARG_P
, PARROT_ARG_N
, PARROT_ARG_IC
},
3843 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3848 /* type PARROT_FUNCTION_OP, */
3851 "Parrot_lt_p_nc_ic",
3853 PARROT_JUMP_RELATIVE
,
3855 { PARROT_ARG_P
, PARROT_ARG_NC
, PARROT_ARG_IC
},
3856 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3861 /* type PARROT_FUNCTION_OP, */
3866 PARROT_JUMP_RELATIVE
,
3868 { PARROT_ARG_P
, PARROT_ARG_S
, PARROT_ARG_IC
},
3869 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3874 /* type PARROT_FUNCTION_OP, */
3877 "Parrot_lt_p_sc_ic",
3879 PARROT_JUMP_RELATIVE
,
3881 { PARROT_ARG_P
, PARROT_ARG_SC
, PARROT_ARG_IC
},
3882 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3887 /* type PARROT_FUNCTION_OP, */
3890 "Parrot_lt_str_p_p_ic",
3892 PARROT_JUMP_RELATIVE
,
3894 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_IC
},
3895 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3900 /* type PARROT_FUNCTION_OP, */
3903 "Parrot_lt_num_p_p_ic",
3905 PARROT_JUMP_RELATIVE
,
3907 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_IC
},
3908 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3913 /* type PARROT_INLINE_OP, */
3918 PARROT_JUMP_RELATIVE
,
3920 { PARROT_ARG_I
, PARROT_ARG_I
, PARROT_ARG_IC
},
3921 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3926 /* type PARROT_INLINE_OP, */
3929 "Parrot_le_ic_i_ic",
3931 PARROT_JUMP_RELATIVE
,
3933 { PARROT_ARG_IC
, PARROT_ARG_I
, PARROT_ARG_IC
},
3934 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3939 /* type PARROT_INLINE_OP, */
3942 "Parrot_le_i_ic_ic",
3944 PARROT_JUMP_RELATIVE
,
3946 { PARROT_ARG_I
, PARROT_ARG_IC
, PARROT_ARG_IC
},
3947 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3952 /* type PARROT_INLINE_OP, */
3957 PARROT_JUMP_RELATIVE
,
3959 { PARROT_ARG_N
, PARROT_ARG_N
, PARROT_ARG_IC
},
3960 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3965 /* type PARROT_INLINE_OP, */
3968 "Parrot_le_nc_n_ic",
3970 PARROT_JUMP_RELATIVE
,
3972 { PARROT_ARG_NC
, PARROT_ARG_N
, PARROT_ARG_IC
},
3973 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3978 /* type PARROT_INLINE_OP, */
3981 "Parrot_le_n_nc_ic",
3983 PARROT_JUMP_RELATIVE
,
3985 { PARROT_ARG_N
, PARROT_ARG_NC
, PARROT_ARG_IC
},
3986 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
3991 /* type PARROT_FUNCTION_OP, */
3996 PARROT_JUMP_RELATIVE
,
3998 { PARROT_ARG_S
, PARROT_ARG_S
, PARROT_ARG_IC
},
3999 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4004 /* type PARROT_FUNCTION_OP, */
4007 "Parrot_le_sc_s_ic",
4009 PARROT_JUMP_RELATIVE
,
4011 { PARROT_ARG_SC
, PARROT_ARG_S
, PARROT_ARG_IC
},
4012 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4017 /* type PARROT_FUNCTION_OP, */
4020 "Parrot_le_s_sc_ic",
4022 PARROT_JUMP_RELATIVE
,
4024 { PARROT_ARG_S
, PARROT_ARG_SC
, PARROT_ARG_IC
},
4025 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4030 /* type PARROT_FUNCTION_OP, */
4035 PARROT_JUMP_RELATIVE
,
4037 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_IC
},
4038 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4043 /* type PARROT_FUNCTION_OP, */
4048 PARROT_JUMP_RELATIVE
,
4050 { PARROT_ARG_P
, PARROT_ARG_I
, PARROT_ARG_IC
},
4051 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4056 /* type PARROT_FUNCTION_OP, */
4059 "Parrot_le_p_ic_ic",
4061 PARROT_JUMP_RELATIVE
,
4063 { PARROT_ARG_P
, PARROT_ARG_IC
, PARROT_ARG_IC
},
4064 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4069 /* type PARROT_FUNCTION_OP, */
4074 PARROT_JUMP_RELATIVE
,
4076 { PARROT_ARG_P
, PARROT_ARG_N
, PARROT_ARG_IC
},
4077 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4082 /* type PARROT_FUNCTION_OP, */
4085 "Parrot_le_p_nc_ic",
4087 PARROT_JUMP_RELATIVE
,
4089 { PARROT_ARG_P
, PARROT_ARG_NC
, PARROT_ARG_IC
},
4090 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4095 /* type PARROT_FUNCTION_OP, */
4100 PARROT_JUMP_RELATIVE
,
4102 { PARROT_ARG_P
, PARROT_ARG_S
, PARROT_ARG_IC
},
4103 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4108 /* type PARROT_FUNCTION_OP, */
4111 "Parrot_le_p_sc_ic",
4113 PARROT_JUMP_RELATIVE
,
4115 { PARROT_ARG_P
, PARROT_ARG_SC
, PARROT_ARG_IC
},
4116 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4121 /* type PARROT_FUNCTION_OP, */
4124 "Parrot_le_str_p_p_ic",
4126 PARROT_JUMP_RELATIVE
,
4128 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_IC
},
4129 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4134 /* type PARROT_FUNCTION_OP, */
4137 "Parrot_le_num_p_p_ic",
4139 PARROT_JUMP_RELATIVE
,
4141 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_IC
},
4142 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4147 /* type PARROT_FUNCTION_OP, */
4152 PARROT_JUMP_RELATIVE
,
4154 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_IC
},
4155 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4160 /* type PARROT_FUNCTION_OP, */
4165 PARROT_JUMP_RELATIVE
,
4167 { PARROT_ARG_P
, PARROT_ARG_I
, PARROT_ARG_IC
},
4168 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4173 /* type PARROT_FUNCTION_OP, */
4176 "Parrot_gt_p_ic_ic",
4178 PARROT_JUMP_RELATIVE
,
4180 { PARROT_ARG_P
, PARROT_ARG_IC
, PARROT_ARG_IC
},
4181 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4186 /* type PARROT_FUNCTION_OP, */
4191 PARROT_JUMP_RELATIVE
,
4193 { PARROT_ARG_P
, PARROT_ARG_N
, PARROT_ARG_IC
},
4194 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4199 /* type PARROT_FUNCTION_OP, */
4202 "Parrot_gt_p_nc_ic",
4204 PARROT_JUMP_RELATIVE
,
4206 { PARROT_ARG_P
, PARROT_ARG_NC
, PARROT_ARG_IC
},
4207 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4212 /* type PARROT_FUNCTION_OP, */
4217 PARROT_JUMP_RELATIVE
,
4219 { PARROT_ARG_P
, PARROT_ARG_S
, PARROT_ARG_IC
},
4220 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4225 /* type PARROT_FUNCTION_OP, */
4228 "Parrot_gt_p_sc_ic",
4230 PARROT_JUMP_RELATIVE
,
4232 { PARROT_ARG_P
, PARROT_ARG_SC
, PARROT_ARG_IC
},
4233 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4238 /* type PARROT_FUNCTION_OP, */
4241 "Parrot_gt_str_p_p_ic",
4243 PARROT_JUMP_RELATIVE
,
4245 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_IC
},
4246 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4251 /* type PARROT_FUNCTION_OP, */
4254 "Parrot_gt_num_p_p_ic",
4256 PARROT_JUMP_RELATIVE
,
4258 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_IC
},
4259 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4264 /* type PARROT_FUNCTION_OP, */
4269 PARROT_JUMP_RELATIVE
,
4271 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_IC
},
4272 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4277 /* type PARROT_FUNCTION_OP, */
4282 PARROT_JUMP_RELATIVE
,
4284 { PARROT_ARG_P
, PARROT_ARG_I
, PARROT_ARG_IC
},
4285 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4290 /* type PARROT_FUNCTION_OP, */
4293 "Parrot_ge_p_ic_ic",
4295 PARROT_JUMP_RELATIVE
,
4297 { PARROT_ARG_P
, PARROT_ARG_IC
, PARROT_ARG_IC
},
4298 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4303 /* type PARROT_FUNCTION_OP, */
4308 PARROT_JUMP_RELATIVE
,
4310 { PARROT_ARG_P
, PARROT_ARG_N
, PARROT_ARG_IC
},
4311 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4316 /* type PARROT_FUNCTION_OP, */
4319 "Parrot_ge_p_nc_ic",
4321 PARROT_JUMP_RELATIVE
,
4323 { PARROT_ARG_P
, PARROT_ARG_NC
, PARROT_ARG_IC
},
4324 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4329 /* type PARROT_FUNCTION_OP, */
4334 PARROT_JUMP_RELATIVE
,
4336 { PARROT_ARG_P
, PARROT_ARG_S
, PARROT_ARG_IC
},
4337 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4342 /* type PARROT_FUNCTION_OP, */
4345 "Parrot_ge_p_sc_ic",
4347 PARROT_JUMP_RELATIVE
,
4349 { PARROT_ARG_P
, PARROT_ARG_SC
, PARROT_ARG_IC
},
4350 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4355 /* type PARROT_FUNCTION_OP, */
4358 "Parrot_ge_str_p_p_ic",
4360 PARROT_JUMP_RELATIVE
,
4362 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_IC
},
4363 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4368 /* type PARROT_FUNCTION_OP, */
4371 "Parrot_ge_num_p_p_ic",
4373 PARROT_JUMP_RELATIVE
,
4375 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_IC
},
4376 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4381 /* type PARROT_FUNCTION_OP, */
4384 "Parrot_if_null_p_ic",
4386 PARROT_JUMP_RELATIVE
,
4388 { PARROT_ARG_P
, PARROT_ARG_IC
},
4389 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4394 /* type PARROT_FUNCTION_OP, */
4397 "Parrot_if_null_s_ic",
4399 PARROT_JUMP_RELATIVE
,
4401 { PARROT_ARG_S
, PARROT_ARG_IC
},
4402 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4407 /* type PARROT_FUNCTION_OP, */
4410 "Parrot_unless_null_p_ic",
4412 PARROT_JUMP_RELATIVE
,
4414 { PARROT_ARG_P
, PARROT_ARG_IC
},
4415 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4420 /* type PARROT_FUNCTION_OP, */
4423 "Parrot_unless_null_s_ic",
4425 PARROT_JUMP_RELATIVE
,
4427 { PARROT_ARG_S
, PARROT_ARG_IC
},
4428 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4433 /* type PARROT_INLINE_OP, */
4440 { PARROT_ARG_I
, PARROT_ARG_I
, PARROT_ARG_I
},
4441 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4446 /* type PARROT_INLINE_OP, */
4449 "Parrot_cmp_i_ic_i",
4453 { PARROT_ARG_I
, PARROT_ARG_IC
, PARROT_ARG_I
},
4454 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4459 /* type PARROT_INLINE_OP, */
4462 "Parrot_cmp_i_i_ic",
4466 { PARROT_ARG_I
, PARROT_ARG_I
, PARROT_ARG_IC
},
4467 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4472 /* type PARROT_INLINE_OP, */
4479 { PARROT_ARG_I
, PARROT_ARG_N
, PARROT_ARG_N
},
4480 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4485 /* type PARROT_INLINE_OP, */
4488 "Parrot_cmp_i_nc_n",
4492 { PARROT_ARG_I
, PARROT_ARG_NC
, PARROT_ARG_N
},
4493 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4498 /* type PARROT_INLINE_OP, */
4501 "Parrot_cmp_i_n_nc",
4505 { PARROT_ARG_I
, PARROT_ARG_N
, PARROT_ARG_NC
},
4506 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4511 /* type PARROT_INLINE_OP, */
4518 { PARROT_ARG_I
, PARROT_ARG_S
, PARROT_ARG_S
},
4519 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4524 /* type PARROT_INLINE_OP, */
4527 "Parrot_cmp_i_sc_s",
4531 { PARROT_ARG_I
, PARROT_ARG_SC
, PARROT_ARG_S
},
4532 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4537 /* type PARROT_INLINE_OP, */
4540 "Parrot_cmp_i_s_sc",
4544 { PARROT_ARG_I
, PARROT_ARG_S
, PARROT_ARG_SC
},
4545 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4550 /* type PARROT_INLINE_OP, */
4557 { PARROT_ARG_I
, PARROT_ARG_P
, PARROT_ARG_P
},
4558 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4563 /* type PARROT_INLINE_OP, */
4570 { PARROT_ARG_I
, PARROT_ARG_P
, PARROT_ARG_I
},
4571 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4576 /* type PARROT_INLINE_OP, */
4579 "Parrot_cmp_i_p_ic",
4583 { PARROT_ARG_I
, PARROT_ARG_P
, PARROT_ARG_IC
},
4584 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4589 /* type PARROT_INLINE_OP, */
4596 { PARROT_ARG_I
, PARROT_ARG_P
, PARROT_ARG_N
},
4597 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4602 /* type PARROT_INLINE_OP, */
4605 "Parrot_cmp_i_p_nc",
4609 { PARROT_ARG_I
, PARROT_ARG_P
, PARROT_ARG_NC
},
4610 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4615 /* type PARROT_INLINE_OP, */
4622 { PARROT_ARG_I
, PARROT_ARG_P
, PARROT_ARG_S
},
4623 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4628 /* type PARROT_INLINE_OP, */
4631 "Parrot_cmp_i_p_sc",
4635 { PARROT_ARG_I
, PARROT_ARG_P
, PARROT_ARG_SC
},
4636 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4641 /* type PARROT_INLINE_OP, */
4644 "Parrot_cmp_str_i_p_p",
4648 { PARROT_ARG_I
, PARROT_ARG_P
, PARROT_ARG_P
},
4649 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4654 /* type PARROT_INLINE_OP, */
4657 "Parrot_cmp_num_i_p_p",
4661 { PARROT_ARG_I
, PARROT_ARG_P
, PARROT_ARG_P
},
4662 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4667 /* type PARROT_INLINE_OP, */
4670 "Parrot_cmp_pmc_p_p_p",
4674 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_P
},
4675 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4680 /* type PARROT_INLINE_OP, */
4683 "Parrot_issame_i_p_p",
4687 { PARROT_ARG_I
, PARROT_ARG_P
, PARROT_ARG_P
},
4688 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4693 /* type PARROT_INLINE_OP, */
4696 "Parrot_issame_i_s_s",
4700 { PARROT_ARG_I
, PARROT_ARG_S
, PARROT_ARG_S
},
4701 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4706 /* type PARROT_INLINE_OP, */
4709 "Parrot_issame_i_sc_s",
4713 { PARROT_ARG_I
, PARROT_ARG_SC
, PARROT_ARG_S
},
4714 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4719 /* type PARROT_INLINE_OP, */
4722 "Parrot_issame_i_s_sc",
4726 { PARROT_ARG_I
, PARROT_ARG_S
, PARROT_ARG_SC
},
4727 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4732 /* type PARROT_INLINE_OP, */
4735 "Parrot_issame_i_sc_sc",
4739 { PARROT_ARG_I
, PARROT_ARG_SC
, PARROT_ARG_SC
},
4740 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4745 /* type PARROT_INLINE_OP, */
4748 "Parrot_isntsame_i_p_p",
4752 { PARROT_ARG_I
, PARROT_ARG_P
, PARROT_ARG_P
},
4753 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4758 /* type PARROT_INLINE_OP, */
4761 "Parrot_isntsame_i_s_s",
4765 { PARROT_ARG_I
, PARROT_ARG_S
, PARROT_ARG_S
},
4766 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4771 /* type PARROT_INLINE_OP, */
4774 "Parrot_isntsame_i_sc_s",
4778 { PARROT_ARG_I
, PARROT_ARG_SC
, PARROT_ARG_S
},
4779 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4784 /* type PARROT_INLINE_OP, */
4787 "Parrot_isntsame_i_s_sc",
4791 { PARROT_ARG_I
, PARROT_ARG_S
, PARROT_ARG_SC
},
4792 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4797 /* type PARROT_INLINE_OP, */
4800 "Parrot_isntsame_i_sc_sc",
4804 { PARROT_ARG_I
, PARROT_ARG_SC
, PARROT_ARG_SC
},
4805 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4810 /* type PARROT_INLINE_OP, */
4813 "Parrot_istrue_i_p",
4817 { PARROT_ARG_I
, PARROT_ARG_P
},
4818 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
4823 /* type PARROT_INLINE_OP, */
4826 "Parrot_isfalse_i_p",
4830 { PARROT_ARG_I
, PARROT_ARG_P
},
4831 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
4836 /* type PARROT_INLINE_OP, */
4839 "Parrot_isnull_i_p",
4843 { PARROT_ARG_I
, PARROT_ARG_P
},
4844 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
4849 /* type PARROT_INLINE_OP, */
4852 "Parrot_isnull_i_pc",
4856 { PARROT_ARG_I
, PARROT_ARG_PC
},
4857 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
4862 /* type PARROT_INLINE_OP, */
4865 "Parrot_isnull_i_s",
4869 { PARROT_ARG_I
, PARROT_ARG_S
},
4870 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
4875 /* type PARROT_INLINE_OP, */
4878 "Parrot_isnull_i_sc",
4882 { PARROT_ARG_I
, PARROT_ARG_SC
},
4883 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
4888 /* type PARROT_INLINE_OP, */
4891 "Parrot_isgt_i_p_p",
4895 { PARROT_ARG_I
, PARROT_ARG_P
, PARROT_ARG_P
},
4896 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4901 /* type PARROT_INLINE_OP, */
4904 "Parrot_isge_i_p_p",
4908 { PARROT_ARG_I
, PARROT_ARG_P
, PARROT_ARG_P
},
4909 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4914 /* type PARROT_INLINE_OP, */
4917 "Parrot_isle_i_i_i",
4921 { PARROT_ARG_I
, PARROT_ARG_I
, PARROT_ARG_I
},
4922 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4927 /* type PARROT_INLINE_OP, */
4930 "Parrot_isle_i_ic_i",
4934 { PARROT_ARG_I
, PARROT_ARG_IC
, PARROT_ARG_I
},
4935 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4940 /* type PARROT_INLINE_OP, */
4943 "Parrot_isle_i_i_ic",
4947 { PARROT_ARG_I
, PARROT_ARG_I
, PARROT_ARG_IC
},
4948 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4953 /* type PARROT_INLINE_OP, */
4956 "Parrot_isle_i_n_n",
4960 { PARROT_ARG_I
, PARROT_ARG_N
, PARROT_ARG_N
},
4961 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4966 /* type PARROT_INLINE_OP, */
4969 "Parrot_isle_i_nc_n",
4973 { PARROT_ARG_I
, PARROT_ARG_NC
, PARROT_ARG_N
},
4974 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4979 /* type PARROT_INLINE_OP, */
4982 "Parrot_isle_i_n_nc",
4986 { PARROT_ARG_I
, PARROT_ARG_N
, PARROT_ARG_NC
},
4987 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
4992 /* type PARROT_INLINE_OP, */
4995 "Parrot_isle_i_s_s",
4999 { PARROT_ARG_I
, PARROT_ARG_S
, PARROT_ARG_S
},
5000 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
5005 /* type PARROT_INLINE_OP, */
5008 "Parrot_isle_i_sc_s",
5012 { PARROT_ARG_I
, PARROT_ARG_SC
, PARROT_ARG_S
},
5013 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
5018 /* type PARROT_INLINE_OP, */
5021 "Parrot_isle_i_s_sc",
5025 { PARROT_ARG_I
, PARROT_ARG_S
, PARROT_ARG_SC
},
5026 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
5031 /* type PARROT_INLINE_OP, */
5034 "Parrot_isle_i_p_p",
5038 { PARROT_ARG_I
, PARROT_ARG_P
, PARROT_ARG_P
},
5039 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
5044 /* type PARROT_INLINE_OP, */
5047 "Parrot_islt_i_i_i",
5051 { PARROT_ARG_I
, PARROT_ARG_I
, PARROT_ARG_I
},
5052 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
5057 /* type PARROT_INLINE_OP, */
5060 "Parrot_islt_i_ic_i",
5064 { PARROT_ARG_I
, PARROT_ARG_IC
, PARROT_ARG_I
},
5065 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
5070 /* type PARROT_INLINE_OP, */
5073 "Parrot_islt_i_i_ic",
5077 { PARROT_ARG_I
, PARROT_ARG_I
, PARROT_ARG_IC
},
5078 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
5083 /* type PARROT_INLINE_OP, */
5086 "Parrot_islt_i_n_n",
5090 { PARROT_ARG_I
, PARROT_ARG_N
, PARROT_ARG_N
},
5091 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
5096 /* type PARROT_INLINE_OP, */
5099 "Parrot_islt_i_nc_n",
5103 { PARROT_ARG_I
, PARROT_ARG_NC
, PARROT_ARG_N
},
5104 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
5109 /* type PARROT_INLINE_OP, */
5112 "Parrot_islt_i_n_nc",
5116 { PARROT_ARG_I
, PARROT_ARG_N
, PARROT_ARG_NC
},
5117 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
5122 /* type PARROT_INLINE_OP, */
5125 "Parrot_islt_i_s_s",
5129 { PARROT_ARG_I
, PARROT_ARG_S
, PARROT_ARG_S
},
5130 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
5135 /* type PARROT_INLINE_OP, */
5138 "Parrot_islt_i_sc_s",
5142 { PARROT_ARG_I
, PARROT_ARG_SC
, PARROT_ARG_S
},
5143 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
5148 /* type PARROT_INLINE_OP, */
5151 "Parrot_islt_i_s_sc",
5155 { PARROT_ARG_I
, PARROT_ARG_S
, PARROT_ARG_SC
},
5156 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
5161 /* type PARROT_INLINE_OP, */
5164 "Parrot_islt_i_p_p",
5168 { PARROT_ARG_I
, PARROT_ARG_P
, PARROT_ARG_P
},
5169 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
5174 /* type PARROT_INLINE_OP, */
5177 "Parrot_iseq_i_i_i",
5181 { PARROT_ARG_I
, PARROT_ARG_I
, PARROT_ARG_I
},
5182 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
5187 /* type PARROT_INLINE_OP, */
5190 "Parrot_iseq_i_ic_i",
5194 { PARROT_ARG_I
, PARROT_ARG_IC
, PARROT_ARG_I
},
5195 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
5200 /* type PARROT_INLINE_OP, */
5203 "Parrot_iseq_i_i_ic",
5207 { PARROT_ARG_I
, PARROT_ARG_I
, PARROT_ARG_IC
},
5208 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
5213 /* type PARROT_INLINE_OP, */
5216 "Parrot_iseq_i_n_n",
5220 { PARROT_ARG_I
, PARROT_ARG_N
, PARROT_ARG_N
},
5221 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
5226 /* type PARROT_INLINE_OP, */
5229 "Parrot_iseq_i_nc_n",
5233 { PARROT_ARG_I
, PARROT_ARG_NC
, PARROT_ARG_N
},
5234 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
5239 /* type PARROT_INLINE_OP, */
5242 "Parrot_iseq_i_n_nc",
5246 { PARROT_ARG_I
, PARROT_ARG_N
, PARROT_ARG_NC
},
5247 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
5252 /* type PARROT_INLINE_OP, */
5255 "Parrot_iseq_i_s_s",
5259 { PARROT_ARG_I
, PARROT_ARG_S
, PARROT_ARG_S
},
5260 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
5265 /* type PARROT_INLINE_OP, */
5268 "Parrot_iseq_i_sc_s",
5272 { PARROT_ARG_I
, PARROT_ARG_SC
, PARROT_ARG_S
},
5273 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
5278 /* type PARROT_INLINE_OP, */
5281 "Parrot_iseq_i_s_sc",
5285 { PARROT_ARG_I
, PARROT_ARG_S
, PARROT_ARG_SC
},
5286 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
5291 /* type PARROT_INLINE_OP, */
5294 "Parrot_iseq_i_p_p",
5298 { PARROT_ARG_I
, PARROT_ARG_P
, PARROT_ARG_P
},
5299 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
5304 /* type PARROT_INLINE_OP, */
5307 "Parrot_isne_i_i_i",
5311 { PARROT_ARG_I
, PARROT_ARG_I
, PARROT_ARG_I
},
5312 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
5317 /* type PARROT_INLINE_OP, */
5320 "Parrot_isne_i_ic_i",
5324 { PARROT_ARG_I
, PARROT_ARG_IC
, PARROT_ARG_I
},
5325 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
5330 /* type PARROT_INLINE_OP, */
5333 "Parrot_isne_i_i_ic",
5337 { PARROT_ARG_I
, PARROT_ARG_I
, PARROT_ARG_IC
},
5338 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
5343 /* type PARROT_INLINE_OP, */
5346 "Parrot_isne_i_n_n",
5350 { PARROT_ARG_I
, PARROT_ARG_N
, PARROT_ARG_N
},
5351 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
5356 /* type PARROT_INLINE_OP, */
5359 "Parrot_isne_i_nc_n",
5363 { PARROT_ARG_I
, PARROT_ARG_NC
, PARROT_ARG_N
},
5364 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
5369 /* type PARROT_INLINE_OP, */
5372 "Parrot_isne_i_n_nc",
5376 { PARROT_ARG_I
, PARROT_ARG_N
, PARROT_ARG_NC
},
5377 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
5382 /* type PARROT_INLINE_OP, */
5385 "Parrot_isne_i_s_s",
5389 { PARROT_ARG_I
, PARROT_ARG_S
, PARROT_ARG_S
},
5390 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
5395 /* type PARROT_INLINE_OP, */
5398 "Parrot_isne_i_sc_s",
5402 { PARROT_ARG_I
, PARROT_ARG_SC
, PARROT_ARG_S
},
5403 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
5408 /* type PARROT_INLINE_OP, */
5411 "Parrot_isne_i_s_sc",
5415 { PARROT_ARG_I
, PARROT_ARG_S
, PARROT_ARG_SC
},
5416 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
5421 /* type PARROT_INLINE_OP, */
5424 "Parrot_isne_i_p_p",
5428 { PARROT_ARG_I
, PARROT_ARG_P
, PARROT_ARG_P
},
5429 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
5434 /* type PARROT_INLINE_OP, */
5441 { PARROT_ARG_I
, PARROT_ARG_I
, PARROT_ARG_I
},
5442 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
5447 /* type PARROT_INLINE_OP, */
5450 "Parrot_and_i_ic_i",
5454 { PARROT_ARG_I
, PARROT_ARG_IC
, PARROT_ARG_I
},
5455 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
5460 /* type PARROT_INLINE_OP, */
5463 "Parrot_and_i_i_ic",
5467 { PARROT_ARG_I
, PARROT_ARG_I
, PARROT_ARG_IC
},
5468 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
5473 /* type PARROT_INLINE_OP, */
5480 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_P
},
5481 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
5486 /* type PARROT_INLINE_OP, */
5494 { PARROT_ARGDIR_INOUT
},
5499 /* type PARROT_INLINE_OP, */
5506 { PARROT_ARG_I
, PARROT_ARG_I
},
5507 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
5512 /* type PARROT_INLINE_OP, */
5520 { PARROT_ARGDIR_IN
},
5525 /* type PARROT_INLINE_OP, */
5532 { PARROT_ARG_P
, PARROT_ARG_P
},
5533 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
5538 /* type PARROT_INLINE_OP, */
5545 { PARROT_ARG_I
, PARROT_ARG_I
, PARROT_ARG_I
},
5546 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
5551 /* type PARROT_INLINE_OP, */
5558 { PARROT_ARG_I
, PARROT_ARG_IC
, PARROT_ARG_I
},
5559 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
5564 /* type PARROT_INLINE_OP, */
5571 { PARROT_ARG_I
, PARROT_ARG_I
, PARROT_ARG_IC
},
5572 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
5577 /* type PARROT_INLINE_OP, */
5584 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_P
},
5585 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
5590 /* type PARROT_INLINE_OP, */
5597 { PARROT_ARG_I
, PARROT_ARG_I
, PARROT_ARG_I
},
5598 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
5603 /* type PARROT_INLINE_OP, */
5606 "Parrot_xor_i_ic_i",
5610 { PARROT_ARG_I
, PARROT_ARG_IC
, PARROT_ARG_I
},
5611 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
5616 /* type PARROT_INLINE_OP, */
5619 "Parrot_xor_i_i_ic",
5623 { PARROT_ARG_I
, PARROT_ARG_I
, PARROT_ARG_IC
},
5624 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
5629 /* type PARROT_INLINE_OP, */
5636 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_P
},
5637 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
5642 /* type PARROT_INLINE_OP, */
5650 { PARROT_ARGDIR_IN
},
5655 /* type PARROT_INLINE_OP, */
5663 { PARROT_ARGDIR_IN
},
5668 /* type PARROT_INLINE_OP, */
5676 { PARROT_ARGDIR_IN
},
5681 /* type PARROT_INLINE_OP, */
5689 { PARROT_ARGDIR_IN
},
5694 /* type PARROT_FUNCTION_OP, */
5702 { PARROT_ARGDIR_IN
},
5707 /* type PARROT_FUNCTION_OP, */
5715 { PARROT_ARGDIR_IN
},
5720 /* type PARROT_FUNCTION_OP, */
5728 { PARROT_ARGDIR_IN
},
5733 /* type PARROT_INLINE_OP, */
5741 { PARROT_ARGDIR_IN
},
5746 /* type PARROT_INLINE_OP, */
5754 { PARROT_ARGDIR_IN
},
5759 /* type PARROT_INLINE_OP, */
5767 { PARROT_ARGDIR_IN
},
5772 /* type PARROT_INLINE_OP, */
5780 { PARROT_ARGDIR_IN
},
5785 /* type PARROT_FUNCTION_OP, */
5793 { PARROT_ARGDIR_IN
},
5798 /* type PARROT_FUNCTION_OP, */
5806 { PARROT_ARGDIR_IN
},
5811 /* type PARROT_FUNCTION_OP, */
5819 { PARROT_ARGDIR_IN
},
5824 /* type PARROT_FUNCTION_OP, */
5831 { PARROT_ARG_P
, PARROT_ARG_I
},
5832 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
5837 /* type PARROT_FUNCTION_OP, */
5840 "Parrot_print_p_ic",
5844 { PARROT_ARG_P
, PARROT_ARG_IC
},
5845 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
5850 /* type PARROT_FUNCTION_OP, */
5857 { PARROT_ARG_P
, PARROT_ARG_N
},
5858 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
5863 /* type PARROT_FUNCTION_OP, */
5866 "Parrot_print_p_nc",
5870 { PARROT_ARG_P
, PARROT_ARG_NC
},
5871 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
5876 /* type PARROT_FUNCTION_OP, */
5883 { PARROT_ARG_P
, PARROT_ARG_S
},
5884 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
5889 /* type PARROT_FUNCTION_OP, */
5892 "Parrot_print_p_sc",
5896 { PARROT_ARG_P
, PARROT_ARG_SC
},
5897 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
5902 /* type PARROT_FUNCTION_OP, */
5909 { PARROT_ARG_P
, PARROT_ARG_P
},
5910 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
5915 /* type PARROT_INLINE_OP, */
5918 "Parrot_getstdin_p",
5923 { PARROT_ARGDIR_OUT
},
5928 /* type PARROT_INLINE_OP, */
5931 "Parrot_getstdout_p",
5936 { PARROT_ARGDIR_OUT
},
5941 /* type PARROT_INLINE_OP, */
5944 "Parrot_getstderr_p",
5949 { PARROT_ARGDIR_OUT
},
5954 /* type PARROT_INLINE_OP, */
5962 { PARROT_ARGDIR_INOUT
},
5967 /* type PARROT_INLINE_OP, */
5975 { PARROT_ARGDIR_INOUT
},
5980 /* type PARROT_INLINE_OP, */
5987 { PARROT_ARG_I
, PARROT_ARG_I
},
5988 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
5993 /* type PARROT_INLINE_OP, */
6000 { PARROT_ARG_N
, PARROT_ARG_N
},
6001 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
6006 /* type PARROT_INLINE_OP, */
6014 { PARROT_ARGDIR_IN
},
6019 /* type PARROT_INLINE_OP, */
6026 { PARROT_ARG_P
, PARROT_ARG_P
},
6027 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
6032 /* type PARROT_INLINE_OP, */
6039 { PARROT_ARG_I
, PARROT_ARG_I
},
6040 { PARROT_ARGDIR_INOUT
, PARROT_ARGDIR_IN
},
6045 /* type PARROT_INLINE_OP, */
6052 { PARROT_ARG_I
, PARROT_ARG_IC
},
6053 { PARROT_ARGDIR_INOUT
, PARROT_ARGDIR_IN
},
6058 /* type PARROT_INLINE_OP, */
6065 { PARROT_ARG_N
, PARROT_ARG_N
},
6066 { PARROT_ARGDIR_INOUT
, PARROT_ARGDIR_IN
},
6071 /* type PARROT_INLINE_OP, */
6078 { PARROT_ARG_N
, PARROT_ARG_NC
},
6079 { PARROT_ARGDIR_INOUT
, PARROT_ARGDIR_IN
},
6084 /* type PARROT_INLINE_OP, */
6091 { PARROT_ARG_P
, PARROT_ARG_P
},
6092 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
6097 /* type PARROT_INLINE_OP, */
6104 { PARROT_ARG_P
, PARROT_ARG_I
},
6105 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
6110 /* type PARROT_INLINE_OP, */
6117 { PARROT_ARG_P
, PARROT_ARG_IC
},
6118 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
6123 /* type PARROT_INLINE_OP, */
6130 { PARROT_ARG_P
, PARROT_ARG_N
},
6131 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
6136 /* type PARROT_INLINE_OP, */
6143 { PARROT_ARG_P
, PARROT_ARG_NC
},
6144 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
6149 /* type PARROT_INLINE_OP, */
6156 { PARROT_ARG_I
, PARROT_ARG_I
, PARROT_ARG_I
},
6157 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
6162 /* type PARROT_INLINE_OP, */
6165 "Parrot_add_i_ic_i",
6169 { PARROT_ARG_I
, PARROT_ARG_IC
, PARROT_ARG_I
},
6170 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
6175 /* type PARROT_INLINE_OP, */
6178 "Parrot_add_i_i_ic",
6182 { PARROT_ARG_I
, PARROT_ARG_I
, PARROT_ARG_IC
},
6183 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
6188 /* type PARROT_INLINE_OP, */
6195 { PARROT_ARG_N
, PARROT_ARG_N
, PARROT_ARG_N
},
6196 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
6201 /* type PARROT_INLINE_OP, */
6204 "Parrot_add_n_nc_n",
6208 { PARROT_ARG_N
, PARROT_ARG_NC
, PARROT_ARG_N
},
6209 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
6214 /* type PARROT_INLINE_OP, */
6217 "Parrot_add_n_n_nc",
6221 { PARROT_ARG_N
, PARROT_ARG_N
, PARROT_ARG_NC
},
6222 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
6227 /* type PARROT_INLINE_OP, */
6234 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_P
},
6235 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
6240 /* type PARROT_INLINE_OP, */
6247 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_I
},
6248 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
6253 /* type PARROT_INLINE_OP, */
6256 "Parrot_add_p_p_ic",
6260 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_IC
},
6261 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
6266 /* type PARROT_INLINE_OP, */
6273 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_N
},
6274 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
6279 /* type PARROT_INLINE_OP, */
6282 "Parrot_add_p_p_nc",
6286 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_NC
},
6287 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
6292 /* type PARROT_INLINE_OP, */
6300 { PARROT_ARGDIR_INOUT
},
6305 /* type PARROT_INLINE_OP, */
6313 { PARROT_ARGDIR_INOUT
},
6318 /* type PARROT_INLINE_OP, */
6326 { PARROT_ARGDIR_IN
},
6331 /* type PARROT_INLINE_OP, */
6338 { PARROT_ARG_I
, PARROT_ARG_I
},
6339 { PARROT_ARGDIR_INOUT
, PARROT_ARGDIR_IN
},
6344 /* type PARROT_INLINE_OP, */
6351 { PARROT_ARG_I
, PARROT_ARG_IC
},
6352 { PARROT_ARGDIR_INOUT
, PARROT_ARGDIR_IN
},
6357 /* type PARROT_INLINE_OP, */
6364 { PARROT_ARG_N
, PARROT_ARG_N
},
6365 { PARROT_ARGDIR_INOUT
, PARROT_ARGDIR_IN
},
6370 /* type PARROT_INLINE_OP, */
6377 { PARROT_ARG_N
, PARROT_ARG_NC
},
6378 { PARROT_ARGDIR_INOUT
, PARROT_ARGDIR_IN
},
6383 /* type PARROT_INLINE_OP, */
6390 { PARROT_ARG_P
, PARROT_ARG_P
},
6391 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
6396 /* type PARROT_INLINE_OP, */
6403 { PARROT_ARG_P
, PARROT_ARG_I
},
6404 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
6409 /* type PARROT_INLINE_OP, */
6416 { PARROT_ARG_P
, PARROT_ARG_IC
},
6417 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
6422 /* type PARROT_INLINE_OP, */
6429 { PARROT_ARG_P
, PARROT_ARG_N
},
6430 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
6435 /* type PARROT_INLINE_OP, */
6442 { PARROT_ARG_P
, PARROT_ARG_NC
},
6443 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
6448 /* type PARROT_INLINE_OP, */
6455 { PARROT_ARG_I
, PARROT_ARG_I
, PARROT_ARG_I
},
6456 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
6461 /* type PARROT_INLINE_OP, */
6464 "Parrot_div_i_ic_i",
6468 { PARROT_ARG_I
, PARROT_ARG_IC
, PARROT_ARG_I
},
6469 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
6474 /* type PARROT_INLINE_OP, */
6477 "Parrot_div_i_i_ic",
6481 { PARROT_ARG_I
, PARROT_ARG_I
, PARROT_ARG_IC
},
6482 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
6487 /* type PARROT_INLINE_OP, */
6490 "Parrot_div_i_ic_ic",
6494 { PARROT_ARG_I
, PARROT_ARG_IC
, PARROT_ARG_IC
},
6495 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
6500 /* type PARROT_INLINE_OP, */
6507 { PARROT_ARG_N
, PARROT_ARG_N
, PARROT_ARG_N
},
6508 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
6513 /* type PARROT_INLINE_OP, */
6516 "Parrot_div_n_nc_n",
6520 { PARROT_ARG_N
, PARROT_ARG_NC
, PARROT_ARG_N
},
6521 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
6526 /* type PARROT_INLINE_OP, */
6529 "Parrot_div_n_n_nc",
6533 { PARROT_ARG_N
, PARROT_ARG_N
, PARROT_ARG_NC
},
6534 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
6539 /* type PARROT_INLINE_OP, */
6542 "Parrot_div_n_nc_nc",
6546 { PARROT_ARG_N
, PARROT_ARG_NC
, PARROT_ARG_NC
},
6547 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
6552 /* type PARROT_INLINE_OP, */
6559 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_P
},
6560 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
6565 /* type PARROT_INLINE_OP, */
6572 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_I
},
6573 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
6578 /* type PARROT_INLINE_OP, */
6581 "Parrot_div_p_p_ic",
6585 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_IC
},
6586 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
6591 /* type PARROT_INLINE_OP, */
6598 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_N
},
6599 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
6604 /* type PARROT_INLINE_OP, */
6607 "Parrot_div_p_p_nc",
6611 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_NC
},
6612 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
6617 /* type PARROT_INLINE_OP, */
6624 { PARROT_ARG_I
, PARROT_ARG_I
},
6625 { PARROT_ARGDIR_INOUT
, PARROT_ARGDIR_IN
},
6630 /* type PARROT_INLINE_OP, */
6637 { PARROT_ARG_I
, PARROT_ARG_IC
},
6638 { PARROT_ARGDIR_INOUT
, PARROT_ARGDIR_IN
},
6643 /* type PARROT_INLINE_OP, */
6650 { PARROT_ARG_N
, PARROT_ARG_N
},
6651 { PARROT_ARGDIR_INOUT
, PARROT_ARGDIR_IN
},
6656 /* type PARROT_INLINE_OP, */
6663 { PARROT_ARG_N
, PARROT_ARG_NC
},
6664 { PARROT_ARGDIR_INOUT
, PARROT_ARGDIR_IN
},
6669 /* type PARROT_INLINE_OP, */
6676 { PARROT_ARG_P
, PARROT_ARG_P
},
6677 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
6682 /* type PARROT_INLINE_OP, */
6689 { PARROT_ARG_P
, PARROT_ARG_I
},
6690 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
6695 /* type PARROT_INLINE_OP, */
6702 { PARROT_ARG_P
, PARROT_ARG_IC
},
6703 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
6708 /* type PARROT_INLINE_OP, */
6715 { PARROT_ARG_P
, PARROT_ARG_N
},
6716 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
6721 /* type PARROT_INLINE_OP, */
6728 { PARROT_ARG_P
, PARROT_ARG_NC
},
6729 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
6734 /* type PARROT_INLINE_OP, */
6737 "Parrot_fdiv_i_i_i",
6741 { PARROT_ARG_I
, PARROT_ARG_I
, PARROT_ARG_I
},
6742 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
6747 /* type PARROT_INLINE_OP, */
6750 "Parrot_fdiv_i_ic_i",
6754 { PARROT_ARG_I
, PARROT_ARG_IC
, PARROT_ARG_I
},
6755 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
6760 /* type PARROT_INLINE_OP, */
6763 "Parrot_fdiv_i_i_ic",
6767 { PARROT_ARG_I
, PARROT_ARG_I
, PARROT_ARG_IC
},
6768 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
6773 /* type PARROT_INLINE_OP, */
6776 "Parrot_fdiv_n_n_n",
6780 { PARROT_ARG_N
, PARROT_ARG_N
, PARROT_ARG_N
},
6781 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
6786 /* type PARROT_INLINE_OP, */
6789 "Parrot_fdiv_n_nc_n",
6793 { PARROT_ARG_N
, PARROT_ARG_NC
, PARROT_ARG_N
},
6794 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
6799 /* type PARROT_INLINE_OP, */
6802 "Parrot_fdiv_n_n_nc",
6806 { PARROT_ARG_N
, PARROT_ARG_N
, PARROT_ARG_NC
},
6807 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
6812 /* type PARROT_INLINE_OP, */
6815 "Parrot_fdiv_p_p_p",
6819 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_P
},
6820 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
6825 /* type PARROT_INLINE_OP, */
6828 "Parrot_fdiv_p_p_i",
6832 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_I
},
6833 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
6838 /* type PARROT_INLINE_OP, */
6841 "Parrot_fdiv_p_p_ic",
6845 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_IC
},
6846 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
6851 /* type PARROT_INLINE_OP, */
6854 "Parrot_fdiv_p_p_n",
6858 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_N
},
6859 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
6864 /* type PARROT_INLINE_OP, */
6867 "Parrot_fdiv_p_p_nc",
6871 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_NC
},
6872 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
6877 /* type PARROT_INLINE_OP, */
6885 { PARROT_ARGDIR_INOUT
},
6890 /* type PARROT_INLINE_OP, */
6897 { PARROT_ARG_I
, PARROT_ARG_N
},
6898 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
6903 /* type PARROT_INLINE_OP, */
6910 { PARROT_ARG_N
, PARROT_ARG_N
},
6911 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
6916 /* type PARROT_INLINE_OP, */
6924 { PARROT_ARGDIR_INOUT
},
6929 /* type PARROT_INLINE_OP, */
6936 { PARROT_ARG_I
, PARROT_ARG_N
},
6937 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
6942 /* type PARROT_INLINE_OP, */
6949 { PARROT_ARG_N
, PARROT_ARG_N
},
6950 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
6955 /* type PARROT_INLINE_OP, */
6963 { PARROT_ARGDIR_INOUT
},
6968 /* type PARROT_INLINE_OP, */
6976 { PARROT_ARGDIR_INOUT
},
6981 /* type PARROT_INLINE_OP, */
6989 { PARROT_ARGDIR_IN
},
6994 /* type PARROT_FUNCTION_OP, */
7001 { PARROT_ARG_I
, PARROT_ARG_I
},
7002 { PARROT_ARGDIR_INOUT
, PARROT_ARGDIR_IN
},
7007 /* type PARROT_FUNCTION_OP, */
7014 { PARROT_ARG_I
, PARROT_ARG_IC
},
7015 { PARROT_ARGDIR_INOUT
, PARROT_ARGDIR_IN
},
7020 /* type PARROT_FUNCTION_OP, */
7027 { PARROT_ARG_N
, PARROT_ARG_N
},
7028 { PARROT_ARGDIR_INOUT
, PARROT_ARGDIR_IN
},
7033 /* type PARROT_FUNCTION_OP, */
7040 { PARROT_ARG_N
, PARROT_ARG_NC
},
7041 { PARROT_ARGDIR_INOUT
, PARROT_ARGDIR_IN
},
7046 /* type PARROT_INLINE_OP, */
7053 { PARROT_ARG_P
, PARROT_ARG_P
},
7054 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
7059 /* type PARROT_INLINE_OP, */
7066 { PARROT_ARG_P
, PARROT_ARG_I
},
7067 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
7072 /* type PARROT_INLINE_OP, */
7079 { PARROT_ARG_P
, PARROT_ARG_IC
},
7080 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
7085 /* type PARROT_INLINE_OP, */
7092 { PARROT_ARG_P
, PARROT_ARG_N
},
7093 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
7098 /* type PARROT_INLINE_OP, */
7105 { PARROT_ARG_P
, PARROT_ARG_NC
},
7106 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
7111 /* type PARROT_FUNCTION_OP, */
7118 { PARROT_ARG_I
, PARROT_ARG_I
, PARROT_ARG_I
},
7119 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
7124 /* type PARROT_FUNCTION_OP, */
7127 "Parrot_mod_i_ic_i",
7131 { PARROT_ARG_I
, PARROT_ARG_IC
, PARROT_ARG_I
},
7132 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
7137 /* type PARROT_FUNCTION_OP, */
7140 "Parrot_mod_i_i_ic",
7144 { PARROT_ARG_I
, PARROT_ARG_I
, PARROT_ARG_IC
},
7145 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
7150 /* type PARROT_FUNCTION_OP, */
7157 { PARROT_ARG_N
, PARROT_ARG_N
, PARROT_ARG_N
},
7158 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
7163 /* type PARROT_FUNCTION_OP, */
7166 "Parrot_mod_n_nc_n",
7170 { PARROT_ARG_N
, PARROT_ARG_NC
, PARROT_ARG_N
},
7171 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
7176 /* type PARROT_FUNCTION_OP, */
7179 "Parrot_mod_n_n_nc",
7183 { PARROT_ARG_N
, PARROT_ARG_N
, PARROT_ARG_NC
},
7184 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
7189 /* type PARROT_INLINE_OP, */
7196 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_P
},
7197 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
7202 /* type PARROT_INLINE_OP, */
7209 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_I
},
7210 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
7215 /* type PARROT_INLINE_OP, */
7218 "Parrot_mod_p_p_ic",
7222 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_IC
},
7223 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
7228 /* type PARROT_INLINE_OP, */
7235 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_N
},
7236 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
7241 /* type PARROT_INLINE_OP, */
7244 "Parrot_mod_p_p_nc",
7248 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_NC
},
7249 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
7254 /* type PARROT_INLINE_OP, */
7261 { PARROT_ARG_I
, PARROT_ARG_I
},
7262 { PARROT_ARGDIR_INOUT
, PARROT_ARGDIR_IN
},
7267 /* type PARROT_INLINE_OP, */
7274 { PARROT_ARG_I
, PARROT_ARG_IC
},
7275 { PARROT_ARGDIR_INOUT
, PARROT_ARGDIR_IN
},
7280 /* type PARROT_INLINE_OP, */
7287 { PARROT_ARG_N
, PARROT_ARG_N
},
7288 { PARROT_ARGDIR_INOUT
, PARROT_ARGDIR_IN
},
7293 /* type PARROT_INLINE_OP, */
7300 { PARROT_ARG_N
, PARROT_ARG_NC
},
7301 { PARROT_ARGDIR_INOUT
, PARROT_ARGDIR_IN
},
7306 /* type PARROT_INLINE_OP, */
7313 { PARROT_ARG_P
, PARROT_ARG_P
},
7314 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
7319 /* type PARROT_INLINE_OP, */
7326 { PARROT_ARG_P
, PARROT_ARG_I
},
7327 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
7332 /* type PARROT_INLINE_OP, */
7339 { PARROT_ARG_P
, PARROT_ARG_IC
},
7340 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
7345 /* type PARROT_INLINE_OP, */
7352 { PARROT_ARG_P
, PARROT_ARG_N
},
7353 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
7358 /* type PARROT_INLINE_OP, */
7365 { PARROT_ARG_P
, PARROT_ARG_NC
},
7366 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
7371 /* type PARROT_INLINE_OP, */
7378 { PARROT_ARG_I
, PARROT_ARG_I
, PARROT_ARG_I
},
7379 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
7384 /* type PARROT_INLINE_OP, */
7387 "Parrot_mul_i_ic_i",
7391 { PARROT_ARG_I
, PARROT_ARG_IC
, PARROT_ARG_I
},
7392 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
7397 /* type PARROT_INLINE_OP, */
7400 "Parrot_mul_i_i_ic",
7404 { PARROT_ARG_I
, PARROT_ARG_I
, PARROT_ARG_IC
},
7405 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
7410 /* type PARROT_INLINE_OP, */
7417 { PARROT_ARG_N
, PARROT_ARG_N
, PARROT_ARG_N
},
7418 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
7423 /* type PARROT_INLINE_OP, */
7426 "Parrot_mul_n_nc_n",
7430 { PARROT_ARG_N
, PARROT_ARG_NC
, PARROT_ARG_N
},
7431 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
7436 /* type PARROT_INLINE_OP, */
7439 "Parrot_mul_n_n_nc",
7443 { PARROT_ARG_N
, PARROT_ARG_N
, PARROT_ARG_NC
},
7444 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
7449 /* type PARROT_INLINE_OP, */
7456 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_P
},
7457 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
7462 /* type PARROT_INLINE_OP, */
7469 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_I
},
7470 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
7475 /* type PARROT_INLINE_OP, */
7478 "Parrot_mul_p_p_ic",
7482 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_IC
},
7483 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
7488 /* type PARROT_INLINE_OP, */
7495 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_N
},
7496 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
7501 /* type PARROT_INLINE_OP, */
7504 "Parrot_mul_p_p_nc",
7508 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_NC
},
7509 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
7514 /* type PARROT_INLINE_OP, */
7522 { PARROT_ARGDIR_INOUT
},
7527 /* type PARROT_INLINE_OP, */
7535 { PARROT_ARGDIR_INOUT
},
7540 /* type PARROT_INLINE_OP, */
7548 { PARROT_ARGDIR_IN
},
7553 /* type PARROT_INLINE_OP, */
7560 { PARROT_ARG_I
, PARROT_ARG_I
},
7561 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
7566 /* type PARROT_INLINE_OP, */
7573 { PARROT_ARG_N
, PARROT_ARG_N
},
7574 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
7579 /* type PARROT_INLINE_OP, */
7586 { PARROT_ARG_P
, PARROT_ARG_P
},
7587 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
7592 /* type PARROT_INLINE_OP, */
7599 { PARROT_ARG_I
, PARROT_ARG_I
},
7600 { PARROT_ARGDIR_INOUT
, PARROT_ARGDIR_IN
},
7605 /* type PARROT_INLINE_OP, */
7612 { PARROT_ARG_I
, PARROT_ARG_IC
},
7613 { PARROT_ARGDIR_INOUT
, PARROT_ARGDIR_IN
},
7618 /* type PARROT_INLINE_OP, */
7625 { PARROT_ARG_N
, PARROT_ARG_N
},
7626 { PARROT_ARGDIR_INOUT
, PARROT_ARGDIR_IN
},
7631 /* type PARROT_INLINE_OP, */
7638 { PARROT_ARG_N
, PARROT_ARG_NC
},
7639 { PARROT_ARGDIR_INOUT
, PARROT_ARGDIR_IN
},
7644 /* type PARROT_INLINE_OP, */
7651 { PARROT_ARG_P
, PARROT_ARG_P
},
7652 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
7657 /* type PARROT_INLINE_OP, */
7664 { PARROT_ARG_P
, PARROT_ARG_I
},
7665 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
7670 /* type PARROT_INLINE_OP, */
7677 { PARROT_ARG_P
, PARROT_ARG_IC
},
7678 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
7683 /* type PARROT_INLINE_OP, */
7690 { PARROT_ARG_P
, PARROT_ARG_N
},
7691 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
7696 /* type PARROT_INLINE_OP, */
7703 { PARROT_ARG_P
, PARROT_ARG_NC
},
7704 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
7709 /* type PARROT_INLINE_OP, */
7716 { PARROT_ARG_I
, PARROT_ARG_I
, PARROT_ARG_I
},
7717 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
7722 /* type PARROT_INLINE_OP, */
7725 "Parrot_sub_i_ic_i",
7729 { PARROT_ARG_I
, PARROT_ARG_IC
, PARROT_ARG_I
},
7730 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
7735 /* type PARROT_INLINE_OP, */
7738 "Parrot_sub_i_i_ic",
7742 { PARROT_ARG_I
, PARROT_ARG_I
, PARROT_ARG_IC
},
7743 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
7748 /* type PARROT_INLINE_OP, */
7755 { PARROT_ARG_N
, PARROT_ARG_N
, PARROT_ARG_N
},
7756 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
7761 /* type PARROT_INLINE_OP, */
7764 "Parrot_sub_n_nc_n",
7768 { PARROT_ARG_N
, PARROT_ARG_NC
, PARROT_ARG_N
},
7769 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
7774 /* type PARROT_INLINE_OP, */
7777 "Parrot_sub_n_n_nc",
7781 { PARROT_ARG_N
, PARROT_ARG_N
, PARROT_ARG_NC
},
7782 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
7787 /* type PARROT_INLINE_OP, */
7794 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_P
},
7795 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
7800 /* type PARROT_INLINE_OP, */
7807 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_I
},
7808 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
7813 /* type PARROT_INLINE_OP, */
7816 "Parrot_sub_p_p_ic",
7820 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_IC
},
7821 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
7826 /* type PARROT_INLINE_OP, */
7833 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_N
},
7834 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
7839 /* type PARROT_INLINE_OP, */
7842 "Parrot_sub_p_p_nc",
7846 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_NC
},
7847 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
7852 /* type PARROT_INLINE_OP, */
7859 { PARROT_ARG_N
, PARROT_ARG_N
},
7860 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
7865 /* type PARROT_FUNCTION_OP, */
7868 "Parrot_callmethodcc_p_s",
7872 { PARROT_ARG_P
, PARROT_ARG_S
},
7873 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
7878 /* type PARROT_FUNCTION_OP, */
7880 "callmethodcc_p_sc",
7881 "Parrot_callmethodcc_p_sc",
7885 { PARROT_ARG_P
, PARROT_ARG_SC
},
7886 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
7891 /* type PARROT_FUNCTION_OP, */
7894 "Parrot_callmethodcc_p_p",
7898 { PARROT_ARG_P
, PARROT_ARG_P
},
7899 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
7904 /* type PARROT_FUNCTION_OP, */
7907 "Parrot_callmethod_p_s_p",
7911 { PARROT_ARG_P
, PARROT_ARG_S
, PARROT_ARG_P
},
7912 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
7917 /* type PARROT_FUNCTION_OP, */
7919 "callmethod_p_sc_p",
7920 "Parrot_callmethod_p_sc_p",
7924 { PARROT_ARG_P
, PARROT_ARG_SC
, PARROT_ARG_P
},
7925 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
7930 /* type PARROT_FUNCTION_OP, */
7933 "Parrot_callmethod_p_p_p",
7937 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_P
},
7938 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
7943 /* type PARROT_FUNCTION_OP, */
7945 "tailcallmethod_p_s",
7946 "Parrot_tailcallmethod_p_s",
7950 { PARROT_ARG_P
, PARROT_ARG_S
},
7951 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
7956 /* type PARROT_FUNCTION_OP, */
7958 "tailcallmethod_p_sc",
7959 "Parrot_tailcallmethod_p_sc",
7963 { PARROT_ARG_P
, PARROT_ARG_SC
},
7964 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
7969 /* type PARROT_FUNCTION_OP, */
7971 "tailcallmethod_p_p",
7972 "Parrot_tailcallmethod_p_p",
7976 { PARROT_ARG_P
, PARROT_ARG_P
},
7977 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
7982 /* type PARROT_INLINE_OP, */
7985 "Parrot_addmethod_p_s_p",
7989 { PARROT_ARG_P
, PARROT_ARG_S
, PARROT_ARG_P
},
7990 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
7995 /* type PARROT_INLINE_OP, */
7998 "Parrot_addmethod_p_sc_p",
8002 { PARROT_ARG_P
, PARROT_ARG_SC
, PARROT_ARG_P
},
8003 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
8008 /* type PARROT_INLINE_OP, */
8015 { PARROT_ARG_I
, PARROT_ARG_P
, PARROT_ARG_S
},
8016 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
8021 /* type PARROT_INLINE_OP, */
8024 "Parrot_can_i_p_sc",
8028 { PARROT_ARG_I
, PARROT_ARG_P
, PARROT_ARG_SC
},
8029 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
8034 /* type PARROT_INLINE_OP, */
8037 "Parrot_does_i_p_s",
8041 { PARROT_ARG_I
, PARROT_ARG_P
, PARROT_ARG_S
},
8042 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
8047 /* type PARROT_INLINE_OP, */
8050 "Parrot_does_i_p_sc",
8054 { PARROT_ARG_I
, PARROT_ARG_P
, PARROT_ARG_SC
},
8055 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
8060 /* type PARROT_INLINE_OP, */
8063 "Parrot_does_i_p_p",
8067 { PARROT_ARG_I
, PARROT_ARG_P
, PARROT_ARG_P
},
8068 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
8073 /* type PARROT_INLINE_OP, */
8076 "Parrot_does_i_p_pc",
8080 { PARROT_ARG_I
, PARROT_ARG_P
, PARROT_ARG_PC
},
8081 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
8086 /* type PARROT_INLINE_OP, */
8093 { PARROT_ARG_I
, PARROT_ARG_P
, PARROT_ARG_S
},
8094 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
8099 /* type PARROT_INLINE_OP, */
8102 "Parrot_isa_i_p_sc",
8106 { PARROT_ARG_I
, PARROT_ARG_P
, PARROT_ARG_SC
},
8107 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
8112 /* type PARROT_INLINE_OP, */
8119 { PARROT_ARG_I
, PARROT_ARG_P
, PARROT_ARG_P
},
8120 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
8125 /* type PARROT_INLINE_OP, */
8128 "Parrot_isa_i_p_pc",
8132 { PARROT_ARG_I
, PARROT_ARG_P
, PARROT_ARG_PC
},
8133 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
8138 /* type PARROT_INLINE_OP, */
8141 "Parrot_newclass_p_s",
8145 { PARROT_ARG_P
, PARROT_ARG_S
},
8146 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
8151 /* type PARROT_INLINE_OP, */
8154 "Parrot_newclass_p_sc",
8158 { PARROT_ARG_P
, PARROT_ARG_SC
},
8159 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
8164 /* type PARROT_INLINE_OP, */
8167 "Parrot_newclass_p_p",
8171 { PARROT_ARG_P
, PARROT_ARG_P
},
8172 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
8177 /* type PARROT_INLINE_OP, */
8180 "Parrot_newclass_p_pc",
8184 { PARROT_ARG_P
, PARROT_ARG_PC
},
8185 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
8190 /* type PARROT_INLINE_OP, */
8193 "Parrot_subclass_p_p",
8197 { PARROT_ARG_P
, PARROT_ARG_P
},
8198 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
8203 /* type PARROT_INLINE_OP, */
8206 "Parrot_subclass_p_pc",
8210 { PARROT_ARG_P
, PARROT_ARG_PC
},
8211 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
8216 /* type PARROT_INLINE_OP, */
8219 "Parrot_subclass_p_p_s",
8223 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_S
},
8224 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
8229 /* type PARROT_INLINE_OP, */
8232 "Parrot_subclass_p_pc_s",
8236 { PARROT_ARG_P
, PARROT_ARG_PC
, PARROT_ARG_S
},
8237 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
8242 /* type PARROT_INLINE_OP, */
8245 "Parrot_subclass_p_p_sc",
8249 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_SC
},
8250 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
8255 /* type PARROT_INLINE_OP, */
8258 "Parrot_subclass_p_pc_sc",
8262 { PARROT_ARG_P
, PARROT_ARG_PC
, PARROT_ARG_SC
},
8263 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
8268 /* type PARROT_INLINE_OP, */
8271 "Parrot_subclass_p_p_p",
8275 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_P
},
8276 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
8281 /* type PARROT_INLINE_OP, */
8284 "Parrot_subclass_p_pc_p",
8288 { PARROT_ARG_P
, PARROT_ARG_PC
, PARROT_ARG_P
},
8289 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
8294 /* type PARROT_INLINE_OP, */
8297 "Parrot_subclass_p_p_pc",
8301 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_PC
},
8302 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
8307 /* type PARROT_INLINE_OP, */
8310 "Parrot_subclass_p_pc_pc",
8314 { PARROT_ARG_P
, PARROT_ARG_PC
, PARROT_ARG_PC
},
8315 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
8320 /* type PARROT_FUNCTION_OP, */
8323 "Parrot_subclass_p_s",
8327 { PARROT_ARG_P
, PARROT_ARG_S
},
8328 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
8333 /* type PARROT_FUNCTION_OP, */
8336 "Parrot_subclass_p_sc",
8340 { PARROT_ARG_P
, PARROT_ARG_SC
},
8341 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
8346 /* type PARROT_FUNCTION_OP, */
8349 "Parrot_subclass_p_s_s",
8353 { PARROT_ARG_P
, PARROT_ARG_S
, PARROT_ARG_S
},
8354 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
8359 /* type PARROT_FUNCTION_OP, */
8362 "Parrot_subclass_p_sc_s",
8366 { PARROT_ARG_P
, PARROT_ARG_SC
, PARROT_ARG_S
},
8367 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
8372 /* type PARROT_FUNCTION_OP, */
8375 "Parrot_subclass_p_s_sc",
8379 { PARROT_ARG_P
, PARROT_ARG_S
, PARROT_ARG_SC
},
8380 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
8385 /* type PARROT_FUNCTION_OP, */
8388 "Parrot_subclass_p_sc_sc",
8392 { PARROT_ARG_P
, PARROT_ARG_SC
, PARROT_ARG_SC
},
8393 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
8398 /* type PARROT_FUNCTION_OP, */
8401 "Parrot_subclass_p_s_p",
8405 { PARROT_ARG_P
, PARROT_ARG_S
, PARROT_ARG_P
},
8406 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
8411 /* type PARROT_FUNCTION_OP, */
8414 "Parrot_subclass_p_sc_p",
8418 { PARROT_ARG_P
, PARROT_ARG_SC
, PARROT_ARG_P
},
8419 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
8424 /* type PARROT_FUNCTION_OP, */
8427 "Parrot_subclass_p_s_pc",
8431 { PARROT_ARG_P
, PARROT_ARG_S
, PARROT_ARG_PC
},
8432 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
8437 /* type PARROT_FUNCTION_OP, */
8440 "Parrot_subclass_p_sc_pc",
8444 { PARROT_ARG_P
, PARROT_ARG_SC
, PARROT_ARG_PC
},
8445 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
8450 /* type PARROT_INLINE_OP, */
8453 "Parrot_get_class_p_s",
8457 { PARROT_ARG_P
, PARROT_ARG_S
},
8458 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
8463 /* type PARROT_INLINE_OP, */
8466 "Parrot_get_class_p_sc",
8470 { PARROT_ARG_P
, PARROT_ARG_SC
},
8471 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
8476 /* type PARROT_INLINE_OP, */
8479 "Parrot_get_class_p_p",
8483 { PARROT_ARG_P
, PARROT_ARG_P
},
8484 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
8489 /* type PARROT_INLINE_OP, */
8492 "Parrot_get_class_p_pc",
8496 { PARROT_ARG_P
, PARROT_ARG_PC
},
8497 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
8502 /* type PARROT_INLINE_OP, */
8509 { PARROT_ARG_P
, PARROT_ARG_P
},
8510 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
8515 /* type PARROT_INLINE_OP, */
8518 "Parrot_addparent_p_p",
8522 { PARROT_ARG_P
, PARROT_ARG_P
},
8523 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
8528 /* type PARROT_INLINE_OP, */
8531 "Parrot_removeparent_p_p",
8535 { PARROT_ARG_P
, PARROT_ARG_P
},
8536 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
8541 /* type PARROT_INLINE_OP, */
8544 "Parrot_addrole_p_p",
8548 { PARROT_ARG_P
, PARROT_ARG_P
},
8549 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
8554 /* type PARROT_INLINE_OP, */
8557 "Parrot_addattribute_p_s",
8561 { PARROT_ARG_P
, PARROT_ARG_S
},
8562 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
8567 /* type PARROT_INLINE_OP, */
8569 "addattribute_p_sc",
8570 "Parrot_addattribute_p_sc",
8574 { PARROT_ARG_P
, PARROT_ARG_SC
},
8575 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
8580 /* type PARROT_FUNCTION_OP, */
8582 "removeattribute_p_s",
8583 "Parrot_removeattribute_p_s",
8587 { PARROT_ARG_P
, PARROT_ARG_S
},
8588 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
8593 /* type PARROT_FUNCTION_OP, */
8595 "removeattribute_p_sc",
8596 "Parrot_removeattribute_p_sc",
8600 { PARROT_ARG_P
, PARROT_ARG_SC
},
8601 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
8606 /* type PARROT_INLINE_OP, */
8608 "getattribute_p_p_s",
8609 "Parrot_getattribute_p_p_s",
8613 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_S
},
8614 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
8619 /* type PARROT_INLINE_OP, */
8621 "getattribute_p_p_sc",
8622 "Parrot_getattribute_p_p_sc",
8626 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_SC
},
8627 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
8632 /* type PARROT_INLINE_OP, */
8634 "getattribute_p_p_p_s",
8635 "Parrot_getattribute_p_p_p_s",
8639 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_S
},
8640 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
8645 /* type PARROT_INLINE_OP, */
8647 "getattribute_p_p_pc_s",
8648 "Parrot_getattribute_p_p_pc_s",
8652 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_PC
, PARROT_ARG_S
},
8653 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
8658 /* type PARROT_INLINE_OP, */
8660 "getattribute_p_p_p_sc",
8661 "Parrot_getattribute_p_p_p_sc",
8665 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_SC
},
8666 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
8671 /* type PARROT_INLINE_OP, */
8673 "getattribute_p_p_pc_sc",
8674 "Parrot_getattribute_p_p_pc_sc",
8678 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_PC
, PARROT_ARG_SC
},
8679 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
8684 /* type PARROT_INLINE_OP, */
8686 "setattribute_p_s_p",
8687 "Parrot_setattribute_p_s_p",
8691 { PARROT_ARG_P
, PARROT_ARG_S
, PARROT_ARG_P
},
8692 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
8697 /* type PARROT_INLINE_OP, */
8699 "setattribute_p_sc_p",
8700 "Parrot_setattribute_p_sc_p",
8704 { PARROT_ARG_P
, PARROT_ARG_SC
, PARROT_ARG_P
},
8705 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
8710 /* type PARROT_INLINE_OP, */
8712 "setattribute_p_p_s_p",
8713 "Parrot_setattribute_p_p_s_p",
8717 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_S
, PARROT_ARG_P
},
8718 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
8723 /* type PARROT_INLINE_OP, */
8725 "setattribute_p_pc_s_p",
8726 "Parrot_setattribute_p_pc_s_p",
8730 { PARROT_ARG_P
, PARROT_ARG_PC
, PARROT_ARG_S
, PARROT_ARG_P
},
8731 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
8736 /* type PARROT_INLINE_OP, */
8738 "setattribute_p_p_sc_p",
8739 "Parrot_setattribute_p_p_sc_p",
8743 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_SC
, PARROT_ARG_P
},
8744 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
8749 /* type PARROT_INLINE_OP, */
8751 "setattribute_p_pc_sc_p",
8752 "Parrot_setattribute_p_pc_sc_p",
8756 { PARROT_ARG_P
, PARROT_ARG_PC
, PARROT_ARG_SC
, PARROT_ARG_P
},
8757 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
8762 /* type PARROT_INLINE_OP, */
8765 "Parrot_inspect_p_p",
8769 { PARROT_ARG_P
, PARROT_ARG_P
},
8770 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
8775 /* type PARROT_INLINE_OP, */
8778 "Parrot_inspect_p_pc",
8782 { PARROT_ARG_P
, PARROT_ARG_PC
},
8783 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
8788 /* type PARROT_INLINE_OP, */
8791 "Parrot_inspect_p_p_s",
8795 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_S
},
8796 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
8801 /* type PARROT_INLINE_OP, */
8804 "Parrot_inspect_p_pc_s",
8808 { PARROT_ARG_P
, PARROT_ARG_PC
, PARROT_ARG_S
},
8809 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
8814 /* type PARROT_INLINE_OP, */
8817 "Parrot_inspect_p_p_sc",
8821 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_SC
},
8822 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
8827 /* type PARROT_INLINE_OP, */
8830 "Parrot_inspect_p_pc_sc",
8834 { PARROT_ARG_P
, PARROT_ARG_PC
, PARROT_ARG_SC
},
8835 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
8840 /* type PARROT_FUNCTION_OP, */
8847 { PARROT_ARG_P
, PARROT_ARG_S
},
8848 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
8853 /* type PARROT_FUNCTION_OP, */
8860 { PARROT_ARG_P
, PARROT_ARG_SC
},
8861 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
8866 /* type PARROT_FUNCTION_OP, */
8873 { PARROT_ARG_P
, PARROT_ARG_S
, PARROT_ARG_P
},
8874 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
8879 /* type PARROT_FUNCTION_OP, */
8882 "Parrot_new_p_sc_p",
8886 { PARROT_ARG_P
, PARROT_ARG_SC
, PARROT_ARG_P
},
8887 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
8892 /* type PARROT_FUNCTION_OP, */
8895 "Parrot_new_p_s_pc",
8899 { PARROT_ARG_P
, PARROT_ARG_S
, PARROT_ARG_PC
},
8900 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
8905 /* type PARROT_FUNCTION_OP, */
8908 "Parrot_new_p_sc_pc",
8912 { PARROT_ARG_P
, PARROT_ARG_SC
, PARROT_ARG_PC
},
8913 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
8918 /* type PARROT_INLINE_OP, */
8925 { PARROT_ARG_P
, PARROT_ARG_P
},
8926 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
8931 /* type PARROT_INLINE_OP, */
8938 { PARROT_ARG_P
, PARROT_ARG_PC
},
8939 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
8944 /* type PARROT_FUNCTION_OP, */
8951 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_P
},
8952 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
8957 /* type PARROT_FUNCTION_OP, */
8960 "Parrot_new_p_pc_p",
8964 { PARROT_ARG_P
, PARROT_ARG_PC
, PARROT_ARG_P
},
8965 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
8970 /* type PARROT_FUNCTION_OP, */
8973 "Parrot_new_p_p_pc",
8977 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_PC
},
8978 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
8983 /* type PARROT_FUNCTION_OP, */
8986 "Parrot_new_p_pc_pc",
8990 { PARROT_ARG_P
, PARROT_ARG_PC
, PARROT_ARG_PC
},
8991 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
8996 /* type PARROT_FUNCTION_OP, */
8999 "Parrot_root_new_p_p",
9003 { PARROT_ARG_P
, PARROT_ARG_P
},
9004 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
9009 /* type PARROT_FUNCTION_OP, */
9012 "Parrot_root_new_p_pc",
9016 { PARROT_ARG_P
, PARROT_ARG_PC
},
9017 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
9022 /* type PARROT_FUNCTION_OP, */
9025 "Parrot_root_new_p_p_p",
9029 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_P
},
9030 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
9035 /* type PARROT_FUNCTION_OP, */
9038 "Parrot_root_new_p_pc_p",
9042 { PARROT_ARG_P
, PARROT_ARG_PC
, PARROT_ARG_P
},
9043 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
9048 /* type PARROT_FUNCTION_OP, */
9051 "Parrot_root_new_p_p_pc",
9055 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_PC
},
9056 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
9061 /* type PARROT_FUNCTION_OP, */
9064 "Parrot_root_new_p_pc_pc",
9068 { PARROT_ARG_P
, PARROT_ARG_PC
, PARROT_ARG_PC
},
9069 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
9074 /* type PARROT_INLINE_OP, */
9077 "Parrot_typeof_s_p",
9081 { PARROT_ARG_S
, PARROT_ARG_P
},
9082 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
9087 /* type PARROT_INLINE_OP, */
9090 "Parrot_typeof_p_p",
9094 { PARROT_ARG_P
, PARROT_ARG_P
},
9095 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
9100 /* type PARROT_FUNCTION_OP, */
9103 "Parrot_get_repr_s_p",
9107 { PARROT_ARG_S
, PARROT_ARG_P
},
9108 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
9113 /* type PARROT_FUNCTION_OP, */
9115 "find_method_p_p_s",
9116 "Parrot_find_method_p_p_s",
9120 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_S
},
9121 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
9126 /* type PARROT_FUNCTION_OP, */
9128 "find_method_p_p_sc",
9129 "Parrot_find_method_p_p_sc",
9133 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_SC
},
9134 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
9139 /* type PARROT_INLINE_OP, */
9142 "Parrot_defined_i_p",
9146 { PARROT_ARG_I
, PARROT_ARG_P
},
9147 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
9152 /* type PARROT_INLINE_OP, */
9155 "Parrot_defined_i_p_ki",
9159 { PARROT_ARG_I
, PARROT_ARG_P
, PARROT_ARG_KI
},
9160 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
9165 /* type PARROT_INLINE_OP, */
9168 "Parrot_defined_i_p_kic",
9172 { PARROT_ARG_I
, PARROT_ARG_P
, PARROT_ARG_KIC
},
9173 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
9178 /* type PARROT_INLINE_OP, */
9181 "Parrot_defined_i_p_k",
9185 { PARROT_ARG_I
, PARROT_ARG_P
, PARROT_ARG_K
},
9186 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
9191 /* type PARROT_INLINE_OP, */
9194 "Parrot_defined_i_p_kc",
9198 { PARROT_ARG_I
, PARROT_ARG_P
, PARROT_ARG_KC
},
9199 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
9204 /* type PARROT_INLINE_OP, */
9207 "Parrot_exists_i_p_ki",
9211 { PARROT_ARG_I
, PARROT_ARG_P
, PARROT_ARG_KI
},
9212 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
9217 /* type PARROT_INLINE_OP, */
9220 "Parrot_exists_i_p_kic",
9224 { PARROT_ARG_I
, PARROT_ARG_P
, PARROT_ARG_KIC
},
9225 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
9230 /* type PARROT_INLINE_OP, */
9233 "Parrot_exists_i_p_k",
9237 { PARROT_ARG_I
, PARROT_ARG_P
, PARROT_ARG_K
},
9238 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
9243 /* type PARROT_INLINE_OP, */
9246 "Parrot_exists_i_p_kc",
9250 { PARROT_ARG_I
, PARROT_ARG_P
, PARROT_ARG_KC
},
9251 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
9256 /* type PARROT_INLINE_OP, */
9259 "Parrot_delete_p_k",
9263 { PARROT_ARG_P
, PARROT_ARG_K
},
9264 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
9269 /* type PARROT_INLINE_OP, */
9272 "Parrot_delete_p_kc",
9276 { PARROT_ARG_P
, PARROT_ARG_KC
},
9277 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
9282 /* type PARROT_INLINE_OP, */
9285 "Parrot_delete_p_ki",
9289 { PARROT_ARG_P
, PARROT_ARG_KI
},
9290 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
9295 /* type PARROT_INLINE_OP, */
9298 "Parrot_delete_p_kic",
9302 { PARROT_ARG_P
, PARROT_ARG_KIC
},
9303 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
9308 /* type PARROT_INLINE_OP, */
9311 "Parrot_elements_i_p",
9315 { PARROT_ARG_I
, PARROT_ARG_P
},
9316 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
9321 /* type PARROT_INLINE_OP, */
9328 { PARROT_ARG_P
, PARROT_ARG_I
},
9329 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
9334 /* type PARROT_INLINE_OP, */
9341 { PARROT_ARG_P
, PARROT_ARG_IC
},
9342 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
9347 /* type PARROT_INLINE_OP, */
9354 { PARROT_ARG_P
, PARROT_ARG_N
},
9355 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
9360 /* type PARROT_INLINE_OP, */
9367 { PARROT_ARG_P
, PARROT_ARG_NC
},
9368 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
9373 /* type PARROT_INLINE_OP, */
9380 { PARROT_ARG_P
, PARROT_ARG_S
},
9381 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
9386 /* type PARROT_INLINE_OP, */
9393 { PARROT_ARG_P
, PARROT_ARG_SC
},
9394 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
9399 /* type PARROT_INLINE_OP, */
9406 { PARROT_ARG_P
, PARROT_ARG_P
},
9407 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
9412 /* type PARROT_INLINE_OP, */
9419 { PARROT_ARG_I
, PARROT_ARG_P
},
9420 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
9425 /* type PARROT_INLINE_OP, */
9432 { PARROT_ARG_N
, PARROT_ARG_P
},
9433 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
9438 /* type PARROT_INLINE_OP, */
9445 { PARROT_ARG_S
, PARROT_ARG_P
},
9446 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
9451 /* type PARROT_INLINE_OP, */
9458 { PARROT_ARG_P
, PARROT_ARG_P
},
9459 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
9464 /* type PARROT_INLINE_OP, */
9467 "Parrot_unshift_p_i",
9471 { PARROT_ARG_P
, PARROT_ARG_I
},
9472 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
9477 /* type PARROT_INLINE_OP, */
9480 "Parrot_unshift_p_ic",
9484 { PARROT_ARG_P
, PARROT_ARG_IC
},
9485 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
9490 /* type PARROT_INLINE_OP, */
9493 "Parrot_unshift_p_n",
9497 { PARROT_ARG_P
, PARROT_ARG_N
},
9498 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
9503 /* type PARROT_INLINE_OP, */
9506 "Parrot_unshift_p_nc",
9510 { PARROT_ARG_P
, PARROT_ARG_NC
},
9511 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
9516 /* type PARROT_INLINE_OP, */
9519 "Parrot_unshift_p_s",
9523 { PARROT_ARG_P
, PARROT_ARG_S
},
9524 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
9529 /* type PARROT_INLINE_OP, */
9532 "Parrot_unshift_p_sc",
9536 { PARROT_ARG_P
, PARROT_ARG_SC
},
9537 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
9542 /* type PARROT_INLINE_OP, */
9545 "Parrot_unshift_p_p",
9549 { PARROT_ARG_P
, PARROT_ARG_P
},
9550 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
9555 /* type PARROT_INLINE_OP, */
9562 { PARROT_ARG_I
, PARROT_ARG_P
},
9563 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
9568 /* type PARROT_INLINE_OP, */
9575 { PARROT_ARG_N
, PARROT_ARG_P
},
9576 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
9581 /* type PARROT_INLINE_OP, */
9588 { PARROT_ARG_S
, PARROT_ARG_P
},
9589 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
9594 /* type PARROT_INLINE_OP, */
9601 { PARROT_ARG_P
, PARROT_ARG_P
},
9602 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
9607 /* type PARROT_INLINE_OP, */
9610 "Parrot_splice_p_p_i_i",
9614 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_I
, PARROT_ARG_I
},
9615 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
9620 /* type PARROT_INLINE_OP, */
9623 "Parrot_splice_p_p_ic_i",
9627 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_IC
, PARROT_ARG_I
},
9628 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
9633 /* type PARROT_INLINE_OP, */
9636 "Parrot_splice_p_p_i_ic",
9640 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_I
, PARROT_ARG_IC
},
9641 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
9646 /* type PARROT_INLINE_OP, */
9649 "Parrot_splice_p_p_ic_ic",
9653 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_IC
, PARROT_ARG_IC
},
9654 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
9659 /* type PARROT_FUNCTION_OP, */
9662 "Parrot_setprop_p_s_p",
9666 { PARROT_ARG_P
, PARROT_ARG_S
, PARROT_ARG_P
},
9667 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
9672 /* type PARROT_FUNCTION_OP, */
9675 "Parrot_setprop_p_sc_p",
9679 { PARROT_ARG_P
, PARROT_ARG_SC
, PARROT_ARG_P
},
9680 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
9685 /* type PARROT_FUNCTION_OP, */
9688 "Parrot_getprop_p_s_p",
9692 { PARROT_ARG_P
, PARROT_ARG_S
, PARROT_ARG_P
},
9693 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
9698 /* type PARROT_FUNCTION_OP, */
9701 "Parrot_getprop_p_sc_p",
9705 { PARROT_ARG_P
, PARROT_ARG_SC
, PARROT_ARG_P
},
9706 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
9711 /* type PARROT_FUNCTION_OP, */
9714 "Parrot_delprop_p_s",
9718 { PARROT_ARG_P
, PARROT_ARG_S
},
9719 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
9724 /* type PARROT_FUNCTION_OP, */
9727 "Parrot_delprop_p_sc",
9731 { PARROT_ARG_P
, PARROT_ARG_SC
},
9732 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
9737 /* type PARROT_FUNCTION_OP, */
9740 "Parrot_prophash_p_p",
9744 { PARROT_ARG_P
, PARROT_ARG_P
},
9745 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
9750 /* type PARROT_FUNCTION_OP, */
9753 "Parrot_freeze_s_p",
9757 { PARROT_ARG_S
, PARROT_ARG_P
},
9758 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
9763 /* type PARROT_FUNCTION_OP, */
9770 { PARROT_ARG_P
, PARROT_ARG_S
},
9771 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
9776 /* type PARROT_FUNCTION_OP, */
9783 { PARROT_ARG_P
, PARROT_ARG_SC
},
9784 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
9789 /* type PARROT_INLINE_OP, */
9792 "Parrot_add_multi_s_s_p",
9796 { PARROT_ARG_S
, PARROT_ARG_S
, PARROT_ARG_P
},
9797 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
9802 /* type PARROT_INLINE_OP, */
9805 "Parrot_add_multi_sc_s_p",
9809 { PARROT_ARG_SC
, PARROT_ARG_S
, PARROT_ARG_P
},
9810 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
9815 /* type PARROT_INLINE_OP, */
9818 "Parrot_add_multi_s_sc_p",
9822 { PARROT_ARG_S
, PARROT_ARG_SC
, PARROT_ARG_P
},
9823 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
9828 /* type PARROT_INLINE_OP, */
9830 "add_multi_sc_sc_p",
9831 "Parrot_add_multi_sc_sc_p",
9835 { PARROT_ARG_SC
, PARROT_ARG_SC
, PARROT_ARG_P
},
9836 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
9841 /* type PARROT_INLINE_OP, */
9844 "Parrot_find_multi_p_s_s",
9848 { PARROT_ARG_P
, PARROT_ARG_S
, PARROT_ARG_S
},
9849 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
9854 /* type PARROT_INLINE_OP, */
9856 "find_multi_p_sc_s",
9857 "Parrot_find_multi_p_sc_s",
9861 { PARROT_ARG_P
, PARROT_ARG_SC
, PARROT_ARG_S
},
9862 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
9867 /* type PARROT_INLINE_OP, */
9869 "find_multi_p_s_sc",
9870 "Parrot_find_multi_p_s_sc",
9874 { PARROT_ARG_P
, PARROT_ARG_S
, PARROT_ARG_SC
},
9875 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
9880 /* type PARROT_INLINE_OP, */
9882 "find_multi_p_sc_sc",
9883 "Parrot_find_multi_p_sc_sc",
9887 { PARROT_ARG_P
, PARROT_ARG_SC
, PARROT_ARG_SC
},
9888 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
9893 /* type PARROT_FUNCTION_OP, */
9896 "Parrot_register_p",
9901 { PARROT_ARGDIR_IN
},
9906 /* type PARROT_FUNCTION_OP, */
9909 "Parrot_unregister_p",
9914 { PARROT_ARGDIR_IN
},
9919 /* type PARROT_FUNCTION_OP, */
9926 { PARROT_ARG_P
, PARROT_ARG_I
},
9927 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
9932 /* type PARROT_FUNCTION_OP, */
9939 { PARROT_ARG_P
, PARROT_ARG_IC
},
9940 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
9945 /* type PARROT_FUNCTION_OP, */
9952 { PARROT_ARG_P
, PARROT_ARG_N
},
9953 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
9958 /* type PARROT_FUNCTION_OP, */
9965 { PARROT_ARG_P
, PARROT_ARG_NC
},
9966 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
9971 /* type PARROT_FUNCTION_OP, */
9978 { PARROT_ARG_P
, PARROT_ARG_S
},
9979 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
9984 /* type PARROT_FUNCTION_OP, */
9991 { PARROT_ARG_P
, PARROT_ARG_SC
},
9992 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
9997 /* type PARROT_INLINE_OP, */
10004 { PARROT_ARG_P
, PARROT_ARG_P
},
10005 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
10010 /* type PARROT_INLINE_OP, */
10013 "Parrot_morph_p_p",
10017 { PARROT_ARG_P
, PARROT_ARG_P
},
10018 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
10023 /* type PARROT_INLINE_OP, */
10026 "Parrot_morph_p_pc",
10030 { PARROT_ARG_P
, PARROT_ARG_PC
},
10031 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
10036 /* type PARROT_INLINE_OP, */
10039 "Parrot_clone_s_s",
10043 { PARROT_ARG_S
, PARROT_ARG_S
},
10044 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
10049 /* type PARROT_INLINE_OP, */
10052 "Parrot_clone_s_sc",
10056 { PARROT_ARG_S
, PARROT_ARG_SC
},
10057 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
10062 /* type PARROT_INLINE_OP, */
10069 { PARROT_ARG_I
, PARROT_ARG_I
},
10070 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
10075 /* type PARROT_INLINE_OP, */
10082 { PARROT_ARG_I
, PARROT_ARG_IC
},
10083 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
10088 /* type PARROT_INLINE_OP, */
10095 { PARROT_ARG_I
, PARROT_ARG_N
},
10096 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
10101 /* type PARROT_INLINE_OP, */
10108 { PARROT_ARG_I
, PARROT_ARG_NC
},
10109 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
10114 /* type PARROT_INLINE_OP, */
10121 { PARROT_ARG_I
, PARROT_ARG_S
},
10122 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
10127 /* type PARROT_INLINE_OP, */
10134 { PARROT_ARG_I
, PARROT_ARG_SC
},
10135 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
10140 /* type PARROT_INLINE_OP, */
10147 { PARROT_ARG_N
, PARROT_ARG_N
},
10148 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
10153 /* type PARROT_INLINE_OP, */
10160 { PARROT_ARG_N
, PARROT_ARG_NC
},
10161 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
10166 /* type PARROT_INLINE_OP, */
10173 { PARROT_ARG_N
, PARROT_ARG_I
},
10174 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
10179 /* type PARROT_INLINE_OP, */
10186 { PARROT_ARG_N
, PARROT_ARG_IC
},
10187 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
10192 /* type PARROT_INLINE_OP, */
10199 { PARROT_ARG_N
, PARROT_ARG_S
},
10200 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
10205 /* type PARROT_INLINE_OP, */
10212 { PARROT_ARG_N
, PARROT_ARG_SC
},
10213 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
10218 /* type PARROT_INLINE_OP, */
10225 { PARROT_ARG_N
, PARROT_ARG_P
},
10226 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
10231 /* type PARROT_INLINE_OP, */
10238 { PARROT_ARG_S
, PARROT_ARG_P
},
10239 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
10244 /* type PARROT_INLINE_OP, */
10251 { PARROT_ARG_S
, PARROT_ARG_S
},
10252 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
10257 /* type PARROT_INLINE_OP, */
10264 { PARROT_ARG_S
, PARROT_ARG_SC
},
10265 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
10270 /* type PARROT_INLINE_OP, */
10277 { PARROT_ARG_S
, PARROT_ARG_I
},
10278 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
10283 /* type PARROT_INLINE_OP, */
10290 { PARROT_ARG_S
, PARROT_ARG_IC
},
10291 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
10296 /* type PARROT_INLINE_OP, */
10303 { PARROT_ARG_S
, PARROT_ARG_N
},
10304 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
10309 /* type PARROT_INLINE_OP, */
10316 { PARROT_ARG_S
, PARROT_ARG_NC
},
10317 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
10322 /* type PARROT_INLINE_OP, */
10329 { PARROT_ARG_P
, PARROT_ARG_PC
},
10330 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
10335 /* type PARROT_INLINE_OP, */
10342 { PARROT_ARG_P
, PARROT_ARG_P
},
10343 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
10348 /* type PARROT_INLINE_OP, */
10355 { PARROT_ARG_P
, PARROT_ARG_I
},
10356 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
10361 /* type PARROT_INLINE_OP, */
10368 { PARROT_ARG_P
, PARROT_ARG_IC
},
10369 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
10374 /* type PARROT_INLINE_OP, */
10381 { PARROT_ARG_P
, PARROT_ARG_N
},
10382 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
10387 /* type PARROT_INLINE_OP, */
10394 { PARROT_ARG_P
, PARROT_ARG_NC
},
10395 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
10400 /* type PARROT_INLINE_OP, */
10407 { PARROT_ARG_P
, PARROT_ARG_S
},
10408 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
10413 /* type PARROT_INLINE_OP, */
10420 { PARROT_ARG_P
, PARROT_ARG_SC
},
10421 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
10426 /* type PARROT_INLINE_OP, */
10433 { PARROT_ARG_I
, PARROT_ARG_P
},
10434 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
10439 /* type PARROT_INLINE_OP, */
10442 "Parrot_assign_p_p",
10446 { PARROT_ARG_P
, PARROT_ARG_P
},
10447 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
10452 /* type PARROT_INLINE_OP, */
10455 "Parrot_assign_p_i",
10459 { PARROT_ARG_P
, PARROT_ARG_I
},
10460 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
10465 /* type PARROT_INLINE_OP, */
10468 "Parrot_assign_p_ic",
10472 { PARROT_ARG_P
, PARROT_ARG_IC
},
10473 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
10478 /* type PARROT_INLINE_OP, */
10481 "Parrot_assign_p_n",
10485 { PARROT_ARG_P
, PARROT_ARG_N
},
10486 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
10491 /* type PARROT_INLINE_OP, */
10494 "Parrot_assign_p_nc",
10498 { PARROT_ARG_P
, PARROT_ARG_NC
},
10499 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
10504 /* type PARROT_INLINE_OP, */
10507 "Parrot_assign_p_s",
10511 { PARROT_ARG_P
, PARROT_ARG_S
},
10512 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
10517 /* type PARROT_INLINE_OP, */
10520 "Parrot_assign_p_sc",
10524 { PARROT_ARG_P
, PARROT_ARG_SC
},
10525 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
10530 /* type PARROT_INLINE_OP, */
10533 "Parrot_assign_s_s",
10537 { PARROT_ARG_S
, PARROT_ARG_S
},
10538 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
10543 /* type PARROT_INLINE_OP, */
10546 "Parrot_assign_s_sc",
10550 { PARROT_ARG_S
, PARROT_ARG_SC
},
10551 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
10556 /* type PARROT_INLINE_OP, */
10559 "Parrot_setref_p_p",
10563 { PARROT_ARG_P
, PARROT_ARG_P
},
10564 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
10569 /* type PARROT_INLINE_OP, */
10572 "Parrot_deref_p_p",
10576 { PARROT_ARG_P
, PARROT_ARG_P
},
10577 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
10582 /* type PARROT_INLINE_OP, */
10585 "Parrot_set_p_ki_i",
10589 { PARROT_ARG_P
, PARROT_ARG_KI
, PARROT_ARG_I
},
10590 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
10595 /* type PARROT_INLINE_OP, */
10598 "Parrot_set_p_kic_i",
10602 { PARROT_ARG_P
, PARROT_ARG_KIC
, PARROT_ARG_I
},
10603 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
10608 /* type PARROT_INLINE_OP, */
10611 "Parrot_set_p_ki_ic",
10615 { PARROT_ARG_P
, PARROT_ARG_KI
, PARROT_ARG_IC
},
10616 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
10621 /* type PARROT_INLINE_OP, */
10624 "Parrot_set_p_kic_ic",
10628 { PARROT_ARG_P
, PARROT_ARG_KIC
, PARROT_ARG_IC
},
10629 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
10634 /* type PARROT_INLINE_OP, */
10637 "Parrot_set_p_ki_n",
10641 { PARROT_ARG_P
, PARROT_ARG_KI
, PARROT_ARG_N
},
10642 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
10647 /* type PARROT_INLINE_OP, */
10650 "Parrot_set_p_kic_n",
10654 { PARROT_ARG_P
, PARROT_ARG_KIC
, PARROT_ARG_N
},
10655 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
10660 /* type PARROT_INLINE_OP, */
10663 "Parrot_set_p_ki_nc",
10667 { PARROT_ARG_P
, PARROT_ARG_KI
, PARROT_ARG_NC
},
10668 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
10673 /* type PARROT_INLINE_OP, */
10676 "Parrot_set_p_kic_nc",
10680 { PARROT_ARG_P
, PARROT_ARG_KIC
, PARROT_ARG_NC
},
10681 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
10686 /* type PARROT_INLINE_OP, */
10689 "Parrot_set_p_ki_s",
10693 { PARROT_ARG_P
, PARROT_ARG_KI
, PARROT_ARG_S
},
10694 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
10699 /* type PARROT_INLINE_OP, */
10702 "Parrot_set_p_kic_s",
10706 { PARROT_ARG_P
, PARROT_ARG_KIC
, PARROT_ARG_S
},
10707 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
10712 /* type PARROT_INLINE_OP, */
10715 "Parrot_set_p_ki_sc",
10719 { PARROT_ARG_P
, PARROT_ARG_KI
, PARROT_ARG_SC
},
10720 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
10725 /* type PARROT_INLINE_OP, */
10728 "Parrot_set_p_kic_sc",
10732 { PARROT_ARG_P
, PARROT_ARG_KIC
, PARROT_ARG_SC
},
10733 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
10738 /* type PARROT_INLINE_OP, */
10741 "Parrot_set_p_ki_p",
10745 { PARROT_ARG_P
, PARROT_ARG_KI
, PARROT_ARG_P
},
10746 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
10751 /* type PARROT_INLINE_OP, */
10754 "Parrot_set_p_kic_p",
10758 { PARROT_ARG_P
, PARROT_ARG_KIC
, PARROT_ARG_P
},
10759 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
10764 /* type PARROT_INLINE_OP, */
10767 "Parrot_set_i_p_ki",
10771 { PARROT_ARG_I
, PARROT_ARG_P
, PARROT_ARG_KI
},
10772 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
10777 /* type PARROT_INLINE_OP, */
10780 "Parrot_set_i_p_kic",
10784 { PARROT_ARG_I
, PARROT_ARG_P
, PARROT_ARG_KIC
},
10785 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
10790 /* type PARROT_INLINE_OP, */
10793 "Parrot_set_n_p_ki",
10797 { PARROT_ARG_N
, PARROT_ARG_P
, PARROT_ARG_KI
},
10798 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
10803 /* type PARROT_INLINE_OP, */
10806 "Parrot_set_n_p_kic",
10810 { PARROT_ARG_N
, PARROT_ARG_P
, PARROT_ARG_KIC
},
10811 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
10816 /* type PARROT_INLINE_OP, */
10819 "Parrot_set_s_p_ki",
10823 { PARROT_ARG_S
, PARROT_ARG_P
, PARROT_ARG_KI
},
10824 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
10829 /* type PARROT_INLINE_OP, */
10832 "Parrot_set_s_p_kic",
10836 { PARROT_ARG_S
, PARROT_ARG_P
, PARROT_ARG_KIC
},
10837 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
10842 /* type PARROT_INLINE_OP, */
10845 "Parrot_set_p_p_ki",
10849 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_KI
},
10850 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
10855 /* type PARROT_INLINE_OP, */
10858 "Parrot_set_p_p_kic",
10862 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_KIC
},
10863 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
10868 /* type PARROT_INLINE_OP, */
10871 "Parrot_set_p_k_i",
10875 { PARROT_ARG_P
, PARROT_ARG_K
, PARROT_ARG_I
},
10876 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
10881 /* type PARROT_INLINE_OP, */
10884 "Parrot_set_p_kc_i",
10888 { PARROT_ARG_P
, PARROT_ARG_KC
, PARROT_ARG_I
},
10889 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
10894 /* type PARROT_INLINE_OP, */
10897 "Parrot_set_p_k_ic",
10901 { PARROT_ARG_P
, PARROT_ARG_K
, PARROT_ARG_IC
},
10902 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
10907 /* type PARROT_INLINE_OP, */
10910 "Parrot_set_p_kc_ic",
10914 { PARROT_ARG_P
, PARROT_ARG_KC
, PARROT_ARG_IC
},
10915 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
10920 /* type PARROT_INLINE_OP, */
10923 "Parrot_set_p_k_n",
10927 { PARROT_ARG_P
, PARROT_ARG_K
, PARROT_ARG_N
},
10928 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
10933 /* type PARROT_INLINE_OP, */
10936 "Parrot_set_p_kc_n",
10940 { PARROT_ARG_P
, PARROT_ARG_KC
, PARROT_ARG_N
},
10941 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
10946 /* type PARROT_INLINE_OP, */
10949 "Parrot_set_p_k_nc",
10953 { PARROT_ARG_P
, PARROT_ARG_K
, PARROT_ARG_NC
},
10954 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
10959 /* type PARROT_INLINE_OP, */
10962 "Parrot_set_p_kc_nc",
10966 { PARROT_ARG_P
, PARROT_ARG_KC
, PARROT_ARG_NC
},
10967 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
10972 /* type PARROT_INLINE_OP, */
10975 "Parrot_set_p_k_s",
10979 { PARROT_ARG_P
, PARROT_ARG_K
, PARROT_ARG_S
},
10980 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
10985 /* type PARROT_INLINE_OP, */
10988 "Parrot_set_p_kc_s",
10992 { PARROT_ARG_P
, PARROT_ARG_KC
, PARROT_ARG_S
},
10993 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
10998 /* type PARROT_INLINE_OP, */
11001 "Parrot_set_p_k_sc",
11005 { PARROT_ARG_P
, PARROT_ARG_K
, PARROT_ARG_SC
},
11006 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
11011 /* type PARROT_INLINE_OP, */
11014 "Parrot_set_p_kc_sc",
11018 { PARROT_ARG_P
, PARROT_ARG_KC
, PARROT_ARG_SC
},
11019 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
11024 /* type PARROT_INLINE_OP, */
11027 "Parrot_set_p_k_p",
11031 { PARROT_ARG_P
, PARROT_ARG_K
, PARROT_ARG_P
},
11032 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
11037 /* type PARROT_INLINE_OP, */
11040 "Parrot_set_p_kc_p",
11044 { PARROT_ARG_P
, PARROT_ARG_KC
, PARROT_ARG_P
},
11045 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
11050 /* type PARROT_INLINE_OP, */
11053 "Parrot_set_i_p_k",
11057 { PARROT_ARG_I
, PARROT_ARG_P
, PARROT_ARG_K
},
11058 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
11063 /* type PARROT_INLINE_OP, */
11066 "Parrot_set_i_p_kc",
11070 { PARROT_ARG_I
, PARROT_ARG_P
, PARROT_ARG_KC
},
11071 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
11076 /* type PARROT_INLINE_OP, */
11079 "Parrot_set_n_p_k",
11083 { PARROT_ARG_N
, PARROT_ARG_P
, PARROT_ARG_K
},
11084 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
11089 /* type PARROT_INLINE_OP, */
11092 "Parrot_set_n_p_kc",
11096 { PARROT_ARG_N
, PARROT_ARG_P
, PARROT_ARG_KC
},
11097 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
11102 /* type PARROT_INLINE_OP, */
11105 "Parrot_set_s_p_k",
11109 { PARROT_ARG_S
, PARROT_ARG_P
, PARROT_ARG_K
},
11110 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
11115 /* type PARROT_INLINE_OP, */
11118 "Parrot_set_s_p_kc",
11122 { PARROT_ARG_S
, PARROT_ARG_P
, PARROT_ARG_KC
},
11123 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
11128 /* type PARROT_INLINE_OP, */
11131 "Parrot_set_p_p_k",
11135 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_K
},
11136 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
11141 /* type PARROT_INLINE_OP, */
11144 "Parrot_set_p_p_kc",
11148 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_KC
},
11149 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
11154 /* type PARROT_INLINE_OP, */
11157 "Parrot_clone_p_p",
11161 { PARROT_ARG_P
, PARROT_ARG_P
},
11162 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
11167 /* type PARROT_INLINE_OP, */
11170 "Parrot_clone_p_p_p",
11174 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_P
},
11175 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
11180 /* type PARROT_INLINE_OP, */
11183 "Parrot_clone_p_p_pc",
11187 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_PC
},
11188 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
11193 /* type PARROT_INLINE_OP, */
11200 { PARROT_ARG_P
, PARROT_ARG_P
},
11201 { PARROT_ARGDIR_INOUT
, PARROT_ARGDIR_IN
},
11206 /* type PARROT_INLINE_OP, */
11214 { PARROT_ARGDIR_OUT
},
11219 /* type PARROT_INLINE_OP, */
11227 { PARROT_ARGDIR_OUT
},
11232 /* type PARROT_INLINE_OP, */
11240 { PARROT_ARGDIR_OUT
},
11245 /* type PARROT_INLINE_OP, */
11253 { PARROT_ARGDIR_OUT
},
11258 /* type PARROT_INLINE_OP, */
11265 { PARROT_ARG_I
, PARROT_ARG_S
},
11266 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
11271 /* type PARROT_INLINE_OP, */
11278 { PARROT_ARG_I
, PARROT_ARG_SC
},
11279 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
11284 /* type PARROT_INLINE_OP, */
11287 "Parrot_ord_i_s_i",
11291 { PARROT_ARG_I
, PARROT_ARG_S
, PARROT_ARG_I
},
11292 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
11297 /* type PARROT_INLINE_OP, */
11300 "Parrot_ord_i_sc_i",
11304 { PARROT_ARG_I
, PARROT_ARG_SC
, PARROT_ARG_I
},
11305 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
11310 /* type PARROT_INLINE_OP, */
11313 "Parrot_ord_i_s_ic",
11317 { PARROT_ARG_I
, PARROT_ARG_S
, PARROT_ARG_IC
},
11318 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
11323 /* type PARROT_INLINE_OP, */
11326 "Parrot_ord_i_sc_ic",
11330 { PARROT_ARG_I
, PARROT_ARG_SC
, PARROT_ARG_IC
},
11331 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
11336 /* type PARROT_INLINE_OP, */
11343 { PARROT_ARG_S
, PARROT_ARG_I
},
11344 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
11349 /* type PARROT_INLINE_OP, */
11356 { PARROT_ARG_S
, PARROT_ARG_IC
},
11357 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
11362 /* type PARROT_INLINE_OP, */
11365 "Parrot_chopn_s_s_i",
11369 { PARROT_ARG_S
, PARROT_ARG_S
, PARROT_ARG_I
},
11370 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
11375 /* type PARROT_INLINE_OP, */
11378 "Parrot_chopn_s_sc_i",
11382 { PARROT_ARG_S
, PARROT_ARG_SC
, PARROT_ARG_I
},
11383 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
11388 /* type PARROT_INLINE_OP, */
11391 "Parrot_chopn_s_s_ic",
11395 { PARROT_ARG_S
, PARROT_ARG_S
, PARROT_ARG_IC
},
11396 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
11401 /* type PARROT_INLINE_OP, */
11404 "Parrot_chopn_s_sc_ic",
11408 { PARROT_ARG_S
, PARROT_ARG_SC
, PARROT_ARG_IC
},
11409 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
11414 /* type PARROT_INLINE_OP, */
11417 "Parrot_concat_s_s",
11421 { PARROT_ARG_S
, PARROT_ARG_S
},
11422 { PARROT_ARGDIR_INOUT
, PARROT_ARGDIR_IN
},
11427 /* type PARROT_INLINE_OP, */
11430 "Parrot_concat_s_sc",
11434 { PARROT_ARG_S
, PARROT_ARG_SC
},
11435 { PARROT_ARGDIR_INOUT
, PARROT_ARGDIR_IN
},
11440 /* type PARROT_INLINE_OP, */
11443 "Parrot_concat_p_p",
11447 { PARROT_ARG_P
, PARROT_ARG_P
},
11448 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
11453 /* type PARROT_INLINE_OP, */
11456 "Parrot_concat_p_s",
11460 { PARROT_ARG_P
, PARROT_ARG_S
},
11461 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
11466 /* type PARROT_INLINE_OP, */
11469 "Parrot_concat_p_sc",
11473 { PARROT_ARG_P
, PARROT_ARG_SC
},
11474 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
11479 /* type PARROT_INLINE_OP, */
11482 "Parrot_concat_s_s_s",
11486 { PARROT_ARG_S
, PARROT_ARG_S
, PARROT_ARG_S
},
11487 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
11492 /* type PARROT_INLINE_OP, */
11495 "Parrot_concat_s_sc_s",
11499 { PARROT_ARG_S
, PARROT_ARG_SC
, PARROT_ARG_S
},
11500 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
11505 /* type PARROT_INLINE_OP, */
11508 "Parrot_concat_s_s_sc",
11512 { PARROT_ARG_S
, PARROT_ARG_S
, PARROT_ARG_SC
},
11513 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
11518 /* type PARROT_INLINE_OP, */
11521 "Parrot_concat_p_p_s",
11525 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_S
},
11526 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
11531 /* type PARROT_INLINE_OP, */
11534 "Parrot_concat_p_p_sc",
11538 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_SC
},
11539 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
11544 /* type PARROT_INLINE_OP, */
11547 "Parrot_concat_p_p_p",
11551 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_P
},
11552 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
11557 /* type PARROT_INLINE_OP, */
11560 "Parrot_repeat_s_s_i",
11564 { PARROT_ARG_S
, PARROT_ARG_S
, PARROT_ARG_I
},
11565 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
11570 /* type PARROT_INLINE_OP, */
11573 "Parrot_repeat_s_sc_i",
11577 { PARROT_ARG_S
, PARROT_ARG_SC
, PARROT_ARG_I
},
11578 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
11583 /* type PARROT_INLINE_OP, */
11586 "Parrot_repeat_s_s_ic",
11590 { PARROT_ARG_S
, PARROT_ARG_S
, PARROT_ARG_IC
},
11591 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
11596 /* type PARROT_INLINE_OP, */
11599 "Parrot_repeat_s_sc_ic",
11603 { PARROT_ARG_S
, PARROT_ARG_SC
, PARROT_ARG_IC
},
11604 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
11609 /* type PARROT_INLINE_OP, */
11612 "Parrot_repeat_p_p_i",
11616 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_I
},
11617 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
11622 /* type PARROT_INLINE_OP, */
11625 "Parrot_repeat_p_p_ic",
11629 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_IC
},
11630 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
11635 /* type PARROT_INLINE_OP, */
11638 "Parrot_repeat_p_p_p",
11642 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_P
},
11643 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
11648 /* type PARROT_INLINE_OP, */
11651 "Parrot_repeat_p_i",
11655 { PARROT_ARG_P
, PARROT_ARG_I
},
11656 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
11661 /* type PARROT_INLINE_OP, */
11664 "Parrot_repeat_p_ic",
11668 { PARROT_ARG_P
, PARROT_ARG_IC
},
11669 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
11674 /* type PARROT_INLINE_OP, */
11677 "Parrot_repeat_p_p",
11681 { PARROT_ARG_P
, PARROT_ARG_P
},
11682 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
11687 /* type PARROT_INLINE_OP, */
11690 "Parrot_length_i_s",
11694 { PARROT_ARG_I
, PARROT_ARG_S
},
11695 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
11700 /* type PARROT_INLINE_OP, */
11703 "Parrot_length_i_sc",
11707 { PARROT_ARG_I
, PARROT_ARG_SC
},
11708 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
11713 /* type PARROT_INLINE_OP, */
11716 "Parrot_bytelength_i_s",
11720 { PARROT_ARG_I
, PARROT_ARG_S
},
11721 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
11726 /* type PARROT_INLINE_OP, */
11729 "Parrot_bytelength_i_sc",
11733 { PARROT_ARG_I
, PARROT_ARG_SC
},
11734 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
11739 /* type PARROT_FUNCTION_OP, */
11747 { PARROT_ARGDIR_INOUT
},
11752 /* type PARROT_FUNCTION_OP, */
11760 { PARROT_ARGDIR_INOUT
},
11765 /* type PARROT_INLINE_OP, */
11768 "Parrot_substr_s_s_i",
11772 { PARROT_ARG_S
, PARROT_ARG_S
, PARROT_ARG_I
},
11773 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
11778 /* type PARROT_INLINE_OP, */
11781 "Parrot_substr_s_sc_i",
11785 { PARROT_ARG_S
, PARROT_ARG_SC
, PARROT_ARG_I
},
11786 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
11791 /* type PARROT_INLINE_OP, */
11794 "Parrot_substr_s_s_ic",
11798 { PARROT_ARG_S
, PARROT_ARG_S
, PARROT_ARG_IC
},
11799 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
11804 /* type PARROT_INLINE_OP, */
11807 "Parrot_substr_s_sc_ic",
11811 { PARROT_ARG_S
, PARROT_ARG_SC
, PARROT_ARG_IC
},
11812 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
11817 /* type PARROT_INLINE_OP, */
11820 "Parrot_substr_s_s_i_i",
11824 { PARROT_ARG_S
, PARROT_ARG_S
, PARROT_ARG_I
, PARROT_ARG_I
},
11825 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
11830 /* type PARROT_INLINE_OP, */
11833 "Parrot_substr_s_sc_i_i",
11837 { PARROT_ARG_S
, PARROT_ARG_SC
, PARROT_ARG_I
, PARROT_ARG_I
},
11838 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
11843 /* type PARROT_INLINE_OP, */
11846 "Parrot_substr_s_s_ic_i",
11850 { PARROT_ARG_S
, PARROT_ARG_S
, PARROT_ARG_IC
, PARROT_ARG_I
},
11851 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
11856 /* type PARROT_INLINE_OP, */
11858 "substr_s_sc_ic_i",
11859 "Parrot_substr_s_sc_ic_i",
11863 { PARROT_ARG_S
, PARROT_ARG_SC
, PARROT_ARG_IC
, PARROT_ARG_I
},
11864 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
11869 /* type PARROT_INLINE_OP, */
11872 "Parrot_substr_s_s_i_ic",
11876 { PARROT_ARG_S
, PARROT_ARG_S
, PARROT_ARG_I
, PARROT_ARG_IC
},
11877 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
11882 /* type PARROT_INLINE_OP, */
11884 "substr_s_sc_i_ic",
11885 "Parrot_substr_s_sc_i_ic",
11889 { PARROT_ARG_S
, PARROT_ARG_SC
, PARROT_ARG_I
, PARROT_ARG_IC
},
11890 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
11895 /* type PARROT_INLINE_OP, */
11897 "substr_s_s_ic_ic",
11898 "Parrot_substr_s_s_ic_ic",
11902 { PARROT_ARG_S
, PARROT_ARG_S
, PARROT_ARG_IC
, PARROT_ARG_IC
},
11903 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
11908 /* type PARROT_INLINE_OP, */
11910 "substr_s_sc_ic_ic",
11911 "Parrot_substr_s_sc_ic_ic",
11915 { PARROT_ARG_S
, PARROT_ARG_SC
, PARROT_ARG_IC
, PARROT_ARG_IC
},
11916 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
11921 /* type PARROT_INLINE_OP, */
11924 "Parrot_substr_s_p_i_i",
11928 { PARROT_ARG_S
, PARROT_ARG_P
, PARROT_ARG_I
, PARROT_ARG_I
},
11929 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
11934 /* type PARROT_INLINE_OP, */
11937 "Parrot_substr_s_p_ic_i",
11941 { PARROT_ARG_S
, PARROT_ARG_P
, PARROT_ARG_IC
, PARROT_ARG_I
},
11942 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
11947 /* type PARROT_INLINE_OP, */
11950 "Parrot_substr_s_p_i_ic",
11954 { PARROT_ARG_S
, PARROT_ARG_P
, PARROT_ARG_I
, PARROT_ARG_IC
},
11955 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
11960 /* type PARROT_INLINE_OP, */
11962 "substr_s_p_ic_ic",
11963 "Parrot_substr_s_p_ic_ic",
11967 { PARROT_ARG_S
, PARROT_ARG_P
, PARROT_ARG_IC
, PARROT_ARG_IC
},
11968 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
11973 /* type PARROT_INLINE_OP, */
11975 "replace_s_s_i_i_s",
11976 "Parrot_replace_s_s_i_i_s",
11980 { PARROT_ARG_S
, PARROT_ARG_S
, PARROT_ARG_I
, PARROT_ARG_I
, PARROT_ARG_S
},
11981 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
11986 /* type PARROT_INLINE_OP, */
11988 "replace_s_sc_i_i_s",
11989 "Parrot_replace_s_sc_i_i_s",
11993 { PARROT_ARG_S
, PARROT_ARG_SC
, PARROT_ARG_I
, PARROT_ARG_I
, PARROT_ARG_S
},
11994 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
11999 /* type PARROT_INLINE_OP, */
12001 "replace_s_s_ic_i_s",
12002 "Parrot_replace_s_s_ic_i_s",
12006 { PARROT_ARG_S
, PARROT_ARG_S
, PARROT_ARG_IC
, PARROT_ARG_I
, PARROT_ARG_S
},
12007 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
12012 /* type PARROT_INLINE_OP, */
12014 "replace_s_sc_ic_i_s",
12015 "Parrot_replace_s_sc_ic_i_s",
12019 { PARROT_ARG_S
, PARROT_ARG_SC
, PARROT_ARG_IC
, PARROT_ARG_I
, PARROT_ARG_S
},
12020 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
12025 /* type PARROT_INLINE_OP, */
12027 "replace_s_s_i_ic_s",
12028 "Parrot_replace_s_s_i_ic_s",
12032 { PARROT_ARG_S
, PARROT_ARG_S
, PARROT_ARG_I
, PARROT_ARG_IC
, PARROT_ARG_S
},
12033 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
12038 /* type PARROT_INLINE_OP, */
12040 "replace_s_sc_i_ic_s",
12041 "Parrot_replace_s_sc_i_ic_s",
12045 { PARROT_ARG_S
, PARROT_ARG_SC
, PARROT_ARG_I
, PARROT_ARG_IC
, PARROT_ARG_S
},
12046 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
12051 /* type PARROT_INLINE_OP, */
12053 "replace_s_s_ic_ic_s",
12054 "Parrot_replace_s_s_ic_ic_s",
12058 { PARROT_ARG_S
, PARROT_ARG_S
, PARROT_ARG_IC
, PARROT_ARG_IC
, PARROT_ARG_S
},
12059 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
12064 /* type PARROT_INLINE_OP, */
12066 "replace_s_sc_ic_ic_s",
12067 "Parrot_replace_s_sc_ic_ic_s",
12071 { PARROT_ARG_S
, PARROT_ARG_SC
, PARROT_ARG_IC
, PARROT_ARG_IC
, PARROT_ARG_S
},
12072 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
12077 /* type PARROT_INLINE_OP, */
12079 "replace_s_s_i_i_sc",
12080 "Parrot_replace_s_s_i_i_sc",
12084 { PARROT_ARG_S
, PARROT_ARG_S
, PARROT_ARG_I
, PARROT_ARG_I
, PARROT_ARG_SC
},
12085 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
12090 /* type PARROT_INLINE_OP, */
12092 "replace_s_sc_i_i_sc",
12093 "Parrot_replace_s_sc_i_i_sc",
12097 { PARROT_ARG_S
, PARROT_ARG_SC
, PARROT_ARG_I
, PARROT_ARG_I
, PARROT_ARG_SC
},
12098 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
12103 /* type PARROT_INLINE_OP, */
12105 "replace_s_s_ic_i_sc",
12106 "Parrot_replace_s_s_ic_i_sc",
12110 { PARROT_ARG_S
, PARROT_ARG_S
, PARROT_ARG_IC
, PARROT_ARG_I
, PARROT_ARG_SC
},
12111 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
12116 /* type PARROT_INLINE_OP, */
12118 "replace_s_sc_ic_i_sc",
12119 "Parrot_replace_s_sc_ic_i_sc",
12123 { PARROT_ARG_S
, PARROT_ARG_SC
, PARROT_ARG_IC
, PARROT_ARG_I
, PARROT_ARG_SC
},
12124 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
12129 /* type PARROT_INLINE_OP, */
12131 "replace_s_s_i_ic_sc",
12132 "Parrot_replace_s_s_i_ic_sc",
12136 { PARROT_ARG_S
, PARROT_ARG_S
, PARROT_ARG_I
, PARROT_ARG_IC
, PARROT_ARG_SC
},
12137 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
12142 /* type PARROT_INLINE_OP, */
12144 "replace_s_sc_i_ic_sc",
12145 "Parrot_replace_s_sc_i_ic_sc",
12149 { PARROT_ARG_S
, PARROT_ARG_SC
, PARROT_ARG_I
, PARROT_ARG_IC
, PARROT_ARG_SC
},
12150 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
12155 /* type PARROT_INLINE_OP, */
12157 "replace_s_s_ic_ic_sc",
12158 "Parrot_replace_s_s_ic_ic_sc",
12162 { PARROT_ARG_S
, PARROT_ARG_S
, PARROT_ARG_IC
, PARROT_ARG_IC
, PARROT_ARG_SC
},
12163 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
12168 /* type PARROT_INLINE_OP, */
12170 "replace_s_sc_ic_ic_sc",
12171 "Parrot_replace_s_sc_ic_ic_sc",
12175 { PARROT_ARG_S
, PARROT_ARG_SC
, PARROT_ARG_IC
, PARROT_ARG_IC
, PARROT_ARG_SC
},
12176 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
12181 /* type PARROT_INLINE_OP, */
12184 "Parrot_index_i_s_s",
12188 { PARROT_ARG_I
, PARROT_ARG_S
, PARROT_ARG_S
},
12189 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
12194 /* type PARROT_INLINE_OP, */
12197 "Parrot_index_i_sc_s",
12201 { PARROT_ARG_I
, PARROT_ARG_SC
, PARROT_ARG_S
},
12202 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
12207 /* type PARROT_INLINE_OP, */
12210 "Parrot_index_i_s_sc",
12214 { PARROT_ARG_I
, PARROT_ARG_S
, PARROT_ARG_SC
},
12215 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
12220 /* type PARROT_INLINE_OP, */
12223 "Parrot_index_i_sc_sc",
12227 { PARROT_ARG_I
, PARROT_ARG_SC
, PARROT_ARG_SC
},
12228 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
12233 /* type PARROT_INLINE_OP, */
12236 "Parrot_index_i_s_s_i",
12240 { PARROT_ARG_I
, PARROT_ARG_S
, PARROT_ARG_S
, PARROT_ARG_I
},
12241 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
12246 /* type PARROT_INLINE_OP, */
12249 "Parrot_index_i_sc_s_i",
12253 { PARROT_ARG_I
, PARROT_ARG_SC
, PARROT_ARG_S
, PARROT_ARG_I
},
12254 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
12259 /* type PARROT_INLINE_OP, */
12262 "Parrot_index_i_s_sc_i",
12266 { PARROT_ARG_I
, PARROT_ARG_S
, PARROT_ARG_SC
, PARROT_ARG_I
},
12267 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
12272 /* type PARROT_INLINE_OP, */
12275 "Parrot_index_i_sc_sc_i",
12279 { PARROT_ARG_I
, PARROT_ARG_SC
, PARROT_ARG_SC
, PARROT_ARG_I
},
12280 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
12285 /* type PARROT_INLINE_OP, */
12288 "Parrot_index_i_s_s_ic",
12292 { PARROT_ARG_I
, PARROT_ARG_S
, PARROT_ARG_S
, PARROT_ARG_IC
},
12293 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
12298 /* type PARROT_INLINE_OP, */
12301 "Parrot_index_i_sc_s_ic",
12305 { PARROT_ARG_I
, PARROT_ARG_SC
, PARROT_ARG_S
, PARROT_ARG_IC
},
12306 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
12311 /* type PARROT_INLINE_OP, */
12314 "Parrot_index_i_s_sc_ic",
12318 { PARROT_ARG_I
, PARROT_ARG_S
, PARROT_ARG_SC
, PARROT_ARG_IC
},
12319 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
12324 /* type PARROT_INLINE_OP, */
12326 "index_i_sc_sc_ic",
12327 "Parrot_index_i_sc_sc_ic",
12331 { PARROT_ARG_I
, PARROT_ARG_SC
, PARROT_ARG_SC
, PARROT_ARG_IC
},
12332 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
12337 /* type PARROT_INLINE_OP, */
12340 "Parrot_sprintf_s_s_p",
12344 { PARROT_ARG_S
, PARROT_ARG_S
, PARROT_ARG_P
},
12345 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
12350 /* type PARROT_INLINE_OP, */
12353 "Parrot_sprintf_s_sc_p",
12357 { PARROT_ARG_S
, PARROT_ARG_SC
, PARROT_ARG_P
},
12358 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
12363 /* type PARROT_INLINE_OP, */
12366 "Parrot_sprintf_p_p_p",
12370 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_P
},
12371 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
12376 /* type PARROT_INLINE_OP, */
12384 { PARROT_ARGDIR_OUT
},
12389 /* type PARROT_INLINE_OP, */
12396 { PARROT_ARG_S
, PARROT_ARG_I
},
12397 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
12402 /* type PARROT_INLINE_OP, */
12409 { PARROT_ARG_S
, PARROT_ARG_IC
},
12410 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
12415 /* type PARROT_INLINE_OP, */
12417 "stringinfo_i_s_i",
12418 "Parrot_stringinfo_i_s_i",
12422 { PARROT_ARG_I
, PARROT_ARG_S
, PARROT_ARG_I
},
12423 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
12428 /* type PARROT_INLINE_OP, */
12430 "stringinfo_i_sc_i",
12431 "Parrot_stringinfo_i_sc_i",
12435 { PARROT_ARG_I
, PARROT_ARG_SC
, PARROT_ARG_I
},
12436 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
12441 /* type PARROT_INLINE_OP, */
12443 "stringinfo_i_s_ic",
12444 "Parrot_stringinfo_i_s_ic",
12448 { PARROT_ARG_I
, PARROT_ARG_S
, PARROT_ARG_IC
},
12449 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
12454 /* type PARROT_INLINE_OP, */
12456 "stringinfo_i_sc_ic",
12457 "Parrot_stringinfo_i_sc_ic",
12461 { PARROT_ARG_I
, PARROT_ARG_SC
, PARROT_ARG_IC
},
12462 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
12467 /* type PARROT_INLINE_OP, */
12470 "Parrot_upcase_s_s",
12474 { PARROT_ARG_S
, PARROT_ARG_S
},
12475 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
12480 /* type PARROT_INLINE_OP, */
12483 "Parrot_upcase_s_sc",
12487 { PARROT_ARG_S
, PARROT_ARG_SC
},
12488 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
12493 /* type PARROT_INLINE_OP, */
12496 "Parrot_downcase_s_s",
12500 { PARROT_ARG_S
, PARROT_ARG_S
},
12501 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
12506 /* type PARROT_INLINE_OP, */
12509 "Parrot_downcase_s_sc",
12513 { PARROT_ARG_S
, PARROT_ARG_SC
},
12514 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
12519 /* type PARROT_INLINE_OP, */
12522 "Parrot_titlecase_s_s",
12526 { PARROT_ARG_S
, PARROT_ARG_S
},
12527 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
12532 /* type PARROT_INLINE_OP, */
12535 "Parrot_titlecase_s_sc",
12539 { PARROT_ARG_S
, PARROT_ARG_SC
},
12540 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
12545 /* type PARROT_FUNCTION_OP, */
12548 "Parrot_join_s_s_p",
12552 { PARROT_ARG_S
, PARROT_ARG_S
, PARROT_ARG_P
},
12553 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
12558 /* type PARROT_FUNCTION_OP, */
12561 "Parrot_join_s_sc_p",
12565 { PARROT_ARG_S
, PARROT_ARG_SC
, PARROT_ARG_P
},
12566 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
12571 /* type PARROT_FUNCTION_OP, */
12574 "Parrot_split_p_s_s",
12578 { PARROT_ARG_P
, PARROT_ARG_S
, PARROT_ARG_S
},
12579 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
12584 /* type PARROT_FUNCTION_OP, */
12587 "Parrot_split_p_sc_s",
12591 { PARROT_ARG_P
, PARROT_ARG_SC
, PARROT_ARG_S
},
12592 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
12597 /* type PARROT_FUNCTION_OP, */
12600 "Parrot_split_p_s_sc",
12604 { PARROT_ARG_P
, PARROT_ARG_S
, PARROT_ARG_SC
},
12605 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
12610 /* type PARROT_FUNCTION_OP, */
12613 "Parrot_split_p_sc_sc",
12617 { PARROT_ARG_P
, PARROT_ARG_SC
, PARROT_ARG_SC
},
12618 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
12623 /* type PARROT_FUNCTION_OP, */
12626 "Parrot_charset_i_s",
12630 { PARROT_ARG_I
, PARROT_ARG_S
},
12631 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
12636 /* type PARROT_FUNCTION_OP, */
12639 "Parrot_charset_i_sc",
12643 { PARROT_ARG_I
, PARROT_ARG_SC
},
12644 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
12649 /* type PARROT_FUNCTION_OP, */
12652 "Parrot_charsetname_s_i",
12656 { PARROT_ARG_S
, PARROT_ARG_I
},
12657 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
12662 /* type PARROT_FUNCTION_OP, */
12664 "charsetname_s_ic",
12665 "Parrot_charsetname_s_ic",
12669 { PARROT_ARG_S
, PARROT_ARG_IC
},
12670 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
12675 /* type PARROT_FUNCTION_OP, */
12677 "find_charset_i_s",
12678 "Parrot_find_charset_i_s",
12682 { PARROT_ARG_I
, PARROT_ARG_S
},
12683 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
12688 /* type PARROT_FUNCTION_OP, */
12690 "find_charset_i_sc",
12691 "Parrot_find_charset_i_sc",
12695 { PARROT_ARG_I
, PARROT_ARG_SC
},
12696 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
12701 /* type PARROT_FUNCTION_OP, */
12703 "trans_charset_s_s_i",
12704 "Parrot_trans_charset_s_s_i",
12708 { PARROT_ARG_S
, PARROT_ARG_S
, PARROT_ARG_I
},
12709 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
12714 /* type PARROT_FUNCTION_OP, */
12716 "trans_charset_s_sc_i",
12717 "Parrot_trans_charset_s_sc_i",
12721 { PARROT_ARG_S
, PARROT_ARG_SC
, PARROT_ARG_I
},
12722 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
12727 /* type PARROT_FUNCTION_OP, */
12729 "trans_charset_s_s_ic",
12730 "Parrot_trans_charset_s_s_ic",
12734 { PARROT_ARG_S
, PARROT_ARG_S
, PARROT_ARG_IC
},
12735 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
12740 /* type PARROT_FUNCTION_OP, */
12742 "trans_charset_s_sc_ic",
12743 "Parrot_trans_charset_s_sc_ic",
12747 { PARROT_ARG_S
, PARROT_ARG_SC
, PARROT_ARG_IC
},
12748 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
12753 /* type PARROT_FUNCTION_OP, */
12756 "Parrot_encoding_i_s",
12760 { PARROT_ARG_I
, PARROT_ARG_S
},
12761 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
12766 /* type PARROT_FUNCTION_OP, */
12769 "Parrot_encoding_i_sc",
12773 { PARROT_ARG_I
, PARROT_ARG_SC
},
12774 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
12779 /* type PARROT_FUNCTION_OP, */
12781 "encodingname_s_i",
12782 "Parrot_encodingname_s_i",
12786 { PARROT_ARG_S
, PARROT_ARG_I
},
12787 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
12792 /* type PARROT_FUNCTION_OP, */
12794 "encodingname_s_ic",
12795 "Parrot_encodingname_s_ic",
12799 { PARROT_ARG_S
, PARROT_ARG_IC
},
12800 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
12805 /* type PARROT_FUNCTION_OP, */
12807 "find_encoding_i_s",
12808 "Parrot_find_encoding_i_s",
12812 { PARROT_ARG_I
, PARROT_ARG_S
},
12813 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
12818 /* type PARROT_FUNCTION_OP, */
12820 "find_encoding_i_sc",
12821 "Parrot_find_encoding_i_sc",
12825 { PARROT_ARG_I
, PARROT_ARG_SC
},
12826 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
12831 /* type PARROT_FUNCTION_OP, */
12833 "trans_encoding_s_s_i",
12834 "Parrot_trans_encoding_s_s_i",
12838 { PARROT_ARG_S
, PARROT_ARG_S
, PARROT_ARG_I
},
12839 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
12844 /* type PARROT_FUNCTION_OP, */
12846 "trans_encoding_s_sc_i",
12847 "Parrot_trans_encoding_s_sc_i",
12851 { PARROT_ARG_S
, PARROT_ARG_SC
, PARROT_ARG_I
},
12852 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
12857 /* type PARROT_FUNCTION_OP, */
12859 "trans_encoding_s_s_ic",
12860 "Parrot_trans_encoding_s_s_ic",
12864 { PARROT_ARG_S
, PARROT_ARG_S
, PARROT_ARG_IC
},
12865 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
12870 /* type PARROT_FUNCTION_OP, */
12872 "trans_encoding_s_sc_ic",
12873 "Parrot_trans_encoding_s_sc_ic",
12877 { PARROT_ARG_S
, PARROT_ARG_SC
, PARROT_ARG_IC
},
12878 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
12883 /* type PARROT_INLINE_OP, */
12885 "is_cclass_i_i_s_i",
12886 "Parrot_is_cclass_i_i_s_i",
12890 { PARROT_ARG_I
, PARROT_ARG_I
, PARROT_ARG_S
, PARROT_ARG_I
},
12891 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
12896 /* type PARROT_INLINE_OP, */
12898 "is_cclass_i_ic_s_i",
12899 "Parrot_is_cclass_i_ic_s_i",
12903 { PARROT_ARG_I
, PARROT_ARG_IC
, PARROT_ARG_S
, PARROT_ARG_I
},
12904 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
12909 /* type PARROT_INLINE_OP, */
12911 "is_cclass_i_i_sc_i",
12912 "Parrot_is_cclass_i_i_sc_i",
12916 { PARROT_ARG_I
, PARROT_ARG_I
, PARROT_ARG_SC
, PARROT_ARG_I
},
12917 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
12922 /* type PARROT_INLINE_OP, */
12924 "is_cclass_i_ic_sc_i",
12925 "Parrot_is_cclass_i_ic_sc_i",
12929 { PARROT_ARG_I
, PARROT_ARG_IC
, PARROT_ARG_SC
, PARROT_ARG_I
},
12930 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
12935 /* type PARROT_INLINE_OP, */
12937 "is_cclass_i_i_s_ic",
12938 "Parrot_is_cclass_i_i_s_ic",
12942 { PARROT_ARG_I
, PARROT_ARG_I
, PARROT_ARG_S
, PARROT_ARG_IC
},
12943 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
12948 /* type PARROT_INLINE_OP, */
12950 "is_cclass_i_ic_s_ic",
12951 "Parrot_is_cclass_i_ic_s_ic",
12955 { PARROT_ARG_I
, PARROT_ARG_IC
, PARROT_ARG_S
, PARROT_ARG_IC
},
12956 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
12961 /* type PARROT_INLINE_OP, */
12963 "is_cclass_i_i_sc_ic",
12964 "Parrot_is_cclass_i_i_sc_ic",
12968 { PARROT_ARG_I
, PARROT_ARG_I
, PARROT_ARG_SC
, PARROT_ARG_IC
},
12969 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
12974 /* type PARROT_INLINE_OP, */
12976 "is_cclass_i_ic_sc_ic",
12977 "Parrot_is_cclass_i_ic_sc_ic",
12981 { PARROT_ARG_I
, PARROT_ARG_IC
, PARROT_ARG_SC
, PARROT_ARG_IC
},
12982 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
12987 /* type PARROT_INLINE_OP, */
12989 "find_cclass_i_i_s_i_i",
12990 "Parrot_find_cclass_i_i_s_i_i",
12994 { PARROT_ARG_I
, PARROT_ARG_I
, PARROT_ARG_S
, PARROT_ARG_I
, PARROT_ARG_I
},
12995 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
13000 /* type PARROT_INLINE_OP, */
13002 "find_cclass_i_ic_s_i_i",
13003 "Parrot_find_cclass_i_ic_s_i_i",
13007 { PARROT_ARG_I
, PARROT_ARG_IC
, PARROT_ARG_S
, PARROT_ARG_I
, PARROT_ARG_I
},
13008 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
13013 /* type PARROT_INLINE_OP, */
13015 "find_cclass_i_i_sc_i_i",
13016 "Parrot_find_cclass_i_i_sc_i_i",
13020 { PARROT_ARG_I
, PARROT_ARG_I
, PARROT_ARG_SC
, PARROT_ARG_I
, PARROT_ARG_I
},
13021 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
13026 /* type PARROT_INLINE_OP, */
13028 "find_cclass_i_ic_sc_i_i",
13029 "Parrot_find_cclass_i_ic_sc_i_i",
13033 { PARROT_ARG_I
, PARROT_ARG_IC
, PARROT_ARG_SC
, PARROT_ARG_I
, PARROT_ARG_I
},
13034 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
13039 /* type PARROT_INLINE_OP, */
13041 "find_cclass_i_i_s_ic_i",
13042 "Parrot_find_cclass_i_i_s_ic_i",
13046 { PARROT_ARG_I
, PARROT_ARG_I
, PARROT_ARG_S
, PARROT_ARG_IC
, PARROT_ARG_I
},
13047 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
13052 /* type PARROT_INLINE_OP, */
13054 "find_cclass_i_ic_s_ic_i",
13055 "Parrot_find_cclass_i_ic_s_ic_i",
13059 { PARROT_ARG_I
, PARROT_ARG_IC
, PARROT_ARG_S
, PARROT_ARG_IC
, PARROT_ARG_I
},
13060 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
13065 /* type PARROT_INLINE_OP, */
13067 "find_cclass_i_i_sc_ic_i",
13068 "Parrot_find_cclass_i_i_sc_ic_i",
13072 { PARROT_ARG_I
, PARROT_ARG_I
, PARROT_ARG_SC
, PARROT_ARG_IC
, PARROT_ARG_I
},
13073 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
13078 /* type PARROT_INLINE_OP, */
13080 "find_cclass_i_ic_sc_ic_i",
13081 "Parrot_find_cclass_i_ic_sc_ic_i",
13085 { PARROT_ARG_I
, PARROT_ARG_IC
, PARROT_ARG_SC
, PARROT_ARG_IC
, PARROT_ARG_I
},
13086 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
13091 /* type PARROT_INLINE_OP, */
13093 "find_cclass_i_i_s_i_ic",
13094 "Parrot_find_cclass_i_i_s_i_ic",
13098 { PARROT_ARG_I
, PARROT_ARG_I
, PARROT_ARG_S
, PARROT_ARG_I
, PARROT_ARG_IC
},
13099 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
13104 /* type PARROT_INLINE_OP, */
13106 "find_cclass_i_ic_s_i_ic",
13107 "Parrot_find_cclass_i_ic_s_i_ic",
13111 { PARROT_ARG_I
, PARROT_ARG_IC
, PARROT_ARG_S
, PARROT_ARG_I
, PARROT_ARG_IC
},
13112 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
13117 /* type PARROT_INLINE_OP, */
13119 "find_cclass_i_i_sc_i_ic",
13120 "Parrot_find_cclass_i_i_sc_i_ic",
13124 { PARROT_ARG_I
, PARROT_ARG_I
, PARROT_ARG_SC
, PARROT_ARG_I
, PARROT_ARG_IC
},
13125 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
13130 /* type PARROT_INLINE_OP, */
13132 "find_cclass_i_ic_sc_i_ic",
13133 "Parrot_find_cclass_i_ic_sc_i_ic",
13137 { PARROT_ARG_I
, PARROT_ARG_IC
, PARROT_ARG_SC
, PARROT_ARG_I
, PARROT_ARG_IC
},
13138 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
13143 /* type PARROT_INLINE_OP, */
13145 "find_cclass_i_i_s_ic_ic",
13146 "Parrot_find_cclass_i_i_s_ic_ic",
13150 { PARROT_ARG_I
, PARROT_ARG_I
, PARROT_ARG_S
, PARROT_ARG_IC
, PARROT_ARG_IC
},
13151 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
13156 /* type PARROT_INLINE_OP, */
13158 "find_cclass_i_ic_s_ic_ic",
13159 "Parrot_find_cclass_i_ic_s_ic_ic",
13163 { PARROT_ARG_I
, PARROT_ARG_IC
, PARROT_ARG_S
, PARROT_ARG_IC
, PARROT_ARG_IC
},
13164 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
13169 /* type PARROT_INLINE_OP, */
13171 "find_cclass_i_i_sc_ic_ic",
13172 "Parrot_find_cclass_i_i_sc_ic_ic",
13176 { PARROT_ARG_I
, PARROT_ARG_I
, PARROT_ARG_SC
, PARROT_ARG_IC
, PARROT_ARG_IC
},
13177 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
13182 /* type PARROT_INLINE_OP, */
13184 "find_cclass_i_ic_sc_ic_ic",
13185 "Parrot_find_cclass_i_ic_sc_ic_ic",
13189 { PARROT_ARG_I
, PARROT_ARG_IC
, PARROT_ARG_SC
, PARROT_ARG_IC
, PARROT_ARG_IC
},
13190 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
13195 /* type PARROT_INLINE_OP, */
13197 "find_not_cclass_i_i_s_i_i",
13198 "Parrot_find_not_cclass_i_i_s_i_i",
13202 { PARROT_ARG_I
, PARROT_ARG_I
, PARROT_ARG_S
, PARROT_ARG_I
, PARROT_ARG_I
},
13203 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
13208 /* type PARROT_INLINE_OP, */
13210 "find_not_cclass_i_ic_s_i_i",
13211 "Parrot_find_not_cclass_i_ic_s_i_i",
13215 { PARROT_ARG_I
, PARROT_ARG_IC
, PARROT_ARG_S
, PARROT_ARG_I
, PARROT_ARG_I
},
13216 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
13221 /* type PARROT_INLINE_OP, */
13223 "find_not_cclass_i_i_sc_i_i",
13224 "Parrot_find_not_cclass_i_i_sc_i_i",
13228 { PARROT_ARG_I
, PARROT_ARG_I
, PARROT_ARG_SC
, PARROT_ARG_I
, PARROT_ARG_I
},
13229 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
13234 /* type PARROT_INLINE_OP, */
13236 "find_not_cclass_i_ic_sc_i_i",
13237 "Parrot_find_not_cclass_i_ic_sc_i_i",
13241 { PARROT_ARG_I
, PARROT_ARG_IC
, PARROT_ARG_SC
, PARROT_ARG_I
, PARROT_ARG_I
},
13242 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
13247 /* type PARROT_INLINE_OP, */
13249 "find_not_cclass_i_i_s_ic_i",
13250 "Parrot_find_not_cclass_i_i_s_ic_i",
13254 { PARROT_ARG_I
, PARROT_ARG_I
, PARROT_ARG_S
, PARROT_ARG_IC
, PARROT_ARG_I
},
13255 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
13260 /* type PARROT_INLINE_OP, */
13262 "find_not_cclass_i_ic_s_ic_i",
13263 "Parrot_find_not_cclass_i_ic_s_ic_i",
13267 { PARROT_ARG_I
, PARROT_ARG_IC
, PARROT_ARG_S
, PARROT_ARG_IC
, PARROT_ARG_I
},
13268 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
13273 /* type PARROT_INLINE_OP, */
13275 "find_not_cclass_i_i_sc_ic_i",
13276 "Parrot_find_not_cclass_i_i_sc_ic_i",
13280 { PARROT_ARG_I
, PARROT_ARG_I
, PARROT_ARG_SC
, PARROT_ARG_IC
, PARROT_ARG_I
},
13281 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
13286 /* type PARROT_INLINE_OP, */
13288 "find_not_cclass_i_ic_sc_ic_i",
13289 "Parrot_find_not_cclass_i_ic_sc_ic_i",
13293 { PARROT_ARG_I
, PARROT_ARG_IC
, PARROT_ARG_SC
, PARROT_ARG_IC
, PARROT_ARG_I
},
13294 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
13299 /* type PARROT_INLINE_OP, */
13301 "find_not_cclass_i_i_s_i_ic",
13302 "Parrot_find_not_cclass_i_i_s_i_ic",
13306 { PARROT_ARG_I
, PARROT_ARG_I
, PARROT_ARG_S
, PARROT_ARG_I
, PARROT_ARG_IC
},
13307 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
13312 /* type PARROT_INLINE_OP, */
13314 "find_not_cclass_i_ic_s_i_ic",
13315 "Parrot_find_not_cclass_i_ic_s_i_ic",
13319 { PARROT_ARG_I
, PARROT_ARG_IC
, PARROT_ARG_S
, PARROT_ARG_I
, PARROT_ARG_IC
},
13320 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
13325 /* type PARROT_INLINE_OP, */
13327 "find_not_cclass_i_i_sc_i_ic",
13328 "Parrot_find_not_cclass_i_i_sc_i_ic",
13332 { PARROT_ARG_I
, PARROT_ARG_I
, PARROT_ARG_SC
, PARROT_ARG_I
, PARROT_ARG_IC
},
13333 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
13338 /* type PARROT_INLINE_OP, */
13340 "find_not_cclass_i_ic_sc_i_ic",
13341 "Parrot_find_not_cclass_i_ic_sc_i_ic",
13345 { PARROT_ARG_I
, PARROT_ARG_IC
, PARROT_ARG_SC
, PARROT_ARG_I
, PARROT_ARG_IC
},
13346 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
13351 /* type PARROT_INLINE_OP, */
13353 "find_not_cclass_i_i_s_ic_ic",
13354 "Parrot_find_not_cclass_i_i_s_ic_ic",
13358 { PARROT_ARG_I
, PARROT_ARG_I
, PARROT_ARG_S
, PARROT_ARG_IC
, PARROT_ARG_IC
},
13359 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
13364 /* type PARROT_INLINE_OP, */
13366 "find_not_cclass_i_ic_s_ic_ic",
13367 "Parrot_find_not_cclass_i_ic_s_ic_ic",
13371 { PARROT_ARG_I
, PARROT_ARG_IC
, PARROT_ARG_S
, PARROT_ARG_IC
, PARROT_ARG_IC
},
13372 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
13377 /* type PARROT_INLINE_OP, */
13379 "find_not_cclass_i_i_sc_ic_ic",
13380 "Parrot_find_not_cclass_i_i_sc_ic_ic",
13384 { PARROT_ARG_I
, PARROT_ARG_I
, PARROT_ARG_SC
, PARROT_ARG_IC
, PARROT_ARG_IC
},
13385 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
13390 /* type PARROT_INLINE_OP, */
13392 "find_not_cclass_i_ic_sc_ic_ic",
13393 "Parrot_find_not_cclass_i_ic_sc_ic_ic",
13397 { PARROT_ARG_I
, PARROT_ARG_IC
, PARROT_ARG_SC
, PARROT_ARG_IC
, PARROT_ARG_IC
},
13398 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
13403 /* type PARROT_FUNCTION_OP, */
13406 "Parrot_escape_s_s",
13410 { PARROT_ARG_S
, PARROT_ARG_S
},
13411 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
13416 /* type PARROT_FUNCTION_OP, */
13419 "Parrot_compose_s_s",
13423 { PARROT_ARG_S
, PARROT_ARG_S
},
13424 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
13429 /* type PARROT_FUNCTION_OP, */
13432 "Parrot_compose_s_sc",
13436 { PARROT_ARG_S
, PARROT_ARG_SC
},
13437 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
13442 /* type PARROT_INLINE_OP, */
13445 "Parrot_spawnw_i_s",
13449 { PARROT_ARG_I
, PARROT_ARG_S
},
13450 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
13455 /* type PARROT_INLINE_OP, */
13458 "Parrot_spawnw_i_sc",
13462 { PARROT_ARG_I
, PARROT_ARG_SC
},
13463 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
13468 /* type PARROT_INLINE_OP, */
13471 "Parrot_spawnw_i_p",
13475 { PARROT_ARG_I
, PARROT_ARG_P
},
13476 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
13481 /* type PARROT_INLINE_OP, */
13489 { PARROT_ARGDIR_OUT
},
13494 /* type PARROT_FUNCTION_OP, */
13502 { PARROT_ARGDIR_OUT
},
13507 /* type PARROT_FUNCTION_OP, */
13514 { PARROT_ARG_S
, PARROT_ARG_I
},
13515 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
13520 /* type PARROT_FUNCTION_OP, */
13527 { PARROT_ARG_S
, PARROT_ARG_IC
},
13528 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
13533 /* type PARROT_INLINE_OP, */
13541 { PARROT_ARGDIR_OUT
},
13546 /* type PARROT_INLINE_OP, */
13554 { PARROT_ARGDIR_OUT
},
13559 /* type PARROT_INLINE_OP, */
13567 { PARROT_ARGDIR_IN
},
13572 /* type PARROT_INLINE_OP, */
13580 { PARROT_ARGDIR_IN
},
13585 /* type PARROT_INLINE_OP, */
13593 { PARROT_ARGDIR_IN
},
13598 /* type PARROT_INLINE_OP, */
13606 { PARROT_ARGDIR_IN
},
13611 /* type PARROT_FUNCTION_OP, */
13614 "Parrot_store_lex_s_p",
13618 { PARROT_ARG_S
, PARROT_ARG_P
},
13619 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
13624 /* type PARROT_FUNCTION_OP, */
13627 "Parrot_store_lex_sc_p",
13631 { PARROT_ARG_SC
, PARROT_ARG_P
},
13632 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
13637 /* type PARROT_FUNCTION_OP, */
13638 "store_dynamic_lex",
13639 "store_dynamic_lex_s_p",
13640 "Parrot_store_dynamic_lex_s_p",
13644 { PARROT_ARG_S
, PARROT_ARG_P
},
13645 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
13650 /* type PARROT_FUNCTION_OP, */
13651 "store_dynamic_lex",
13652 "store_dynamic_lex_sc_p",
13653 "Parrot_store_dynamic_lex_sc_p",
13657 { PARROT_ARG_SC
, PARROT_ARG_P
},
13658 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
13663 /* type PARROT_FUNCTION_OP, */
13666 "Parrot_find_lex_p_s",
13670 { PARROT_ARG_P
, PARROT_ARG_S
},
13671 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
13676 /* type PARROT_FUNCTION_OP, */
13679 "Parrot_find_lex_p_sc",
13683 { PARROT_ARG_P
, PARROT_ARG_SC
},
13684 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
13689 /* type PARROT_FUNCTION_OP, */
13690 "find_dynamic_lex",
13691 "find_dynamic_lex_p_s",
13692 "Parrot_find_dynamic_lex_p_s",
13696 { PARROT_ARG_P
, PARROT_ARG_S
},
13697 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
13702 /* type PARROT_FUNCTION_OP, */
13703 "find_dynamic_lex",
13704 "find_dynamic_lex_p_sc",
13705 "Parrot_find_dynamic_lex_p_sc",
13709 { PARROT_ARG_P
, PARROT_ARG_SC
},
13710 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
13715 /* type PARROT_FUNCTION_OP, */
13717 "find_caller_lex_p_s",
13718 "Parrot_find_caller_lex_p_s",
13722 { PARROT_ARG_P
, PARROT_ARG_S
},
13723 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
13728 /* type PARROT_FUNCTION_OP, */
13730 "find_caller_lex_p_sc",
13731 "Parrot_find_caller_lex_p_sc",
13735 { PARROT_ARG_P
, PARROT_ARG_SC
},
13736 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
13741 /* type PARROT_FUNCTION_OP, */
13744 "Parrot_get_namespace_p",
13749 { PARROT_ARGDIR_OUT
},
13754 /* type PARROT_FUNCTION_OP, */
13756 "get_namespace_p_p",
13757 "Parrot_get_namespace_p_p",
13761 { PARROT_ARG_P
, PARROT_ARG_P
},
13762 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
13767 /* type PARROT_FUNCTION_OP, */
13769 "get_namespace_p_pc",
13770 "Parrot_get_namespace_p_pc",
13774 { PARROT_ARG_P
, PARROT_ARG_PC
},
13775 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
13780 /* type PARROT_FUNCTION_OP, */
13781 "get_hll_namespace",
13782 "get_hll_namespace_p",
13783 "Parrot_get_hll_namespace_p",
13788 { PARROT_ARGDIR_OUT
},
13793 /* type PARROT_FUNCTION_OP, */
13794 "get_hll_namespace",
13795 "get_hll_namespace_p_p",
13796 "Parrot_get_hll_namespace_p_p",
13800 { PARROT_ARG_P
, PARROT_ARG_P
},
13801 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
13806 /* type PARROT_FUNCTION_OP, */
13807 "get_hll_namespace",
13808 "get_hll_namespace_p_pc",
13809 "Parrot_get_hll_namespace_p_pc",
13813 { PARROT_ARG_P
, PARROT_ARG_PC
},
13814 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
13819 /* type PARROT_FUNCTION_OP, */
13820 "get_root_namespace",
13821 "get_root_namespace_p",
13822 "Parrot_get_root_namespace_p",
13827 { PARROT_ARGDIR_OUT
},
13832 /* type PARROT_FUNCTION_OP, */
13833 "get_root_namespace",
13834 "get_root_namespace_p_p",
13835 "Parrot_get_root_namespace_p_p",
13839 { PARROT_ARG_P
, PARROT_ARG_P
},
13840 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
13845 /* type PARROT_FUNCTION_OP, */
13846 "get_root_namespace",
13847 "get_root_namespace_p_pc",
13848 "Parrot_get_root_namespace_p_pc",
13852 { PARROT_ARG_P
, PARROT_ARG_PC
},
13853 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
13858 /* type PARROT_FUNCTION_OP, */
13861 "Parrot_get_global_p_s",
13865 { PARROT_ARG_P
, PARROT_ARG_S
},
13866 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
13871 /* type PARROT_FUNCTION_OP, */
13874 "Parrot_get_global_p_sc",
13878 { PARROT_ARG_P
, PARROT_ARG_SC
},
13879 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
13884 /* type PARROT_FUNCTION_OP, */
13886 "get_global_p_p_s",
13887 "Parrot_get_global_p_p_s",
13891 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_S
},
13892 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
13897 /* type PARROT_FUNCTION_OP, */
13899 "get_global_p_pc_s",
13900 "Parrot_get_global_p_pc_s",
13904 { PARROT_ARG_P
, PARROT_ARG_PC
, PARROT_ARG_S
},
13905 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
13910 /* type PARROT_FUNCTION_OP, */
13912 "get_global_p_p_sc",
13913 "Parrot_get_global_p_p_sc",
13917 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_SC
},
13918 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
13923 /* type PARROT_FUNCTION_OP, */
13925 "get_global_p_pc_sc",
13926 "Parrot_get_global_p_pc_sc",
13930 { PARROT_ARG_P
, PARROT_ARG_PC
, PARROT_ARG_SC
},
13931 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
13936 /* type PARROT_FUNCTION_OP, */
13938 "get_hll_global_p_s",
13939 "Parrot_get_hll_global_p_s",
13943 { PARROT_ARG_P
, PARROT_ARG_S
},
13944 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
13949 /* type PARROT_FUNCTION_OP, */
13951 "get_hll_global_p_sc",
13952 "Parrot_get_hll_global_p_sc",
13956 { PARROT_ARG_P
, PARROT_ARG_SC
},
13957 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
13962 /* type PARROT_FUNCTION_OP, */
13964 "get_hll_global_p_p_s",
13965 "Parrot_get_hll_global_p_p_s",
13969 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_S
},
13970 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
13975 /* type PARROT_FUNCTION_OP, */
13977 "get_hll_global_p_pc_s",
13978 "Parrot_get_hll_global_p_pc_s",
13982 { PARROT_ARG_P
, PARROT_ARG_PC
, PARROT_ARG_S
},
13983 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
13988 /* type PARROT_FUNCTION_OP, */
13990 "get_hll_global_p_p_sc",
13991 "Parrot_get_hll_global_p_p_sc",
13995 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_SC
},
13996 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14001 /* type PARROT_FUNCTION_OP, */
14003 "get_hll_global_p_pc_sc",
14004 "Parrot_get_hll_global_p_pc_sc",
14008 { PARROT_ARG_P
, PARROT_ARG_PC
, PARROT_ARG_SC
},
14009 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14014 /* type PARROT_FUNCTION_OP, */
14016 "get_root_global_p_s",
14017 "Parrot_get_root_global_p_s",
14021 { PARROT_ARG_P
, PARROT_ARG_S
},
14022 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
14027 /* type PARROT_FUNCTION_OP, */
14029 "get_root_global_p_sc",
14030 "Parrot_get_root_global_p_sc",
14034 { PARROT_ARG_P
, PARROT_ARG_SC
},
14035 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
14040 /* type PARROT_FUNCTION_OP, */
14042 "get_root_global_p_p_s",
14043 "Parrot_get_root_global_p_p_s",
14047 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_S
},
14048 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14053 /* type PARROT_FUNCTION_OP, */
14055 "get_root_global_p_pc_s",
14056 "Parrot_get_root_global_p_pc_s",
14060 { PARROT_ARG_P
, PARROT_ARG_PC
, PARROT_ARG_S
},
14061 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14066 /* type PARROT_FUNCTION_OP, */
14068 "get_root_global_p_p_sc",
14069 "Parrot_get_root_global_p_p_sc",
14073 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_SC
},
14074 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14079 /* type PARROT_FUNCTION_OP, */
14081 "get_root_global_p_pc_sc",
14082 "Parrot_get_root_global_p_pc_sc",
14086 { PARROT_ARG_P
, PARROT_ARG_PC
, PARROT_ARG_SC
},
14087 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14092 /* type PARROT_FUNCTION_OP, */
14095 "Parrot_set_global_s_p",
14099 { PARROT_ARG_S
, PARROT_ARG_P
},
14100 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14105 /* type PARROT_FUNCTION_OP, */
14108 "Parrot_set_global_sc_p",
14112 { PARROT_ARG_SC
, PARROT_ARG_P
},
14113 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14118 /* type PARROT_FUNCTION_OP, */
14120 "set_global_p_s_p",
14121 "Parrot_set_global_p_s_p",
14125 { PARROT_ARG_P
, PARROT_ARG_S
, PARROT_ARG_P
},
14126 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14131 /* type PARROT_FUNCTION_OP, */
14133 "set_global_pc_s_p",
14134 "Parrot_set_global_pc_s_p",
14138 { PARROT_ARG_PC
, PARROT_ARG_S
, PARROT_ARG_P
},
14139 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14144 /* type PARROT_FUNCTION_OP, */
14146 "set_global_p_sc_p",
14147 "Parrot_set_global_p_sc_p",
14151 { PARROT_ARG_P
, PARROT_ARG_SC
, PARROT_ARG_P
},
14152 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14157 /* type PARROT_FUNCTION_OP, */
14159 "set_global_pc_sc_p",
14160 "Parrot_set_global_pc_sc_p",
14164 { PARROT_ARG_PC
, PARROT_ARG_SC
, PARROT_ARG_P
},
14165 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14170 /* type PARROT_FUNCTION_OP, */
14172 "set_hll_global_s_p",
14173 "Parrot_set_hll_global_s_p",
14177 { PARROT_ARG_S
, PARROT_ARG_P
},
14178 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14183 /* type PARROT_FUNCTION_OP, */
14185 "set_hll_global_sc_p",
14186 "Parrot_set_hll_global_sc_p",
14190 { PARROT_ARG_SC
, PARROT_ARG_P
},
14191 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14196 /* type PARROT_FUNCTION_OP, */
14198 "set_hll_global_p_s_p",
14199 "Parrot_set_hll_global_p_s_p",
14203 { PARROT_ARG_P
, PARROT_ARG_S
, PARROT_ARG_P
},
14204 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14209 /* type PARROT_FUNCTION_OP, */
14211 "set_hll_global_pc_s_p",
14212 "Parrot_set_hll_global_pc_s_p",
14216 { PARROT_ARG_PC
, PARROT_ARG_S
, PARROT_ARG_P
},
14217 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14222 /* type PARROT_FUNCTION_OP, */
14224 "set_hll_global_p_sc_p",
14225 "Parrot_set_hll_global_p_sc_p",
14229 { PARROT_ARG_P
, PARROT_ARG_SC
, PARROT_ARG_P
},
14230 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14235 /* type PARROT_FUNCTION_OP, */
14237 "set_hll_global_pc_sc_p",
14238 "Parrot_set_hll_global_pc_sc_p",
14242 { PARROT_ARG_PC
, PARROT_ARG_SC
, PARROT_ARG_P
},
14243 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14248 /* type PARROT_FUNCTION_OP, */
14250 "set_root_global_s_p",
14251 "Parrot_set_root_global_s_p",
14255 { PARROT_ARG_S
, PARROT_ARG_P
},
14256 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14261 /* type PARROT_FUNCTION_OP, */
14263 "set_root_global_sc_p",
14264 "Parrot_set_root_global_sc_p",
14268 { PARROT_ARG_SC
, PARROT_ARG_P
},
14269 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14274 /* type PARROT_FUNCTION_OP, */
14276 "set_root_global_p_s_p",
14277 "Parrot_set_root_global_p_s_p",
14281 { PARROT_ARG_P
, PARROT_ARG_S
, PARROT_ARG_P
},
14282 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14287 /* type PARROT_FUNCTION_OP, */
14289 "set_root_global_pc_s_p",
14290 "Parrot_set_root_global_pc_s_p",
14294 { PARROT_ARG_PC
, PARROT_ARG_S
, PARROT_ARG_P
},
14295 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14300 /* type PARROT_FUNCTION_OP, */
14302 "set_root_global_p_sc_p",
14303 "Parrot_set_root_global_p_sc_p",
14307 { PARROT_ARG_P
, PARROT_ARG_SC
, PARROT_ARG_P
},
14308 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14313 /* type PARROT_FUNCTION_OP, */
14315 "set_root_global_pc_sc_p",
14316 "Parrot_set_root_global_pc_sc_p",
14320 { PARROT_ARG_PC
, PARROT_ARG_SC
, PARROT_ARG_P
},
14321 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14326 /* type PARROT_FUNCTION_OP, */
14329 "Parrot_find_name_p_s",
14333 { PARROT_ARG_P
, PARROT_ARG_S
},
14334 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
14339 /* type PARROT_FUNCTION_OP, */
14342 "Parrot_find_name_p_sc",
14346 { PARROT_ARG_P
, PARROT_ARG_SC
},
14347 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
14352 /* type PARROT_INLINE_OP, */
14353 "find_sub_not_null",
14354 "find_sub_not_null_p_s",
14355 "Parrot_find_sub_not_null_p_s",
14359 { PARROT_ARG_P
, PARROT_ARG_S
},
14360 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
14365 /* type PARROT_INLINE_OP, */
14366 "find_sub_not_null",
14367 "find_sub_not_null_p_sc",
14368 "Parrot_find_sub_not_null_p_sc",
14372 { PARROT_ARG_P
, PARROT_ARG_SC
},
14373 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
14378 /* type PARROT_FUNCTION_OP, */
14385 { (arg_type_t
) 0 },
14391 /* type PARROT_INLINE_OP, */
14394 "Parrot_set_label_p_ic",
14398 { PARROT_ARG_P
, PARROT_ARG_IC
},
14399 { PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14404 /* type PARROT_INLINE_OP, */
14407 "Parrot_get_label_i_p",
14411 { PARROT_ARG_I
, PARROT_ARG_P
},
14412 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
14417 /* type PARROT_INLINE_OP, */
14420 "Parrot_fetch_p_p_p_p",
14424 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_P
},
14425 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14430 /* type PARROT_INLINE_OP, */
14433 "Parrot_fetch_p_pc_p_p",
14437 { PARROT_ARG_P
, PARROT_ARG_PC
, PARROT_ARG_P
, PARROT_ARG_P
},
14438 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14443 /* type PARROT_INLINE_OP, */
14446 "Parrot_fetch_p_p_pc_p",
14450 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_PC
, PARROT_ARG_P
},
14451 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14456 /* type PARROT_INLINE_OP, */
14459 "Parrot_fetch_p_pc_pc_p",
14463 { PARROT_ARG_P
, PARROT_ARG_PC
, PARROT_ARG_PC
, PARROT_ARG_P
},
14464 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14469 /* type PARROT_INLINE_OP, */
14472 "Parrot_fetch_p_p_p_pc",
14476 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_PC
},
14477 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14482 /* type PARROT_INLINE_OP, */
14485 "Parrot_fetch_p_pc_p_pc",
14489 { PARROT_ARG_P
, PARROT_ARG_PC
, PARROT_ARG_P
, PARROT_ARG_PC
},
14490 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14495 /* type PARROT_INLINE_OP, */
14498 "Parrot_fetch_p_p_pc_pc",
14502 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_PC
, PARROT_ARG_PC
},
14503 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14508 /* type PARROT_INLINE_OP, */
14510 "fetch_p_pc_pc_pc",
14511 "Parrot_fetch_p_pc_pc_pc",
14515 { PARROT_ARG_P
, PARROT_ARG_PC
, PARROT_ARG_PC
, PARROT_ARG_PC
},
14516 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14521 /* type PARROT_INLINE_OP, */
14524 "Parrot_fetch_p_p_i_p",
14528 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_I
, PARROT_ARG_P
},
14529 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14534 /* type PARROT_INLINE_OP, */
14537 "Parrot_fetch_p_pc_i_p",
14541 { PARROT_ARG_P
, PARROT_ARG_PC
, PARROT_ARG_I
, PARROT_ARG_P
},
14542 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14547 /* type PARROT_INLINE_OP, */
14550 "Parrot_fetch_p_p_ic_p",
14554 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_IC
, PARROT_ARG_P
},
14555 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14560 /* type PARROT_INLINE_OP, */
14563 "Parrot_fetch_p_pc_ic_p",
14567 { PARROT_ARG_P
, PARROT_ARG_PC
, PARROT_ARG_IC
, PARROT_ARG_P
},
14568 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14573 /* type PARROT_INLINE_OP, */
14576 "Parrot_fetch_p_p_i_pc",
14580 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_I
, PARROT_ARG_PC
},
14581 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14586 /* type PARROT_INLINE_OP, */
14589 "Parrot_fetch_p_pc_i_pc",
14593 { PARROT_ARG_P
, PARROT_ARG_PC
, PARROT_ARG_I
, PARROT_ARG_PC
},
14594 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14599 /* type PARROT_INLINE_OP, */
14602 "Parrot_fetch_p_p_ic_pc",
14606 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_IC
, PARROT_ARG_PC
},
14607 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14612 /* type PARROT_INLINE_OP, */
14614 "fetch_p_pc_ic_pc",
14615 "Parrot_fetch_p_pc_ic_pc",
14619 { PARROT_ARG_P
, PARROT_ARG_PC
, PARROT_ARG_IC
, PARROT_ARG_PC
},
14620 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14625 /* type PARROT_INLINE_OP, */
14628 "Parrot_fetch_p_p_s_p",
14632 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_S
, PARROT_ARG_P
},
14633 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14638 /* type PARROT_INLINE_OP, */
14641 "Parrot_fetch_p_pc_s_p",
14645 { PARROT_ARG_P
, PARROT_ARG_PC
, PARROT_ARG_S
, PARROT_ARG_P
},
14646 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14651 /* type PARROT_INLINE_OP, */
14654 "Parrot_fetch_p_p_sc_p",
14658 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_SC
, PARROT_ARG_P
},
14659 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14664 /* type PARROT_INLINE_OP, */
14667 "Parrot_fetch_p_pc_sc_p",
14671 { PARROT_ARG_P
, PARROT_ARG_PC
, PARROT_ARG_SC
, PARROT_ARG_P
},
14672 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14677 /* type PARROT_INLINE_OP, */
14680 "Parrot_fetch_p_p_s_pc",
14684 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_S
, PARROT_ARG_PC
},
14685 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14690 /* type PARROT_INLINE_OP, */
14693 "Parrot_fetch_p_pc_s_pc",
14697 { PARROT_ARG_P
, PARROT_ARG_PC
, PARROT_ARG_S
, PARROT_ARG_PC
},
14698 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14703 /* type PARROT_INLINE_OP, */
14706 "Parrot_fetch_p_p_sc_pc",
14710 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_SC
, PARROT_ARG_PC
},
14711 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14716 /* type PARROT_INLINE_OP, */
14718 "fetch_p_pc_sc_pc",
14719 "Parrot_fetch_p_pc_sc_pc",
14723 { PARROT_ARG_P
, PARROT_ARG_PC
, PARROT_ARG_SC
, PARROT_ARG_PC
},
14724 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14729 /* type PARROT_INLINE_OP, */
14732 "Parrot_vivify_p_p_p_p",
14736 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_P
},
14737 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14742 /* type PARROT_INLINE_OP, */
14745 "Parrot_vivify_p_pc_p_p",
14749 { PARROT_ARG_P
, PARROT_ARG_PC
, PARROT_ARG_P
, PARROT_ARG_P
},
14750 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14755 /* type PARROT_INLINE_OP, */
14758 "Parrot_vivify_p_p_pc_p",
14762 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_PC
, PARROT_ARG_P
},
14763 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14768 /* type PARROT_INLINE_OP, */
14770 "vivify_p_pc_pc_p",
14771 "Parrot_vivify_p_pc_pc_p",
14775 { PARROT_ARG_P
, PARROT_ARG_PC
, PARROT_ARG_PC
, PARROT_ARG_P
},
14776 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14781 /* type PARROT_INLINE_OP, */
14784 "Parrot_vivify_p_p_p_pc",
14788 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_PC
},
14789 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14794 /* type PARROT_INLINE_OP, */
14796 "vivify_p_pc_p_pc",
14797 "Parrot_vivify_p_pc_p_pc",
14801 { PARROT_ARG_P
, PARROT_ARG_PC
, PARROT_ARG_P
, PARROT_ARG_PC
},
14802 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14807 /* type PARROT_INLINE_OP, */
14809 "vivify_p_p_pc_pc",
14810 "Parrot_vivify_p_p_pc_pc",
14814 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_PC
, PARROT_ARG_PC
},
14815 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14820 /* type PARROT_INLINE_OP, */
14822 "vivify_p_pc_pc_pc",
14823 "Parrot_vivify_p_pc_pc_pc",
14827 { PARROT_ARG_P
, PARROT_ARG_PC
, PARROT_ARG_PC
, PARROT_ARG_PC
},
14828 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14833 /* type PARROT_INLINE_OP, */
14836 "Parrot_vivify_p_p_i_p",
14840 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_I
, PARROT_ARG_P
},
14841 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14846 /* type PARROT_INLINE_OP, */
14849 "Parrot_vivify_p_pc_i_p",
14853 { PARROT_ARG_P
, PARROT_ARG_PC
, PARROT_ARG_I
, PARROT_ARG_P
},
14854 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14859 /* type PARROT_INLINE_OP, */
14862 "Parrot_vivify_p_p_ic_p",
14866 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_IC
, PARROT_ARG_P
},
14867 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14872 /* type PARROT_INLINE_OP, */
14874 "vivify_p_pc_ic_p",
14875 "Parrot_vivify_p_pc_ic_p",
14879 { PARROT_ARG_P
, PARROT_ARG_PC
, PARROT_ARG_IC
, PARROT_ARG_P
},
14880 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14885 /* type PARROT_INLINE_OP, */
14888 "Parrot_vivify_p_p_i_pc",
14892 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_I
, PARROT_ARG_PC
},
14893 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14898 /* type PARROT_INLINE_OP, */
14900 "vivify_p_pc_i_pc",
14901 "Parrot_vivify_p_pc_i_pc",
14905 { PARROT_ARG_P
, PARROT_ARG_PC
, PARROT_ARG_I
, PARROT_ARG_PC
},
14906 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14911 /* type PARROT_INLINE_OP, */
14913 "vivify_p_p_ic_pc",
14914 "Parrot_vivify_p_p_ic_pc",
14918 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_IC
, PARROT_ARG_PC
},
14919 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14924 /* type PARROT_INLINE_OP, */
14926 "vivify_p_pc_ic_pc",
14927 "Parrot_vivify_p_pc_ic_pc",
14931 { PARROT_ARG_P
, PARROT_ARG_PC
, PARROT_ARG_IC
, PARROT_ARG_PC
},
14932 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14937 /* type PARROT_INLINE_OP, */
14940 "Parrot_vivify_p_p_s_p",
14944 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_S
, PARROT_ARG_P
},
14945 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14950 /* type PARROT_INLINE_OP, */
14953 "Parrot_vivify_p_pc_s_p",
14957 { PARROT_ARG_P
, PARROT_ARG_PC
, PARROT_ARG_S
, PARROT_ARG_P
},
14958 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14963 /* type PARROT_INLINE_OP, */
14966 "Parrot_vivify_p_p_sc_p",
14970 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_SC
, PARROT_ARG_P
},
14971 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14976 /* type PARROT_INLINE_OP, */
14978 "vivify_p_pc_sc_p",
14979 "Parrot_vivify_p_pc_sc_p",
14983 { PARROT_ARG_P
, PARROT_ARG_PC
, PARROT_ARG_SC
, PARROT_ARG_P
},
14984 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
14989 /* type PARROT_INLINE_OP, */
14992 "Parrot_vivify_p_p_s_pc",
14996 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_S
, PARROT_ARG_PC
},
14997 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
15002 /* type PARROT_INLINE_OP, */
15004 "vivify_p_pc_s_pc",
15005 "Parrot_vivify_p_pc_s_pc",
15009 { PARROT_ARG_P
, PARROT_ARG_PC
, PARROT_ARG_S
, PARROT_ARG_PC
},
15010 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
15015 /* type PARROT_INLINE_OP, */
15017 "vivify_p_p_sc_pc",
15018 "Parrot_vivify_p_p_sc_pc",
15022 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_SC
, PARROT_ARG_PC
},
15023 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
15028 /* type PARROT_INLINE_OP, */
15030 "vivify_p_pc_sc_pc",
15031 "Parrot_vivify_p_pc_sc_pc",
15035 { PARROT_ARG_P
, PARROT_ARG_PC
, PARROT_ARG_SC
, PARROT_ARG_PC
},
15036 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
15041 /* type PARROT_FUNCTION_OP, */
15044 "Parrot_new_p_s_i",
15048 { PARROT_ARG_P
, PARROT_ARG_S
, PARROT_ARG_I
},
15049 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
15054 /* type PARROT_FUNCTION_OP, */
15057 "Parrot_new_p_sc_i",
15061 { PARROT_ARG_P
, PARROT_ARG_SC
, PARROT_ARG_I
},
15062 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
15067 /* type PARROT_FUNCTION_OP, */
15070 "Parrot_new_p_s_ic",
15074 { PARROT_ARG_P
, PARROT_ARG_S
, PARROT_ARG_IC
},
15075 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
15080 /* type PARROT_FUNCTION_OP, */
15083 "Parrot_new_p_sc_ic",
15087 { PARROT_ARG_P
, PARROT_ARG_SC
, PARROT_ARG_IC
},
15088 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
15093 /* type PARROT_FUNCTION_OP, */
15096 "Parrot_new_p_p_i",
15100 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_I
},
15101 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
15106 /* type PARROT_FUNCTION_OP, */
15109 "Parrot_new_p_pc_i",
15113 { PARROT_ARG_P
, PARROT_ARG_PC
, PARROT_ARG_I
},
15114 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
15119 /* type PARROT_FUNCTION_OP, */
15122 "Parrot_new_p_p_ic",
15126 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_IC
},
15127 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
15132 /* type PARROT_FUNCTION_OP, */
15135 "Parrot_new_p_pc_ic",
15139 { PARROT_ARG_P
, PARROT_ARG_PC
, PARROT_ARG_IC
},
15140 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
15145 /* type PARROT_FUNCTION_OP, */
15148 "Parrot_root_new_p_p_i",
15152 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_I
},
15153 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
15158 /* type PARROT_FUNCTION_OP, */
15161 "Parrot_root_new_p_pc_i",
15165 { PARROT_ARG_P
, PARROT_ARG_PC
, PARROT_ARG_I
},
15166 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
15171 /* type PARROT_FUNCTION_OP, */
15174 "Parrot_root_new_p_p_ic",
15178 { PARROT_ARG_P
, PARROT_ARG_P
, PARROT_ARG_IC
},
15179 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
15184 /* type PARROT_FUNCTION_OP, */
15186 "root_new_p_pc_ic",
15187 "Parrot_root_new_p_pc_ic",
15191 { PARROT_ARG_P
, PARROT_ARG_PC
, PARROT_ARG_IC
},
15192 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
, PARROT_ARGDIR_IN
},
15197 /* type PARROT_FUNCTION_OP, */
15199 "find_codepoint_i_s",
15200 "Parrot_find_codepoint_i_s",
15204 { PARROT_ARG_I
, PARROT_ARG_S
},
15205 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
15210 /* type PARROT_FUNCTION_OP, */
15212 "find_codepoint_i_sc",
15213 "Parrot_find_codepoint_i_sc",
15217 { PARROT_ARG_I
, PARROT_ARG_SC
},
15218 { PARROT_ARGDIR_OUT
, PARROT_ARGDIR_IN
},
15223 /* type PARROT_FUNCTION_OP, */
15226 "Parrot_finalize_p",
15231 { PARROT_ARGDIR_IN
},
15236 /* type PARROT_FUNCTION_OP, */
15239 "Parrot_finalize_pc",
15244 { PARROT_ARGDIR_IN
},
15253 ** Op Function Definitions:
15257 Parrot_end(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15258 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);return (opcode_t
*)0;
15262 Parrot_noop(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15263 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15265 return (opcode_t
*)cur_opcode
+ 1;}
15268 Parrot_check_events(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15269 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15270 opcode_t
* const next
= cur_opcode
+ 1;
15271 Parrot_cx_check_tasks(interp
, interp
->scheduler
);return (opcode_t
*)next
; /* force this being a branch op */
15275 Parrot_check_events__(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15276 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15277 opcode_t
* const _this
= CUR_OPCODE
;
15278 /* Restore op_func_table. */
15279 disable_event_checking(interp
);
15280 Parrot_cx_handle_tasks(interp
, interp
->scheduler
);return (opcode_t
*)_this
; /* force this being a branch op */
15284 Parrot_wrapper__(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15285 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15286 opcode_t
*pc
= CUR_OPCODE
;
15287 DO_OP(pc
, interp
);return (opcode_t
*)pc
;
15291 Parrot_load_bytecode_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15292 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15293 Parrot_load_bytecode(interp
, SREG(1));
15295 return (opcode_t
*)cur_opcode
+ 2;}
15298 Parrot_load_bytecode_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15299 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15300 Parrot_load_bytecode(interp
, CONST(1).u
.string
);
15302 return (opcode_t
*)cur_opcode
+ 2;}
15305 Parrot_load_language_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15306 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15307 Parrot_load_language(interp
, SREG(1));
15309 return (opcode_t
*)cur_opcode
+ 2;}
15312 Parrot_load_language_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15313 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15314 Parrot_load_language(interp
, CONST(1).u
.string
);
15316 return (opcode_t
*)cur_opcode
+ 2;}
15319 Parrot_branch_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15320 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);return (opcode_t
*)cur_opcode
+ IREG(1);
15324 Parrot_branch_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15325 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);return (opcode_t
*)cur_opcode
+ cur_opcode
[1];
15329 Parrot_local_branch_p_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15330 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15331 INTVAL return_addr
;
15332 opcode_t
* const dest
= cur_opcode
+ 3;
15334 if (PMC_IS_NULL(PREG(1)) || PREG(1)->vtable
->base_type
!= enum_class_ResizableIntegerArray
) {
15335 opcode_t
* const handler
= Parrot_ex_throw_from_op_args(interp
, dest
,
15336 EXCEPTION_INVALID_OPERATION
,
15337 "Must pass a valid integer array to 'local_branch'");return (opcode_t
*)handler
;
15340 return_addr
= PTR2INTVAL(dest
);
15341 VTABLE_push_integer(interp
, PREG(1), return_addr
);return (opcode_t
*)cur_opcode
+ IREG(2);
15345 Parrot_local_branch_p_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15346 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15347 INTVAL return_addr
;
15348 opcode_t
* const dest
= cur_opcode
+ 3;
15350 if (PMC_IS_NULL(PREG(1)) || PREG(1)->vtable
->base_type
!= enum_class_ResizableIntegerArray
) {
15351 opcode_t
* const handler
= Parrot_ex_throw_from_op_args(interp
, dest
,
15352 EXCEPTION_INVALID_OPERATION
,
15353 "Must pass a valid integer array to 'local_branch'");return (opcode_t
*)handler
;
15356 return_addr
= PTR2INTVAL(dest
);
15357 VTABLE_push_integer(interp
, PREG(1), return_addr
);return (opcode_t
*)cur_opcode
+ cur_opcode
[2];
15361 Parrot_local_return_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15362 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15363 INTVAL return_addr
;
15365 opcode_t
* const dest
= cur_opcode
+ 2;
15367 if (PMC_IS_NULL(PREG(1)) || PREG(1)->vtable
->base_type
!= enum_class_ResizableIntegerArray
) {
15368 opcode_t
* const handler
= Parrot_ex_throw_from_op_args(interp
, dest
,
15369 EXCEPTION_INVALID_OPERATION
,
15370 "Must pass a valid integer array to 'local_return'");return (opcode_t
*)handler
;
15373 return_addr
= VTABLE_pop_integer(interp
, PREG(1));
15374 next
= INTVAL2PTR(opcode_t
*, return_addr
);
15376 /* The return address must be within the current code segment. */
15377 if (! (next
>= interp
->code
->base
.data
15378 && next
< (interp
->code
->base
.data
+ interp
->code
->base
.size
))) {
15379 opcode_t
* const handler
= Parrot_ex_throw_from_op_args(interp
, dest
,
15380 EXCEPTION_INVALID_OPERATION
,
15381 "Address for 'local_return' must be within the current code segment");return (opcode_t
*)handler
;
15382 }return (opcode_t
*)next
;
15386 Parrot_jump_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15387 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15388 opcode_t
* const loc
= INTVAL2PTR(opcode_t
*, IREG(1));return (opcode_t
*)loc
;
15392 Parrot_jump_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15393 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15394 opcode_t
* const loc
= INTVAL2PTR(opcode_t
*, cur_opcode
[1]);return (opcode_t
*)loc
;
15398 Parrot_enternative(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15399 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15400 opcode_t
* const addr
= run_native(interp
, CUR_OPCODE
,
15401 interp
->code
->base
.data
);return (opcode_t
*)addr
;
15405 Parrot_if_i_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15406 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15407 if (IREG(1) != 0)return (opcode_t
*)cur_opcode
+ cur_opcode
[2];
15409 return (opcode_t
*)cur_opcode
+ 3;}
15412 Parrot_if_n_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15413 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15414 if (!FLOAT_IS_ZERO(NREG(1)))return (opcode_t
*)cur_opcode
+ cur_opcode
[2];
15416 return (opcode_t
*)cur_opcode
+ 3;}
15419 Parrot_if_s_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15420 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15421 if (Parrot_str_boolean(interp
, SREG(1)))return (opcode_t
*)cur_opcode
+ cur_opcode
[2];
15423 return (opcode_t
*)cur_opcode
+ 3;}
15426 Parrot_if_p_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15427 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15428 if (VTABLE_get_bool(interp
, PREG(1)))return (opcode_t
*)cur_opcode
+ cur_opcode
[2];
15430 return (opcode_t
*)cur_opcode
+ 3;}
15433 Parrot_unless_i_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15434 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15435 if (IREG(1) == 0)return (opcode_t
*)cur_opcode
+ cur_opcode
[2];
15437 return (opcode_t
*)cur_opcode
+ 3;}
15440 Parrot_unless_n_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15441 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15442 if (FLOAT_IS_ZERO(NREG(1)))return (opcode_t
*)cur_opcode
+ cur_opcode
[2];
15444 return (opcode_t
*)cur_opcode
+ 3;}
15447 Parrot_unless_s_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15448 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15449 if (!Parrot_str_boolean(interp
, SREG(1)))return (opcode_t
*)cur_opcode
+ cur_opcode
[2];
15451 return (opcode_t
*)cur_opcode
+ 3;}
15454 Parrot_unless_p_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15455 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15456 if (!VTABLE_get_bool(interp
, PREG(1)))return (opcode_t
*)cur_opcode
+ cur_opcode
[2];
15458 return (opcode_t
*)cur_opcode
+ 3;}
15461 Parrot_invokecc_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15462 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15463 PMC
* const p
= PREG(1);
15464 opcode_t
*dest
= cur_opcode
+ 2;
15465 PMC
* const signature
= Parrot_pcc_get_signature(interp
,
15466 CURRENT_CONTEXT(interp
));
15468 Parrot_pcc_set_pc_func(interp
, CURRENT_CONTEXT(interp
), dest
);
15470 if (!PMC_IS_NULL(signature
))
15471 Parrot_pcc_set_object(interp
, signature
, NULL
);
15472 interp
->current_cont
= NEED_CONTINUATION
;
15473 dest
= VTABLE_invoke(interp
, p
, dest
);return (opcode_t
*)dest
;
15477 Parrot_invoke_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15478 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15479 opcode_t
*dest
= cur_opcode
+ 3;
15480 PMC
* const p
= PREG(1);
15481 PMC
* const signature
= Parrot_pcc_get_signature(interp
,
15482 CURRENT_CONTEXT(interp
));
15484 Parrot_pcc_set_pc_func(interp
, CURRENT_CONTEXT(interp
), dest
);
15486 if (!PMC_IS_NULL(signature
))
15487 Parrot_pcc_set_object(interp
, signature
, NULL
);
15488 interp
->current_cont
= PREG(2);
15490 dest
= VTABLE_invoke(interp
, p
, dest
);return (opcode_t
*)dest
;
15494 Parrot_yield(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15495 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15496 opcode_t
*dest
= cur_opcode
+ 1;
15497 PMC
* const p
= Parrot_pcc_get_sub(interp
, CURRENT_CONTEXT(interp
));
15499 VTABLE_increment(interp
, p
);
15500 dest
= VTABLE_invoke(interp
, p
, dest
);return (opcode_t
*)dest
;
15504 Parrot_tailcall_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15505 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15506 PMC
* const p
= PREG(1);
15507 opcode_t
*dest
= cur_opcode
+ 2;
15508 PMC
* const ctx
= CURRENT_CONTEXT(interp
);
15509 PMC
* const parent_ctx
= Parrot_pcc_get_caller_ctx(interp
, ctx
);
15510 PMC
* const this_call_sig
= Parrot_pcc_get_signature(interp
, ctx
);
15511 PMC
* const parent_call_sig
= Parrot_pcc_get_signature(interp
, parent_ctx
);
15512 interp
->current_cont
= Parrot_pcc_get_continuation(interp
, ctx
);
15514 Parrot_pcc_merge_signature_for_tailcall(interp
, parent_call_sig
, this_call_sig
);
15516 SUB_FLAG_TAILCALL_SET(interp
->current_cont
);
15517 dest
= VTABLE_invoke(interp
, p
, dest
);return (opcode_t
*)dest
;
15521 Parrot_returncc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15522 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15523 PMC
* const p
= Parrot_pcc_get_continuation(interp
, CURRENT_CONTEXT(interp
));
15524 opcode_t
* const dest
= VTABLE_invoke(interp
, p
, cur_opcode
+ 1);return (opcode_t
*)dest
;
15528 Parrot_capture_lex_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15529 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15530 Parrot_capture_lex(interp
, PREG(1));
15532 return (opcode_t
*)cur_opcode
+ 2;}
15535 Parrot_newclosure_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15536 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15537 PREG(1) = parrot_new_closure(interp
, PREG(2));
15539 return (opcode_t
*)cur_opcode
+ 3;}
15542 Parrot_set_args_pc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15543 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15544 opcode_t
* const raw_args
= CUR_OPCODE
;
15545 PMC
* const signature
= CONST(1).u
.key
;
15546 PMC
* const call_sig
= Parrot_pcc_build_sig_object_from_op(interp
,
15547 PMCNULL
, signature
, raw_args
);
15548 const INTVAL argc
= VTABLE_elements(interp
, signature
);
15549 Parrot_pcc_set_signature(interp
, CURRENT_CONTEXT(interp
), call_sig
);return (opcode_t
*)cur_opcode
+ argc
+ 2;
15553 Parrot_get_params_pc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15554 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15555 opcode_t
* const raw_params
= CUR_OPCODE
;
15556 PMC
* const signature
= CONST(1).u
.key
;
15557 PMC
* const ctx
= CURRENT_CONTEXT(interp
);
15558 PMC
* const ccont
= Parrot_pcc_get_continuation(interp
, ctx
);
15559 PMC
* const caller_ctx
= Parrot_pcc_get_caller_ctx(interp
, ctx
);
15560 PMC
* const call_object
= Parrot_pcc_get_signature(interp
, caller_ctx
);
15563 Parrot_pcc_fill_params_from_op(interp
, call_object
, signature
, raw_params
,
15564 PARROT_ERRORS_PARAM_COUNT_FLAG
);
15566 /* TODO Factor out with Sub.invoke */
15567 if (PObj_get_FLAGS(ccont
) & SUB_FLAG_TAILCALL
) {
15568 PObj_get_FLAGS(ccont
) &= ~SUB_FLAG_TAILCALL
;
15569 Parrot_pcc_dec_recursion_depth(interp
, ctx
);
15570 Parrot_pcc_set_caller_ctx(interp
, ctx
, Parrot_pcc_get_caller_ctx(interp
, caller_ctx
));
15572 argc
= VTABLE_elements(interp
, signature
);return (opcode_t
*)cur_opcode
+ argc
+ 2;
15576 Parrot_set_returns_pc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15577 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15578 opcode_t
* const raw_args
= CUR_OPCODE
;
15579 PMC
* const signature
= CONST(1).u
.key
;
15580 PMC
* const call_sig
= Parrot_pcc_build_sig_object_from_op(interp
,
15581 Parrot_pcc_get_signature(interp
,
15582 Parrot_pcc_get_caller_ctx(interp
, CURRENT_CONTEXT(interp
))),
15583 signature
, raw_args
);
15586 Parrot_pcc_set_signature(interp
, CURRENT_CONTEXT(interp
), call_sig
);
15588 argc
= VTABLE_elements(interp
, signature
);return (opcode_t
*)cur_opcode
+ argc
+ 2;
15592 Parrot_get_results_pc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15593 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15594 opcode_t
* const raw_params
= CUR_OPCODE
;
15595 PMC
* const signature
= CONST(1).u
.key
;
15596 PMC
*ctx
= CURRENT_CONTEXT(interp
);
15597 PMC
*ccont
= Parrot_pcc_get_continuation(interp
, ctx
);
15598 PMC
*call_object
= Parrot_pcc_get_signature(interp
, ctx
);
15602 Parrot_pcc_fill_params_from_op(interp
, call_object
, signature
, raw_params
,
15603 PARROT_ERRORS_RESULT_COUNT_FLAG
);
15605 argc
= VTABLE_elements(interp
, signature
);
15606 Parrot_pcc_set_signature(interp
, CURRENT_CONTEXT(interp
), PMCNULL
);return (opcode_t
*)cur_opcode
+ argc
+ 2;
15610 Parrot_set_result_info_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15611 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15612 PMC
* const ctx
= CURRENT_CONTEXT(interp
);
15614 VTABLE_set_attr_str(interp
, ctx
,
15615 Parrot_str_new_constant(interp
, "return_flags"),
15618 return (opcode_t
*)cur_opcode
+ 2;}
15621 Parrot_set_result_info_pc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15622 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15623 PMC
* const ctx
= CURRENT_CONTEXT(interp
);
15625 VTABLE_set_attr_str(interp
, ctx
,
15626 Parrot_str_new_constant(interp
, "return_flags"),
15629 return (opcode_t
*)cur_opcode
+ 2;}
15632 Parrot_result_info_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15633 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15634 PMC
* const caller_ctx
= Parrot_pcc_get_caller_ctx(interp
, CURRENT_CONTEXT(interp
));
15635 PMC
* const sig
= VTABLE_get_attr_str(interp
, caller_ctx
,
15636 Parrot_str_new_constant(interp
, "return_flags"));
15638 /* If no elements, hand back empty array; otherwise PMC. */
15640 PREG(1) = Parrot_pmc_new(interp
, enum_class_FixedIntegerArray
);
15644 return (opcode_t
*)cur_opcode
+ 2;}
15647 Parrot_set_addr_i_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15648 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15649 IREG(1) = PTR2INTVAL(CUR_OPCODE
+ cur_opcode
[2]);
15651 return (opcode_t
*)cur_opcode
+ 3;}
15654 Parrot_set_addr_p_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15655 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15656 VTABLE_set_pointer(interp
, PREG(1), (CUR_OPCODE
+ cur_opcode
[2]));
15658 return (opcode_t
*)cur_opcode
+ 3;}
15661 Parrot_set_addr_p_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15662 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15663 VTABLE_set_pointer(interp
, PREG(1), (void*)IREG(2));
15665 return (opcode_t
*)cur_opcode
+ 3;}
15668 Parrot_get_addr_i_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15669 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15670 void *ptr
= VTABLE_get_pointer(interp
, PREG(2));
15671 IREG(1) = (INTVAL
)ptr
;
15673 return (opcode_t
*)cur_opcode
+ 3;}
15676 Parrot_schedule_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15677 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15678 Parrot_cx_schedule_task(interp
, PREG(1));
15680 return (opcode_t
*)cur_opcode
+ 2;}
15683 Parrot_addhandler_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15684 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15685 Parrot_cx_add_handler(interp
, PREG(1));
15687 return (opcode_t
*)cur_opcode
+ 2;}
15690 Parrot_push_eh_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15691 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15692 PMC
* const eh
= Parrot_pmc_new(interp
, enum_class_ExceptionHandler
);
15693 VTABLE_set_pointer(interp
, eh
, CUR_OPCODE
+ cur_opcode
[1]);
15694 Parrot_cx_add_handler_local(interp
, eh
);
15696 return (opcode_t
*)cur_opcode
+ 2;}
15699 Parrot_push_eh_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15700 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15701 Parrot_cx_add_handler_local(interp
, PREG(1));
15703 return (opcode_t
*)cur_opcode
+ 2;}
15706 Parrot_pop_eh(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15707 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15708 Parrot_cx_delete_handler_local(interp
,
15709 Parrot_str_new_constant(interp
, "exception"));
15711 return (opcode_t
*)cur_opcode
+ 1;}
15714 Parrot_throw_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15715 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15716 PMC
* except
= PREG(1);
15718 opcode_t
* const ret
= cur_opcode
+ 2;
15719 PMC
* const resume
= pmc_new(interp
, enum_class_Continuation
);
15721 VTABLE_set_pointer(interp
, resume
, ret
);
15723 if (PMC_IS_NULL(except
) || except
->vtable
->base_type
!= enum_class_Exception
)
15724 except
= Parrot_ex_build_exception(interp
, EXCEPT_fatal
,
15725 EXCEPTION_UNIMPLEMENTED
,
15726 Parrot_str_new_constant(interp
, "Not a throwable object"));
15728 VTABLE_set_attr_str(interp
, except
, Parrot_str_new_constant(interp
, "resume"), resume
);
15729 dest
= Parrot_ex_throw_from_op(interp
, except
, ret
);return (opcode_t
*)dest
;
15733 Parrot_throw_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15734 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15736 PMC
* except
= PREG(1);
15737 if (PMC_IS_NULL(except
) || except
->vtable
->base_type
!= enum_class_Exception
)
15738 except
= Parrot_ex_build_exception(interp
, EXCEPT_fatal
,
15739 EXCEPTION_UNIMPLEMENTED
,
15740 Parrot_str_new_constant(interp
, "Not a throwable object"));
15741 dest
= Parrot_ex_throw_from_op(interp
, PREG(1),
15742 VTABLE_get_pointer(interp
, PREG(2)));return (opcode_t
*)dest
;
15746 Parrot_rethrow_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15747 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15749 if (PMC_IS_NULL(PREG(1)) || PREG(1)->vtable
->base_type
!= enum_class_Exception
) {
15750 opcode_t
* const ret
= cur_opcode
+ 2;
15751 PMC
* const except
= Parrot_ex_build_exception(interp
, EXCEPT_fatal
,
15752 EXCEPTION_UNIMPLEMENTED
,
15753 Parrot_str_new_constant(interp
, "Not a throwable object"));
15754 dest
= Parrot_ex_throw_from_op(interp
, except
, ret
);return (opcode_t
*)dest
;
15756 dest
= Parrot_ex_rethrow_from_op(interp
, PREG(1));return (opcode_t
*)dest
;
15760 Parrot_count_eh_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15761 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15762 IREG(1) = Parrot_cx_count_handlers_local(interp
,
15763 Parrot_str_new_constant(interp
, "exception"));
15765 return (opcode_t
*)cur_opcode
+ 2;}
15768 Parrot_die_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15769 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15771 opcode_t
* const ret
= cur_opcode
+ 2;
15772 PMC
* const resume
= pmc_new(interp
, enum_class_Continuation
);
15773 PMC
* const exception
= Parrot_ex_build_exception(interp
, EXCEPT_error
,
15774 CONTROL_ERROR
, SREG(1));
15776 VTABLE_set_pointer(interp
, resume
, ret
);
15778 VTABLE_set_attr_str(interp
, exception
,
15779 Parrot_str_new_constant(interp
, "resume"), resume
);
15780 dest
= Parrot_ex_throw_from_op(interp
, exception
, ret
);return (opcode_t
*)dest
;
15784 Parrot_die_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15785 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15787 opcode_t
* const ret
= cur_opcode
+ 2;
15788 PMC
* const resume
= pmc_new(interp
, enum_class_Continuation
);
15789 PMC
* const exception
= Parrot_ex_build_exception(interp
, EXCEPT_error
,
15790 CONTROL_ERROR
, CONST(1).u
.string
);
15792 VTABLE_set_pointer(interp
, resume
, ret
);
15794 VTABLE_set_attr_str(interp
, exception
,
15795 Parrot_str_new_constant(interp
, "resume"), resume
);
15796 dest
= Parrot_ex_throw_from_op(interp
, exception
, ret
);return (opcode_t
*)dest
;
15800 Parrot_die_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15801 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15803 opcode_t
* const ret
= cur_opcode
+ 2;
15804 PMC
* const resume
= pmc_new(interp
, enum_class_Continuation
);
15805 STRING
* const msg
= PMC_IS_NULL(PREG(1)) ? NULL
: VTABLE_get_string(interp
, PREG(1));
15806 PMC
* const exception
=
15807 Parrot_ex_build_exception(interp
, EXCEPT_error
, CONTROL_ERROR
, msg
);
15809 VTABLE_set_pointer(interp
, resume
, ret
);
15811 VTABLE_set_attr_str(interp
, exception
,
15812 Parrot_str_new_constant(interp
, "resume"), resume
);
15813 dest
= Parrot_ex_throw_from_op(interp
, exception
, ret
);return (opcode_t
*)dest
;
15817 Parrot_die_pc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15818 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15820 opcode_t
* const ret
= cur_opcode
+ 2;
15821 PMC
* const resume
= pmc_new(interp
, enum_class_Continuation
);
15822 STRING
* const msg
= PMC_IS_NULL(CONST(1).u
.key
) ? NULL
: VTABLE_get_string(interp
, CONST(1).u
.key
);
15823 PMC
* const exception
=
15824 Parrot_ex_build_exception(interp
, EXCEPT_error
, CONTROL_ERROR
, msg
);
15826 VTABLE_set_pointer(interp
, resume
, ret
);
15828 VTABLE_set_attr_str(interp
, exception
,
15829 Parrot_str_new_constant(interp
, "resume"), resume
);
15830 dest
= Parrot_ex_throw_from_op(interp
, exception
, ret
);return (opcode_t
*)dest
;
15834 Parrot_die_i_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15835 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15836 if (IREG(1) == EXCEPT_doomed
)
15839 opcode_t
* const ret
= cur_opcode
+ 3;
15840 PMC
* const exception
= Parrot_ex_build_exception(interp
, IREG(1), IREG(2), NULL
);
15841 opcode_t
* const dest
= Parrot_ex_throw_from_op(interp
, exception
, ret
);return (opcode_t
*)dest
;
15846 Parrot_die_ic_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15847 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15848 if (cur_opcode
[1] == EXCEPT_doomed
)
15851 opcode_t
* const ret
= cur_opcode
+ 3;
15852 PMC
* const exception
= Parrot_ex_build_exception(interp
, cur_opcode
[1], IREG(2), NULL
);
15853 opcode_t
* const dest
= Parrot_ex_throw_from_op(interp
, exception
, ret
);return (opcode_t
*)dest
;
15858 Parrot_die_i_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15859 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15860 if (IREG(1) == EXCEPT_doomed
)
15861 _exit(cur_opcode
[2]);
15863 opcode_t
* const ret
= cur_opcode
+ 3;
15864 PMC
* const exception
= Parrot_ex_build_exception(interp
, IREG(1), cur_opcode
[2], NULL
);
15865 opcode_t
* const dest
= Parrot_ex_throw_from_op(interp
, exception
, ret
);return (opcode_t
*)dest
;
15870 Parrot_die_ic_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15871 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15872 if (cur_opcode
[1] == EXCEPT_doomed
)
15873 _exit(cur_opcode
[2]);
15875 opcode_t
* const ret
= cur_opcode
+ 3;
15876 PMC
* const exception
= Parrot_ex_build_exception(interp
, cur_opcode
[1], cur_opcode
[2], NULL
);
15877 opcode_t
* const dest
= Parrot_ex_throw_from_op(interp
, exception
, ret
);return (opcode_t
*)dest
;
15882 Parrot_exit_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15883 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15885 opcode_t
* const ret
= cur_opcode
+ 2;
15886 PMC
* const resume
= pmc_new(interp
, enum_class_Continuation
);
15887 PMC
* const exception
= Parrot_ex_build_exception(interp
, EXCEPT_exit
,
15888 CONTROL_EXIT
, NULL
);
15890 VTABLE_set_pointer(interp
, resume
, ret
);
15892 VTABLE_set_attr_str(interp
, exception
,
15893 Parrot_str_new_constant(interp
, "resume"), resume
);
15894 VTABLE_set_integer_keyed_str(interp
, exception
,
15895 Parrot_str_new_constant(interp
, "exit_code"), IREG(1));
15896 dest
= Parrot_ex_throw_from_op(interp
, exception
, ret
);return (opcode_t
*)dest
;
15900 Parrot_exit_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15901 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15903 opcode_t
* const ret
= cur_opcode
+ 2;
15904 PMC
* const resume
= pmc_new(interp
, enum_class_Continuation
);
15905 PMC
* const exception
= Parrot_ex_build_exception(interp
, EXCEPT_exit
,
15906 CONTROL_EXIT
, NULL
);
15908 VTABLE_set_pointer(interp
, resume
, ret
);
15910 VTABLE_set_attr_str(interp
, exception
,
15911 Parrot_str_new_constant(interp
, "resume"), resume
);
15912 VTABLE_set_integer_keyed_str(interp
, exception
,
15913 Parrot_str_new_constant(interp
, "exit_code"), cur_opcode
[1]);
15914 dest
= Parrot_ex_throw_from_op(interp
, exception
, ret
);return (opcode_t
*)dest
;
15918 Parrot_debug_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15919 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15920 if (IREG(1) != 0) { Interp_debug_SET(interp
, IREG(1)); }
15921 else { Interp_debug_CLEAR(interp
, PARROT_ALL_DEBUG_FLAGS
); }interp
->resume_offset
= REL_PC
+ 2; interp
->resume_flag
= 1;return (opcode_t
*)0;
15925 Parrot_debug_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15926 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15927 if (cur_opcode
[1] != 0) { Interp_debug_SET(interp
, cur_opcode
[1]); }
15928 else { Interp_debug_CLEAR(interp
, PARROT_ALL_DEBUG_FLAGS
); }interp
->resume_offset
= REL_PC
+ 2; interp
->resume_flag
= 1;return (opcode_t
*)0;
15932 Parrot_bounds_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15933 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15934 if (IREG(1) != 0) { Parrot_set_flag(interp
, PARROT_BOUNDS_FLAG
); }
15935 else { Interp_flags_CLEAR(interp
, PARROT_BOUNDS_FLAG
); }interp
->resume_offset
= REL_PC
+ 2; interp
->resume_flag
= 1;return (opcode_t
*)0;
15939 Parrot_bounds_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15940 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15941 if (cur_opcode
[1] != 0) { Parrot_set_flag(interp
, PARROT_BOUNDS_FLAG
); }
15942 else { Interp_flags_CLEAR(interp
, PARROT_BOUNDS_FLAG
); }interp
->resume_offset
= REL_PC
+ 2; interp
->resume_flag
= 1;return (opcode_t
*)0;
15946 Parrot_profile_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15947 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15948 if (IREG(1) != 0) { Parrot_set_flag(interp
, PARROT_PROFILE_FLAG
); }
15949 else { Interp_flags_CLEAR(interp
, PARROT_PROFILE_FLAG
); }interp
->resume_offset
= REL_PC
+ 2; interp
->resume_flag
= 1;return (opcode_t
*)0;
15953 Parrot_profile_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15954 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15955 if (cur_opcode
[1] != 0) { Parrot_set_flag(interp
, PARROT_PROFILE_FLAG
); }
15956 else { Interp_flags_CLEAR(interp
, PARROT_PROFILE_FLAG
); }interp
->resume_offset
= REL_PC
+ 2; interp
->resume_flag
= 1;return (opcode_t
*)0;
15960 Parrot_trace_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15961 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15962 if (IREG(1) != 0) { Parrot_set_trace(interp
, IREG(1)); }
15963 else { Parrot_clear_trace(interp
, PARROT_ALL_TRACE_FLAGS
); }interp
->resume_offset
= REL_PC
+ 2; interp
->resume_flag
= 1;return (opcode_t
*)0;
15967 Parrot_trace_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15968 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15969 if (cur_opcode
[1] != 0) { Parrot_set_trace(interp
, cur_opcode
[1]); }
15970 else { Parrot_clear_trace(interp
, PARROT_ALL_TRACE_FLAGS
); }interp
->resume_offset
= REL_PC
+ 2; interp
->resume_flag
= 1;return (opcode_t
*)0;
15974 Parrot_gc_debug_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15975 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15976 if (IREG(1) != 0) { Interp_flags_SET(interp
, PARROT_GC_DEBUG_FLAG
); }
15977 else { Interp_flags_CLEAR(interp
, PARROT_GC_DEBUG_FLAG
); }
15979 return (opcode_t
*)cur_opcode
+ 2;}
15982 Parrot_gc_debug_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15983 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15984 if (cur_opcode
[1] != 0) { Interp_flags_SET(interp
, PARROT_GC_DEBUG_FLAG
); }
15985 else { Interp_flags_CLEAR(interp
, PARROT_GC_DEBUG_FLAG
); }
15987 return (opcode_t
*)cur_opcode
+ 2;}
15990 Parrot_interpinfo_i_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15991 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15992 IREG(1) = interpinfo(interp
, IREG(2));
15994 return (opcode_t
*)cur_opcode
+ 3;}
15997 Parrot_interpinfo_i_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
15998 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
15999 IREG(1) = interpinfo(interp
, cur_opcode
[2]);
16001 return (opcode_t
*)cur_opcode
+ 3;}
16004 Parrot_interpinfo_p_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16005 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16006 PREG(1) = interpinfo_p(interp
, IREG(2));
16008 return (opcode_t
*)cur_opcode
+ 3;}
16011 Parrot_interpinfo_p_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16012 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16013 PREG(1) = interpinfo_p(interp
, cur_opcode
[2]);
16015 return (opcode_t
*)cur_opcode
+ 3;}
16018 Parrot_interpinfo_s_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16019 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16020 STRING
* const s
= interpinfo_s(interp
, IREG(2));
16023 return (opcode_t
*)cur_opcode
+ 3;}
16026 Parrot_interpinfo_s_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16027 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16028 STRING
* const s
= interpinfo_s(interp
, cur_opcode
[2]);
16031 return (opcode_t
*)cur_opcode
+ 3;}
16034 Parrot_warningson_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16035 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16036 PARROT_WARNINGS_on(interp
, IREG(1));
16038 return (opcode_t
*)cur_opcode
+ 2;}
16041 Parrot_warningson_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16042 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16043 PARROT_WARNINGS_on(interp
, cur_opcode
[1]);
16045 return (opcode_t
*)cur_opcode
+ 2;}
16048 Parrot_warningsoff_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16049 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16050 PARROT_WARNINGS_off(interp
, IREG(1));
16052 return (opcode_t
*)cur_opcode
+ 2;}
16055 Parrot_warningsoff_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16056 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16057 PARROT_WARNINGS_off(interp
, cur_opcode
[1]);
16059 return (opcode_t
*)cur_opcode
+ 2;}
16062 Parrot_errorson_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16063 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16064 PARROT_ERRORS_on(interp
, IREG(1));
16066 return (opcode_t
*)cur_opcode
+ 2;}
16069 Parrot_errorson_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16070 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16071 PARROT_ERRORS_on(interp
, cur_opcode
[1]);
16073 return (opcode_t
*)cur_opcode
+ 2;}
16076 Parrot_errorsoff_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16077 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16078 PARROT_ERRORS_off(interp
, IREG(1));
16080 return (opcode_t
*)cur_opcode
+ 2;}
16083 Parrot_errorsoff_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16084 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16085 PARROT_ERRORS_off(interp
, cur_opcode
[1]);
16087 return (opcode_t
*)cur_opcode
+ 2;}
16090 Parrot_runinterp_p_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16091 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16092 Interp
* const new_interp
= (Interp
*)VTABLE_get_pointer(interp
, PREG(1));
16093 Interp_flags_SET(new_interp
, PARROT_EXTERN_CODE_FLAG
);
16094 Parrot_switch_to_cs(new_interp
, interp
->code
, 1);
16095 runops(new_interp
, REL_PC
+ IREG(2));
16097 return (opcode_t
*)cur_opcode
+ 3;}
16100 Parrot_runinterp_p_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16101 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16102 Interp
* const new_interp
= (Interp
*)VTABLE_get_pointer(interp
, PREG(1));
16103 Interp_flags_SET(new_interp
, PARROT_EXTERN_CODE_FLAG
);
16104 Parrot_switch_to_cs(new_interp
, interp
->code
, 1);
16105 runops(new_interp
, REL_PC
+ cur_opcode
[2]);
16107 return (opcode_t
*)cur_opcode
+ 3;}
16110 Parrot_getinterp_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16111 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16112 PREG(1) = VTABLE_get_pmc_keyed_int(interp
, interp
->iglobals
,
16113 IGLOBALS_INTERPRETER
);
16115 return (opcode_t
*)cur_opcode
+ 2;}
16118 Parrot_sweep_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16119 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16121 Parrot_gc_mark_and_sweep(interp
, GC_trace_normal_FLAG
);
16123 if (Parrot_gc_impatient_pmcs(interp
))
16124 Parrot_gc_mark_and_sweep(interp
, GC_lazy_FLAG
);
16126 return (opcode_t
*)cur_opcode
+ 2;}
16129 Parrot_collect(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16130 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16131 Parrot_gc_compact_memory_pool(interp
);
16133 return (opcode_t
*)cur_opcode
+ 1;}
16136 Parrot_sweepoff(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16137 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16138 Parrot_block_GC_mark(interp
);
16140 return (opcode_t
*)cur_opcode
+ 1;}
16143 Parrot_sweepon(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16144 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16145 Parrot_unblock_GC_mark(interp
);
16147 return (opcode_t
*)cur_opcode
+ 1;}
16150 Parrot_collectoff(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16151 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16152 Parrot_block_GC_sweep(interp
);
16154 return (opcode_t
*)cur_opcode
+ 1;}
16157 Parrot_collecton(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16158 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16159 Parrot_unblock_GC_sweep(interp
);
16161 return (opcode_t
*)cur_opcode
+ 1;}
16164 Parrot_needs_destroy_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16165 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16166 Parrot_gc_pmc_needs_early_collection(interp
, PREG(1));
16168 return (opcode_t
*)cur_opcode
+ 2;}
16171 Parrot_loadlib_p_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16172 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16173 PREG(1) = Parrot_load_lib(interp
, SREG(2), NULL
);
16175 return (opcode_t
*)cur_opcode
+ 3;}
16178 Parrot_loadlib_p_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16179 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16180 PREG(1) = Parrot_load_lib(interp
, CONST(2).u
.string
, NULL
);
16182 return (opcode_t
*)cur_opcode
+ 3;}
16185 Parrot_loadlib_p_s_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16186 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16187 PREG(1) = Parrot_load_lib(interp
, SREG(2), PREG(3));
16189 return (opcode_t
*)cur_opcode
+ 4;}
16192 Parrot_loadlib_p_sc_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16193 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16194 PREG(1) = Parrot_load_lib(interp
, CONST(2).u
.string
, PREG(3));
16196 return (opcode_t
*)cur_opcode
+ 4;}
16199 Parrot_loadlib_p_s_pc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16200 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16201 PREG(1) = Parrot_load_lib(interp
, SREG(2), CONST(3).u
.key
);
16203 return (opcode_t
*)cur_opcode
+ 4;}
16206 Parrot_loadlib_p_sc_pc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16207 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16208 PREG(1) = Parrot_load_lib(interp
, CONST(2).u
.string
, CONST(3).u
.key
);
16210 return (opcode_t
*)cur_opcode
+ 4;}
16213 Parrot_dlfunc_p_p_s_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16214 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16215 void *dl_handle
= NULL
;
16219 if (!PMC_IS_NULL(PREG(2))
16220 && PREG(2)->vtable
->base_type
== enum_class_ParrotLibrary
16221 && VTABLE_defined(interp
, PREG(2))) {
16222 dl_handle
= ((Parrot_ParrotLibrary_attributes
*)PMC_data(PREG(2)))->dl_handle
;
16225 ptr
= Parrot_dlsym_str(interp
, dl_handle
, SREG(3));
16228 if (p
== NULLfunc
) {
16229 const char * err
= Parrot_dlerror();
16230 Parrot_warn(interp
, PARROT_WARNINGS_UNDEF_FLAG
,
16231 "Symbol '%Ss' not found: %s\n", SREG(3), err
? err
: "unknown reason");
16232 PREG(1) = Parrot_pmc_new(interp
, enum_class_Undef
);
16235 PREG(1) = Parrot_pmc_new(interp
, enum_class_NCI
);
16236 VTABLE_set_pointer_keyed_str(interp
, PREG(1), SREG(4), F2DPTR(p
));
16239 return (opcode_t
*)cur_opcode
+ 5;}
16242 Parrot_dlfunc_p_p_sc_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16243 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16244 void *dl_handle
= NULL
;
16248 if (!PMC_IS_NULL(PREG(2))
16249 && PREG(2)->vtable
->base_type
== enum_class_ParrotLibrary
16250 && VTABLE_defined(interp
, PREG(2))) {
16251 dl_handle
= ((Parrot_ParrotLibrary_attributes
*)PMC_data(PREG(2)))->dl_handle
;
16254 ptr
= Parrot_dlsym_str(interp
, dl_handle
, CONST(3).u
.string
);
16257 if (p
== NULLfunc
) {
16258 const char * err
= Parrot_dlerror();
16259 Parrot_warn(interp
, PARROT_WARNINGS_UNDEF_FLAG
,
16260 "Symbol '%Ss' not found: %s\n", CONST(3).u
.string
, err
? err
: "unknown reason");
16261 PREG(1) = Parrot_pmc_new(interp
, enum_class_Undef
);
16264 PREG(1) = Parrot_pmc_new(interp
, enum_class_NCI
);
16265 VTABLE_set_pointer_keyed_str(interp
, PREG(1), SREG(4), F2DPTR(p
));
16268 return (opcode_t
*)cur_opcode
+ 5;}
16271 Parrot_dlfunc_p_p_s_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16272 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16273 void *dl_handle
= NULL
;
16277 if (!PMC_IS_NULL(PREG(2))
16278 && PREG(2)->vtable
->base_type
== enum_class_ParrotLibrary
16279 && VTABLE_defined(interp
, PREG(2))) {
16280 dl_handle
= ((Parrot_ParrotLibrary_attributes
*)PMC_data(PREG(2)))->dl_handle
;
16283 ptr
= Parrot_dlsym_str(interp
, dl_handle
, SREG(3));
16286 if (p
== NULLfunc
) {
16287 const char * err
= Parrot_dlerror();
16288 Parrot_warn(interp
, PARROT_WARNINGS_UNDEF_FLAG
,
16289 "Symbol '%Ss' not found: %s\n", SREG(3), err
? err
: "unknown reason");
16290 PREG(1) = Parrot_pmc_new(interp
, enum_class_Undef
);
16293 PREG(1) = Parrot_pmc_new(interp
, enum_class_NCI
);
16294 VTABLE_set_pointer_keyed_str(interp
, PREG(1), CONST(4).u
.string
, F2DPTR(p
));
16297 return (opcode_t
*)cur_opcode
+ 5;}
16300 Parrot_dlfunc_p_p_sc_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16301 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16302 void *dl_handle
= NULL
;
16306 if (!PMC_IS_NULL(PREG(2))
16307 && PREG(2)->vtable
->base_type
== enum_class_ParrotLibrary
16308 && VTABLE_defined(interp
, PREG(2))) {
16309 dl_handle
= ((Parrot_ParrotLibrary_attributes
*)PMC_data(PREG(2)))->dl_handle
;
16312 ptr
= Parrot_dlsym_str(interp
, dl_handle
, CONST(3).u
.string
);
16315 if (p
== NULLfunc
) {
16316 const char * err
= Parrot_dlerror();
16317 Parrot_warn(interp
, PARROT_WARNINGS_UNDEF_FLAG
,
16318 "Symbol '%Ss' not found: %s\n", CONST(3).u
.string
, err
? err
: "unknown reason");
16319 PREG(1) = Parrot_pmc_new(interp
, enum_class_Undef
);
16322 PREG(1) = Parrot_pmc_new(interp
, enum_class_NCI
);
16323 VTABLE_set_pointer_keyed_str(interp
, PREG(1), CONST(4).u
.string
, F2DPTR(p
));
16326 return (opcode_t
*)cur_opcode
+ 5;}
16329 Parrot_dlvar_p_p_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16330 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16331 void * dl_handle
= NULL
;
16334 if (!PMC_IS_NULL(PREG(2))
16335 && PREG(2)->vtable
->base_type
== enum_class_ParrotLibrary
16336 && VTABLE_defined(interp
, PREG(2))) {
16337 dl_handle
= ((Parrot_ParrotLibrary_attributes
*)PMC_data(PREG(2)))->dl_handle
;
16340 p
= Parrot_dlsym_str(interp
, dl_handle
, SREG(3));
16343 const char * const err
= Parrot_dlerror();
16344 Parrot_warn(interp
, PARROT_WARNINGS_UNDEF_FLAG
,
16345 "Symbol '%Ss' not found: %s\n", SREG(3), err
? err
: "unknown reason");
16346 PREG(1) = Parrot_pmc_new(interp
, enum_class_Undef
);
16349 /* At this point we have the symbol's address. We just need to build
16350 a PMC with it so we can get and set the value */
16351 PREG(1) = Parrot_pmc_new(interp
, enum_class_UnManagedStruct
);
16352 VTABLE_set_pointer(interp
, PREG(1), p
);
16355 return (opcode_t
*)cur_opcode
+ 4;}
16358 Parrot_dlvar_p_p_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16359 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16360 void * dl_handle
= NULL
;
16363 if (!PMC_IS_NULL(PREG(2))
16364 && PREG(2)->vtable
->base_type
== enum_class_ParrotLibrary
16365 && VTABLE_defined(interp
, PREG(2))) {
16366 dl_handle
= ((Parrot_ParrotLibrary_attributes
*)PMC_data(PREG(2)))->dl_handle
;
16369 p
= Parrot_dlsym_str(interp
, dl_handle
, CONST(3).u
.string
);
16372 const char * const err
= Parrot_dlerror();
16373 Parrot_warn(interp
, PARROT_WARNINGS_UNDEF_FLAG
,
16374 "Symbol '%Ss' not found: %s\n", CONST(3).u
.string
, err
? err
: "unknown reason");
16375 PREG(1) = Parrot_pmc_new(interp
, enum_class_Undef
);
16378 /* At this point we have the symbol's address. We just need to build
16379 a PMC with it so we can get and set the value */
16380 PREG(1) = Parrot_pmc_new(interp
, enum_class_UnManagedStruct
);
16381 VTABLE_set_pointer(interp
, PREG(1), p
);
16384 return (opcode_t
*)cur_opcode
+ 4;}
16387 Parrot_compreg_s_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16388 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16389 PMC
* const compreg_hash
= VTABLE_get_pmc_keyed_int(interp
,
16390 interp
->iglobals
, IGLOBALS_COMPREG_HASH
);
16391 VTABLE_set_pmc_keyed_str(interp
, compreg_hash
, SREG(1), PREG(2));
16393 return (opcode_t
*)cur_opcode
+ 3;}
16396 Parrot_compreg_sc_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16397 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16398 PMC
* const compreg_hash
= VTABLE_get_pmc_keyed_int(interp
,
16399 interp
->iglobals
, IGLOBALS_COMPREG_HASH
);
16400 VTABLE_set_pmc_keyed_str(interp
, compreg_hash
, CONST(1).u
.string
, PREG(2));
16402 return (opcode_t
*)cur_opcode
+ 3;}
16405 Parrot_compreg_p_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16406 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16407 PMC
* const compreg_hash
= VTABLE_get_pmc_keyed_int(interp
,
16408 interp
->iglobals
, IGLOBALS_COMPREG_HASH
);
16409 PREG(1) = VTABLE_get_pmc_keyed_str(interp
, compreg_hash
, SREG(2));
16411 return (opcode_t
*)cur_opcode
+ 3;}
16414 Parrot_compreg_p_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16415 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16416 PMC
* const compreg_hash
= VTABLE_get_pmc_keyed_int(interp
,
16417 interp
->iglobals
, IGLOBALS_COMPREG_HASH
);
16418 PREG(1) = VTABLE_get_pmc_keyed_str(interp
, compreg_hash
, CONST(2).u
.string
);
16420 return (opcode_t
*)cur_opcode
+ 3;}
16423 Parrot_new_callback_p_p_p_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16424 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16425 PREG(1) = Parrot_make_cb(interp
, PREG(2), PREG(3), SREG(4));
16427 return (opcode_t
*)cur_opcode
+ 5;}
16430 Parrot_new_callback_p_p_p_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16431 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16432 PREG(1) = Parrot_make_cb(interp
, PREG(2), PREG(3), CONST(4).u
.string
);
16434 return (opcode_t
*)cur_opcode
+ 5;}
16437 Parrot_annotations_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16438 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16439 if (interp
->code
->annotations
) {
16440 const opcode_t cur_pos
= ( cur_opcode
+ 2) - interp
->code
->base
.data
;
16441 PREG(1) = PackFile_Annotations_lookup(interp
, interp
->code
->annotations
,
16445 PREG(1) = Parrot_pmc_new(interp
, enum_class_Hash
);
16448 return (opcode_t
*)cur_opcode
+ 2;}
16451 Parrot_annotations_p_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16452 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16453 if (interp
->code
->annotations
) {
16454 const opcode_t cur_pos
= ( cur_opcode
+ 3) - interp
->code
->base
.data
;
16455 PREG(1) = PackFile_Annotations_lookup(interp
, interp
->code
->annotations
,
16462 return (opcode_t
*)cur_opcode
+ 3;}
16465 Parrot_annotations_p_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16466 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16467 if (interp
->code
->annotations
) {
16468 const opcode_t cur_pos
= ( cur_opcode
+ 3) - interp
->code
->base
.data
;
16469 PREG(1) = PackFile_Annotations_lookup(interp
, interp
->code
->annotations
,
16470 cur_pos
, CONST(2).u
.string
);
16476 return (opcode_t
*)cur_opcode
+ 3;}
16479 Parrot_band_i_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16480 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16481 IREG(1) &= IREG(2);
16483 return (opcode_t
*)cur_opcode
+ 3;}
16486 Parrot_band_i_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16487 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16488 IREG(1) &= cur_opcode
[2];
16490 return (opcode_t
*)cur_opcode
+ 3;}
16493 Parrot_band_i_i_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16494 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16495 IREG(1) = IREG(2) & IREG(3);
16497 return (opcode_t
*)cur_opcode
+ 4;}
16500 Parrot_band_i_ic_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16501 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16502 IREG(1) = cur_opcode
[2] & IREG(3);
16504 return (opcode_t
*)cur_opcode
+ 4;}
16507 Parrot_band_i_i_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16508 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16509 IREG(1) = IREG(2) & cur_opcode
[3];
16511 return (opcode_t
*)cur_opcode
+ 4;}
16514 Parrot_bor_i_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16515 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16516 IREG(1) |= IREG(2);
16518 return (opcode_t
*)cur_opcode
+ 3;}
16521 Parrot_bor_i_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16522 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16523 IREG(1) |= cur_opcode
[2];
16525 return (opcode_t
*)cur_opcode
+ 3;}
16528 Parrot_bor_i_i_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16529 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16530 IREG(1) = IREG(2) | IREG(3);
16532 return (opcode_t
*)cur_opcode
+ 4;}
16535 Parrot_bor_i_ic_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16536 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16537 IREG(1) = cur_opcode
[2] | IREG(3);
16539 return (opcode_t
*)cur_opcode
+ 4;}
16542 Parrot_bor_i_i_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16543 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16544 IREG(1) = IREG(2) | cur_opcode
[3];
16546 return (opcode_t
*)cur_opcode
+ 4;}
16549 Parrot_shl_i_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16550 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16551 IREG(1) = bit_shift_left(IREG(1), IREG(2));
16553 return (opcode_t
*)cur_opcode
+ 3;}
16556 Parrot_shl_i_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16557 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16558 IREG(1) = bit_shift_left(IREG(1), cur_opcode
[2]);
16560 return (opcode_t
*)cur_opcode
+ 3;}
16563 Parrot_shl_i_i_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16564 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16565 IREG(1) = bit_shift_left(IREG(2), IREG(3));
16567 return (opcode_t
*)cur_opcode
+ 4;}
16570 Parrot_shl_i_ic_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16571 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16572 IREG(1) = bit_shift_left(cur_opcode
[2], IREG(3));
16574 return (opcode_t
*)cur_opcode
+ 4;}
16577 Parrot_shl_i_i_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16578 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16579 IREG(1) = bit_shift_left(IREG(2), cur_opcode
[3]);
16581 return (opcode_t
*)cur_opcode
+ 4;}
16584 Parrot_shr_i_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16585 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16586 const INTVAL signed_shift
= -IREG(2);
16587 IREG(1) = bit_shift_left(IREG(1), signed_shift
);
16589 return (opcode_t
*)cur_opcode
+ 3;}
16592 Parrot_shr_i_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16593 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16594 const INTVAL signed_shift
= -cur_opcode
[2];
16595 IREG(1) = bit_shift_left(IREG(1), signed_shift
);
16597 return (opcode_t
*)cur_opcode
+ 3;}
16600 Parrot_shr_i_i_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16601 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16602 const INTVAL signed_shift
= -IREG(3);
16603 IREG(1) = bit_shift_left(IREG(2), signed_shift
);
16605 return (opcode_t
*)cur_opcode
+ 4;}
16608 Parrot_shr_i_ic_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16609 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16610 const INTVAL signed_shift
= -IREG(3);
16611 IREG(1) = bit_shift_left(cur_opcode
[2], signed_shift
);
16613 return (opcode_t
*)cur_opcode
+ 4;}
16616 Parrot_shr_i_i_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16617 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16618 const INTVAL signed_shift
= -cur_opcode
[3];
16619 IREG(1) = bit_shift_left(IREG(2), signed_shift
);
16621 return (opcode_t
*)cur_opcode
+ 4;}
16624 Parrot_lsr_i_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16625 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16626 const UINTVAL a
= (UINTVAL
)IREG(1);
16627 const UINTVAL b
= a
>> IREG(2);
16628 IREG(1) = (INTVAL
)b
;
16630 return (opcode_t
*)cur_opcode
+ 3;}
16633 Parrot_lsr_i_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16634 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16635 const UINTVAL a
= (UINTVAL
)IREG(1);
16636 const UINTVAL b
= a
>> cur_opcode
[2];
16637 IREG(1) = (INTVAL
)b
;
16639 return (opcode_t
*)cur_opcode
+ 3;}
16642 Parrot_lsr_i_i_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16643 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16644 IREG(1) = (INTVAL
)((UINTVAL
)IREG(2) >> IREG(3));
16646 return (opcode_t
*)cur_opcode
+ 4;}
16649 Parrot_lsr_i_ic_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16650 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16651 IREG(1) = (INTVAL
)((UINTVAL
)cur_opcode
[2] >> IREG(3));
16653 return (opcode_t
*)cur_opcode
+ 4;}
16656 Parrot_lsr_i_i_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16657 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16658 IREG(1) = (INTVAL
)((UINTVAL
)IREG(2) >> cur_opcode
[3]);
16660 return (opcode_t
*)cur_opcode
+ 4;}
16663 Parrot_bxor_i_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16664 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16665 IREG(1) ^= IREG(2);
16667 return (opcode_t
*)cur_opcode
+ 3;}
16670 Parrot_bxor_i_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16671 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16672 IREG(1) ^= cur_opcode
[2];
16674 return (opcode_t
*)cur_opcode
+ 3;}
16677 Parrot_bxor_i_i_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16678 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16679 IREG(1) = IREG(2) ^ IREG(3);
16681 return (opcode_t
*)cur_opcode
+ 4;}
16684 Parrot_bxor_i_ic_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16685 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16686 IREG(1) = cur_opcode
[2] ^ IREG(3);
16688 return (opcode_t
*)cur_opcode
+ 4;}
16691 Parrot_bxor_i_i_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16692 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16693 IREG(1) = IREG(2) ^ cur_opcode
[3];
16695 return (opcode_t
*)cur_opcode
+ 4;}
16698 Parrot_eq_i_i_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16699 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16700 if (IREG(1) == IREG(2)) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
16703 return (opcode_t
*)cur_opcode
+ 4;}
16706 Parrot_eq_ic_i_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16707 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16708 if (cur_opcode
[1] == IREG(2)) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
16711 return (opcode_t
*)cur_opcode
+ 4;}
16714 Parrot_eq_i_ic_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16715 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16716 if (IREG(1) == cur_opcode
[2]) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
16719 return (opcode_t
*)cur_opcode
+ 4;}
16722 Parrot_eq_n_n_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16723 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16724 if (NREG(1) == NREG(2)) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
16727 return (opcode_t
*)cur_opcode
+ 4;}
16730 Parrot_eq_nc_n_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16731 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16732 if (CONST(1).u
.number
== NREG(2)) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
16735 return (opcode_t
*)cur_opcode
+ 4;}
16738 Parrot_eq_n_nc_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16739 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16740 if (NREG(1) == CONST(2).u
.number
) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
16743 return (opcode_t
*)cur_opcode
+ 4;}
16746 Parrot_eq_s_s_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16747 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16748 if (Parrot_str_equal(interp
, SREG(1), SREG(2))) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
16751 return (opcode_t
*)cur_opcode
+ 4;}
16754 Parrot_eq_sc_s_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16755 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16756 if (Parrot_str_equal(interp
, CONST(1).u
.string
, SREG(2))) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
16759 return (opcode_t
*)cur_opcode
+ 4;}
16762 Parrot_eq_s_sc_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16763 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16764 if (Parrot_str_equal(interp
, SREG(1), CONST(2).u
.string
)) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
16767 return (opcode_t
*)cur_opcode
+ 4;}
16770 Parrot_eq_p_p_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16771 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16772 if (VTABLE_is_equal(interp
, PREG(1), PREG(2))) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
16775 return (opcode_t
*)cur_opcode
+ 4;}
16778 Parrot_eq_p_i_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16779 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16780 PMC
* const temp
= Parrot_pmc_new_temporary(interp
, enum_class_Integer
);
16781 VTABLE_set_integer_native(interp
, temp
, IREG(2));
16783 if (VTABLE_is_equal(interp
, PREG(1), temp
)) {
16784 Parrot_pmc_free_temporary(interp
, temp
);return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
16787 Parrot_pmc_free_temporary(interp
, temp
);
16789 return (opcode_t
*)cur_opcode
+ 4;}
16792 Parrot_eq_p_ic_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16793 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16794 PMC
* const temp
= Parrot_pmc_new_temporary(interp
, enum_class_Integer
);
16795 VTABLE_set_integer_native(interp
, temp
, cur_opcode
[2]);
16797 if (VTABLE_is_equal(interp
, PREG(1), temp
)) {
16798 Parrot_pmc_free_temporary(interp
, temp
);return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
16801 Parrot_pmc_free_temporary(interp
, temp
);
16803 return (opcode_t
*)cur_opcode
+ 4;}
16806 Parrot_eq_p_n_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16807 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16809 * the get_number and get_string should probably
16810 * be also replaced with code like above, as
16811 * overriding the compare multi subs wouldn't
16812 * have any effect with the current code
16814 if (VTABLE_get_number(interp
, PREG(1)) == NREG(2)) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
16817 return (opcode_t
*)cur_opcode
+ 4;}
16820 Parrot_eq_p_nc_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16821 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16823 * the get_number and get_string should probably
16824 * be also replaced with code like above, as
16825 * overriding the compare multi subs wouldn't
16826 * have any effect with the current code
16828 if (VTABLE_get_number(interp
, PREG(1)) == CONST(2).u
.number
) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
16831 return (opcode_t
*)cur_opcode
+ 4;}
16834 Parrot_eq_p_s_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16835 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16836 if (Parrot_str_equal(interp
, VTABLE_get_string(interp
, PREG(1)), SREG(2))) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
16839 return (opcode_t
*)cur_opcode
+ 4;}
16842 Parrot_eq_p_sc_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16843 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16844 if (Parrot_str_equal(interp
, VTABLE_get_string(interp
, PREG(1)), CONST(2).u
.string
)) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
16847 return (opcode_t
*)cur_opcode
+ 4;}
16850 Parrot_eq_str_p_p_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16851 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16852 if (VTABLE_is_equal_string(interp
, PREG(1), PREG(2))) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
16855 return (opcode_t
*)cur_opcode
+ 4;}
16858 Parrot_eq_num_p_p_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16859 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16860 if (VTABLE_is_equal_num(interp
, PREG(1), PREG(2))) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
16863 return (opcode_t
*)cur_opcode
+ 4;}
16866 Parrot_eq_addr_s_s_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16867 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16868 if (SREG(1) == SREG(2)) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
16871 return (opcode_t
*)cur_opcode
+ 4;}
16874 Parrot_eq_addr_sc_s_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16875 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16876 if (CONST(1).u
.string
== SREG(2)) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
16879 return (opcode_t
*)cur_opcode
+ 4;}
16882 Parrot_eq_addr_s_sc_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16883 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16884 if (SREG(1) == CONST(2).u
.string
) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
16887 return (opcode_t
*)cur_opcode
+ 4;}
16890 Parrot_eq_addr_sc_sc_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16891 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16892 if (CONST(1).u
.string
== CONST(2).u
.string
) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
16895 return (opcode_t
*)cur_opcode
+ 4;}
16898 Parrot_eq_addr_p_p_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16899 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16900 if (PREG(1) == PREG(2)) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
16903 return (opcode_t
*)cur_opcode
+ 4;}
16906 Parrot_ne_i_i_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16907 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16908 if (IREG(1) != IREG(2)) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
16911 return (opcode_t
*)cur_opcode
+ 4;}
16914 Parrot_ne_ic_i_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16915 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16916 if (cur_opcode
[1] != IREG(2)) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
16919 return (opcode_t
*)cur_opcode
+ 4;}
16922 Parrot_ne_i_ic_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16923 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16924 if (IREG(1) != cur_opcode
[2]) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
16927 return (opcode_t
*)cur_opcode
+ 4;}
16930 Parrot_ne_n_n_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16931 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16932 if (NREG(1) != NREG(2)) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
16935 return (opcode_t
*)cur_opcode
+ 4;}
16938 Parrot_ne_nc_n_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16939 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16940 if (CONST(1).u
.number
!= NREG(2)) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
16943 return (opcode_t
*)cur_opcode
+ 4;}
16946 Parrot_ne_n_nc_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16947 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16948 if (NREG(1) != CONST(2).u
.number
) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
16951 return (opcode_t
*)cur_opcode
+ 4;}
16954 Parrot_ne_s_s_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16955 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16956 if (Parrot_str_not_equal(interp
, SREG(1), SREG(2))) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
16959 return (opcode_t
*)cur_opcode
+ 4;}
16962 Parrot_ne_sc_s_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16963 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16964 if (Parrot_str_not_equal(interp
, CONST(1).u
.string
, SREG(2))) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
16967 return (opcode_t
*)cur_opcode
+ 4;}
16970 Parrot_ne_s_sc_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16971 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16972 if (Parrot_str_not_equal(interp
, SREG(1), CONST(2).u
.string
)) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
16975 return (opcode_t
*)cur_opcode
+ 4;}
16978 Parrot_ne_p_p_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16979 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16980 if (!VTABLE_is_equal(interp
, PREG(1), PREG(2))) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
16983 return (opcode_t
*)cur_opcode
+ 4;}
16986 Parrot_ne_p_i_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
16987 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
16988 PMC
* const temp
= Parrot_pmc_new_temporary(interp
, enum_class_Integer
);
16989 VTABLE_set_integer_native(interp
, temp
, IREG(2));
16991 if (!VTABLE_is_equal(interp
, PREG(1), temp
)) {
16992 Parrot_pmc_free_temporary(interp
, temp
);return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
16995 Parrot_pmc_free_temporary(interp
, temp
);
16997 return (opcode_t
*)cur_opcode
+ 4;}
17000 Parrot_ne_p_ic_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17001 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17002 PMC
* const temp
= Parrot_pmc_new_temporary(interp
, enum_class_Integer
);
17003 VTABLE_set_integer_native(interp
, temp
, cur_opcode
[2]);
17005 if (!VTABLE_is_equal(interp
, PREG(1), temp
)) {
17006 Parrot_pmc_free_temporary(interp
, temp
);return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
17009 Parrot_pmc_free_temporary(interp
, temp
);
17011 return (opcode_t
*)cur_opcode
+ 4;}
17014 Parrot_ne_p_n_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17015 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17016 if (VTABLE_get_number(interp
, PREG(1)) != NREG(2)) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
17019 return (opcode_t
*)cur_opcode
+ 4;}
17022 Parrot_ne_p_nc_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17023 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17024 if (VTABLE_get_number(interp
, PREG(1)) != CONST(2).u
.number
) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
17027 return (opcode_t
*)cur_opcode
+ 4;}
17030 Parrot_ne_p_s_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17031 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17032 if (Parrot_str_not_equal(interp
, VTABLE_get_string(interp
, PREG(1)), SREG(2))) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
17035 return (opcode_t
*)cur_opcode
+ 4;}
17038 Parrot_ne_p_sc_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17039 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17040 if (Parrot_str_not_equal(interp
, VTABLE_get_string(interp
, PREG(1)), CONST(2).u
.string
)) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
17043 return (opcode_t
*)cur_opcode
+ 4;}
17046 Parrot_ne_str_p_p_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17047 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17048 if (VTABLE_cmp_string(interp
, PREG(1), PREG(2)) != 0) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
17051 return (opcode_t
*)cur_opcode
+ 4;}
17054 Parrot_ne_num_p_p_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17055 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17056 if (VTABLE_cmp_num(interp
, PREG(1), PREG(2)) != 0) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
17059 return (opcode_t
*)cur_opcode
+ 4;}
17062 Parrot_ne_addr_s_s_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17063 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17064 if (SREG(1) != SREG(2)) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
17067 return (opcode_t
*)cur_opcode
+ 4;}
17070 Parrot_ne_addr_sc_s_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17071 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17072 if (CONST(1).u
.string
!= SREG(2)) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
17075 return (opcode_t
*)cur_opcode
+ 4;}
17078 Parrot_ne_addr_s_sc_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17079 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17080 if (SREG(1) != CONST(2).u
.string
) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
17083 return (opcode_t
*)cur_opcode
+ 4;}
17086 Parrot_ne_addr_sc_sc_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17087 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17088 if (CONST(1).u
.string
!= CONST(2).u
.string
) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
17091 return (opcode_t
*)cur_opcode
+ 4;}
17094 Parrot_ne_addr_p_p_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17095 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17096 if (PREG(1) != PREG(2)) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
17099 return (opcode_t
*)cur_opcode
+ 4;}
17102 Parrot_lt_i_i_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17103 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17104 if (IREG(1) < IREG(2)) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
17107 return (opcode_t
*)cur_opcode
+ 4;}
17110 Parrot_lt_ic_i_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17111 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17112 if (cur_opcode
[1] < IREG(2)) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
17115 return (opcode_t
*)cur_opcode
+ 4;}
17118 Parrot_lt_i_ic_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17119 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17120 if (IREG(1) < cur_opcode
[2]) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
17123 return (opcode_t
*)cur_opcode
+ 4;}
17126 Parrot_lt_n_n_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17127 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17128 if (NREG(1) < NREG(2)) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
17131 return (opcode_t
*)cur_opcode
+ 4;}
17134 Parrot_lt_nc_n_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17135 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17136 if (CONST(1).u
.number
< NREG(2)) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
17139 return (opcode_t
*)cur_opcode
+ 4;}
17142 Parrot_lt_n_nc_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17143 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17144 if (NREG(1) < CONST(2).u
.number
) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
17147 return (opcode_t
*)cur_opcode
+ 4;}
17150 Parrot_lt_s_s_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17151 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17152 if (Parrot_str_compare(interp
, SREG(1), SREG(2)) < 0) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
17155 return (opcode_t
*)cur_opcode
+ 4;}
17158 Parrot_lt_sc_s_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17159 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17160 if (Parrot_str_compare(interp
, CONST(1).u
.string
, SREG(2)) < 0) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
17163 return (opcode_t
*)cur_opcode
+ 4;}
17166 Parrot_lt_s_sc_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17167 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17168 if (Parrot_str_compare(interp
, SREG(1), CONST(2).u
.string
) < 0) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
17171 return (opcode_t
*)cur_opcode
+ 4;}
17174 Parrot_lt_p_p_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17175 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17176 if (VTABLE_cmp(interp
, PREG(1), PREG(2)) < 0) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
17179 return (opcode_t
*)cur_opcode
+ 4;}
17182 Parrot_lt_p_i_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17183 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17184 PMC
* const temp
= Parrot_pmc_new_temporary(interp
, enum_class_Integer
);
17185 VTABLE_set_integer_native(interp
, temp
, IREG(2));
17187 if (VTABLE_cmp(interp
, PREG(1), temp
) < 0) {
17188 Parrot_pmc_free_temporary(interp
, temp
);return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
17191 Parrot_pmc_free_temporary(interp
, temp
);
17193 return (opcode_t
*)cur_opcode
+ 4;}
17196 Parrot_lt_p_ic_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17197 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17198 PMC
* const temp
= Parrot_pmc_new_temporary(interp
, enum_class_Integer
);
17199 VTABLE_set_integer_native(interp
, temp
, cur_opcode
[2]);
17201 if (VTABLE_cmp(interp
, PREG(1), temp
) < 0) {
17202 Parrot_pmc_free_temporary(interp
, temp
);return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
17205 Parrot_pmc_free_temporary(interp
, temp
);
17207 return (opcode_t
*)cur_opcode
+ 4;}
17210 Parrot_lt_p_n_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17211 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17212 if (VTABLE_get_number(interp
, PREG(1)) < NREG(2)) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
17215 return (opcode_t
*)cur_opcode
+ 4;}
17218 Parrot_lt_p_nc_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17219 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17220 if (VTABLE_get_number(interp
, PREG(1)) < CONST(2).u
.number
) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
17223 return (opcode_t
*)cur_opcode
+ 4;}
17226 Parrot_lt_p_s_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17227 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17228 if (Parrot_str_compare(interp
, VTABLE_get_string(interp
, PREG(1)), SREG(2)) < 0) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
17231 return (opcode_t
*)cur_opcode
+ 4;}
17234 Parrot_lt_p_sc_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17235 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17236 if (Parrot_str_compare(interp
, VTABLE_get_string(interp
, PREG(1)), CONST(2).u
.string
) < 0) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
17239 return (opcode_t
*)cur_opcode
+ 4;}
17242 Parrot_lt_str_p_p_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17243 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17244 if (VTABLE_cmp_string(interp
, PREG(1), PREG(2)) < 0) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
17247 return (opcode_t
*)cur_opcode
+ 4;}
17250 Parrot_lt_num_p_p_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17251 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17252 if (VTABLE_cmp_num(interp
, PREG(1), PREG(2)) < 0) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
17255 return (opcode_t
*)cur_opcode
+ 4;}
17258 Parrot_le_i_i_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17259 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17260 if (IREG(1) <= IREG(2)) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
17263 return (opcode_t
*)cur_opcode
+ 4;}
17266 Parrot_le_ic_i_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17267 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17268 if (cur_opcode
[1] <= IREG(2)) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
17271 return (opcode_t
*)cur_opcode
+ 4;}
17274 Parrot_le_i_ic_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17275 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17276 if (IREG(1) <= cur_opcode
[2]) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
17279 return (opcode_t
*)cur_opcode
+ 4;}
17282 Parrot_le_n_n_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17283 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17284 if (NREG(1) <= NREG(2)) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
17287 return (opcode_t
*)cur_opcode
+ 4;}
17290 Parrot_le_nc_n_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17291 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17292 if (CONST(1).u
.number
<= NREG(2)) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
17295 return (opcode_t
*)cur_opcode
+ 4;}
17298 Parrot_le_n_nc_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17299 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17300 if (NREG(1) <= CONST(2).u
.number
) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
17303 return (opcode_t
*)cur_opcode
+ 4;}
17306 Parrot_le_s_s_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17307 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17308 if (Parrot_str_compare(interp
, SREG(1), SREG(2)) <= 0) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
17311 return (opcode_t
*)cur_opcode
+ 4;}
17314 Parrot_le_sc_s_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17315 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17316 if (Parrot_str_compare(interp
, CONST(1).u
.string
, SREG(2)) <= 0) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
17319 return (opcode_t
*)cur_opcode
+ 4;}
17322 Parrot_le_s_sc_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17323 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17324 if (Parrot_str_compare(interp
, SREG(1), CONST(2).u
.string
) <= 0) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
17327 return (opcode_t
*)cur_opcode
+ 4;}
17330 Parrot_le_p_p_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17331 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17332 if (VTABLE_cmp(interp
, PREG(1), PREG(2)) <= 0) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
17335 return (opcode_t
*)cur_opcode
+ 4;}
17338 Parrot_le_p_i_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17339 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17340 PMC
* const temp
= Parrot_pmc_new_temporary(interp
, enum_class_Integer
);
17341 VTABLE_set_integer_native(interp
, temp
, IREG(2));
17343 if (VTABLE_cmp(interp
, PREG(1), temp
) <= 0) {
17344 Parrot_pmc_free_temporary(interp
, temp
);return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
17347 Parrot_pmc_free_temporary(interp
, temp
);
17349 return (opcode_t
*)cur_opcode
+ 4;}
17352 Parrot_le_p_ic_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17353 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17354 PMC
* const temp
= Parrot_pmc_new_temporary(interp
, enum_class_Integer
);
17355 VTABLE_set_integer_native(interp
, temp
, cur_opcode
[2]);
17357 if (VTABLE_cmp(interp
, PREG(1), temp
) <= 0) {
17358 Parrot_pmc_free_temporary(interp
, temp
);return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
17361 Parrot_pmc_free_temporary(interp
, temp
);
17363 return (opcode_t
*)cur_opcode
+ 4;}
17366 Parrot_le_p_n_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17367 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17368 if (VTABLE_get_number(interp
, PREG(1)) <= NREG(2)) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
17371 return (opcode_t
*)cur_opcode
+ 4;}
17374 Parrot_le_p_nc_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17375 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17376 if (VTABLE_get_number(interp
, PREG(1)) <= CONST(2).u
.number
) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
17379 return (opcode_t
*)cur_opcode
+ 4;}
17382 Parrot_le_p_s_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17383 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17384 if (Parrot_str_compare(interp
, VTABLE_get_string(interp
, PREG(1)), SREG(2)) <= 0) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
17387 return (opcode_t
*)cur_opcode
+ 4;}
17390 Parrot_le_p_sc_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17391 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17392 if (Parrot_str_compare(interp
, VTABLE_get_string(interp
, PREG(1)), CONST(2).u
.string
) <= 0) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
17395 return (opcode_t
*)cur_opcode
+ 4;}
17398 Parrot_le_str_p_p_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17399 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17400 if (VTABLE_cmp_string(interp
, PREG(1), PREG(2)) <= 0) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
17403 return (opcode_t
*)cur_opcode
+ 4;}
17406 Parrot_le_num_p_p_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17407 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17408 if (VTABLE_cmp_num(interp
, PREG(1), PREG(2)) <= 0) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
17411 return (opcode_t
*)cur_opcode
+ 4;}
17414 Parrot_gt_p_p_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17415 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17416 if (VTABLE_cmp(interp
, PREG(1), PREG(2)) > 0) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
17419 return (opcode_t
*)cur_opcode
+ 4;}
17422 Parrot_gt_p_i_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17423 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17424 PMC
* const temp
= Parrot_pmc_new_temporary(interp
, enum_class_Integer
);
17425 VTABLE_set_integer_native(interp
, temp
, IREG(2));
17427 if (VTABLE_cmp(interp
, PREG(1), temp
) > 0) {
17428 Parrot_pmc_free_temporary(interp
, temp
);return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
17431 Parrot_pmc_free_temporary(interp
, temp
);
17433 return (opcode_t
*)cur_opcode
+ 4;}
17436 Parrot_gt_p_ic_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17437 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17438 PMC
* const temp
= Parrot_pmc_new_temporary(interp
, enum_class_Integer
);
17439 VTABLE_set_integer_native(interp
, temp
, cur_opcode
[2]);
17441 if (VTABLE_cmp(interp
, PREG(1), temp
) > 0) {
17442 Parrot_pmc_free_temporary(interp
, temp
);return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
17445 Parrot_pmc_free_temporary(interp
, temp
);
17447 return (opcode_t
*)cur_opcode
+ 4;}
17450 Parrot_gt_p_n_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17451 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17452 if (VTABLE_get_number(interp
, PREG(1)) > NREG(2)) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
17455 return (opcode_t
*)cur_opcode
+ 4;}
17458 Parrot_gt_p_nc_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17459 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17460 if (VTABLE_get_number(interp
, PREG(1)) > CONST(2).u
.number
) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
17463 return (opcode_t
*)cur_opcode
+ 4;}
17466 Parrot_gt_p_s_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17467 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17468 if (Parrot_str_compare(interp
, VTABLE_get_string(interp
, PREG(1)), SREG(2)) > 0) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
17471 return (opcode_t
*)cur_opcode
+ 4;}
17474 Parrot_gt_p_sc_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17475 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17476 if (Parrot_str_compare(interp
, VTABLE_get_string(interp
, PREG(1)), CONST(2).u
.string
) > 0) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
17479 return (opcode_t
*)cur_opcode
+ 4;}
17482 Parrot_gt_str_p_p_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17483 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17484 if (VTABLE_cmp_string(interp
, PREG(1), PREG(2)) > 0) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
17487 return (opcode_t
*)cur_opcode
+ 4;}
17490 Parrot_gt_num_p_p_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17491 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17492 if (VTABLE_cmp_num(interp
, PREG(1), PREG(2)) > 0) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
17495 return (opcode_t
*)cur_opcode
+ 4;}
17498 Parrot_ge_p_p_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17499 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17500 if (VTABLE_cmp(interp
, PREG(1), PREG(2)) >= 0) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
17503 return (opcode_t
*)cur_opcode
+ 4;}
17506 Parrot_ge_p_i_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17507 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17508 PMC
* const temp
= Parrot_pmc_new_temporary(interp
, enum_class_Integer
);
17509 VTABLE_set_integer_native(interp
, temp
, IREG(2));
17511 if (VTABLE_cmp(interp
, PREG(1), temp
) >= 0) {
17512 Parrot_pmc_free_temporary(interp
, temp
);return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
17515 Parrot_pmc_free_temporary(interp
, temp
);
17517 return (opcode_t
*)cur_opcode
+ 4;}
17520 Parrot_ge_p_ic_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17521 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17522 PMC
* const temp
= Parrot_pmc_new_temporary(interp
, enum_class_Integer
);
17523 VTABLE_set_integer_native(interp
, temp
, cur_opcode
[2]);
17525 if (VTABLE_cmp(interp
, PREG(1), temp
) >= 0) {
17526 Parrot_pmc_free_temporary(interp
, temp
);return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
17529 Parrot_pmc_free_temporary(interp
, temp
);
17531 return (opcode_t
*)cur_opcode
+ 4;}
17534 Parrot_ge_p_n_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17535 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17536 if (VTABLE_get_number(interp
, PREG(1)) >= NREG(2)) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
17539 return (opcode_t
*)cur_opcode
+ 4;}
17542 Parrot_ge_p_nc_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17543 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17544 if (VTABLE_get_number(interp
, PREG(1)) >= CONST(2).u
.number
) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
17547 return (opcode_t
*)cur_opcode
+ 4;}
17550 Parrot_ge_p_s_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17551 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17552 if (Parrot_str_compare(interp
, VTABLE_get_string(interp
, PREG(1)), SREG(2)) >= 0) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
17555 return (opcode_t
*)cur_opcode
+ 4;}
17558 Parrot_ge_p_sc_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17559 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17560 if (Parrot_str_compare(interp
, VTABLE_get_string(interp
, PREG(1)), CONST(2).u
.string
) >= 0) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
17563 return (opcode_t
*)cur_opcode
+ 4;}
17566 Parrot_ge_str_p_p_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17567 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17568 if (VTABLE_cmp_string(interp
, PREG(1), PREG(2)) >= 0) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
17571 return (opcode_t
*)cur_opcode
+ 4;}
17574 Parrot_ge_num_p_p_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17575 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17576 if (VTABLE_cmp_num(interp
, PREG(1), PREG(2)) >= 0) {return (opcode_t
*)cur_opcode
+ cur_opcode
[3];
17579 return (opcode_t
*)cur_opcode
+ 4;}
17582 Parrot_if_null_p_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17583 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17584 if (PMC_IS_NULL(PREG(1))) {return (opcode_t
*)cur_opcode
+ cur_opcode
[2];
17587 return (opcode_t
*)cur_opcode
+ 3;}
17590 Parrot_if_null_s_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17591 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17592 if (STRING_IS_NULL(SREG(1))) {return (opcode_t
*)cur_opcode
+ cur_opcode
[2];
17595 return (opcode_t
*)cur_opcode
+ 3;}
17598 Parrot_unless_null_p_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17599 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17600 if (!PMC_IS_NULL(PREG(1))) {return (opcode_t
*)cur_opcode
+ cur_opcode
[2];
17603 return (opcode_t
*)cur_opcode
+ 3;}
17606 Parrot_unless_null_s_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17607 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17608 if (!STRING_IS_NULL(SREG(1))) {return (opcode_t
*)cur_opcode
+ cur_opcode
[2];
17611 return (opcode_t
*)cur_opcode
+ 3;}
17614 Parrot_cmp_i_i_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17615 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17616 IREG(1) = IREG(2) < IREG(3) ? -1 :
17617 IREG(2) > IREG(3) ? +1 :
17620 return (opcode_t
*)cur_opcode
+ 4;}
17623 Parrot_cmp_i_ic_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17624 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17625 IREG(1) = cur_opcode
[2] < IREG(3) ? -1 :
17626 cur_opcode
[2] > IREG(3) ? +1 :
17629 return (opcode_t
*)cur_opcode
+ 4;}
17632 Parrot_cmp_i_i_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17633 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17634 IREG(1) = IREG(2) < cur_opcode
[3] ? -1 :
17635 IREG(2) > cur_opcode
[3] ? +1 :
17638 return (opcode_t
*)cur_opcode
+ 4;}
17641 Parrot_cmp_i_n_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17642 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17643 IREG(1) = NREG(2) < NREG(3) ? -1 :
17644 NREG(2) > NREG(3) ? +1 :
17647 return (opcode_t
*)cur_opcode
+ 4;}
17650 Parrot_cmp_i_nc_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17651 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17652 IREG(1) = CONST(2).u
.number
< NREG(3) ? -1 :
17653 CONST(2).u
.number
> NREG(3) ? +1 :
17656 return (opcode_t
*)cur_opcode
+ 4;}
17659 Parrot_cmp_i_n_nc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17660 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17661 IREG(1) = NREG(2) < CONST(3).u
.number
? -1 :
17662 NREG(2) > CONST(3).u
.number
? +1 :
17665 return (opcode_t
*)cur_opcode
+ 4;}
17668 Parrot_cmp_i_s_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17669 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17670 IREG(1) = Parrot_str_compare(interp
, SREG(2), SREG(3));
17672 return (opcode_t
*)cur_opcode
+ 4;}
17675 Parrot_cmp_i_sc_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17676 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17677 IREG(1) = Parrot_str_compare(interp
, CONST(2).u
.string
, SREG(3));
17679 return (opcode_t
*)cur_opcode
+ 4;}
17682 Parrot_cmp_i_s_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17683 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17684 IREG(1) = Parrot_str_compare(interp
, SREG(2), CONST(3).u
.string
);
17686 return (opcode_t
*)cur_opcode
+ 4;}
17689 Parrot_cmp_i_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17690 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17691 IREG(1) = VTABLE_cmp(interp
, PREG(2), PREG(3));
17693 return (opcode_t
*)cur_opcode
+ 4;}
17696 Parrot_cmp_i_p_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17697 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17698 const INTVAL l
= VTABLE_get_integer(interp
, PREG(2));
17699 IREG(1) = l
< IREG(3) ? -1 :
17703 return (opcode_t
*)cur_opcode
+ 4;}
17706 Parrot_cmp_i_p_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17707 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17708 const INTVAL l
= VTABLE_get_integer(interp
, PREG(2));
17709 IREG(1) = l
< cur_opcode
[3] ? -1 :
17710 l
> cur_opcode
[3] ? +1 :
17713 return (opcode_t
*)cur_opcode
+ 4;}
17716 Parrot_cmp_i_p_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17717 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17718 const FLOATVAL l
= VTABLE_get_number(interp
, PREG(2));
17719 IREG(1) = l
< NREG(3) ? -1 :
17723 return (opcode_t
*)cur_opcode
+ 4;}
17726 Parrot_cmp_i_p_nc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17727 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17728 const FLOATVAL l
= VTABLE_get_number(interp
, PREG(2));
17729 IREG(1) = l
< CONST(3).u
.number
? -1 :
17730 l
> CONST(3).u
.number
? +1 :
17733 return (opcode_t
*)cur_opcode
+ 4;}
17736 Parrot_cmp_i_p_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17737 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17738 STRING
* const l
= VTABLE_get_string(interp
, PREG(2));
17739 IREG(1) = Parrot_str_compare(interp
, l
, SREG(3));
17741 return (opcode_t
*)cur_opcode
+ 4;}
17744 Parrot_cmp_i_p_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17745 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17746 STRING
* const l
= VTABLE_get_string(interp
, PREG(2));
17747 IREG(1) = Parrot_str_compare(interp
, l
, CONST(3).u
.string
);
17749 return (opcode_t
*)cur_opcode
+ 4;}
17752 Parrot_cmp_str_i_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17753 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17754 IREG(1) = VTABLE_cmp_string(interp
, PREG(2), PREG(3));
17756 return (opcode_t
*)cur_opcode
+ 4;}
17759 Parrot_cmp_num_i_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17760 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17761 IREG(1) = VTABLE_cmp_num(interp
, PREG(2), PREG(3));
17763 return (opcode_t
*)cur_opcode
+ 4;}
17766 Parrot_cmp_pmc_p_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17767 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17768 PREG(1) = VTABLE_cmp_pmc(interp
, PREG(2), PREG(3));
17770 return (opcode_t
*)cur_opcode
+ 4;}
17773 Parrot_issame_i_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17774 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17775 if (PREG(2) == PREG(3))
17778 IREG(1) = VTABLE_is_same(interp
, PREG(2), PREG(3));
17780 return (opcode_t
*)cur_opcode
+ 4;}
17783 Parrot_issame_i_s_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17784 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17785 IREG(1) = SREG(2) == SREG(3);
17787 return (opcode_t
*)cur_opcode
+ 4;}
17790 Parrot_issame_i_sc_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17791 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17792 IREG(1) = CONST(2).u
.string
== SREG(3);
17794 return (opcode_t
*)cur_opcode
+ 4;}
17797 Parrot_issame_i_s_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17798 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17799 IREG(1) = SREG(2) == CONST(3).u
.string
;
17801 return (opcode_t
*)cur_opcode
+ 4;}
17804 Parrot_issame_i_sc_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17805 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17806 IREG(1) = CONST(2).u
.string
== CONST(3).u
.string
;
17808 return (opcode_t
*)cur_opcode
+ 4;}
17811 Parrot_isntsame_i_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17812 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17813 if (PREG(2) == PREG(3))
17816 IREG(1) = !VTABLE_is_same(interp
, PREG(2), PREG(3));
17818 return (opcode_t
*)cur_opcode
+ 4;}
17821 Parrot_isntsame_i_s_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17822 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17823 IREG(1) = SREG(2) != SREG(3);
17825 return (opcode_t
*)cur_opcode
+ 4;}
17828 Parrot_isntsame_i_sc_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17829 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17830 IREG(1) = CONST(2).u
.string
!= SREG(3);
17832 return (opcode_t
*)cur_opcode
+ 4;}
17835 Parrot_isntsame_i_s_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17836 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17837 IREG(1) = SREG(2) != CONST(3).u
.string
;
17839 return (opcode_t
*)cur_opcode
+ 4;}
17842 Parrot_isntsame_i_sc_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17843 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17844 IREG(1) = CONST(2).u
.string
!= CONST(3).u
.string
;
17846 return (opcode_t
*)cur_opcode
+ 4;}
17849 Parrot_istrue_i_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17850 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17851 IREG(1) = VTABLE_get_bool(interp
, PREG(2));
17853 return (opcode_t
*)cur_opcode
+ 3;}
17856 Parrot_isfalse_i_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17857 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17858 IREG(1) = !VTABLE_get_bool(interp
, PREG(2));
17860 return (opcode_t
*)cur_opcode
+ 3;}
17863 Parrot_isnull_i_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17864 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17865 IREG(1) = PMC_IS_NULL(PREG(2));
17867 return (opcode_t
*)cur_opcode
+ 3;}
17870 Parrot_isnull_i_pc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17871 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17872 IREG(1) = PMC_IS_NULL(CONST(2).u
.key
);
17874 return (opcode_t
*)cur_opcode
+ 3;}
17877 Parrot_isnull_i_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17878 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17879 IREG(1) = STRING_IS_NULL(SREG(2));
17881 return (opcode_t
*)cur_opcode
+ 3;}
17884 Parrot_isnull_i_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17885 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17886 IREG(1) = STRING_IS_NULL(CONST(2).u
.string
);
17888 return (opcode_t
*)cur_opcode
+ 3;}
17891 Parrot_isgt_i_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17892 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17893 IREG(1) = (VTABLE_cmp(interp
, PREG(2), PREG(3)) > 0);
17895 return (opcode_t
*)cur_opcode
+ 4;}
17898 Parrot_isge_i_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17899 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17900 IREG(1) = (VTABLE_cmp(interp
, PREG(2), PREG(3)) >= 0);
17902 return (opcode_t
*)cur_opcode
+ 4;}
17905 Parrot_isle_i_i_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17906 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17907 IREG(1) = IREG(2) <= IREG(3);
17909 return (opcode_t
*)cur_opcode
+ 4;}
17912 Parrot_isle_i_ic_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17913 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17914 IREG(1) = cur_opcode
[2] <= IREG(3);
17916 return (opcode_t
*)cur_opcode
+ 4;}
17919 Parrot_isle_i_i_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17920 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17921 IREG(1) = IREG(2) <= cur_opcode
[3];
17923 return (opcode_t
*)cur_opcode
+ 4;}
17926 Parrot_isle_i_n_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17927 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17928 IREG(1) = NREG(2) <= NREG(3);
17930 return (opcode_t
*)cur_opcode
+ 4;}
17933 Parrot_isle_i_nc_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17934 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17935 IREG(1) = CONST(2).u
.number
<= NREG(3);
17937 return (opcode_t
*)cur_opcode
+ 4;}
17940 Parrot_isle_i_n_nc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17941 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17942 IREG(1) = NREG(2) <= CONST(3).u
.number
;
17944 return (opcode_t
*)cur_opcode
+ 4;}
17947 Parrot_isle_i_s_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17948 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17949 IREG(1) = Parrot_str_compare(interp
, SREG(2), SREG(3)) <= 0;
17951 return (opcode_t
*)cur_opcode
+ 4;}
17954 Parrot_isle_i_sc_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17955 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17956 IREG(1) = Parrot_str_compare(interp
, CONST(2).u
.string
, SREG(3)) <= 0;
17958 return (opcode_t
*)cur_opcode
+ 4;}
17961 Parrot_isle_i_s_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17962 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17963 IREG(1) = Parrot_str_compare(interp
, SREG(2), CONST(3).u
.string
) <= 0;
17965 return (opcode_t
*)cur_opcode
+ 4;}
17968 Parrot_isle_i_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17969 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17970 IREG(1) = (VTABLE_cmp(interp
, PREG(2), PREG(3)) <= 0);
17972 return (opcode_t
*)cur_opcode
+ 4;}
17975 Parrot_islt_i_i_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17976 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17977 IREG(1) = (IREG(2) < IREG(3)) ? 1 : 0;
17979 return (opcode_t
*)cur_opcode
+ 4;}
17982 Parrot_islt_i_ic_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17983 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17984 IREG(1) = (cur_opcode
[2] < IREG(3)) ? 1 : 0;
17986 return (opcode_t
*)cur_opcode
+ 4;}
17989 Parrot_islt_i_i_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17990 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17991 IREG(1) = (IREG(2) < cur_opcode
[3]) ? 1 : 0;
17993 return (opcode_t
*)cur_opcode
+ 4;}
17996 Parrot_islt_i_n_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
17997 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
17998 IREG(1) = NREG(2) < NREG(3);
18000 return (opcode_t
*)cur_opcode
+ 4;}
18003 Parrot_islt_i_nc_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18004 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18005 IREG(1) = CONST(2).u
.number
< NREG(3);
18007 return (opcode_t
*)cur_opcode
+ 4;}
18010 Parrot_islt_i_n_nc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18011 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18012 IREG(1) = NREG(2) < CONST(3).u
.number
;
18014 return (opcode_t
*)cur_opcode
+ 4;}
18017 Parrot_islt_i_s_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18018 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18019 IREG(1) = Parrot_str_compare(interp
, SREG(2), SREG(3)) < 0;
18021 return (opcode_t
*)cur_opcode
+ 4;}
18024 Parrot_islt_i_sc_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18025 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18026 IREG(1) = Parrot_str_compare(interp
, CONST(2).u
.string
, SREG(3)) < 0;
18028 return (opcode_t
*)cur_opcode
+ 4;}
18031 Parrot_islt_i_s_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18032 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18033 IREG(1) = Parrot_str_compare(interp
, SREG(2), CONST(3).u
.string
) < 0;
18035 return (opcode_t
*)cur_opcode
+ 4;}
18038 Parrot_islt_i_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18039 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18040 IREG(1) = (VTABLE_cmp(interp
, PREG(2), PREG(3)) < 0);
18042 return (opcode_t
*)cur_opcode
+ 4;}
18045 Parrot_iseq_i_i_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18046 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18047 IREG(1) = (IREG(2) == IREG(3)) ? 1 : 0;
18049 return (opcode_t
*)cur_opcode
+ 4;}
18052 Parrot_iseq_i_ic_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18053 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18054 IREG(1) = (cur_opcode
[2] == IREG(3)) ? 1 : 0;
18056 return (opcode_t
*)cur_opcode
+ 4;}
18059 Parrot_iseq_i_i_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18060 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18061 IREG(1) = (IREG(2) == cur_opcode
[3]) ? 1 : 0;
18063 return (opcode_t
*)cur_opcode
+ 4;}
18066 Parrot_iseq_i_n_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18067 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18068 IREG(1) = NREG(2) == NREG(3);
18070 return (opcode_t
*)cur_opcode
+ 4;}
18073 Parrot_iseq_i_nc_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18074 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18075 IREG(1) = CONST(2).u
.number
== NREG(3);
18077 return (opcode_t
*)cur_opcode
+ 4;}
18080 Parrot_iseq_i_n_nc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18081 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18082 IREG(1) = NREG(2) == CONST(3).u
.number
;
18084 return (opcode_t
*)cur_opcode
+ 4;}
18087 Parrot_iseq_i_s_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18088 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18089 IREG(1) = (Parrot_str_equal(interp
, SREG(2), SREG(3)) ? 1 : 0);
18091 return (opcode_t
*)cur_opcode
+ 4;}
18094 Parrot_iseq_i_sc_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18095 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18096 IREG(1) = (Parrot_str_equal(interp
, CONST(2).u
.string
, SREG(3)) ? 1 : 0);
18098 return (opcode_t
*)cur_opcode
+ 4;}
18101 Parrot_iseq_i_s_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18102 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18103 IREG(1) = (Parrot_str_equal(interp
, SREG(2), CONST(3).u
.string
) ? 1 : 0);
18105 return (opcode_t
*)cur_opcode
+ 4;}
18108 Parrot_iseq_i_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18109 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18110 if (&PREG(2) == &PREG(3))
18113 IREG(1) = VTABLE_is_equal(interp
, PREG(2), PREG(3));
18115 return (opcode_t
*)cur_opcode
+ 4;}
18118 Parrot_isne_i_i_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18119 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18120 IREG(1) = (IREG(2) == IREG(3)) ? 0 : 1;
18122 return (opcode_t
*)cur_opcode
+ 4;}
18125 Parrot_isne_i_ic_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18126 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18127 IREG(1) = (cur_opcode
[2] == IREG(3)) ? 0 : 1;
18129 return (opcode_t
*)cur_opcode
+ 4;}
18132 Parrot_isne_i_i_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18133 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18134 IREG(1) = (IREG(2) == cur_opcode
[3]) ? 0 : 1;
18136 return (opcode_t
*)cur_opcode
+ 4;}
18139 Parrot_isne_i_n_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18140 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18141 IREG(1) = NREG(2) != NREG(3);
18143 return (opcode_t
*)cur_opcode
+ 4;}
18146 Parrot_isne_i_nc_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18147 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18148 IREG(1) = CONST(2).u
.number
!= NREG(3);
18150 return (opcode_t
*)cur_opcode
+ 4;}
18153 Parrot_isne_i_n_nc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18154 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18155 IREG(1) = NREG(2) != CONST(3).u
.number
;
18157 return (opcode_t
*)cur_opcode
+ 4;}
18160 Parrot_isne_i_s_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18161 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18162 IREG(1) = (Parrot_str_not_equal(interp
, SREG(2), SREG(3)) ? 1 : 0);
18164 return (opcode_t
*)cur_opcode
+ 4;}
18167 Parrot_isne_i_sc_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18168 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18169 IREG(1) = (Parrot_str_not_equal(interp
, CONST(2).u
.string
, SREG(3)) ? 1 : 0);
18171 return (opcode_t
*)cur_opcode
+ 4;}
18174 Parrot_isne_i_s_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18175 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18176 IREG(1) = (Parrot_str_not_equal(interp
, SREG(2), CONST(3).u
.string
) ? 1 : 0);
18178 return (opcode_t
*)cur_opcode
+ 4;}
18181 Parrot_isne_i_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18182 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18183 if (&PREG(2) == &PREG(3))
18186 IREG(1) = !VTABLE_is_equal(interp
, PREG(2), PREG(3));
18188 return (opcode_t
*)cur_opcode
+ 4;}
18191 Parrot_and_i_i_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18192 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18193 IREG(1) = IREG(2) ? IREG(3) : IREG(2);
18195 return (opcode_t
*)cur_opcode
+ 4;}
18198 Parrot_and_i_ic_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18199 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18200 IREG(1) = cur_opcode
[2] ? IREG(3) : cur_opcode
[2];
18202 return (opcode_t
*)cur_opcode
+ 4;}
18205 Parrot_and_i_i_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18206 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18207 IREG(1) = IREG(2) ? cur_opcode
[3] : IREG(2);
18209 return (opcode_t
*)cur_opcode
+ 4;}
18212 Parrot_and_p_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18213 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18214 PREG(1) = VTABLE_get_bool(interp
, PREG(2)) ? PREG(3) : PREG(2);
18216 return (opcode_t
*)cur_opcode
+ 4;}
18219 Parrot_not_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18220 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18221 IREG(1) = ! IREG(1);
18223 return (opcode_t
*)cur_opcode
+ 2;}
18226 Parrot_not_i_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18227 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18228 IREG(1) = ! IREG(2);
18230 return (opcode_t
*)cur_opcode
+ 3;}
18233 Parrot_not_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18234 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18235 VTABLE_set_bool(interp
, PREG(1), !VTABLE_get_bool(interp
, PREG(1)));
18237 return (opcode_t
*)cur_opcode
+ 2;}
18240 Parrot_not_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18241 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18242 const INTVAL a
= ! VTABLE_get_bool(interp
, PREG(2));
18243 if (PMC_IS_NULL(PREG(1)))
18244 PREG(1) = Parrot_pmc_new(interp
, VTABLE_type(interp
, PREG(2)));
18245 VTABLE_set_bool(interp
, PREG(1), a
);
18247 return (opcode_t
*)cur_opcode
+ 3;}
18250 Parrot_or_i_i_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18251 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18252 IREG(1) = IREG(2) ? IREG(2) : IREG(3);
18254 return (opcode_t
*)cur_opcode
+ 4;}
18257 Parrot_or_i_ic_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18258 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18259 IREG(1) = cur_opcode
[2] ? cur_opcode
[2] : IREG(3);
18261 return (opcode_t
*)cur_opcode
+ 4;}
18264 Parrot_or_i_i_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18265 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18266 IREG(1) = IREG(2) ? IREG(2) : cur_opcode
[3];
18268 return (opcode_t
*)cur_opcode
+ 4;}
18271 Parrot_or_p_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18272 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18273 PREG(1) = VTABLE_get_bool(interp
, PREG(2)) ? PREG(2) : PREG(3);
18275 return (opcode_t
*)cur_opcode
+ 4;}
18278 Parrot_xor_i_i_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18279 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18280 IREG(1) = (IREG(2) && ! IREG(3)) ? IREG(2) : (IREG(3) && ! IREG(2)) ? IREG(3) : 0;
18282 return (opcode_t
*)cur_opcode
+ 4;}
18285 Parrot_xor_i_ic_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18286 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18287 IREG(1) = (cur_opcode
[2] && ! IREG(3)) ? cur_opcode
[2] : (IREG(3) && ! cur_opcode
[2]) ? IREG(3) : 0;
18289 return (opcode_t
*)cur_opcode
+ 4;}
18292 Parrot_xor_i_i_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18293 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18294 IREG(1) = (IREG(2) && ! cur_opcode
[3]) ? IREG(2) : (cur_opcode
[3] && ! IREG(2)) ? cur_opcode
[3] : 0;
18296 return (opcode_t
*)cur_opcode
+ 4;}
18299 Parrot_xor_p_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18300 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18301 const INTVAL a
= VTABLE_get_bool(interp
, PREG(2));
18302 const INTVAL b
= VTABLE_get_bool(interp
, PREG(3));
18307 PREG(1) = PREG(3) ;
18309 PREG(1) = Parrot_pmc_new(interp
, VTABLE_type(interp
, PREG(2)));
18310 VTABLE_set_bool(interp
, PREG(1), 0);
18313 return (opcode_t
*)cur_opcode
+ 4;}
18316 Parrot_print_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18317 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18318 Parrot_io_printf(interp
, INTVAL_FMT
, (INTVAL
)IREG(1));
18320 return (opcode_t
*)cur_opcode
+ 2;}
18323 Parrot_print_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18324 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18325 Parrot_io_printf(interp
, INTVAL_FMT
, (INTVAL
)cur_opcode
[1]);
18327 return (opcode_t
*)cur_opcode
+ 2;}
18330 Parrot_print_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18331 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18332 #ifdef PARROT_HAS_NEGATIVE_ZERO
18333 Parrot_io_printf(interp
, FLOATVAL_FMT
, NREG(1));
18335 /* Workaround for older msvcrt and openbsd. TT #313 */
18336 if (Parrot_is_nzero(NREG(1))) {
18337 Parrot_io_printf(interp
, "-0");
18340 Parrot_io_printf(interp
, FLOATVAL_FMT
, NREG(1));
18344 return (opcode_t
*)cur_opcode
+ 2;}
18347 Parrot_print_nc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18348 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18349 #ifdef PARROT_HAS_NEGATIVE_ZERO
18350 Parrot_io_printf(interp
, FLOATVAL_FMT
, CONST(1).u
.number
);
18352 /* Workaround for older msvcrt and openbsd. TT #313 */
18353 if (Parrot_is_nzero(CONST(1).u
.number
)) {
18354 Parrot_io_printf(interp
, "-0");
18357 Parrot_io_printf(interp
, FLOATVAL_FMT
, CONST(1).u
.number
);
18361 return (opcode_t
*)cur_opcode
+ 2;}
18364 Parrot_print_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18365 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18366 STRING
* const s
= SREG(1);
18367 if (s
&& Parrot_str_byte_length(interp
, s
))
18368 Parrot_io_putps(interp
, _PIO_STDOUT(interp
), s
);
18370 return (opcode_t
*)cur_opcode
+ 2;}
18373 Parrot_print_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18374 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18375 STRING
* const s
= CONST(1).u
.string
;
18376 if (s
&& Parrot_str_byte_length(interp
, s
))
18377 Parrot_io_putps(interp
, _PIO_STDOUT(interp
), s
);
18379 return (opcode_t
*)cur_opcode
+ 2;}
18382 Parrot_print_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18383 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18384 PMC
* const p
= PREG(1);
18385 STRING
* const s
= (VTABLE_get_string(interp
, p
));
18387 Parrot_io_putps(interp
, _PIO_STDOUT(interp
), s
);
18389 return (opcode_t
*)cur_opcode
+ 2;}
18392 Parrot_say_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18393 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18394 Parrot_io_printf(interp
, INTVAL_FMT
"\n", (INTVAL
)IREG(1));
18396 return (opcode_t
*)cur_opcode
+ 2;}
18399 Parrot_say_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18400 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18401 Parrot_io_printf(interp
, INTVAL_FMT
"\n", (INTVAL
)cur_opcode
[1]);
18403 return (opcode_t
*)cur_opcode
+ 2;}
18406 Parrot_say_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18407 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18408 #ifdef PARROT_HAS_NEGATIVE_ZERO
18409 Parrot_io_printf(interp
, FLOATVAL_FMT
"\n", NREG(1));
18411 /* Workaround for older msvcrt and openbsd. TT #313 */
18412 if (Parrot_is_nzero(NREG(1))) {
18413 Parrot_io_printf(interp
, "-0\n");
18416 Parrot_io_printf(interp
, FLOATVAL_FMT
"\n", NREG(1));
18420 return (opcode_t
*)cur_opcode
+ 2;}
18423 Parrot_say_nc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18424 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18425 #ifdef PARROT_HAS_NEGATIVE_ZERO
18426 Parrot_io_printf(interp
, FLOATVAL_FMT
"\n", CONST(1).u
.number
);
18428 /* Workaround for older msvcrt and openbsd. TT #313 */
18429 if (Parrot_is_nzero(CONST(1).u
.number
)) {
18430 Parrot_io_printf(interp
, "-0\n");
18433 Parrot_io_printf(interp
, FLOATVAL_FMT
"\n", CONST(1).u
.number
);
18437 return (opcode_t
*)cur_opcode
+ 2;}
18440 Parrot_say_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18441 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18442 STRING
* const s
= SREG(1);
18443 if (s
&& Parrot_str_byte_length(interp
, s
))
18444 Parrot_io_putps(interp
, _PIO_STDOUT(interp
), s
);
18445 Parrot_io_putps(interp
, _PIO_STDOUT(interp
), Parrot_str_new_constant(interp
, "\n"));
18447 return (opcode_t
*)cur_opcode
+ 2;}
18450 Parrot_say_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18451 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18452 STRING
* const s
= CONST(1).u
.string
;
18453 if (s
&& Parrot_str_byte_length(interp
, s
))
18454 Parrot_io_putps(interp
, _PIO_STDOUT(interp
), s
);
18455 Parrot_io_putps(interp
, _PIO_STDOUT(interp
), Parrot_str_new_constant(interp
, "\n"));
18457 return (opcode_t
*)cur_opcode
+ 2;}
18460 Parrot_say_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18461 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18462 PMC
* const p
= PREG(1);
18464 if (PMC_IS_NULL(p
)) {
18465 opcode_t
*handler
= Parrot_ex_throw_from_op_args(interp
, cur_opcode
+ 2,
18466 EXCEPTION_UNEXPECTED_NULL
,
18467 "Null PMC in say");return (opcode_t
*)handler
;
18470 STRING
* const s
= VTABLE_get_string(interp
, p
);
18472 Parrot_io_putps(interp
, _PIO_STDOUT(interp
), s
);
18473 Parrot_io_putps(interp
, _PIO_STDOUT(interp
), Parrot_str_new_constant(interp
, "\n"));
18476 return (opcode_t
*)cur_opcode
+ 2;}
18479 Parrot_print_p_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18480 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18482 STRING
* const s
= Parrot_str_from_int(interp
, IREG(2));
18483 Parrot_io_putps(interp
, PREG(1), s
);
18486 return (opcode_t
*)cur_opcode
+ 3;}
18489 Parrot_print_p_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18490 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18492 STRING
* const s
= Parrot_str_from_int(interp
, cur_opcode
[2]);
18493 Parrot_io_putps(interp
, PREG(1), s
);
18496 return (opcode_t
*)cur_opcode
+ 3;}
18499 Parrot_print_p_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18500 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18502 STRING
* const s
= Parrot_sprintf_c(interp
, FLOATVAL_FMT
, NREG(2));
18503 Parrot_io_putps(interp
, PREG(1), s
);
18506 return (opcode_t
*)cur_opcode
+ 3;}
18509 Parrot_print_p_nc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18510 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18512 STRING
* const s
= Parrot_sprintf_c(interp
, FLOATVAL_FMT
, CONST(2).u
.number
);
18513 Parrot_io_putps(interp
, PREG(1), s
);
18516 return (opcode_t
*)cur_opcode
+ 3;}
18519 Parrot_print_p_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18520 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18521 if (SREG(2) && PREG(1)) {
18522 Parrot_io_putps(interp
, PREG(1), SREG(2));
18525 return (opcode_t
*)cur_opcode
+ 3;}
18528 Parrot_print_p_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18529 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18530 if (CONST(2).u
.string
&& PREG(1)) {
18531 Parrot_io_putps(interp
, PREG(1), CONST(2).u
.string
);
18534 return (opcode_t
*)cur_opcode
+ 3;}
18537 Parrot_print_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18538 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18539 if (PREG(2) && PREG(1)) {
18540 STRING
* const s
= VTABLE_get_string(interp
, PREG(2));
18541 Parrot_io_putps(interp
, PREG(1), s
);
18544 return (opcode_t
*)cur_opcode
+ 3;}
18547 Parrot_getstdin_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18548 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18549 PREG(1) = _PIO_STDIN(interp
);
18551 return (opcode_t
*)cur_opcode
+ 2;}
18554 Parrot_getstdout_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18555 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18556 PREG(1) = _PIO_STDOUT(interp
);
18558 return (opcode_t
*)cur_opcode
+ 2;}
18561 Parrot_getstderr_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18562 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18563 PREG(1) = _PIO_STDERR(interp
);
18565 return (opcode_t
*)cur_opcode
+ 2;}
18568 Parrot_abs_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18569 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18570 IREG(1) = abs(IREG(1));
18572 return (opcode_t
*)cur_opcode
+ 2;}
18575 Parrot_abs_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18576 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18577 NREG(1) = fabs(NREG(1));
18579 return (opcode_t
*)cur_opcode
+ 2;}
18582 Parrot_abs_i_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18583 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18584 IREG(1) = abs(IREG(2));
18586 return (opcode_t
*)cur_opcode
+ 3;}
18589 Parrot_abs_n_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18590 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18591 NREG(1) = fabs(NREG(2));
18593 return (opcode_t
*)cur_opcode
+ 3;}
18596 Parrot_abs_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18597 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18598 VTABLE_i_absolute(interp
, PREG(1));
18600 return (opcode_t
*)cur_opcode
+ 2;}
18603 Parrot_abs_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18604 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18605 PREG(1) = VTABLE_absolute(interp
, PREG(2), PREG(1));
18607 return (opcode_t
*)cur_opcode
+ 3;}
18610 Parrot_add_i_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18611 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18612 IREG(1) += IREG(2);
18614 return (opcode_t
*)cur_opcode
+ 3;}
18617 Parrot_add_i_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18618 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18619 IREG(1) += cur_opcode
[2];
18621 return (opcode_t
*)cur_opcode
+ 3;}
18624 Parrot_add_n_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18625 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18626 NREG(1) += NREG(2);
18628 return (opcode_t
*)cur_opcode
+ 3;}
18631 Parrot_add_n_nc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18632 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18633 NREG(1) += CONST(2).u
.number
;
18635 return (opcode_t
*)cur_opcode
+ 3;}
18638 Parrot_add_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18639 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18640 VTABLE_i_add(interp
, PREG(1), PREG(2));
18642 return (opcode_t
*)cur_opcode
+ 3;}
18645 Parrot_add_p_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18646 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18647 VTABLE_i_add_int(interp
, PREG(1), IREG(2));
18649 return (opcode_t
*)cur_opcode
+ 3;}
18652 Parrot_add_p_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18653 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18654 VTABLE_i_add_int(interp
, PREG(1), cur_opcode
[2]);
18656 return (opcode_t
*)cur_opcode
+ 3;}
18659 Parrot_add_p_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18660 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18661 VTABLE_i_add_float(interp
, PREG(1), NREG(2));
18663 return (opcode_t
*)cur_opcode
+ 3;}
18666 Parrot_add_p_nc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18667 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18668 VTABLE_i_add_float(interp
, PREG(1), CONST(2).u
.number
);
18670 return (opcode_t
*)cur_opcode
+ 3;}
18673 Parrot_add_i_i_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18674 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18675 IREG(1) = IREG(2) + IREG(3);
18677 return (opcode_t
*)cur_opcode
+ 4;}
18680 Parrot_add_i_ic_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18681 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18682 IREG(1) = cur_opcode
[2] + IREG(3);
18684 return (opcode_t
*)cur_opcode
+ 4;}
18687 Parrot_add_i_i_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18688 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18689 IREG(1) = IREG(2) + cur_opcode
[3];
18691 return (opcode_t
*)cur_opcode
+ 4;}
18694 Parrot_add_n_n_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18695 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18696 NREG(1) = NREG(2) + NREG(3);
18698 return (opcode_t
*)cur_opcode
+ 4;}
18701 Parrot_add_n_nc_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18702 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18703 NREG(1) = CONST(2).u
.number
+ NREG(3);
18705 return (opcode_t
*)cur_opcode
+ 4;}
18708 Parrot_add_n_n_nc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18709 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18710 NREG(1) = NREG(2) + CONST(3).u
.number
;
18712 return (opcode_t
*)cur_opcode
+ 4;}
18715 Parrot_add_p_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18716 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18717 PREG(1) = VTABLE_add(interp
, PREG(2), PREG(3), PREG(1));
18719 return (opcode_t
*)cur_opcode
+ 4;}
18722 Parrot_add_p_p_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18723 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18724 PREG(1) = VTABLE_add_int(interp
, PREG(2), IREG(3), PREG(1));
18726 return (opcode_t
*)cur_opcode
+ 4;}
18729 Parrot_add_p_p_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18730 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18731 PREG(1) = VTABLE_add_int(interp
, PREG(2), cur_opcode
[3], PREG(1));
18733 return (opcode_t
*)cur_opcode
+ 4;}
18736 Parrot_add_p_p_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18737 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18738 PREG(1) = VTABLE_add_float(interp
, PREG(2), NREG(3), PREG(1));
18740 return (opcode_t
*)cur_opcode
+ 4;}
18743 Parrot_add_p_p_nc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18744 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18745 PREG(1) = VTABLE_add_float(interp
, PREG(2), CONST(3).u
.number
, PREG(1));
18747 return (opcode_t
*)cur_opcode
+ 4;}
18750 Parrot_dec_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18751 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18754 return (opcode_t
*)cur_opcode
+ 2;}
18757 Parrot_dec_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18758 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18761 return (opcode_t
*)cur_opcode
+ 2;}
18764 Parrot_dec_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18765 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18766 VTABLE_decrement(interp
, PREG(1));
18768 return (opcode_t
*)cur_opcode
+ 2;}
18771 Parrot_div_i_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18772 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18773 INTVAL den
= IREG(2);
18775 opcode_t
*handler
= Parrot_ex_throw_from_op_args(interp
, cur_opcode
+ 3,
18776 EXCEPTION_DIV_BY_ZERO
,
18777 "Divide by zero");return (opcode_t
*)handler
;
18781 return (opcode_t
*)cur_opcode
+ 3;}
18784 Parrot_div_i_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18785 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18786 INTVAL den
= cur_opcode
[2];
18788 opcode_t
*handler
= Parrot_ex_throw_from_op_args(interp
, cur_opcode
+ 3,
18789 EXCEPTION_DIV_BY_ZERO
,
18790 "Divide by zero");return (opcode_t
*)handler
;
18794 return (opcode_t
*)cur_opcode
+ 3;}
18797 Parrot_div_n_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18798 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18799 FLOATVAL den
= NREG(2);
18800 if (FLOAT_IS_ZERO(den
)) {
18801 opcode_t
*handler
= Parrot_ex_throw_from_op_args(interp
, cur_opcode
+ 3,
18802 EXCEPTION_DIV_BY_ZERO
,
18803 "Divide by zero");return (opcode_t
*)handler
;
18807 return (opcode_t
*)cur_opcode
+ 3;}
18810 Parrot_div_n_nc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18811 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18812 FLOATVAL den
= CONST(2).u
.number
;
18813 if (FLOAT_IS_ZERO(den
)) {
18814 opcode_t
*handler
= Parrot_ex_throw_from_op_args(interp
, cur_opcode
+ 3,
18815 EXCEPTION_DIV_BY_ZERO
,
18816 "Divide by zero");return (opcode_t
*)handler
;
18820 return (opcode_t
*)cur_opcode
+ 3;}
18823 Parrot_div_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18824 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18825 VTABLE_i_divide(interp
, PREG(1), PREG(2));
18827 return (opcode_t
*)cur_opcode
+ 3;}
18830 Parrot_div_p_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18831 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18832 VTABLE_i_divide_int(interp
, PREG(1), IREG(2));
18834 return (opcode_t
*)cur_opcode
+ 3;}
18837 Parrot_div_p_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18838 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18839 VTABLE_i_divide_int(interp
, PREG(1), cur_opcode
[2]);
18841 return (opcode_t
*)cur_opcode
+ 3;}
18844 Parrot_div_p_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18845 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18846 VTABLE_i_divide_float(interp
, PREG(1), NREG(2));
18848 return (opcode_t
*)cur_opcode
+ 3;}
18851 Parrot_div_p_nc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18852 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18853 VTABLE_i_divide_float(interp
, PREG(1), CONST(2).u
.number
);
18855 return (opcode_t
*)cur_opcode
+ 3;}
18858 Parrot_div_i_i_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18859 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18860 INTVAL den
= IREG(3);
18862 opcode_t
*handler
= Parrot_ex_throw_from_op_args(interp
, cur_opcode
+ 4,
18863 EXCEPTION_DIV_BY_ZERO
,
18864 "Divide by zero");return (opcode_t
*)handler
;
18866 IREG(1) = IREG(2) / den
;
18868 return (opcode_t
*)cur_opcode
+ 4;}
18871 Parrot_div_i_ic_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18872 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18873 INTVAL den
= IREG(3);
18875 opcode_t
*handler
= Parrot_ex_throw_from_op_args(interp
, cur_opcode
+ 4,
18876 EXCEPTION_DIV_BY_ZERO
,
18877 "Divide by zero");return (opcode_t
*)handler
;
18879 IREG(1) = cur_opcode
[2] / den
;
18881 return (opcode_t
*)cur_opcode
+ 4;}
18884 Parrot_div_i_i_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18885 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18886 INTVAL den
= cur_opcode
[3];
18888 opcode_t
*handler
= Parrot_ex_throw_from_op_args(interp
, cur_opcode
+ 4,
18889 EXCEPTION_DIV_BY_ZERO
,
18890 "Divide by zero");return (opcode_t
*)handler
;
18892 IREG(1) = IREG(2) / den
;
18894 return (opcode_t
*)cur_opcode
+ 4;}
18897 Parrot_div_i_ic_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18898 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18899 INTVAL den
= cur_opcode
[3];
18901 opcode_t
*handler
= Parrot_ex_throw_from_op_args(interp
, cur_opcode
+ 4,
18902 EXCEPTION_DIV_BY_ZERO
,
18903 "Divide by zero");return (opcode_t
*)handler
;
18905 IREG(1) = cur_opcode
[2] / den
;
18907 return (opcode_t
*)cur_opcode
+ 4;}
18910 Parrot_div_n_n_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18911 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18912 FLOATVAL den
= NREG(3);
18913 if (FLOAT_IS_ZERO(den
)) {
18914 opcode_t
*handler
= Parrot_ex_throw_from_op_args(interp
, cur_opcode
+ 4,
18915 EXCEPTION_DIV_BY_ZERO
,
18916 "Divide by zero");return (opcode_t
*)handler
;
18918 NREG(1) = NREG(2) / den
;
18920 return (opcode_t
*)cur_opcode
+ 4;}
18923 Parrot_div_n_nc_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18924 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18925 FLOATVAL den
= NREG(3);
18926 if (FLOAT_IS_ZERO(den
)) {
18927 opcode_t
*handler
= Parrot_ex_throw_from_op_args(interp
, cur_opcode
+ 4,
18928 EXCEPTION_DIV_BY_ZERO
,
18929 "Divide by zero");return (opcode_t
*)handler
;
18931 NREG(1) = CONST(2).u
.number
/ den
;
18933 return (opcode_t
*)cur_opcode
+ 4;}
18936 Parrot_div_n_n_nc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18937 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18938 FLOATVAL den
= CONST(3).u
.number
;
18939 if (FLOAT_IS_ZERO(den
)) {
18940 opcode_t
*handler
= Parrot_ex_throw_from_op_args(interp
, cur_opcode
+ 4,
18941 EXCEPTION_DIV_BY_ZERO
,
18942 "Divide by zero");return (opcode_t
*)handler
;
18944 NREG(1) = NREG(2) / den
;
18946 return (opcode_t
*)cur_opcode
+ 4;}
18949 Parrot_div_n_nc_nc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18950 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18951 FLOATVAL den
= CONST(3).u
.number
;
18952 if (FLOAT_IS_ZERO(den
)) {
18953 opcode_t
*handler
= Parrot_ex_throw_from_op_args(interp
, cur_opcode
+ 4,
18954 EXCEPTION_DIV_BY_ZERO
,
18955 "Divide by zero");return (opcode_t
*)handler
;
18957 NREG(1) = CONST(2).u
.number
/ den
;
18959 return (opcode_t
*)cur_opcode
+ 4;}
18962 Parrot_div_p_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18963 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18964 PREG(1) = VTABLE_divide(interp
, PREG(2), PREG(3), PREG(1));
18966 return (opcode_t
*)cur_opcode
+ 4;}
18969 Parrot_div_p_p_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18970 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18971 PREG(1) = VTABLE_divide_int(interp
, PREG(2), IREG(3), PREG(1));
18973 return (opcode_t
*)cur_opcode
+ 4;}
18976 Parrot_div_p_p_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18977 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18978 PREG(1) = VTABLE_divide_int(interp
, PREG(2), cur_opcode
[3], PREG(1));
18980 return (opcode_t
*)cur_opcode
+ 4;}
18983 Parrot_div_p_p_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18984 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18985 PREG(1) = VTABLE_divide_float(interp
, PREG(2), NREG(3), PREG(1));
18987 return (opcode_t
*)cur_opcode
+ 4;}
18990 Parrot_div_p_p_nc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18991 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18992 PREG(1) = VTABLE_divide_float(interp
, PREG(2), CONST(3).u
.number
, PREG(1));
18994 return (opcode_t
*)cur_opcode
+ 4;}
18997 Parrot_fdiv_i_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
18998 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
18999 INTVAL den
= IREG(2);
19003 opcode_t
*handler
= Parrot_ex_throw_from_op_args(interp
, cur_opcode
+ 3,
19004 EXCEPTION_DIV_BY_ZERO
,
19005 "Divide by zero");return (opcode_t
*)handler
;
19008 f
= floor(((FLOATVAL
)IREG(1)) / den
);
19009 IREG(1) = (INTVAL
)f
;
19011 return (opcode_t
*)cur_opcode
+ 3;}
19014 Parrot_fdiv_i_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19015 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19016 INTVAL den
= cur_opcode
[2];
19020 opcode_t
*handler
= Parrot_ex_throw_from_op_args(interp
, cur_opcode
+ 3,
19021 EXCEPTION_DIV_BY_ZERO
,
19022 "Divide by zero");return (opcode_t
*)handler
;
19025 f
= floor(((FLOATVAL
)IREG(1)) / den
);
19026 IREG(1) = (INTVAL
)f
;
19028 return (opcode_t
*)cur_opcode
+ 3;}
19031 Parrot_fdiv_n_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19032 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19033 FLOATVAL den
= NREG(2);
19034 if (FLOAT_IS_ZERO(den
)) {
19035 opcode_t
*handler
= Parrot_ex_throw_from_op_args(interp
, cur_opcode
+ 3,
19036 EXCEPTION_DIV_BY_ZERO
,
19037 "Divide by zero");return (opcode_t
*)handler
;
19039 NREG(1) = floor(NREG(1) / den
);
19041 return (opcode_t
*)cur_opcode
+ 3;}
19044 Parrot_fdiv_n_nc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19045 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19046 FLOATVAL den
= CONST(2).u
.number
;
19047 if (FLOAT_IS_ZERO(den
)) {
19048 opcode_t
*handler
= Parrot_ex_throw_from_op_args(interp
, cur_opcode
+ 3,
19049 EXCEPTION_DIV_BY_ZERO
,
19050 "Divide by zero");return (opcode_t
*)handler
;
19052 NREG(1) = floor(NREG(1) / den
);
19054 return (opcode_t
*)cur_opcode
+ 3;}
19057 Parrot_fdiv_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19058 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19059 VTABLE_i_floor_divide(interp
, PREG(1), PREG(2));
19061 return (opcode_t
*)cur_opcode
+ 3;}
19064 Parrot_fdiv_p_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19065 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19066 VTABLE_i_floor_divide_int(interp
, PREG(1), IREG(2));
19068 return (opcode_t
*)cur_opcode
+ 3;}
19071 Parrot_fdiv_p_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19072 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19073 VTABLE_i_floor_divide_int(interp
, PREG(1), cur_opcode
[2]);
19075 return (opcode_t
*)cur_opcode
+ 3;}
19078 Parrot_fdiv_p_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19079 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19080 VTABLE_i_floor_divide_float(interp
, PREG(1), NREG(2));
19082 return (opcode_t
*)cur_opcode
+ 3;}
19085 Parrot_fdiv_p_nc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19086 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19087 VTABLE_i_floor_divide_float(interp
, PREG(1), CONST(2).u
.number
);
19089 return (opcode_t
*)cur_opcode
+ 3;}
19092 Parrot_fdiv_i_i_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19093 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19094 INTVAL den
= IREG(3);
19098 opcode_t
*handler
= Parrot_ex_throw_from_op_args(interp
, cur_opcode
+ 4,
19099 EXCEPTION_DIV_BY_ZERO
,
19100 "Divide by zero");return (opcode_t
*)handler
;
19103 f
= floor((FLOATVAL
)IREG(2) / den
);
19104 IREG(1) = (INTVAL
)f
;
19106 return (opcode_t
*)cur_opcode
+ 4;}
19109 Parrot_fdiv_i_ic_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19110 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19111 INTVAL den
= IREG(3);
19115 opcode_t
*handler
= Parrot_ex_throw_from_op_args(interp
, cur_opcode
+ 4,
19116 EXCEPTION_DIV_BY_ZERO
,
19117 "Divide by zero");return (opcode_t
*)handler
;
19120 f
= floor((FLOATVAL
)cur_opcode
[2] / den
);
19121 IREG(1) = (INTVAL
)f
;
19123 return (opcode_t
*)cur_opcode
+ 4;}
19126 Parrot_fdiv_i_i_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19127 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19128 INTVAL den
= cur_opcode
[3];
19132 opcode_t
*handler
= Parrot_ex_throw_from_op_args(interp
, cur_opcode
+ 4,
19133 EXCEPTION_DIV_BY_ZERO
,
19134 "Divide by zero");return (opcode_t
*)handler
;
19137 f
= floor((FLOATVAL
)IREG(2) / den
);
19138 IREG(1) = (INTVAL
)f
;
19140 return (opcode_t
*)cur_opcode
+ 4;}
19143 Parrot_fdiv_n_n_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19144 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19145 FLOATVAL den
= NREG(3);
19146 if (FLOAT_IS_ZERO(den
)) {
19147 opcode_t
*handler
= Parrot_ex_throw_from_op_args(interp
, cur_opcode
+ 4,
19148 EXCEPTION_DIV_BY_ZERO
,
19149 "Divide by zero");return (opcode_t
*)handler
;
19151 NREG(1) = floor(NREG(2) / den
);
19153 return (opcode_t
*)cur_opcode
+ 4;}
19156 Parrot_fdiv_n_nc_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19157 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19158 FLOATVAL den
= NREG(3);
19159 if (FLOAT_IS_ZERO(den
)) {
19160 opcode_t
*handler
= Parrot_ex_throw_from_op_args(interp
, cur_opcode
+ 4,
19161 EXCEPTION_DIV_BY_ZERO
,
19162 "Divide by zero");return (opcode_t
*)handler
;
19164 NREG(1) = floor(CONST(2).u
.number
/ den
);
19166 return (opcode_t
*)cur_opcode
+ 4;}
19169 Parrot_fdiv_n_n_nc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19170 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19171 FLOATVAL den
= CONST(3).u
.number
;
19172 if (FLOAT_IS_ZERO(den
)) {
19173 opcode_t
*handler
= Parrot_ex_throw_from_op_args(interp
, cur_opcode
+ 4,
19174 EXCEPTION_DIV_BY_ZERO
,
19175 "Divide by zero");return (opcode_t
*)handler
;
19177 NREG(1) = floor(NREG(2) / den
);
19179 return (opcode_t
*)cur_opcode
+ 4;}
19182 Parrot_fdiv_p_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19183 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19184 PREG(1) = VTABLE_floor_divide(interp
, PREG(2), PREG(3), PREG(1));
19186 return (opcode_t
*)cur_opcode
+ 4;}
19189 Parrot_fdiv_p_p_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19190 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19191 PREG(1) = VTABLE_floor_divide_int(interp
, PREG(2), IREG(3), PREG(1));
19193 return (opcode_t
*)cur_opcode
+ 4;}
19196 Parrot_fdiv_p_p_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19197 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19198 PREG(1) = VTABLE_floor_divide_int(interp
, PREG(2), cur_opcode
[3], PREG(1));
19200 return (opcode_t
*)cur_opcode
+ 4;}
19203 Parrot_fdiv_p_p_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19204 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19205 PREG(1) = VTABLE_floor_divide_float(interp
, PREG(2), NREG(3), PREG(1));
19207 return (opcode_t
*)cur_opcode
+ 4;}
19210 Parrot_fdiv_p_p_nc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19211 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19212 PREG(1) = VTABLE_floor_divide_float(interp
, PREG(2), CONST(3).u
.number
, PREG(1));
19214 return (opcode_t
*)cur_opcode
+ 4;}
19217 Parrot_ceil_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19218 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19219 NREG(1) = ceil(NREG(1));
19221 return (opcode_t
*)cur_opcode
+ 2;}
19224 Parrot_ceil_i_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19225 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19226 FLOATVAL f
= ceil(NREG(2));
19227 IREG(1) = (INTVAL
)f
;
19229 return (opcode_t
*)cur_opcode
+ 3;}
19232 Parrot_ceil_n_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19233 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19234 NREG(1) = ceil(NREG(2));
19236 return (opcode_t
*)cur_opcode
+ 3;}
19239 Parrot_floor_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19240 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19241 NREG(1) = floor(NREG(1));
19243 return (opcode_t
*)cur_opcode
+ 2;}
19246 Parrot_floor_i_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19247 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19248 FLOATVAL f
= floor(NREG(2));
19249 IREG(1) = (INTVAL
)f
;
19251 return (opcode_t
*)cur_opcode
+ 3;}
19254 Parrot_floor_n_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19255 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19256 NREG(1) = floor(NREG(2));
19258 return (opcode_t
*)cur_opcode
+ 3;}
19261 Parrot_inc_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19262 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19265 return (opcode_t
*)cur_opcode
+ 2;}
19268 Parrot_inc_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19269 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19272 return (opcode_t
*)cur_opcode
+ 2;}
19275 Parrot_inc_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19276 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19277 VTABLE_increment(interp
, PREG(1));
19279 return (opcode_t
*)cur_opcode
+ 2;}
19282 Parrot_mod_i_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19283 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19284 IREG(1) = intval_mod(IREG(1), IREG(2));
19286 return (opcode_t
*)cur_opcode
+ 3;}
19289 Parrot_mod_i_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19290 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19291 IREG(1) = intval_mod(IREG(1), cur_opcode
[2]);
19293 return (opcode_t
*)cur_opcode
+ 3;}
19296 Parrot_mod_n_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19297 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19298 NREG(1) = floatval_mod(NREG(1), NREG(2));
19300 return (opcode_t
*)cur_opcode
+ 3;}
19303 Parrot_mod_n_nc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19304 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19305 NREG(1) = floatval_mod(NREG(1), CONST(2).u
.number
);
19307 return (opcode_t
*)cur_opcode
+ 3;}
19310 Parrot_mod_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19311 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19312 VTABLE_i_modulus(interp
, PREG(1), PREG(2));
19314 return (opcode_t
*)cur_opcode
+ 3;}
19317 Parrot_mod_p_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19318 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19319 VTABLE_i_modulus_int(interp
, PREG(1), IREG(2));
19321 return (opcode_t
*)cur_opcode
+ 3;}
19324 Parrot_mod_p_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19325 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19326 VTABLE_i_modulus_int(interp
, PREG(1), cur_opcode
[2]);
19328 return (opcode_t
*)cur_opcode
+ 3;}
19331 Parrot_mod_p_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19332 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19333 VTABLE_i_modulus_float(interp
, PREG(1), NREG(2));
19335 return (opcode_t
*)cur_opcode
+ 3;}
19338 Parrot_mod_p_nc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19339 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19340 VTABLE_i_modulus_float(interp
, PREG(1), CONST(2).u
.number
);
19342 return (opcode_t
*)cur_opcode
+ 3;}
19345 Parrot_mod_i_i_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19346 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19347 IREG(1) = intval_mod(IREG(2), IREG(3));
19349 return (opcode_t
*)cur_opcode
+ 4;}
19352 Parrot_mod_i_ic_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19353 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19354 IREG(1) = intval_mod(cur_opcode
[2], IREG(3));
19356 return (opcode_t
*)cur_opcode
+ 4;}
19359 Parrot_mod_i_i_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19360 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19361 IREG(1) = intval_mod(IREG(2), cur_opcode
[3]);
19363 return (opcode_t
*)cur_opcode
+ 4;}
19366 Parrot_mod_n_n_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19367 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19368 NREG(1) = floatval_mod(NREG(2), NREG(3));
19370 return (opcode_t
*)cur_opcode
+ 4;}
19373 Parrot_mod_n_nc_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19374 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19375 NREG(1) = floatval_mod(CONST(2).u
.number
, NREG(3));
19377 return (opcode_t
*)cur_opcode
+ 4;}
19380 Parrot_mod_n_n_nc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19381 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19382 NREG(1) = floatval_mod(NREG(2), CONST(3).u
.number
);
19384 return (opcode_t
*)cur_opcode
+ 4;}
19387 Parrot_mod_p_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19388 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19389 PREG(1) = VTABLE_modulus(interp
, PREG(2), PREG(3), PREG(1));
19391 return (opcode_t
*)cur_opcode
+ 4;}
19394 Parrot_mod_p_p_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19395 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19396 PREG(1) = VTABLE_modulus_int(interp
, PREG(2), IREG(3), PREG(1));
19398 return (opcode_t
*)cur_opcode
+ 4;}
19401 Parrot_mod_p_p_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19402 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19403 PREG(1) = VTABLE_modulus_int(interp
, PREG(2), cur_opcode
[3], PREG(1));
19405 return (opcode_t
*)cur_opcode
+ 4;}
19408 Parrot_mod_p_p_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19409 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19410 PREG(1) = VTABLE_modulus_float(interp
, PREG(2), NREG(3), PREG(1));
19412 return (opcode_t
*)cur_opcode
+ 4;}
19415 Parrot_mod_p_p_nc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19416 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19417 PREG(1) = VTABLE_modulus_float(interp
, PREG(2), CONST(3).u
.number
, PREG(1));
19419 return (opcode_t
*)cur_opcode
+ 4;}
19422 Parrot_mul_i_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19423 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19424 IREG(1) *= IREG(2);
19426 return (opcode_t
*)cur_opcode
+ 3;}
19429 Parrot_mul_i_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19430 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19431 IREG(1) *= cur_opcode
[2];
19433 return (opcode_t
*)cur_opcode
+ 3;}
19436 Parrot_mul_n_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19437 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19438 NREG(1) *= NREG(2);
19440 return (opcode_t
*)cur_opcode
+ 3;}
19443 Parrot_mul_n_nc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19444 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19445 NREG(1) *= CONST(2).u
.number
;
19447 return (opcode_t
*)cur_opcode
+ 3;}
19450 Parrot_mul_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19451 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19452 VTABLE_i_multiply(interp
, PREG(1), PREG(2));
19454 return (opcode_t
*)cur_opcode
+ 3;}
19457 Parrot_mul_p_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19458 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19459 VTABLE_i_multiply_int(interp
, PREG(1), IREG(2));
19461 return (opcode_t
*)cur_opcode
+ 3;}
19464 Parrot_mul_p_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19465 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19466 VTABLE_i_multiply_int(interp
, PREG(1), cur_opcode
[2]);
19468 return (opcode_t
*)cur_opcode
+ 3;}
19471 Parrot_mul_p_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19472 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19473 VTABLE_i_multiply_float(interp
, PREG(1), NREG(2));
19475 return (opcode_t
*)cur_opcode
+ 3;}
19478 Parrot_mul_p_nc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19479 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19480 VTABLE_i_multiply_float(interp
, PREG(1), CONST(2).u
.number
);
19482 return (opcode_t
*)cur_opcode
+ 3;}
19485 Parrot_mul_i_i_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19486 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19487 IREG(1) = IREG(2) * IREG(3);
19489 return (opcode_t
*)cur_opcode
+ 4;}
19492 Parrot_mul_i_ic_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19493 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19494 IREG(1) = cur_opcode
[2] * IREG(3);
19496 return (opcode_t
*)cur_opcode
+ 4;}
19499 Parrot_mul_i_i_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19500 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19501 IREG(1) = IREG(2) * cur_opcode
[3];
19503 return (opcode_t
*)cur_opcode
+ 4;}
19506 Parrot_mul_n_n_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19507 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19508 NREG(1) = NREG(2) * NREG(3);
19510 return (opcode_t
*)cur_opcode
+ 4;}
19513 Parrot_mul_n_nc_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19514 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19515 NREG(1) = CONST(2).u
.number
* NREG(3);
19517 return (opcode_t
*)cur_opcode
+ 4;}
19520 Parrot_mul_n_n_nc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19521 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19522 NREG(1) = NREG(2) * CONST(3).u
.number
;
19524 return (opcode_t
*)cur_opcode
+ 4;}
19527 Parrot_mul_p_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19528 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19529 PREG(1) = VTABLE_multiply(interp
, PREG(2), PREG(3), PREG(1));
19531 return (opcode_t
*)cur_opcode
+ 4;}
19534 Parrot_mul_p_p_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19535 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19536 PREG(1) = VTABLE_multiply_int(interp
, PREG(2), IREG(3), PREG(1));
19538 return (opcode_t
*)cur_opcode
+ 4;}
19541 Parrot_mul_p_p_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19542 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19543 PREG(1) = VTABLE_multiply_int(interp
, PREG(2), cur_opcode
[3], PREG(1));
19545 return (opcode_t
*)cur_opcode
+ 4;}
19548 Parrot_mul_p_p_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19549 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19550 PREG(1) = VTABLE_multiply_float(interp
, PREG(2), NREG(3), PREG(1));
19552 return (opcode_t
*)cur_opcode
+ 4;}
19555 Parrot_mul_p_p_nc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19556 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19557 PREG(1) = VTABLE_multiply_float(interp
, PREG(2), CONST(3).u
.number
, PREG(1));
19559 return (opcode_t
*)cur_opcode
+ 4;}
19562 Parrot_neg_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19563 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19564 IREG(1) = - IREG(1);
19566 return (opcode_t
*)cur_opcode
+ 2;}
19569 Parrot_neg_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19570 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19571 NREG(1) = - NREG(1);
19573 return (opcode_t
*)cur_opcode
+ 2;}
19576 Parrot_neg_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19577 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19578 VTABLE_i_neg(interp
, PREG(1));
19580 return (opcode_t
*)cur_opcode
+ 2;}
19583 Parrot_neg_i_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19584 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19585 IREG(1) = - IREG(2);
19587 return (opcode_t
*)cur_opcode
+ 3;}
19590 Parrot_neg_n_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19591 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19592 NREG(1) = - NREG(2);
19594 return (opcode_t
*)cur_opcode
+ 3;}
19597 Parrot_neg_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19598 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19599 PREG(1) = VTABLE_neg(interp
, PREG(2), PREG(1));
19601 return (opcode_t
*)cur_opcode
+ 3;}
19604 Parrot_sub_i_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19605 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19606 IREG(1) -= IREG(2);
19608 return (opcode_t
*)cur_opcode
+ 3;}
19611 Parrot_sub_i_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19612 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19613 IREG(1) -= cur_opcode
[2];
19615 return (opcode_t
*)cur_opcode
+ 3;}
19618 Parrot_sub_n_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19619 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19620 NREG(1) -= NREG(2);
19622 return (opcode_t
*)cur_opcode
+ 3;}
19625 Parrot_sub_n_nc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19626 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19627 NREG(1) -= CONST(2).u
.number
;
19629 return (opcode_t
*)cur_opcode
+ 3;}
19632 Parrot_sub_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19633 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19634 VTABLE_i_subtract(interp
, PREG(1), PREG(2));
19636 return (opcode_t
*)cur_opcode
+ 3;}
19639 Parrot_sub_p_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19640 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19641 VTABLE_i_subtract_int(interp
, PREG(1), IREG(2));
19643 return (opcode_t
*)cur_opcode
+ 3;}
19646 Parrot_sub_p_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19647 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19648 VTABLE_i_subtract_int(interp
, PREG(1), cur_opcode
[2]);
19650 return (opcode_t
*)cur_opcode
+ 3;}
19653 Parrot_sub_p_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19654 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19655 VTABLE_i_subtract_float(interp
, PREG(1), NREG(2));
19657 return (opcode_t
*)cur_opcode
+ 3;}
19660 Parrot_sub_p_nc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19661 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19662 VTABLE_i_subtract_float(interp
, PREG(1), CONST(2).u
.number
);
19664 return (opcode_t
*)cur_opcode
+ 3;}
19667 Parrot_sub_i_i_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19668 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19669 IREG(1) = IREG(2) - IREG(3);
19671 return (opcode_t
*)cur_opcode
+ 4;}
19674 Parrot_sub_i_ic_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19675 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19676 IREG(1) = cur_opcode
[2] - IREG(3);
19678 return (opcode_t
*)cur_opcode
+ 4;}
19681 Parrot_sub_i_i_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19682 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19683 IREG(1) = IREG(2) - cur_opcode
[3];
19685 return (opcode_t
*)cur_opcode
+ 4;}
19688 Parrot_sub_n_n_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19689 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19690 NREG(1) = NREG(2) - NREG(3);
19692 return (opcode_t
*)cur_opcode
+ 4;}
19695 Parrot_sub_n_nc_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19696 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19697 NREG(1) = CONST(2).u
.number
- NREG(3);
19699 return (opcode_t
*)cur_opcode
+ 4;}
19702 Parrot_sub_n_n_nc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19703 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19704 NREG(1) = NREG(2) - CONST(3).u
.number
;
19706 return (opcode_t
*)cur_opcode
+ 4;}
19709 Parrot_sub_p_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19710 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19711 PREG(1) = VTABLE_subtract(interp
, PREG(2), PREG(3), PREG(1));
19713 return (opcode_t
*)cur_opcode
+ 4;}
19716 Parrot_sub_p_p_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19717 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19718 PREG(1) = VTABLE_subtract_int(interp
, PREG(2), IREG(3), PREG(1));
19720 return (opcode_t
*)cur_opcode
+ 4;}
19723 Parrot_sub_p_p_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19724 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19725 PREG(1) = VTABLE_subtract_int(interp
, PREG(2), cur_opcode
[3], PREG(1));
19727 return (opcode_t
*)cur_opcode
+ 4;}
19730 Parrot_sub_p_p_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19731 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19732 PREG(1) = VTABLE_subtract_float(interp
, PREG(2), NREG(3), PREG(1));
19734 return (opcode_t
*)cur_opcode
+ 4;}
19737 Parrot_sub_p_p_nc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19738 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19739 PREG(1) = VTABLE_subtract_float(interp
, PREG(2), CONST(3).u
.number
, PREG(1));
19741 return (opcode_t
*)cur_opcode
+ 4;}
19744 Parrot_sqrt_n_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19745 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19746 NREG(1) = sqrt((FLOATVAL
)NREG(2));
19748 return (opcode_t
*)cur_opcode
+ 3;}
19751 Parrot_callmethodcc_p_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19752 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19753 PMC
* const object
= PREG(1);
19754 STRING
* const meth
= SREG(2);
19755 opcode_t
* const next
= cur_opcode
+ 3;
19757 PMC
* const method_pmc
= VTABLE_find_method(interp
, object
, meth
);
19758 opcode_t
*dest
= NULL
;
19760 Parrot_pcc_set_pc_func(interp
, CURRENT_CONTEXT(interp
), next
);
19762 if (!PMC_IS_NULL(method_pmc
)) {
19763 PMC
* const signature
= Parrot_pcc_get_signature(interp
,
19764 CURRENT_CONTEXT(interp
));
19765 if (!PMC_IS_NULL(signature
))
19766 Parrot_pcc_set_object(interp
, signature
, object
);
19768 interp
->current_cont
= NEED_CONTINUATION
;
19769 dest
= VTABLE_invoke(interp
, method_pmc
, next
);
19772 PMC
* const _class
= VTABLE_get_class(interp
, object
);
19773 if (PMC_IS_NULL(_class
)) {
19774 dest
= Parrot_ex_throw_from_op_args(interp
, next
,
19775 EXCEPTION_METHOD_NOT_FOUND
,
19776 "Method '%Ss' not found for non-object", meth
);
19779 dest
= Parrot_ex_throw_from_op_args(interp
, next
,
19780 EXCEPTION_METHOD_NOT_FOUND
,
19781 "Method '%Ss' not found for invocant of class '%Ss'", meth
,
19782 VTABLE_get_string(interp
, _class
));
19784 }return (opcode_t
*)dest
;
19788 Parrot_callmethodcc_p_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19789 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19790 PMC
* const object
= PREG(1);
19791 STRING
* const meth
= CONST(2).u
.string
;
19792 opcode_t
* const next
= cur_opcode
+ 3;
19794 PMC
* const method_pmc
= VTABLE_find_method(interp
, object
, meth
);
19795 opcode_t
*dest
= NULL
;
19797 Parrot_pcc_set_pc_func(interp
, CURRENT_CONTEXT(interp
), next
);
19799 if (!PMC_IS_NULL(method_pmc
)) {
19800 PMC
* const signature
= Parrot_pcc_get_signature(interp
,
19801 CURRENT_CONTEXT(interp
));
19802 if (!PMC_IS_NULL(signature
))
19803 Parrot_pcc_set_object(interp
, signature
, object
);
19805 interp
->current_cont
= NEED_CONTINUATION
;
19806 dest
= VTABLE_invoke(interp
, method_pmc
, next
);
19809 PMC
* const _class
= VTABLE_get_class(interp
, object
);
19810 if (PMC_IS_NULL(_class
)) {
19811 dest
= Parrot_ex_throw_from_op_args(interp
, next
,
19812 EXCEPTION_METHOD_NOT_FOUND
,
19813 "Method '%Ss' not found for non-object", meth
);
19816 dest
= Parrot_ex_throw_from_op_args(interp
, next
,
19817 EXCEPTION_METHOD_NOT_FOUND
,
19818 "Method '%Ss' not found for invocant of class '%Ss'", meth
,
19819 VTABLE_get_string(interp
, _class
));
19821 }return (opcode_t
*)dest
;
19825 Parrot_callmethodcc_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19826 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19828 opcode_t
* const next
= cur_opcode
+ 3;
19829 PMC
* signature
= Parrot_pcc_get_signature(interp
,
19830 CURRENT_CONTEXT(interp
));
19832 Parrot_pcc_set_pc_func(interp
, CURRENT_CONTEXT(interp
), next
);
19834 if (!PMC_IS_NULL(signature
))
19835 Parrot_pcc_set_object(interp
, signature
, PREG(1));
19836 interp
->current_cont
= NEED_CONTINUATION
;
19837 dest
= VTABLE_invoke(interp
, PREG(2), next
);return (opcode_t
*)dest
;
19841 Parrot_callmethod_p_s_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19842 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19843 PMC
* const object
= PREG(1);
19844 STRING
* const meth
= SREG(2);
19845 opcode_t
* const next
= cur_opcode
+ 4;
19847 PMC
* const method_pmc
= VTABLE_find_method(interp
, object
, meth
);
19848 opcode_t
*dest
= NULL
;
19849 PMC
* signature
= Parrot_pcc_get_signature(interp
,
19850 CURRENT_CONTEXT(interp
));
19852 Parrot_pcc_set_pc_func(interp
, CURRENT_CONTEXT(interp
), next
);
19854 if (PMC_IS_NULL(method_pmc
)) {
19855 dest
= Parrot_ex_throw_from_op_args(interp
, next
, EXCEPTION_METHOD_NOT_FOUND
,
19856 "Method '%Ss' not found for invocant of class '%Ss'", meth
,
19857 VTABLE_get_string(interp
, VTABLE_get_class(interp
, object
)));
19860 if (!PMC_IS_NULL(signature
))
19861 Parrot_pcc_set_object(interp
, signature
, object
);
19862 interp
->current_cont
= PREG(3);
19863 dest
= (opcode_t
*)VTABLE_invoke(interp
, method_pmc
, next
);
19864 }return (opcode_t
*)dest
;
19868 Parrot_callmethod_p_sc_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19869 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19870 PMC
* const object
= PREG(1);
19871 STRING
* const meth
= CONST(2).u
.string
;
19872 opcode_t
* const next
= cur_opcode
+ 4;
19874 PMC
* const method_pmc
= VTABLE_find_method(interp
, object
, meth
);
19875 opcode_t
*dest
= NULL
;
19876 PMC
* signature
= Parrot_pcc_get_signature(interp
,
19877 CURRENT_CONTEXT(interp
));
19879 Parrot_pcc_set_pc_func(interp
, CURRENT_CONTEXT(interp
), next
);
19881 if (PMC_IS_NULL(method_pmc
)) {
19882 dest
= Parrot_ex_throw_from_op_args(interp
, next
, EXCEPTION_METHOD_NOT_FOUND
,
19883 "Method '%Ss' not found for invocant of class '%Ss'", meth
,
19884 VTABLE_get_string(interp
, VTABLE_get_class(interp
, object
)));
19887 if (!PMC_IS_NULL(signature
))
19888 Parrot_pcc_set_object(interp
, signature
, object
);
19889 interp
->current_cont
= PREG(3);
19890 dest
= (opcode_t
*)VTABLE_invoke(interp
, method_pmc
, next
);
19891 }return (opcode_t
*)dest
;
19895 Parrot_callmethod_p_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19896 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19897 PMC
* const object
= PREG(1);
19898 PMC
* const method_pmc
= PREG(2);
19899 opcode_t
* const next
= cur_opcode
+ 4;
19902 PMC
* signature
= Parrot_pcc_get_signature(interp
,
19903 CURRENT_CONTEXT(interp
));
19905 Parrot_pcc_set_pc_func(interp
, CURRENT_CONTEXT(interp
), next
);
19907 if (!PMC_IS_NULL(signature
))
19908 Parrot_pcc_set_object(interp
, signature
, object
);
19909 interp
->current_cont
= PREG(3);
19910 dest
= (opcode_t
*)VTABLE_invoke(interp
, method_pmc
, next
);return (opcode_t
*)dest
;
19914 Parrot_tailcallmethod_p_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19915 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19916 opcode_t
* const next
= cur_opcode
+ 3;
19917 PMC
* const object
= PREG(1);
19918 STRING
* const meth
= SREG(2);
19919 PMC
* const method_pmc
= VTABLE_find_method(interp
, object
, meth
);
19922 PMC
* signature
= Parrot_pcc_get_signature(interp
,
19923 CURRENT_CONTEXT(interp
));
19925 if (PMC_IS_NULL(method_pmc
)) {
19926 dest
= Parrot_ex_throw_from_op_args(interp
, next
, EXCEPTION_METHOD_NOT_FOUND
,
19927 "Method '%Ss' not found for invocant of class '%Ss'", meth
,
19928 VTABLE_get_string(interp
, VTABLE_get_class(interp
, object
)));
19931 interp
->current_cont
= Parrot_pcc_get_continuation(interp
, CURRENT_CONTEXT(interp
));
19932 PObj_get_FLAGS(interp
->current_cont
) |= SUB_FLAG_TAILCALL
;
19933 if (!PMC_IS_NULL(signature
))
19934 Parrot_pcc_set_object(interp
, signature
, object
);
19935 dest
= (opcode_t
*)VTABLE_invoke(interp
, method_pmc
, next
);
19936 }return (opcode_t
*)dest
;
19940 Parrot_tailcallmethod_p_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19941 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19942 opcode_t
* const next
= cur_opcode
+ 3;
19943 PMC
* const object
= PREG(1);
19944 STRING
* const meth
= CONST(2).u
.string
;
19945 PMC
* const method_pmc
= VTABLE_find_method(interp
, object
, meth
);
19948 PMC
* signature
= Parrot_pcc_get_signature(interp
,
19949 CURRENT_CONTEXT(interp
));
19951 if (PMC_IS_NULL(method_pmc
)) {
19952 dest
= Parrot_ex_throw_from_op_args(interp
, next
, EXCEPTION_METHOD_NOT_FOUND
,
19953 "Method '%Ss' not found for invocant of class '%Ss'", meth
,
19954 VTABLE_get_string(interp
, VTABLE_get_class(interp
, object
)));
19957 interp
->current_cont
= Parrot_pcc_get_continuation(interp
, CURRENT_CONTEXT(interp
));
19958 PObj_get_FLAGS(interp
->current_cont
) |= SUB_FLAG_TAILCALL
;
19959 if (!PMC_IS_NULL(signature
))
19960 Parrot_pcc_set_object(interp
, signature
, object
);
19961 dest
= (opcode_t
*)VTABLE_invoke(interp
, method_pmc
, next
);
19962 }return (opcode_t
*)dest
;
19966 Parrot_tailcallmethod_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19967 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19968 opcode_t
* const next
= cur_opcode
+ 3;
19969 PMC
* const object
= PREG(1);
19970 PMC
* const method_pmc
= PREG(2);
19973 PMC
* signature
= Parrot_pcc_get_signature(interp
,
19974 CURRENT_CONTEXT(interp
));
19976 interp
->current_cont
= Parrot_pcc_get_continuation(interp
, CURRENT_CONTEXT(interp
));
19977 PObj_get_FLAGS(interp
->current_cont
) |= SUB_FLAG_TAILCALL
;
19979 if (!PMC_IS_NULL(signature
))
19980 Parrot_pcc_set_object(interp
, signature
, object
);
19981 dest
= (opcode_t
*)VTABLE_invoke(interp
, method_pmc
, next
);return (opcode_t
*)dest
;
19985 Parrot_addmethod_p_s_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19986 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19987 VTABLE_add_method(interp
, PREG(1), SREG(2), PREG(3));
19989 return (opcode_t
*)cur_opcode
+ 4;}
19992 Parrot_addmethod_p_sc_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
19993 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
19994 VTABLE_add_method(interp
, PREG(1), CONST(2).u
.string
, PREG(3));
19996 return (opcode_t
*)cur_opcode
+ 4;}
19999 Parrot_can_i_p_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20000 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20001 IREG(1) = VTABLE_can(interp
, PREG(2), SREG(3));
20003 return (opcode_t
*)cur_opcode
+ 4;}
20006 Parrot_can_i_p_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20007 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20008 IREG(1) = VTABLE_can(interp
, PREG(2), CONST(3).u
.string
);
20010 return (opcode_t
*)cur_opcode
+ 4;}
20013 Parrot_does_i_p_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20014 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20015 IREG(1) = SREG(3) ? VTABLE_does(interp
, PREG(2), SREG(3)) : 0;
20017 return (opcode_t
*)cur_opcode
+ 4;}
20020 Parrot_does_i_p_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20021 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20022 IREG(1) = CONST(3).u
.string
? VTABLE_does(interp
, PREG(2), CONST(3).u
.string
) : 0;
20024 return (opcode_t
*)cur_opcode
+ 4;}
20027 Parrot_does_i_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20028 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20029 IREG(1) = PREG(3) ? VTABLE_does_pmc(interp
, PREG(2), PREG(3)) : 0;
20031 return (opcode_t
*)cur_opcode
+ 4;}
20034 Parrot_does_i_p_pc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20035 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20036 IREG(1) = CONST(3).u
.key
? VTABLE_does_pmc(interp
, PREG(2), CONST(3).u
.key
) : 0;
20038 return (opcode_t
*)cur_opcode
+ 4;}
20041 Parrot_isa_i_p_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20042 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20043 IREG(1) = SREG(3) ? VTABLE_isa(interp
, PREG(2), SREG(3)) : 0;
20045 return (opcode_t
*)cur_opcode
+ 4;}
20048 Parrot_isa_i_p_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20049 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20050 IREG(1) = CONST(3).u
.string
? VTABLE_isa(interp
, PREG(2), CONST(3).u
.string
) : 0;
20052 return (opcode_t
*)cur_opcode
+ 4;}
20055 Parrot_isa_i_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20056 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20057 IREG(1) = PREG(3) ? VTABLE_isa_pmc(interp
, PREG(2), PREG(3)) : 0;
20059 return (opcode_t
*)cur_opcode
+ 4;}
20062 Parrot_isa_i_p_pc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20063 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20064 IREG(1) = CONST(3).u
.key
? VTABLE_isa_pmc(interp
, PREG(2), CONST(3).u
.key
) : 0;
20066 return (opcode_t
*)cur_opcode
+ 4;}
20069 Parrot_newclass_p_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20070 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20071 PMC
* const name
= Parrot_pmc_new(interp
, enum_class_String
);
20072 VTABLE_set_string_native(interp
, name
, SREG(2));
20073 PREG(1) = Parrot_pmc_new_init(interp
, enum_class_Class
, name
);
20075 return (opcode_t
*)cur_opcode
+ 3;}
20078 Parrot_newclass_p_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20079 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20080 PMC
* const name
= Parrot_pmc_new(interp
, enum_class_String
);
20081 VTABLE_set_string_native(interp
, name
, CONST(2).u
.string
);
20082 PREG(1) = Parrot_pmc_new_init(interp
, enum_class_Class
, name
);
20084 return (opcode_t
*)cur_opcode
+ 3;}
20087 Parrot_newclass_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20088 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20089 PREG(1) = Parrot_pmc_new_init(interp
, enum_class_Class
, PREG(2));
20091 return (opcode_t
*)cur_opcode
+ 3;}
20094 Parrot_newclass_p_pc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20095 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20096 PREG(1) = Parrot_pmc_new_init(interp
, enum_class_Class
, CONST(2).u
.key
);
20098 return (opcode_t
*)cur_opcode
+ 3;}
20101 Parrot_subclass_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20102 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20103 PMC
* const parent_class
= Parrot_oo_get_class(interp
, PREG(2));
20104 opcode_t
* const next
= cur_opcode
+ 3;
20106 if (PMC_IS_NULL(parent_class
)) {
20107 opcode_t
*handler
= Parrot_ex_throw_from_op_args(interp
, next
,
20108 EXCEPTION_NO_CLASS
,
20109 "Class '%Ss' doesn't exist", VTABLE_get_string(interp
, PREG(2)));return (opcode_t
*)handler
;
20111 PREG(1) = Parrot_pmc_new(interp
, enum_class_Class
);
20112 VTABLE_add_parent(interp
, PREG(1), parent_class
);return (opcode_t
*)next
;
20116 Parrot_subclass_p_pc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20117 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20118 PMC
* const parent_class
= Parrot_oo_get_class(interp
, CONST(2).u
.key
);
20119 opcode_t
* const next
= cur_opcode
+ 3;
20121 if (PMC_IS_NULL(parent_class
)) {
20122 opcode_t
*handler
= Parrot_ex_throw_from_op_args(interp
, next
,
20123 EXCEPTION_NO_CLASS
,
20124 "Class '%Ss' doesn't exist", VTABLE_get_string(interp
, CONST(2).u
.key
));return (opcode_t
*)handler
;
20126 PREG(1) = Parrot_pmc_new(interp
, enum_class_Class
);
20127 VTABLE_add_parent(interp
, PREG(1), parent_class
);return (opcode_t
*)next
;
20131 Parrot_subclass_p_p_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20132 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20133 PMC
* const parent_class
= Parrot_oo_get_class(interp
, PREG(2));
20134 opcode_t
* const next
= cur_opcode
+ 4;
20136 if (PMC_IS_NULL(parent_class
)) {
20137 opcode_t
* handler
= Parrot_ex_throw_from_op_args(interp
, next
,
20138 EXCEPTION_NO_CLASS
,
20139 "Class '%Ss' doesn't exist", VTABLE_get_string(interp
, PREG(2)));return (opcode_t
*)handler
;
20141 PREG(1) = Parrot_oo_newclass_from_str(interp
, SREG(3));
20142 VTABLE_add_parent(interp
, PREG(1), parent_class
);return (opcode_t
*)next
;
20146 Parrot_subclass_p_pc_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20147 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20148 PMC
* const parent_class
= Parrot_oo_get_class(interp
, CONST(2).u
.key
);
20149 opcode_t
* const next
= cur_opcode
+ 4;
20151 if (PMC_IS_NULL(parent_class
)) {
20152 opcode_t
* handler
= Parrot_ex_throw_from_op_args(interp
, next
,
20153 EXCEPTION_NO_CLASS
,
20154 "Class '%Ss' doesn't exist", VTABLE_get_string(interp
, CONST(2).u
.key
));return (opcode_t
*)handler
;
20156 PREG(1) = Parrot_oo_newclass_from_str(interp
, SREG(3));
20157 VTABLE_add_parent(interp
, PREG(1), parent_class
);return (opcode_t
*)next
;
20161 Parrot_subclass_p_p_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20162 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20163 PMC
* const parent_class
= Parrot_oo_get_class(interp
, PREG(2));
20164 opcode_t
* const next
= cur_opcode
+ 4;
20166 if (PMC_IS_NULL(parent_class
)) {
20167 opcode_t
* handler
= Parrot_ex_throw_from_op_args(interp
, next
,
20168 EXCEPTION_NO_CLASS
,
20169 "Class '%Ss' doesn't exist", VTABLE_get_string(interp
, PREG(2)));return (opcode_t
*)handler
;
20171 PREG(1) = Parrot_oo_newclass_from_str(interp
, CONST(3).u
.string
);
20172 VTABLE_add_parent(interp
, PREG(1), parent_class
);return (opcode_t
*)next
;
20176 Parrot_subclass_p_pc_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20177 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20178 PMC
* const parent_class
= Parrot_oo_get_class(interp
, CONST(2).u
.key
);
20179 opcode_t
* const next
= cur_opcode
+ 4;
20181 if (PMC_IS_NULL(parent_class
)) {
20182 opcode_t
* handler
= Parrot_ex_throw_from_op_args(interp
, next
,
20183 EXCEPTION_NO_CLASS
,
20184 "Class '%Ss' doesn't exist", VTABLE_get_string(interp
, CONST(2).u
.key
));return (opcode_t
*)handler
;
20186 PREG(1) = Parrot_oo_newclass_from_str(interp
, CONST(3).u
.string
);
20187 VTABLE_add_parent(interp
, PREG(1), parent_class
);return (opcode_t
*)next
;
20191 Parrot_subclass_p_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20192 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20193 PMC
* const parent_class
= Parrot_oo_get_class(interp
, PREG(2));
20194 opcode_t
* const next
= cur_opcode
+ 4;
20196 if (PMC_IS_NULL(parent_class
)) {
20197 opcode_t
*handler
= Parrot_ex_throw_from_op_args(interp
, next
,
20198 EXCEPTION_NO_CLASS
,
20199 "Class '%Ss' doesn't exist", VTABLE_get_string(interp
, PREG(2)));return (opcode_t
*)handler
;
20201 PREG(1) = Parrot_pmc_new_init(interp
, enum_class_Class
, PREG(3));
20202 VTABLE_add_parent(interp
, PREG(1), parent_class
);return (opcode_t
*)next
;
20206 Parrot_subclass_p_pc_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20207 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20208 PMC
* const parent_class
= Parrot_oo_get_class(interp
, CONST(2).u
.key
);
20209 opcode_t
* const next
= cur_opcode
+ 4;
20211 if (PMC_IS_NULL(parent_class
)) {
20212 opcode_t
*handler
= Parrot_ex_throw_from_op_args(interp
, next
,
20213 EXCEPTION_NO_CLASS
,
20214 "Class '%Ss' doesn't exist", VTABLE_get_string(interp
, CONST(2).u
.key
));return (opcode_t
*)handler
;
20216 PREG(1) = Parrot_pmc_new_init(interp
, enum_class_Class
, PREG(3));
20217 VTABLE_add_parent(interp
, PREG(1), parent_class
);return (opcode_t
*)next
;
20221 Parrot_subclass_p_p_pc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20222 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20223 PMC
* const parent_class
= Parrot_oo_get_class(interp
, PREG(2));
20224 opcode_t
* const next
= cur_opcode
+ 4;
20226 if (PMC_IS_NULL(parent_class
)) {
20227 opcode_t
*handler
= Parrot_ex_throw_from_op_args(interp
, next
,
20228 EXCEPTION_NO_CLASS
,
20229 "Class '%Ss' doesn't exist", VTABLE_get_string(interp
, PREG(2)));return (opcode_t
*)handler
;
20231 PREG(1) = Parrot_pmc_new_init(interp
, enum_class_Class
, CONST(3).u
.key
);
20232 VTABLE_add_parent(interp
, PREG(1), parent_class
);return (opcode_t
*)next
;
20236 Parrot_subclass_p_pc_pc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20237 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20238 PMC
* const parent_class
= Parrot_oo_get_class(interp
, CONST(2).u
.key
);
20239 opcode_t
* const next
= cur_opcode
+ 4;
20241 if (PMC_IS_NULL(parent_class
)) {
20242 opcode_t
*handler
= Parrot_ex_throw_from_op_args(interp
, next
,
20243 EXCEPTION_NO_CLASS
,
20244 "Class '%Ss' doesn't exist", VTABLE_get_string(interp
, CONST(2).u
.key
));return (opcode_t
*)handler
;
20246 PREG(1) = Parrot_pmc_new_init(interp
, enum_class_Class
, CONST(3).u
.key
);
20247 VTABLE_add_parent(interp
, PREG(1), parent_class
);return (opcode_t
*)next
;
20251 Parrot_subclass_p_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20252 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20253 PMC
* const parent_class
= Parrot_oo_get_class_str(interp
, SREG(2));
20254 opcode_t
* const next
= cur_opcode
+ 3;
20256 if (PMC_IS_NULL(parent_class
)) {
20257 opcode_t
*handler
= Parrot_ex_throw_from_op_args(interp
, next
,
20258 EXCEPTION_NO_CLASS
,
20259 "Class '%Ss' doesn't exist", SREG(2));return (opcode_t
*)handler
;
20262 PREG(1) = Parrot_pmc_new(interp
, enum_class_Class
);
20263 VTABLE_add_parent(interp
, PREG(1), parent_class
);return (opcode_t
*)next
;
20267 Parrot_subclass_p_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20268 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20269 PMC
* const parent_class
= Parrot_oo_get_class_str(interp
, CONST(2).u
.string
);
20270 opcode_t
* const next
= cur_opcode
+ 3;
20272 if (PMC_IS_NULL(parent_class
)) {
20273 opcode_t
*handler
= Parrot_ex_throw_from_op_args(interp
, next
,
20274 EXCEPTION_NO_CLASS
,
20275 "Class '%Ss' doesn't exist", CONST(2).u
.string
);return (opcode_t
*)handler
;
20278 PREG(1) = Parrot_pmc_new(interp
, enum_class_Class
);
20279 VTABLE_add_parent(interp
, PREG(1), parent_class
);return (opcode_t
*)next
;
20283 Parrot_subclass_p_s_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20284 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20285 PMC
* const parent_class
= Parrot_oo_get_class_str(interp
, SREG(2));
20286 opcode_t
* const next
= cur_opcode
+ 4;
20288 if (PMC_IS_NULL(parent_class
)) {
20289 opcode_t
*handler
= Parrot_ex_throw_from_op_args(interp
, next
,
20290 EXCEPTION_NO_CLASS
,
20291 "Class '%Ss' doesn't exist", SREG(2));return (opcode_t
*)handler
;
20294 PREG(1) = Parrot_oo_newclass_from_str(interp
, SREG(3));
20295 VTABLE_add_parent(interp
, PREG(1), parent_class
);return (opcode_t
*)next
;
20299 Parrot_subclass_p_sc_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20300 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20301 PMC
* const parent_class
= Parrot_oo_get_class_str(interp
, CONST(2).u
.string
);
20302 opcode_t
* const next
= cur_opcode
+ 4;
20304 if (PMC_IS_NULL(parent_class
)) {
20305 opcode_t
*handler
= Parrot_ex_throw_from_op_args(interp
, next
,
20306 EXCEPTION_NO_CLASS
,
20307 "Class '%Ss' doesn't exist", CONST(2).u
.string
);return (opcode_t
*)handler
;
20310 PREG(1) = Parrot_oo_newclass_from_str(interp
, SREG(3));
20311 VTABLE_add_parent(interp
, PREG(1), parent_class
);return (opcode_t
*)next
;
20315 Parrot_subclass_p_s_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20316 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20317 PMC
* const parent_class
= Parrot_oo_get_class_str(interp
, SREG(2));
20318 opcode_t
* const next
= cur_opcode
+ 4;
20320 if (PMC_IS_NULL(parent_class
)) {
20321 opcode_t
*handler
= Parrot_ex_throw_from_op_args(interp
, next
,
20322 EXCEPTION_NO_CLASS
,
20323 "Class '%Ss' doesn't exist", SREG(2));return (opcode_t
*)handler
;
20326 PREG(1) = Parrot_oo_newclass_from_str(interp
, CONST(3).u
.string
);
20327 VTABLE_add_parent(interp
, PREG(1), parent_class
);return (opcode_t
*)next
;
20331 Parrot_subclass_p_sc_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20332 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20333 PMC
* const parent_class
= Parrot_oo_get_class_str(interp
, CONST(2).u
.string
);
20334 opcode_t
* const next
= cur_opcode
+ 4;
20336 if (PMC_IS_NULL(parent_class
)) {
20337 opcode_t
*handler
= Parrot_ex_throw_from_op_args(interp
, next
,
20338 EXCEPTION_NO_CLASS
,
20339 "Class '%Ss' doesn't exist", CONST(2).u
.string
);return (opcode_t
*)handler
;
20342 PREG(1) = Parrot_oo_newclass_from_str(interp
, CONST(3).u
.string
);
20343 VTABLE_add_parent(interp
, PREG(1), parent_class
);return (opcode_t
*)next
;
20347 Parrot_subclass_p_s_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20348 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20349 PMC
* const parent_class
= Parrot_oo_get_class_str(interp
, SREG(2));
20350 opcode_t
* const next
= cur_opcode
+ 4;
20352 if (PMC_IS_NULL(parent_class
)) {
20353 opcode_t
*handler
= Parrot_ex_throw_from_op_args(interp
, next
,
20354 EXCEPTION_NO_CLASS
,
20355 "Class '%Ss' doesn't exist", SREG(2));return (opcode_t
*)handler
;
20358 PREG(1) = Parrot_pmc_new_init(interp
, enum_class_Class
, PREG(3));
20359 VTABLE_add_parent(interp
, PREG(1), parent_class
);return (opcode_t
*)next
;
20363 Parrot_subclass_p_sc_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20364 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20365 PMC
* const parent_class
= Parrot_oo_get_class_str(interp
, CONST(2).u
.string
);
20366 opcode_t
* const next
= cur_opcode
+ 4;
20368 if (PMC_IS_NULL(parent_class
)) {
20369 opcode_t
*handler
= Parrot_ex_throw_from_op_args(interp
, next
,
20370 EXCEPTION_NO_CLASS
,
20371 "Class '%Ss' doesn't exist", CONST(2).u
.string
);return (opcode_t
*)handler
;
20374 PREG(1) = Parrot_pmc_new_init(interp
, enum_class_Class
, PREG(3));
20375 VTABLE_add_parent(interp
, PREG(1), parent_class
);return (opcode_t
*)next
;
20379 Parrot_subclass_p_s_pc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20380 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20381 PMC
* const parent_class
= Parrot_oo_get_class_str(interp
, SREG(2));
20382 opcode_t
* const next
= cur_opcode
+ 4;
20384 if (PMC_IS_NULL(parent_class
)) {
20385 opcode_t
*handler
= Parrot_ex_throw_from_op_args(interp
, next
,
20386 EXCEPTION_NO_CLASS
,
20387 "Class '%Ss' doesn't exist", SREG(2));return (opcode_t
*)handler
;
20390 PREG(1) = Parrot_pmc_new_init(interp
, enum_class_Class
, CONST(3).u
.key
);
20391 VTABLE_add_parent(interp
, PREG(1), parent_class
);return (opcode_t
*)next
;
20395 Parrot_subclass_p_sc_pc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20396 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20397 PMC
* const parent_class
= Parrot_oo_get_class_str(interp
, CONST(2).u
.string
);
20398 opcode_t
* const next
= cur_opcode
+ 4;
20400 if (PMC_IS_NULL(parent_class
)) {
20401 opcode_t
*handler
= Parrot_ex_throw_from_op_args(interp
, next
,
20402 EXCEPTION_NO_CLASS
,
20403 "Class '%Ss' doesn't exist", CONST(2).u
.string
);return (opcode_t
*)handler
;
20406 PREG(1) = Parrot_pmc_new_init(interp
, enum_class_Class
, CONST(3).u
.key
);
20407 VTABLE_add_parent(interp
, PREG(1), parent_class
);return (opcode_t
*)next
;
20411 Parrot_get_class_p_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20412 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20413 PREG(1) = Parrot_oo_get_class_str(interp
, SREG(2));
20415 return (opcode_t
*)cur_opcode
+ 3;}
20418 Parrot_get_class_p_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20419 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20420 PREG(1) = Parrot_oo_get_class_str(interp
, CONST(2).u
.string
);
20422 return (opcode_t
*)cur_opcode
+ 3;}
20425 Parrot_get_class_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20426 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20427 PREG(1) = Parrot_oo_get_class(interp
, PREG(2));
20429 return (opcode_t
*)cur_opcode
+ 3;}
20432 Parrot_get_class_p_pc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20433 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20434 PREG(1) = Parrot_oo_get_class(interp
, CONST(2).u
.key
);
20436 return (opcode_t
*)cur_opcode
+ 3;}
20439 Parrot_class_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20440 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20441 PREG(1) = VTABLE_get_class(interp
, PREG(2));
20443 return (opcode_t
*)cur_opcode
+ 3;}
20446 Parrot_addparent_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20447 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20448 VTABLE_add_parent(interp
, PREG(1), PREG(2));
20450 return (opcode_t
*)cur_opcode
+ 3;}
20453 Parrot_removeparent_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20454 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20455 VTABLE_remove_parent(interp
, PREG(1), PREG(2));
20457 return (opcode_t
*)cur_opcode
+ 3;}
20460 Parrot_addrole_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20461 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20462 VTABLE_add_role(interp
, PREG(1), PREG(2));
20464 return (opcode_t
*)cur_opcode
+ 3;}
20467 Parrot_addattribute_p_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20468 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20469 VTABLE_add_attribute(interp
, PREG(1), SREG(2), PMCNULL
);
20471 return (opcode_t
*)cur_opcode
+ 3;}
20474 Parrot_addattribute_p_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20475 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20476 VTABLE_add_attribute(interp
, PREG(1), CONST(2).u
.string
, PMCNULL
);
20478 return (opcode_t
*)cur_opcode
+ 3;}
20481 Parrot_removeattribute_p_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20482 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20483 VTABLE_remove_attribute(interp
, PREG(1), SREG(2));
20485 return (opcode_t
*)cur_opcode
+ 3;}
20488 Parrot_removeattribute_p_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20489 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20490 VTABLE_remove_attribute(interp
, PREG(1), CONST(2).u
.string
);
20492 return (opcode_t
*)cur_opcode
+ 3;}
20495 Parrot_getattribute_p_p_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20496 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20497 PREG(1) = VTABLE_get_attr_str(interp
, PREG(2), SREG(3));
20499 return (opcode_t
*)cur_opcode
+ 4;}
20502 Parrot_getattribute_p_p_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20503 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20504 PREG(1) = VTABLE_get_attr_str(interp
, PREG(2), CONST(3).u
.string
);
20506 return (opcode_t
*)cur_opcode
+ 4;}
20509 Parrot_getattribute_p_p_p_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20510 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20511 PREG(1) = VTABLE_get_attr_keyed(interp
, PREG(2), PREG(3), SREG(4));
20513 return (opcode_t
*)cur_opcode
+ 5;}
20516 Parrot_getattribute_p_p_pc_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20517 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20518 PREG(1) = VTABLE_get_attr_keyed(interp
, PREG(2), CONST(3).u
.key
, SREG(4));
20520 return (opcode_t
*)cur_opcode
+ 5;}
20523 Parrot_getattribute_p_p_p_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20524 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20525 PREG(1) = VTABLE_get_attr_keyed(interp
, PREG(2), PREG(3), CONST(4).u
.string
);
20527 return (opcode_t
*)cur_opcode
+ 5;}
20530 Parrot_getattribute_p_p_pc_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20531 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20532 PREG(1) = VTABLE_get_attr_keyed(interp
, PREG(2), CONST(3).u
.key
, CONST(4).u
.string
);
20534 return (opcode_t
*)cur_opcode
+ 5;}
20537 Parrot_setattribute_p_s_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20538 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20539 VTABLE_set_attr_str(interp
, PREG(1), SREG(2), PREG(3));
20541 return (opcode_t
*)cur_opcode
+ 4;}
20544 Parrot_setattribute_p_sc_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20545 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20546 VTABLE_set_attr_str(interp
, PREG(1), CONST(2).u
.string
, PREG(3));
20548 return (opcode_t
*)cur_opcode
+ 4;}
20551 Parrot_setattribute_p_p_s_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20552 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20553 VTABLE_set_attr_keyed(interp
, PREG(1), PREG(2), SREG(3), PREG(4));
20555 return (opcode_t
*)cur_opcode
+ 5;}
20558 Parrot_setattribute_p_pc_s_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20559 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20560 VTABLE_set_attr_keyed(interp
, PREG(1), CONST(2).u
.key
, SREG(3), PREG(4));
20562 return (opcode_t
*)cur_opcode
+ 5;}
20565 Parrot_setattribute_p_p_sc_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20566 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20567 VTABLE_set_attr_keyed(interp
, PREG(1), PREG(2), CONST(3).u
.string
, PREG(4));
20569 return (opcode_t
*)cur_opcode
+ 5;}
20572 Parrot_setattribute_p_pc_sc_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20573 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20574 VTABLE_set_attr_keyed(interp
, PREG(1), CONST(2).u
.key
, CONST(3).u
.string
, PREG(4));
20576 return (opcode_t
*)cur_opcode
+ 5;}
20579 Parrot_inspect_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20580 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20581 PREG(1) = VTABLE_inspect(interp
, PREG(2));
20583 return (opcode_t
*)cur_opcode
+ 3;}
20586 Parrot_inspect_p_pc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20587 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20588 PREG(1) = VTABLE_inspect(interp
, CONST(2).u
.key
);
20590 return (opcode_t
*)cur_opcode
+ 3;}
20593 Parrot_inspect_p_p_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20594 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20595 PREG(1) = VTABLE_inspect_str(interp
, PREG(2), SREG(3));
20597 return (opcode_t
*)cur_opcode
+ 4;}
20600 Parrot_inspect_p_pc_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20601 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20602 PREG(1) = VTABLE_inspect_str(interp
, CONST(2).u
.key
, SREG(3));
20604 return (opcode_t
*)cur_opcode
+ 4;}
20607 Parrot_inspect_p_p_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20608 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20609 PREG(1) = VTABLE_inspect_str(interp
, PREG(2), CONST(3).u
.string
);
20611 return (opcode_t
*)cur_opcode
+ 4;}
20614 Parrot_inspect_p_pc_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20615 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20616 PREG(1) = VTABLE_inspect_str(interp
, CONST(2).u
.key
, CONST(3).u
.string
);
20618 return (opcode_t
*)cur_opcode
+ 4;}
20621 Parrot_new_p_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20622 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20623 STRING
* const name
= SREG(2);
20624 PMC
* const _class
= Parrot_pcc_get_HLL(interp
, CURRENT_CONTEXT(interp
))
20625 ? Parrot_oo_get_class_str(interp
, name
)
20628 if (!PMC_IS_NULL(_class
))
20629 PREG(1) = VTABLE_instantiate(interp
, _class
, PMCNULL
);
20631 const INTVAL type
= Parrot_pmc_get_type_str(interp
, name
);
20633 opcode_t
* const dest
= Parrot_ex_throw_from_op_args(interp
, cur_opcode
+ 3,
20634 EXCEPTION_NO_CLASS
,
20635 "Class '%Ss' not found", name
);return (opcode_t
*)dest
;
20637 PREG(1) = Parrot_pmc_new(interp
, type
);
20640 return (opcode_t
*)cur_opcode
+ 3;}
20643 Parrot_new_p_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20644 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20645 STRING
* const name
= CONST(2).u
.string
;
20646 PMC
* const _class
= Parrot_pcc_get_HLL(interp
, CURRENT_CONTEXT(interp
))
20647 ? Parrot_oo_get_class_str(interp
, name
)
20650 if (!PMC_IS_NULL(_class
))
20651 PREG(1) = VTABLE_instantiate(interp
, _class
, PMCNULL
);
20653 const INTVAL type
= Parrot_pmc_get_type_str(interp
, name
);
20655 opcode_t
* const dest
= Parrot_ex_throw_from_op_args(interp
, cur_opcode
+ 3,
20656 EXCEPTION_NO_CLASS
,
20657 "Class '%Ss' not found", name
);return (opcode_t
*)dest
;
20659 PREG(1) = Parrot_pmc_new(interp
, type
);
20662 return (opcode_t
*)cur_opcode
+ 3;}
20665 Parrot_new_p_s_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20666 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20667 STRING
* const name
= SREG(2);
20668 PMC
* const _class
= Parrot_pcc_get_HLL(interp
, CURRENT_CONTEXT(interp
))
20669 ? Parrot_oo_get_class_str(interp
, name
)
20672 if (!PMC_IS_NULL(_class
))
20673 PREG(1) = VTABLE_instantiate(interp
, _class
, PREG(3));
20675 const INTVAL type
= Parrot_pmc_get_type_str(interp
, name
);
20677 opcode_t
* const dest
= Parrot_ex_throw_from_op_args(interp
, cur_opcode
+ 4,
20678 EXCEPTION_NO_CLASS
,
20679 "Class '%Ss' not found", name
);return (opcode_t
*)dest
;
20681 PREG(1) = Parrot_pmc_new_init(interp
, type
, PREG(3));
20684 return (opcode_t
*)cur_opcode
+ 4;}
20687 Parrot_new_p_sc_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20688 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20689 STRING
* const name
= CONST(2).u
.string
;
20690 PMC
* const _class
= Parrot_pcc_get_HLL(interp
, CURRENT_CONTEXT(interp
))
20691 ? Parrot_oo_get_class_str(interp
, name
)
20694 if (!PMC_IS_NULL(_class
))
20695 PREG(1) = VTABLE_instantiate(interp
, _class
, PREG(3));
20697 const INTVAL type
= Parrot_pmc_get_type_str(interp
, name
);
20699 opcode_t
* const dest
= Parrot_ex_throw_from_op_args(interp
, cur_opcode
+ 4,
20700 EXCEPTION_NO_CLASS
,
20701 "Class '%Ss' not found", name
);return (opcode_t
*)dest
;
20703 PREG(1) = Parrot_pmc_new_init(interp
, type
, PREG(3));
20706 return (opcode_t
*)cur_opcode
+ 4;}
20709 Parrot_new_p_s_pc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20710 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20711 STRING
* const name
= SREG(2);
20712 PMC
* const _class
= Parrot_pcc_get_HLL(interp
, CURRENT_CONTEXT(interp
))
20713 ? Parrot_oo_get_class_str(interp
, name
)
20716 if (!PMC_IS_NULL(_class
))
20717 PREG(1) = VTABLE_instantiate(interp
, _class
, CONST(3).u
.key
);
20719 const INTVAL type
= Parrot_pmc_get_type_str(interp
, name
);
20721 opcode_t
* const dest
= Parrot_ex_throw_from_op_args(interp
, cur_opcode
+ 4,
20722 EXCEPTION_NO_CLASS
,
20723 "Class '%Ss' not found", name
);return (opcode_t
*)dest
;
20725 PREG(1) = Parrot_pmc_new_init(interp
, type
, CONST(3).u
.key
);
20728 return (opcode_t
*)cur_opcode
+ 4;}
20731 Parrot_new_p_sc_pc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20732 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20733 STRING
* const name
= CONST(2).u
.string
;
20734 PMC
* const _class
= Parrot_pcc_get_HLL(interp
, CURRENT_CONTEXT(interp
))
20735 ? Parrot_oo_get_class_str(interp
, name
)
20738 if (!PMC_IS_NULL(_class
))
20739 PREG(1) = VTABLE_instantiate(interp
, _class
, CONST(3).u
.key
);
20741 const INTVAL type
= Parrot_pmc_get_type_str(interp
, name
);
20743 opcode_t
* const dest
= Parrot_ex_throw_from_op_args(interp
, cur_opcode
+ 4,
20744 EXCEPTION_NO_CLASS
,
20745 "Class '%Ss' not found", name
);return (opcode_t
*)dest
;
20747 PREG(1) = Parrot_pmc_new_init(interp
, type
, CONST(3).u
.key
);
20750 return (opcode_t
*)cur_opcode
+ 4;}
20753 Parrot_new_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20754 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20755 PMC
* const name_key
= PREG(2);
20756 PMC
* const _class
= Parrot_oo_get_class(interp
, name_key
);
20758 if (!PMC_IS_NULL(_class
))
20759 PREG(1) = VTABLE_instantiate(interp
, _class
, PMCNULL
);
20761 const INTVAL type
= Parrot_pmc_get_type(interp
, name_key
);
20763 opcode_t
* const dest
= Parrot_ex_throw_from_op_args(interp
, cur_opcode
+ 3,
20764 EXCEPTION_NO_CLASS
,
20765 "Class '%Ss' not found", VTABLE_get_repr(interp
, name_key
));return (opcode_t
*)dest
;
20767 PREG(1) = Parrot_pmc_new(interp
, type
);
20770 return (opcode_t
*)cur_opcode
+ 3;}
20773 Parrot_new_p_pc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20774 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20775 PMC
* const name_key
= CONST(2).u
.key
;
20776 PMC
* const _class
= Parrot_oo_get_class(interp
, name_key
);
20778 if (!PMC_IS_NULL(_class
))
20779 PREG(1) = VTABLE_instantiate(interp
, _class
, PMCNULL
);
20781 const INTVAL type
= Parrot_pmc_get_type(interp
, name_key
);
20783 opcode_t
* const dest
= Parrot_ex_throw_from_op_args(interp
, cur_opcode
+ 3,
20784 EXCEPTION_NO_CLASS
,
20785 "Class '%Ss' not found", VTABLE_get_repr(interp
, name_key
));return (opcode_t
*)dest
;
20787 PREG(1) = Parrot_pmc_new(interp
, type
);
20790 return (opcode_t
*)cur_opcode
+ 3;}
20793 Parrot_new_p_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20794 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20795 PMC
* const name_key
= PREG(2);
20796 PMC
* const _class
= Parrot_oo_get_class(interp
, name_key
);
20798 if (!PMC_IS_NULL(_class
))
20799 PREG(1) = VTABLE_instantiate(interp
, _class
, PREG(3));
20801 const INTVAL type
= Parrot_pmc_get_type(interp
, name_key
);
20803 opcode_t
* const dest
= Parrot_ex_throw_from_op_args(interp
, cur_opcode
+ 4,
20804 EXCEPTION_NO_CLASS
,
20805 "Class '%Ss' not found", VTABLE_get_repr(interp
, name_key
));return (opcode_t
*)dest
;
20807 PREG(1) = Parrot_pmc_new_init(interp
, type
, PREG(3));
20810 return (opcode_t
*)cur_opcode
+ 4;}
20813 Parrot_new_p_pc_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20814 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20815 PMC
* const name_key
= CONST(2).u
.key
;
20816 PMC
* const _class
= Parrot_oo_get_class(interp
, name_key
);
20818 if (!PMC_IS_NULL(_class
))
20819 PREG(1) = VTABLE_instantiate(interp
, _class
, PREG(3));
20821 const INTVAL type
= Parrot_pmc_get_type(interp
, name_key
);
20823 opcode_t
* const dest
= Parrot_ex_throw_from_op_args(interp
, cur_opcode
+ 4,
20824 EXCEPTION_NO_CLASS
,
20825 "Class '%Ss' not found", VTABLE_get_repr(interp
, name_key
));return (opcode_t
*)dest
;
20827 PREG(1) = Parrot_pmc_new_init(interp
, type
, PREG(3));
20830 return (opcode_t
*)cur_opcode
+ 4;}
20833 Parrot_new_p_p_pc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20834 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20835 PMC
* const name_key
= PREG(2);
20836 PMC
* const _class
= Parrot_oo_get_class(interp
, name_key
);
20838 if (!PMC_IS_NULL(_class
))
20839 PREG(1) = VTABLE_instantiate(interp
, _class
, CONST(3).u
.key
);
20841 const INTVAL type
= Parrot_pmc_get_type(interp
, name_key
);
20843 opcode_t
* const dest
= Parrot_ex_throw_from_op_args(interp
, cur_opcode
+ 4,
20844 EXCEPTION_NO_CLASS
,
20845 "Class '%Ss' not found", VTABLE_get_repr(interp
, name_key
));return (opcode_t
*)dest
;
20847 PREG(1) = Parrot_pmc_new_init(interp
, type
, CONST(3).u
.key
);
20850 return (opcode_t
*)cur_opcode
+ 4;}
20853 Parrot_new_p_pc_pc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20854 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20855 PMC
* const name_key
= CONST(2).u
.key
;
20856 PMC
* const _class
= Parrot_oo_get_class(interp
, name_key
);
20858 if (!PMC_IS_NULL(_class
))
20859 PREG(1) = VTABLE_instantiate(interp
, _class
, CONST(3).u
.key
);
20861 const INTVAL type
= Parrot_pmc_get_type(interp
, name_key
);
20863 opcode_t
* const dest
= Parrot_ex_throw_from_op_args(interp
, cur_opcode
+ 4,
20864 EXCEPTION_NO_CLASS
,
20865 "Class '%Ss' not found", VTABLE_get_repr(interp
, name_key
));return (opcode_t
*)dest
;
20867 PREG(1) = Parrot_pmc_new_init(interp
, type
, CONST(3).u
.key
);
20870 return (opcode_t
*)cur_opcode
+ 4;}
20873 Parrot_root_new_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20874 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20875 PMC
* const key
= PREG(2);
20876 PMC
* const root_ns
= interp
->root_namespace
;
20877 PMC
* const ns
= Parrot_ns_get_namespace_keyed(interp
, root_ns
, key
);
20878 PMC
* classobj
= PMCNULL
;
20880 if (!PMC_IS_NULL(ns
))
20881 classobj
= Parrot_oo_get_class(interp
, ns
);
20882 if (!PMC_IS_NULL(classobj
))
20883 PREG(1) = VTABLE_instantiate(interp
, classobj
, PMCNULL
);
20885 opcode_t
* const dest
= Parrot_ex_throw_from_op_args(interp
, cur_opcode
+ 3,
20886 EXCEPTION_NO_CLASS
,
20887 "Class '%Ss' not found", VTABLE_get_repr(interp
, key
));return (opcode_t
*)dest
;
20890 return (opcode_t
*)cur_opcode
+ 3;}
20893 Parrot_root_new_p_pc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20894 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20895 PMC
* const key
= CONST(2).u
.key
;
20896 PMC
* const root_ns
= interp
->root_namespace
;
20897 PMC
* const ns
= Parrot_ns_get_namespace_keyed(interp
, root_ns
, key
);
20898 PMC
* classobj
= PMCNULL
;
20900 if (!PMC_IS_NULL(ns
))
20901 classobj
= Parrot_oo_get_class(interp
, ns
);
20902 if (!PMC_IS_NULL(classobj
))
20903 PREG(1) = VTABLE_instantiate(interp
, classobj
, PMCNULL
);
20905 opcode_t
* const dest
= Parrot_ex_throw_from_op_args(interp
, cur_opcode
+ 3,
20906 EXCEPTION_NO_CLASS
,
20907 "Class '%Ss' not found", VTABLE_get_repr(interp
, key
));return (opcode_t
*)dest
;
20910 return (opcode_t
*)cur_opcode
+ 3;}
20913 Parrot_root_new_p_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20914 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20915 PMC
* const key
= PREG(2);
20916 PMC
* const root_ns
= interp
->root_namespace
;
20917 PMC
* const ns
= Parrot_ns_get_namespace_keyed(interp
, root_ns
, key
);
20918 PMC
* classobj
= PMCNULL
;
20920 if (!PMC_IS_NULL(ns
))
20921 classobj
= Parrot_oo_get_class(interp
, ns
);
20922 if (!PMC_IS_NULL(classobj
))
20923 PREG(1) = VTABLE_instantiate(interp
, classobj
, PREG(3));
20925 opcode_t
* const dest
= Parrot_ex_throw_from_op_args(interp
, cur_opcode
+ 4,
20926 EXCEPTION_NO_CLASS
,
20927 "Class '%Ss' not found", VTABLE_get_repr(interp
, key
));return (opcode_t
*)dest
;
20930 return (opcode_t
*)cur_opcode
+ 4;}
20933 Parrot_root_new_p_pc_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20934 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20935 PMC
* const key
= CONST(2).u
.key
;
20936 PMC
* const root_ns
= interp
->root_namespace
;
20937 PMC
* const ns
= Parrot_ns_get_namespace_keyed(interp
, root_ns
, key
);
20938 PMC
* classobj
= PMCNULL
;
20940 if (!PMC_IS_NULL(ns
))
20941 classobj
= Parrot_oo_get_class(interp
, ns
);
20942 if (!PMC_IS_NULL(classobj
))
20943 PREG(1) = VTABLE_instantiate(interp
, classobj
, PREG(3));
20945 opcode_t
* const dest
= Parrot_ex_throw_from_op_args(interp
, cur_opcode
+ 4,
20946 EXCEPTION_NO_CLASS
,
20947 "Class '%Ss' not found", VTABLE_get_repr(interp
, key
));return (opcode_t
*)dest
;
20950 return (opcode_t
*)cur_opcode
+ 4;}
20953 Parrot_root_new_p_p_pc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20954 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20955 PMC
* const key
= PREG(2);
20956 PMC
* const root_ns
= interp
->root_namespace
;
20957 PMC
* const ns
= Parrot_ns_get_namespace_keyed(interp
, root_ns
, key
);
20958 PMC
* classobj
= PMCNULL
;
20960 if (!PMC_IS_NULL(ns
))
20961 classobj
= Parrot_oo_get_class(interp
, ns
);
20962 if (!PMC_IS_NULL(classobj
))
20963 PREG(1) = VTABLE_instantiate(interp
, classobj
, CONST(3).u
.key
);
20965 opcode_t
* const dest
= Parrot_ex_throw_from_op_args(interp
, cur_opcode
+ 4,
20966 EXCEPTION_NO_CLASS
,
20967 "Class '%Ss' not found", VTABLE_get_repr(interp
, key
));return (opcode_t
*)dest
;
20970 return (opcode_t
*)cur_opcode
+ 4;}
20973 Parrot_root_new_p_pc_pc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20974 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20975 PMC
* const key
= CONST(2).u
.key
;
20976 PMC
* const root_ns
= interp
->root_namespace
;
20977 PMC
* const ns
= Parrot_ns_get_namespace_keyed(interp
, root_ns
, key
);
20978 PMC
* classobj
= PMCNULL
;
20980 if (!PMC_IS_NULL(ns
))
20981 classobj
= Parrot_oo_get_class(interp
, ns
);
20982 if (!PMC_IS_NULL(classobj
))
20983 PREG(1) = VTABLE_instantiate(interp
, classobj
, CONST(3).u
.key
);
20985 opcode_t
* const dest
= Parrot_ex_throw_from_op_args(interp
, cur_opcode
+ 4,
20986 EXCEPTION_NO_CLASS
,
20987 "Class '%Ss' not found", VTABLE_get_repr(interp
, key
));return (opcode_t
*)dest
;
20990 return (opcode_t
*)cur_opcode
+ 4;}
20993 Parrot_typeof_s_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
20994 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
20995 SREG(1) = VTABLE_name(interp
, PREG(2));
20997 return (opcode_t
*)cur_opcode
+ 3;}
21000 Parrot_typeof_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21001 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21002 PREG(1) = VTABLE_get_class(interp
, PREG(2));
21004 return (opcode_t
*)cur_opcode
+ 3;}
21007 Parrot_get_repr_s_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21008 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21009 SREG(1) = VTABLE_get_repr(interp
, PREG(2));
21011 return (opcode_t
*)cur_opcode
+ 3;}
21014 Parrot_find_method_p_p_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21015 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21016 opcode_t
* const resume
= cur_opcode
+ 4;
21017 PREG(1) = VTABLE_find_method(interp
, PREG(2), SREG(3));
21018 if (PMC_IS_NULL(PREG(1)) || !VTABLE_defined(interp
, PREG(1))) {
21019 opcode_t
* const dest
= Parrot_ex_throw_from_op_args(interp
, resume
,
21020 EXCEPTION_METHOD_NOT_FOUND
,
21021 "Method '%Ss' not found for invocant of class '%Ss'", SREG(3),
21022 VTABLE_get_string(interp
, VTABLE_get_class(interp
, PREG(2))));return (opcode_t
*)dest
;
21023 }return (opcode_t
*)resume
;
21027 Parrot_find_method_p_p_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21028 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21029 opcode_t
* const resume
= cur_opcode
+ 4;
21030 PREG(1) = VTABLE_find_method(interp
, PREG(2), CONST(3).u
.string
);
21031 if (PMC_IS_NULL(PREG(1)) || !VTABLE_defined(interp
, PREG(1))) {
21032 opcode_t
* const dest
= Parrot_ex_throw_from_op_args(interp
, resume
,
21033 EXCEPTION_METHOD_NOT_FOUND
,
21034 "Method '%Ss' not found for invocant of class '%Ss'", CONST(3).u
.string
,
21035 VTABLE_get_string(interp
, VTABLE_get_class(interp
, PREG(2))));return (opcode_t
*)dest
;
21036 }return (opcode_t
*)resume
;
21040 Parrot_defined_i_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21041 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21042 IREG(1) = PMC_IS_NULL(PREG(2)) ? 0 : VTABLE_defined(interp
, PREG(2));
21044 return (opcode_t
*)cur_opcode
+ 3;}
21047 Parrot_defined_i_p_ki(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21048 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21049 IREG(1) = PMC_IS_NULL(PREG(2)) ? 0 : VTABLE_defined_keyed_int(interp
, PREG(2), IREG(3));
21051 return (opcode_t
*)cur_opcode
+ 4;}
21054 Parrot_defined_i_p_kic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21055 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21056 IREG(1) = PMC_IS_NULL(PREG(2)) ? 0 : VTABLE_defined_keyed_int(interp
, PREG(2), cur_opcode
[3]);
21058 return (opcode_t
*)cur_opcode
+ 4;}
21061 Parrot_defined_i_p_k(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21062 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21063 IREG(1) = PMC_IS_NULL(PREG(2)) ? 0 : VTABLE_defined_keyed(interp
, PREG(2), PREG(3));
21065 return (opcode_t
*)cur_opcode
+ 4;}
21068 Parrot_defined_i_p_kc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21069 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21070 IREG(1) = PMC_IS_NULL(PREG(2)) ? 0 : VTABLE_defined_keyed(interp
, PREG(2), CONST(3).u
.key
);
21072 return (opcode_t
*)cur_opcode
+ 4;}
21075 Parrot_exists_i_p_ki(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21076 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21077 IREG(1) = PMC_IS_NULL(PREG(2)) ? 0 : VTABLE_exists_keyed_int(interp
, PREG(2), IREG(3));
21079 return (opcode_t
*)cur_opcode
+ 4;}
21082 Parrot_exists_i_p_kic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21083 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21084 IREG(1) = PMC_IS_NULL(PREG(2)) ? 0 : VTABLE_exists_keyed_int(interp
, PREG(2), cur_opcode
[3]);
21086 return (opcode_t
*)cur_opcode
+ 4;}
21089 Parrot_exists_i_p_k(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21090 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21091 IREG(1) = PMC_IS_NULL(PREG(2)) ? 0: VTABLE_exists_keyed(interp
, PREG(2), PREG(3));
21093 return (opcode_t
*)cur_opcode
+ 4;}
21096 Parrot_exists_i_p_kc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21097 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21098 IREG(1) = PMC_IS_NULL(PREG(2)) ? 0: VTABLE_exists_keyed(interp
, PREG(2), CONST(3).u
.key
);
21100 return (opcode_t
*)cur_opcode
+ 4;}
21103 Parrot_delete_p_k(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21104 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21105 VTABLE_delete_keyed(interp
, PREG(1), PREG(2));
21107 return (opcode_t
*)cur_opcode
+ 3;}
21110 Parrot_delete_p_kc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21111 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21112 VTABLE_delete_keyed(interp
, PREG(1), CONST(2).u
.key
);
21114 return (opcode_t
*)cur_opcode
+ 3;}
21117 Parrot_delete_p_ki(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21118 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21119 VTABLE_delete_keyed_int(interp
, PREG(1), IREG(2));
21121 return (opcode_t
*)cur_opcode
+ 3;}
21124 Parrot_delete_p_kic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21125 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21126 VTABLE_delete_keyed_int(interp
, PREG(1), cur_opcode
[2]);
21128 return (opcode_t
*)cur_opcode
+ 3;}
21131 Parrot_elements_i_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21132 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21133 IREG(1) = VTABLE_elements(interp
, PREG(2));
21135 return (opcode_t
*)cur_opcode
+ 3;}
21138 Parrot_push_p_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21139 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21140 VTABLE_push_integer(interp
, PREG(1), IREG(2));
21142 return (opcode_t
*)cur_opcode
+ 3;}
21145 Parrot_push_p_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21146 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21147 VTABLE_push_integer(interp
, PREG(1), cur_opcode
[2]);
21149 return (opcode_t
*)cur_opcode
+ 3;}
21152 Parrot_push_p_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21153 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21154 VTABLE_push_float(interp
, PREG(1), NREG(2));
21156 return (opcode_t
*)cur_opcode
+ 3;}
21159 Parrot_push_p_nc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21160 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21161 VTABLE_push_float(interp
, PREG(1), CONST(2).u
.number
);
21163 return (opcode_t
*)cur_opcode
+ 3;}
21166 Parrot_push_p_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21167 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21168 VTABLE_push_string(interp
, PREG(1), SREG(2));
21170 return (opcode_t
*)cur_opcode
+ 3;}
21173 Parrot_push_p_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21174 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21175 VTABLE_push_string(interp
, PREG(1), CONST(2).u
.string
);
21177 return (opcode_t
*)cur_opcode
+ 3;}
21180 Parrot_push_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21181 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21182 VTABLE_push_pmc(interp
, PREG(1), PREG(2));
21184 return (opcode_t
*)cur_opcode
+ 3;}
21187 Parrot_pop_i_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21188 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21189 IREG(1) = VTABLE_pop_integer(interp
, PREG(2));
21191 return (opcode_t
*)cur_opcode
+ 3;}
21194 Parrot_pop_n_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21195 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21196 NREG(1) = VTABLE_pop_float(interp
, PREG(2));
21198 return (opcode_t
*)cur_opcode
+ 3;}
21201 Parrot_pop_s_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21202 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21203 SREG(1) = VTABLE_pop_string(interp
, PREG(2));
21205 return (opcode_t
*)cur_opcode
+ 3;}
21208 Parrot_pop_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21209 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21210 PREG(1) = VTABLE_pop_pmc(interp
, PREG(2));
21212 return (opcode_t
*)cur_opcode
+ 3;}
21215 Parrot_unshift_p_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21216 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21217 VTABLE_unshift_integer(interp
, PREG(1), IREG(2));
21219 return (opcode_t
*)cur_opcode
+ 3;}
21222 Parrot_unshift_p_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21223 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21224 VTABLE_unshift_integer(interp
, PREG(1), cur_opcode
[2]);
21226 return (opcode_t
*)cur_opcode
+ 3;}
21229 Parrot_unshift_p_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21230 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21231 VTABLE_unshift_float(interp
, PREG(1), NREG(2));
21233 return (opcode_t
*)cur_opcode
+ 3;}
21236 Parrot_unshift_p_nc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21237 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21238 VTABLE_unshift_float(interp
, PREG(1), CONST(2).u
.number
);
21240 return (opcode_t
*)cur_opcode
+ 3;}
21243 Parrot_unshift_p_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21244 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21245 VTABLE_unshift_string(interp
, PREG(1), SREG(2));
21247 return (opcode_t
*)cur_opcode
+ 3;}
21250 Parrot_unshift_p_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21251 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21252 VTABLE_unshift_string(interp
, PREG(1), CONST(2).u
.string
);
21254 return (opcode_t
*)cur_opcode
+ 3;}
21257 Parrot_unshift_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21258 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21259 VTABLE_unshift_pmc(interp
, PREG(1), PREG(2));
21261 return (opcode_t
*)cur_opcode
+ 3;}
21264 Parrot_shift_i_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21265 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21266 IREG(1) = VTABLE_shift_integer(interp
, PREG(2));
21268 return (opcode_t
*)cur_opcode
+ 3;}
21271 Parrot_shift_n_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21272 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21273 NREG(1) = VTABLE_shift_float(interp
, PREG(2));
21275 return (opcode_t
*)cur_opcode
+ 3;}
21278 Parrot_shift_s_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21279 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21280 SREG(1) = VTABLE_shift_string(interp
, PREG(2));
21282 return (opcode_t
*)cur_opcode
+ 3;}
21285 Parrot_shift_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21286 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21287 PREG(1) = VTABLE_shift_pmc(interp
, PREG(2));
21289 return (opcode_t
*)cur_opcode
+ 3;}
21292 Parrot_splice_p_p_i_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21293 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21294 VTABLE_splice(interp
, PREG(1), PREG(2), IREG(3), IREG(4));
21296 return (opcode_t
*)cur_opcode
+ 5;}
21299 Parrot_splice_p_p_ic_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21300 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21301 VTABLE_splice(interp
, PREG(1), PREG(2), cur_opcode
[3], IREG(4));
21303 return (opcode_t
*)cur_opcode
+ 5;}
21306 Parrot_splice_p_p_i_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21307 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21308 VTABLE_splice(interp
, PREG(1), PREG(2), IREG(3), cur_opcode
[4]);
21310 return (opcode_t
*)cur_opcode
+ 5;}
21313 Parrot_splice_p_p_ic_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21314 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21315 VTABLE_splice(interp
, PREG(1), PREG(2), cur_opcode
[3], cur_opcode
[4]);
21317 return (opcode_t
*)cur_opcode
+ 5;}
21320 Parrot_setprop_p_s_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21321 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21322 VTABLE_setprop(interp
, PREG(1), SREG(2), PREG(3));
21324 return (opcode_t
*)cur_opcode
+ 4;}
21327 Parrot_setprop_p_sc_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21328 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21329 VTABLE_setprop(interp
, PREG(1), CONST(2).u
.string
, PREG(3));
21331 return (opcode_t
*)cur_opcode
+ 4;}
21334 Parrot_getprop_p_s_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21335 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21336 PREG(1) = VTABLE_getprop(interp
, PREG(3), SREG(2));
21338 return (opcode_t
*)cur_opcode
+ 4;}
21341 Parrot_getprop_p_sc_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21342 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21343 PREG(1) = VTABLE_getprop(interp
, PREG(3), CONST(2).u
.string
);
21345 return (opcode_t
*)cur_opcode
+ 4;}
21348 Parrot_delprop_p_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21349 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21350 VTABLE_delprop(interp
, PREG(1), SREG(2));
21352 return (opcode_t
*)cur_opcode
+ 3;}
21355 Parrot_delprop_p_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21356 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21357 VTABLE_delprop(interp
, PREG(1), CONST(2).u
.string
);
21359 return (opcode_t
*)cur_opcode
+ 3;}
21362 Parrot_prophash_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21363 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21364 PREG(1) = VTABLE_getprops(interp
, PREG(2));
21366 return (opcode_t
*)cur_opcode
+ 3;}
21369 Parrot_freeze_s_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21370 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21371 SREG(1) = Parrot_freeze(interp
, PREG(2));
21373 return (opcode_t
*)cur_opcode
+ 3;}
21376 Parrot_thaw_p_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21377 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21378 PREG(1) = Parrot_thaw(interp
, SREG(2));
21380 return (opcode_t
*)cur_opcode
+ 3;}
21383 Parrot_thaw_p_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21384 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21385 PREG(1) = Parrot_thaw(interp
, CONST(2).u
.string
);
21387 return (opcode_t
*)cur_opcode
+ 3;}
21390 Parrot_add_multi_s_s_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21391 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21392 Parrot_mmd_add_multi_from_long_sig(interp
, SREG(1), SREG(2), PREG(3));
21394 return (opcode_t
*)cur_opcode
+ 4;}
21397 Parrot_add_multi_sc_s_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21398 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21399 Parrot_mmd_add_multi_from_long_sig(interp
, CONST(1).u
.string
, SREG(2), PREG(3));
21401 return (opcode_t
*)cur_opcode
+ 4;}
21404 Parrot_add_multi_s_sc_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21405 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21406 Parrot_mmd_add_multi_from_long_sig(interp
, SREG(1), CONST(2).u
.string
, PREG(3));
21408 return (opcode_t
*)cur_opcode
+ 4;}
21411 Parrot_add_multi_sc_sc_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21412 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21413 Parrot_mmd_add_multi_from_long_sig(interp
, CONST(1).u
.string
, CONST(2).u
.string
, PREG(3));
21415 return (opcode_t
*)cur_opcode
+ 4;}
21418 Parrot_find_multi_p_s_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21419 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21420 PREG(1) = Parrot_mmd_find_multi_from_long_sig(interp
, SREG(2), SREG(3));
21422 return (opcode_t
*)cur_opcode
+ 4;}
21425 Parrot_find_multi_p_sc_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21426 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21427 PREG(1) = Parrot_mmd_find_multi_from_long_sig(interp
, CONST(2).u
.string
, SREG(3));
21429 return (opcode_t
*)cur_opcode
+ 4;}
21432 Parrot_find_multi_p_s_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21433 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21434 PREG(1) = Parrot_mmd_find_multi_from_long_sig(interp
, SREG(2), CONST(3).u
.string
);
21436 return (opcode_t
*)cur_opcode
+ 4;}
21439 Parrot_find_multi_p_sc_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21440 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21441 PREG(1) = Parrot_mmd_find_multi_from_long_sig(interp
, CONST(2).u
.string
, CONST(3).u
.string
);
21443 return (opcode_t
*)cur_opcode
+ 4;}
21446 Parrot_register_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21447 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21448 Parrot_pmc_gc_register(interp
, PREG(1));
21450 return (opcode_t
*)cur_opcode
+ 2;}
21453 Parrot_unregister_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21454 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21455 Parrot_pmc_gc_unregister(interp
, PREG(1));
21457 return (opcode_t
*)cur_opcode
+ 2;}
21460 Parrot_box_p_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21461 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21462 PREG(1) = Parrot_pmc_new(interp
, Parrot_get_ctx_HLL_type(interp
, enum_class_Integer
));
21463 VTABLE_set_integer_native(interp
, PREG(1), IREG(2));
21465 return (opcode_t
*)cur_opcode
+ 3;}
21468 Parrot_box_p_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21469 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21470 PREG(1) = Parrot_pmc_new(interp
, Parrot_get_ctx_HLL_type(interp
, enum_class_Integer
));
21471 VTABLE_set_integer_native(interp
, PREG(1), cur_opcode
[2]);
21473 return (opcode_t
*)cur_opcode
+ 3;}
21476 Parrot_box_p_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21477 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21478 PREG(1) = Parrot_pmc_new(interp
, Parrot_get_ctx_HLL_type(interp
, enum_class_Float
));
21479 VTABLE_set_number_native(interp
, PREG(1), NREG(2));
21481 return (opcode_t
*)cur_opcode
+ 3;}
21484 Parrot_box_p_nc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21485 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21486 PREG(1) = Parrot_pmc_new(interp
, Parrot_get_ctx_HLL_type(interp
, enum_class_Float
));
21487 VTABLE_set_number_native(interp
, PREG(1), CONST(2).u
.number
);
21489 return (opcode_t
*)cur_opcode
+ 3;}
21492 Parrot_box_p_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21493 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21494 PREG(1) = Parrot_pmc_new(interp
, Parrot_get_ctx_HLL_type(interp
, enum_class_String
));
21495 VTABLE_set_string_native(interp
, PREG(1), SREG(2));
21497 return (opcode_t
*)cur_opcode
+ 3;}
21500 Parrot_box_p_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21501 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21502 PREG(1) = Parrot_pmc_new(interp
, Parrot_get_ctx_HLL_type(interp
, enum_class_String
));
21503 VTABLE_set_string_native(interp
, PREG(1), CONST(2).u
.string
);
21505 return (opcode_t
*)cur_opcode
+ 3;}
21508 Parrot_iter_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21509 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21510 PREG(1) = VTABLE_get_iter(interp
, PREG(2));
21512 return (opcode_t
*)cur_opcode
+ 3;}
21515 Parrot_morph_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21516 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21517 VTABLE_morph(interp
, PREG(1), PREG(2));
21519 return (opcode_t
*)cur_opcode
+ 3;}
21522 Parrot_morph_p_pc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21523 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21524 VTABLE_morph(interp
, PREG(1), CONST(2).u
.key
);
21526 return (opcode_t
*)cur_opcode
+ 3;}
21529 Parrot_clone_s_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21530 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21531 /* cloning a NULL STRING produces an empty STRING; TT #964 */
21532 SREG(1) = STRING_IS_NULL(SREG(2))
21533 ? Parrot_str_new(interp
, NULL
, 0)
21536 return (opcode_t
*)cur_opcode
+ 3;}
21539 Parrot_clone_s_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21540 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21541 /* cloning a NULL STRING produces an empty STRING; TT #964 */
21542 SREG(1) = STRING_IS_NULL(CONST(2).u
.string
)
21543 ? Parrot_str_new(interp
, NULL
, 0)
21544 : CONST(2).u
.string
;
21546 return (opcode_t
*)cur_opcode
+ 3;}
21549 Parrot_set_i_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21550 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21553 return (opcode_t
*)cur_opcode
+ 3;}
21556 Parrot_set_i_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21557 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21558 IREG(1) = cur_opcode
[2];
21560 return (opcode_t
*)cur_opcode
+ 3;}
21563 Parrot_set_i_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21564 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21565 IREG(1) = (INTVAL
)(NREG(2));
21567 return (opcode_t
*)cur_opcode
+ 3;}
21570 Parrot_set_i_nc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21571 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21572 IREG(1) = (INTVAL
)(CONST(2).u
.number
);
21574 return (opcode_t
*)cur_opcode
+ 3;}
21577 Parrot_set_i_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21578 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21579 IREG(1) = Parrot_str_to_int(interp
, SREG(2));
21581 return (opcode_t
*)cur_opcode
+ 3;}
21584 Parrot_set_i_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21585 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21586 IREG(1) = Parrot_str_to_int(interp
, CONST(2).u
.string
);
21588 return (opcode_t
*)cur_opcode
+ 3;}
21591 Parrot_set_n_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21592 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21595 return (opcode_t
*)cur_opcode
+ 3;}
21598 Parrot_set_n_nc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21599 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21600 NREG(1) = CONST(2).u
.number
;
21602 return (opcode_t
*)cur_opcode
+ 3;}
21605 Parrot_set_n_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21606 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21607 NREG(1) = (FLOATVAL
)IREG(2);
21609 return (opcode_t
*)cur_opcode
+ 3;}
21612 Parrot_set_n_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21613 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21614 NREG(1) = (FLOATVAL
)cur_opcode
[2];
21616 return (opcode_t
*)cur_opcode
+ 3;}
21619 Parrot_set_n_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21620 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21621 NREG(1) = Parrot_str_to_num(interp
, SREG(2));
21623 return (opcode_t
*)cur_opcode
+ 3;}
21626 Parrot_set_n_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21627 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21628 NREG(1) = Parrot_str_to_num(interp
, CONST(2).u
.string
);
21630 return (opcode_t
*)cur_opcode
+ 3;}
21633 Parrot_set_n_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21634 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21635 NREG(1) = VTABLE_get_number(interp
, PREG(2));
21637 return (opcode_t
*)cur_opcode
+ 3;}
21640 Parrot_set_s_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21641 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21642 SREG(1) = VTABLE_get_string(interp
, PREG(2));
21644 return (opcode_t
*)cur_opcode
+ 3;}
21647 Parrot_set_s_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21648 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21651 return (opcode_t
*)cur_opcode
+ 3;}
21654 Parrot_set_s_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21655 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21656 SREG(1) = CONST(2).u
.string
;
21658 return (opcode_t
*)cur_opcode
+ 3;}
21661 Parrot_set_s_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21662 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21663 SREG(1) = Parrot_str_from_int(interp
, IREG(2));
21665 return (opcode_t
*)cur_opcode
+ 3;}
21668 Parrot_set_s_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21669 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21670 SREG(1) = Parrot_str_from_int(interp
, cur_opcode
[2]);
21672 return (opcode_t
*)cur_opcode
+ 3;}
21675 Parrot_set_s_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21676 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21677 SREG(1) = Parrot_str_from_num(interp
, NREG(2));
21679 return (opcode_t
*)cur_opcode
+ 3;}
21682 Parrot_set_s_nc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21683 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21684 SREG(1) = Parrot_str_from_num(interp
, CONST(2).u
.number
);
21686 return (opcode_t
*)cur_opcode
+ 3;}
21689 Parrot_set_p_pc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21690 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21691 PREG(1) = CONST(2).u
.key
;
21693 return (opcode_t
*)cur_opcode
+ 3;}
21696 Parrot_set_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21697 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21700 return (opcode_t
*)cur_opcode
+ 3;}
21703 Parrot_set_p_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21704 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21705 VTABLE_set_integer_native(interp
, PREG(1), IREG(2));
21707 return (opcode_t
*)cur_opcode
+ 3;}
21710 Parrot_set_p_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21711 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21712 VTABLE_set_integer_native(interp
, PREG(1), cur_opcode
[2]);
21714 return (opcode_t
*)cur_opcode
+ 3;}
21717 Parrot_set_p_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21718 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21719 VTABLE_set_number_native(interp
, PREG(1), NREG(2));
21721 return (opcode_t
*)cur_opcode
+ 3;}
21724 Parrot_set_p_nc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21725 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21726 VTABLE_set_number_native(interp
, PREG(1), CONST(2).u
.number
);
21728 return (opcode_t
*)cur_opcode
+ 3;}
21731 Parrot_set_p_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21732 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21733 VTABLE_set_string_native(interp
, PREG(1), SREG(2));
21735 return (opcode_t
*)cur_opcode
+ 3;}
21738 Parrot_set_p_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21739 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21740 VTABLE_set_string_native(interp
, PREG(1), CONST(2).u
.string
);
21742 return (opcode_t
*)cur_opcode
+ 3;}
21745 Parrot_set_i_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21746 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21747 IREG(1) = VTABLE_get_integer(interp
, PREG(2));
21749 return (opcode_t
*)cur_opcode
+ 3;}
21752 Parrot_assign_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21753 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21754 VTABLE_assign_pmc(interp
, PREG(1), PREG(2));
21756 return (opcode_t
*)cur_opcode
+ 3;}
21759 Parrot_assign_p_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21760 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21761 VTABLE_set_integer_native(interp
, PREG(1), IREG(2));
21763 return (opcode_t
*)cur_opcode
+ 3;}
21766 Parrot_assign_p_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21767 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21768 VTABLE_set_integer_native(interp
, PREG(1), cur_opcode
[2]);
21770 return (opcode_t
*)cur_opcode
+ 3;}
21773 Parrot_assign_p_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21774 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21775 VTABLE_set_number_native(interp
, PREG(1), NREG(2));
21777 return (opcode_t
*)cur_opcode
+ 3;}
21780 Parrot_assign_p_nc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21781 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21782 VTABLE_set_number_native(interp
, PREG(1), CONST(2).u
.number
);
21784 return (opcode_t
*)cur_opcode
+ 3;}
21787 Parrot_assign_p_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21788 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21789 VTABLE_assign_string_native(interp
, PREG(1), SREG(2));
21791 return (opcode_t
*)cur_opcode
+ 3;}
21794 Parrot_assign_p_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21795 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21796 VTABLE_assign_string_native(interp
, PREG(1), CONST(2).u
.string
);
21798 return (opcode_t
*)cur_opcode
+ 3;}
21801 Parrot_assign_s_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21802 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21805 return (opcode_t
*)cur_opcode
+ 3;}
21808 Parrot_assign_s_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21809 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21810 SREG(1) = CONST(2).u
.string
;
21812 return (opcode_t
*)cur_opcode
+ 3;}
21815 Parrot_setref_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21816 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21817 VTABLE_set_pmc(interp
, PREG(1), PREG(2));
21819 return (opcode_t
*)cur_opcode
+ 3;}
21822 Parrot_deref_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21823 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21824 PREG(1) = VTABLE_get_pmc(interp
, PREG(2));
21826 return (opcode_t
*)cur_opcode
+ 3;}
21829 Parrot_set_p_ki_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21830 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21831 VTABLE_set_integer_keyed_int(interp
, PREG(1), IREG(2), IREG(3));
21833 return (opcode_t
*)cur_opcode
+ 4;}
21836 Parrot_set_p_kic_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21837 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21838 VTABLE_set_integer_keyed_int(interp
, PREG(1), cur_opcode
[2], IREG(3));
21840 return (opcode_t
*)cur_opcode
+ 4;}
21843 Parrot_set_p_ki_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21844 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21845 VTABLE_set_integer_keyed_int(interp
, PREG(1), IREG(2), cur_opcode
[3]);
21847 return (opcode_t
*)cur_opcode
+ 4;}
21850 Parrot_set_p_kic_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21851 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21852 VTABLE_set_integer_keyed_int(interp
, PREG(1), cur_opcode
[2], cur_opcode
[3]);
21854 return (opcode_t
*)cur_opcode
+ 4;}
21857 Parrot_set_p_ki_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21858 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21859 VTABLE_set_number_keyed_int(interp
, PREG(1), IREG(2), NREG(3));
21861 return (opcode_t
*)cur_opcode
+ 4;}
21864 Parrot_set_p_kic_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21865 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21866 VTABLE_set_number_keyed_int(interp
, PREG(1), cur_opcode
[2], NREG(3));
21868 return (opcode_t
*)cur_opcode
+ 4;}
21871 Parrot_set_p_ki_nc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21872 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21873 VTABLE_set_number_keyed_int(interp
, PREG(1), IREG(2), CONST(3).u
.number
);
21875 return (opcode_t
*)cur_opcode
+ 4;}
21878 Parrot_set_p_kic_nc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21879 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21880 VTABLE_set_number_keyed_int(interp
, PREG(1), cur_opcode
[2], CONST(3).u
.number
);
21882 return (opcode_t
*)cur_opcode
+ 4;}
21885 Parrot_set_p_ki_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21886 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21887 VTABLE_set_string_keyed_int(interp
, PREG(1), IREG(2), SREG(3));
21889 return (opcode_t
*)cur_opcode
+ 4;}
21892 Parrot_set_p_kic_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21893 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21894 VTABLE_set_string_keyed_int(interp
, PREG(1), cur_opcode
[2], SREG(3));
21896 return (opcode_t
*)cur_opcode
+ 4;}
21899 Parrot_set_p_ki_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21900 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21901 VTABLE_set_string_keyed_int(interp
, PREG(1), IREG(2), CONST(3).u
.string
);
21903 return (opcode_t
*)cur_opcode
+ 4;}
21906 Parrot_set_p_kic_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21907 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21908 VTABLE_set_string_keyed_int(interp
, PREG(1), cur_opcode
[2], CONST(3).u
.string
);
21910 return (opcode_t
*)cur_opcode
+ 4;}
21913 Parrot_set_p_ki_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21914 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21915 VTABLE_set_pmc_keyed_int(interp
, PREG(1), IREG(2), PREG(3));
21917 return (opcode_t
*)cur_opcode
+ 4;}
21920 Parrot_set_p_kic_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21921 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21922 VTABLE_set_pmc_keyed_int(interp
, PREG(1), cur_opcode
[2], PREG(3));
21924 return (opcode_t
*)cur_opcode
+ 4;}
21927 Parrot_set_i_p_ki(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21928 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21929 IREG(1) = VTABLE_get_integer_keyed_int(interp
, PREG(2), IREG(3));
21931 return (opcode_t
*)cur_opcode
+ 4;}
21934 Parrot_set_i_p_kic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21935 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21936 IREG(1) = VTABLE_get_integer_keyed_int(interp
, PREG(2), cur_opcode
[3]);
21938 return (opcode_t
*)cur_opcode
+ 4;}
21941 Parrot_set_n_p_ki(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21942 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21943 NREG(1) = VTABLE_get_number_keyed_int(interp
, PREG(2), IREG(3));
21945 return (opcode_t
*)cur_opcode
+ 4;}
21948 Parrot_set_n_p_kic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21949 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21950 NREG(1) = VTABLE_get_number_keyed_int(interp
, PREG(2), cur_opcode
[3]);
21952 return (opcode_t
*)cur_opcode
+ 4;}
21955 Parrot_set_s_p_ki(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21956 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21957 SREG(1) = VTABLE_get_string_keyed_int(interp
, PREG(2), IREG(3));
21959 return (opcode_t
*)cur_opcode
+ 4;}
21962 Parrot_set_s_p_kic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21963 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21964 SREG(1) = VTABLE_get_string_keyed_int(interp
, PREG(2), cur_opcode
[3]);
21966 return (opcode_t
*)cur_opcode
+ 4;}
21969 Parrot_set_p_p_ki(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21970 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21971 PREG(1) = VTABLE_get_pmc_keyed_int(interp
, PREG(2), IREG(3));
21973 return (opcode_t
*)cur_opcode
+ 4;}
21976 Parrot_set_p_p_kic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21977 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21978 PREG(1) = VTABLE_get_pmc_keyed_int(interp
, PREG(2), cur_opcode
[3]);
21980 return (opcode_t
*)cur_opcode
+ 4;}
21983 Parrot_set_p_k_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21984 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21985 VTABLE_set_integer_keyed(interp
, PREG(1), PREG(2), IREG(3));
21987 return (opcode_t
*)cur_opcode
+ 4;}
21990 Parrot_set_p_kc_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21991 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21992 VTABLE_set_integer_keyed(interp
, PREG(1), CONST(2).u
.key
, IREG(3));
21994 return (opcode_t
*)cur_opcode
+ 4;}
21997 Parrot_set_p_k_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
21998 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
21999 VTABLE_set_integer_keyed(interp
, PREG(1), PREG(2), cur_opcode
[3]);
22001 return (opcode_t
*)cur_opcode
+ 4;}
22004 Parrot_set_p_kc_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22005 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22006 VTABLE_set_integer_keyed(interp
, PREG(1), CONST(2).u
.key
, cur_opcode
[3]);
22008 return (opcode_t
*)cur_opcode
+ 4;}
22011 Parrot_set_p_k_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22012 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22013 VTABLE_set_number_keyed(interp
, PREG(1), PREG(2), NREG(3));
22015 return (opcode_t
*)cur_opcode
+ 4;}
22018 Parrot_set_p_kc_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22019 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22020 VTABLE_set_number_keyed(interp
, PREG(1), CONST(2).u
.key
, NREG(3));
22022 return (opcode_t
*)cur_opcode
+ 4;}
22025 Parrot_set_p_k_nc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22026 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22027 VTABLE_set_number_keyed(interp
, PREG(1), PREG(2), CONST(3).u
.number
);
22029 return (opcode_t
*)cur_opcode
+ 4;}
22032 Parrot_set_p_kc_nc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22033 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22034 VTABLE_set_number_keyed(interp
, PREG(1), CONST(2).u
.key
, CONST(3).u
.number
);
22036 return (opcode_t
*)cur_opcode
+ 4;}
22039 Parrot_set_p_k_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22040 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22041 VTABLE_set_string_keyed(interp
, PREG(1), PREG(2), SREG(3));
22043 return (opcode_t
*)cur_opcode
+ 4;}
22046 Parrot_set_p_kc_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22047 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22048 VTABLE_set_string_keyed(interp
, PREG(1), CONST(2).u
.key
, SREG(3));
22050 return (opcode_t
*)cur_opcode
+ 4;}
22053 Parrot_set_p_k_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22054 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22055 VTABLE_set_string_keyed(interp
, PREG(1), PREG(2), CONST(3).u
.string
);
22057 return (opcode_t
*)cur_opcode
+ 4;}
22060 Parrot_set_p_kc_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22061 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22062 VTABLE_set_string_keyed(interp
, PREG(1), CONST(2).u
.key
, CONST(3).u
.string
);
22064 return (opcode_t
*)cur_opcode
+ 4;}
22067 Parrot_set_p_k_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22068 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22069 VTABLE_set_pmc_keyed(interp
, PREG(1), PREG(2), PREG(3));
22071 return (opcode_t
*)cur_opcode
+ 4;}
22074 Parrot_set_p_kc_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22075 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22076 VTABLE_set_pmc_keyed(interp
, PREG(1), CONST(2).u
.key
, PREG(3));
22078 return (opcode_t
*)cur_opcode
+ 4;}
22081 Parrot_set_i_p_k(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22082 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22083 IREG(1) = VTABLE_get_integer_keyed(interp
, PREG(2), PREG(3));
22085 return (opcode_t
*)cur_opcode
+ 4;}
22088 Parrot_set_i_p_kc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22089 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22090 IREG(1) = VTABLE_get_integer_keyed(interp
, PREG(2), CONST(3).u
.key
);
22092 return (opcode_t
*)cur_opcode
+ 4;}
22095 Parrot_set_n_p_k(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22096 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22097 NREG(1) = VTABLE_get_number_keyed(interp
, PREG(2), PREG(3));
22099 return (opcode_t
*)cur_opcode
+ 4;}
22102 Parrot_set_n_p_kc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22103 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22104 NREG(1) = VTABLE_get_number_keyed(interp
, PREG(2), CONST(3).u
.key
);
22106 return (opcode_t
*)cur_opcode
+ 4;}
22109 Parrot_set_s_p_k(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22110 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22111 SREG(1) = VTABLE_get_string_keyed(interp
, PREG(2), PREG(3));
22113 return (opcode_t
*)cur_opcode
+ 4;}
22116 Parrot_set_s_p_kc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22117 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22118 SREG(1) = VTABLE_get_string_keyed(interp
, PREG(2), CONST(3).u
.key
);
22120 return (opcode_t
*)cur_opcode
+ 4;}
22123 Parrot_set_p_p_k(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22124 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22125 PREG(1) = VTABLE_get_pmc_keyed(interp
, PREG(2), PREG(3));
22127 return (opcode_t
*)cur_opcode
+ 4;}
22130 Parrot_set_p_p_kc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22131 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22132 PREG(1) = VTABLE_get_pmc_keyed(interp
, PREG(2), CONST(3).u
.key
);
22134 return (opcode_t
*)cur_opcode
+ 4;}
22137 Parrot_clone_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22138 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22139 PREG(1) = VTABLE_clone(interp
, PREG(2));
22141 return (opcode_t
*)cur_opcode
+ 3;}
22144 Parrot_clone_p_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22145 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22146 PREG(1) = VTABLE_clone_pmc(interp
, PREG(2), PREG(3));
22148 return (opcode_t
*)cur_opcode
+ 4;}
22151 Parrot_clone_p_p_pc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22152 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22153 PREG(1) = VTABLE_clone_pmc(interp
, PREG(2), CONST(3).u
.key
);
22155 return (opcode_t
*)cur_opcode
+ 4;}
22158 Parrot_copy_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22159 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22160 if (PMC_IS_NULL(PREG(1))) {
22161 opcode_t
* const dest
= cur_opcode
+ 3;
22162 opcode_t
* const handler
= Parrot_ex_throw_from_op_args(interp
, dest
,
22163 EXCEPTION_NULL_REG_ACCESS
, "Null PMC in copy");return (opcode_t
*)handler
;
22166 PMC
* const clone
= VTABLE_clone(interp
, PREG(2));
22167 /* Preserve the metadata on the destination. */
22168 PMC
* const meta
= VTABLE_getprops(interp
, PREG(1));
22170 /* avoid leaks and unreachable memory by destroying the destination PMC */
22171 Parrot_pmc_destroy(interp
, PREG(1));
22173 /* the source PMC knows how to clone itself, but we must reuse the
22174 * destination header */
22175 memmove(PREG(1), clone
, sizeof (PMC
));
22177 /* don't let the clone's destruction destroy the destination's data */
22178 PObj_custom_destroy_CLEAR(clone
);
22179 PMC_data(clone
) = NULL
;
22180 PMC_metadata(clone
) = NULL
;
22182 /* Restore metadata. */
22183 if (!PMC_IS_NULL(meta
)) {
22184 PMC
* const iter
= VTABLE_get_iter(interp
, meta
);
22185 while (VTABLE_get_bool(interp
, iter
)) {
22186 STRING
* const key
= VTABLE_shift_string(interp
, iter
);
22187 PMC
* const value
= VTABLE_get_pmc_keyed_str(interp
, meta
, key
);
22188 VTABLE_setprop(interp
, PREG(1), key
, value
);
22193 return (opcode_t
*)cur_opcode
+ 3;}
22196 Parrot_null_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22197 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22198 SREG(1) = STRINGNULL
;
22200 return (opcode_t
*)cur_opcode
+ 2;}
22203 Parrot_null_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22204 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22207 return (opcode_t
*)cur_opcode
+ 2;}
22210 Parrot_null_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22211 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22214 return (opcode_t
*)cur_opcode
+ 2;}
22217 Parrot_null_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22218 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22221 return (opcode_t
*)cur_opcode
+ 2;}
22224 Parrot_ord_i_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22225 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22226 IREG(1) = string_ord(interp
, SREG(2), 0);
22228 return (opcode_t
*)cur_opcode
+ 3;}
22231 Parrot_ord_i_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22232 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22233 IREG(1) = string_ord(interp
, CONST(2).u
.string
, 0);
22235 return (opcode_t
*)cur_opcode
+ 3;}
22238 Parrot_ord_i_s_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22239 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22240 IREG(1) = string_ord(interp
, SREG(2), IREG(3));
22242 return (opcode_t
*)cur_opcode
+ 4;}
22245 Parrot_ord_i_sc_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22246 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22247 IREG(1) = string_ord(interp
, CONST(2).u
.string
, IREG(3));
22249 return (opcode_t
*)cur_opcode
+ 4;}
22252 Parrot_ord_i_s_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22253 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22254 IREG(1) = string_ord(interp
, SREG(2), cur_opcode
[3]);
22256 return (opcode_t
*)cur_opcode
+ 4;}
22259 Parrot_ord_i_sc_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22260 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22261 IREG(1) = string_ord(interp
, CONST(2).u
.string
, cur_opcode
[3]);
22263 return (opcode_t
*)cur_opcode
+ 4;}
22266 Parrot_chr_s_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22267 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22268 STRING
* const s
= string_chr(interp
, (UINTVAL
)IREG(2));
22271 return (opcode_t
*)cur_opcode
+ 3;}
22274 Parrot_chr_s_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22275 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22276 STRING
* const s
= string_chr(interp
, (UINTVAL
)cur_opcode
[2]);
22279 return (opcode_t
*)cur_opcode
+ 3;}
22282 Parrot_chopn_s_s_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22283 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22284 SREG(1) = Parrot_str_chopn(interp
, SREG(2), IREG(3));
22286 return (opcode_t
*)cur_opcode
+ 4;}
22289 Parrot_chopn_s_sc_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22290 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22291 SREG(1) = Parrot_str_chopn(interp
, CONST(2).u
.string
, IREG(3));
22293 return (opcode_t
*)cur_opcode
+ 4;}
22296 Parrot_chopn_s_s_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22297 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22298 SREG(1) = Parrot_str_chopn(interp
, SREG(2), cur_opcode
[3]);
22300 return (opcode_t
*)cur_opcode
+ 4;}
22303 Parrot_chopn_s_sc_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22304 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22305 SREG(1) = Parrot_str_chopn(interp
, CONST(2).u
.string
, cur_opcode
[3]);
22307 return (opcode_t
*)cur_opcode
+ 4;}
22310 Parrot_concat_s_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22311 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22312 SREG(1) = Parrot_str_concat(interp
, SREG(1), SREG(2));
22314 return (opcode_t
*)cur_opcode
+ 3;}
22317 Parrot_concat_s_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22318 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22319 SREG(1) = Parrot_str_concat(interp
, SREG(1), CONST(2).u
.string
);
22321 return (opcode_t
*)cur_opcode
+ 3;}
22324 Parrot_concat_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22325 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22326 VTABLE_i_concatenate(interp
, PREG(1), PREG(2));
22328 return (opcode_t
*)cur_opcode
+ 3;}
22331 Parrot_concat_p_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22332 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22333 VTABLE_i_concatenate_str(interp
, PREG(1), SREG(2));
22335 return (opcode_t
*)cur_opcode
+ 3;}
22338 Parrot_concat_p_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22339 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22340 VTABLE_i_concatenate_str(interp
, PREG(1), CONST(2).u
.string
);
22342 return (opcode_t
*)cur_opcode
+ 3;}
22345 Parrot_concat_s_s_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22346 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22347 SREG(1) = Parrot_str_concat(interp
, SREG(2), SREG(3));
22349 return (opcode_t
*)cur_opcode
+ 4;}
22352 Parrot_concat_s_sc_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22353 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22354 SREG(1) = Parrot_str_concat(interp
, CONST(2).u
.string
, SREG(3));
22356 return (opcode_t
*)cur_opcode
+ 4;}
22359 Parrot_concat_s_s_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22360 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22361 SREG(1) = Parrot_str_concat(interp
, SREG(2), CONST(3).u
.string
);
22363 return (opcode_t
*)cur_opcode
+ 4;}
22366 Parrot_concat_p_p_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22367 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22368 PREG(1) = VTABLE_concatenate_str(interp
, PREG(2), SREG(3), PREG(1));
22370 return (opcode_t
*)cur_opcode
+ 4;}
22373 Parrot_concat_p_p_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22374 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22375 PREG(1) = VTABLE_concatenate_str(interp
, PREG(2), CONST(3).u
.string
, PREG(1));
22377 return (opcode_t
*)cur_opcode
+ 4;}
22380 Parrot_concat_p_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22381 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22382 PREG(1) = VTABLE_concatenate(interp
, PREG(2), PREG(3), PREG(1));
22384 return (opcode_t
*)cur_opcode
+ 4;}
22387 Parrot_repeat_s_s_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22388 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22390 opcode_t
*handler
= Parrot_ex_throw_from_op_args(interp
, NULL
,
22391 EXCEPTION_NEG_REPEAT
,
22392 "Cannot repeat with negative arg");return (opcode_t
*)handler
;
22394 SREG(1) = Parrot_str_repeat(interp
, SREG(2), (UINTVAL
)IREG(3));
22396 return (opcode_t
*)cur_opcode
+ 4;}
22399 Parrot_repeat_s_sc_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22400 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22402 opcode_t
*handler
= Parrot_ex_throw_from_op_args(interp
, NULL
,
22403 EXCEPTION_NEG_REPEAT
,
22404 "Cannot repeat with negative arg");return (opcode_t
*)handler
;
22406 SREG(1) = Parrot_str_repeat(interp
, CONST(2).u
.string
, (UINTVAL
)IREG(3));
22408 return (opcode_t
*)cur_opcode
+ 4;}
22411 Parrot_repeat_s_s_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22412 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22413 if (cur_opcode
[3] < 0) {
22414 opcode_t
*handler
= Parrot_ex_throw_from_op_args(interp
, NULL
,
22415 EXCEPTION_NEG_REPEAT
,
22416 "Cannot repeat with negative arg");return (opcode_t
*)handler
;
22418 SREG(1) = Parrot_str_repeat(interp
, SREG(2), (UINTVAL
)cur_opcode
[3]);
22420 return (opcode_t
*)cur_opcode
+ 4;}
22423 Parrot_repeat_s_sc_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22424 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22425 if (cur_opcode
[3] < 0) {
22426 opcode_t
*handler
= Parrot_ex_throw_from_op_args(interp
, NULL
,
22427 EXCEPTION_NEG_REPEAT
,
22428 "Cannot repeat with negative arg");return (opcode_t
*)handler
;
22430 SREG(1) = Parrot_str_repeat(interp
, CONST(2).u
.string
, (UINTVAL
)cur_opcode
[3]);
22432 return (opcode_t
*)cur_opcode
+ 4;}
22435 Parrot_repeat_p_p_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22436 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22438 opcode_t
*handler
= Parrot_ex_throw_from_op_args(interp
, NULL
,
22439 EXCEPTION_NEG_REPEAT
,
22440 "Cannot repeat with negative arg");return (opcode_t
*)handler
;
22442 PREG(1) = VTABLE_repeat_int(interp
, PREG(2), IREG(3), PREG(1));
22444 return (opcode_t
*)cur_opcode
+ 4;}
22447 Parrot_repeat_p_p_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22448 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22449 if (cur_opcode
[3] < 0) {
22450 opcode_t
*handler
= Parrot_ex_throw_from_op_args(interp
, NULL
,
22451 EXCEPTION_NEG_REPEAT
,
22452 "Cannot repeat with negative arg");return (opcode_t
*)handler
;
22454 PREG(1) = VTABLE_repeat_int(interp
, PREG(2), cur_opcode
[3], PREG(1));
22456 return (opcode_t
*)cur_opcode
+ 4;}
22459 Parrot_repeat_p_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22460 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22461 if (VTABLE_get_integer(interp
, PREG(3)) < 0) {
22462 opcode_t
*handler
= Parrot_ex_throw_from_op_args(interp
, NULL
,
22463 EXCEPTION_NEG_REPEAT
,
22464 "Cannot repeat with negative arg");return (opcode_t
*)handler
;
22466 PREG(1) = VTABLE_repeat(interp
, PREG(2), PREG(3), PREG(1));
22468 return (opcode_t
*)cur_opcode
+ 4;}
22471 Parrot_repeat_p_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22472 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22473 VTABLE_i_repeat_int(interp
, PREG(1), IREG(2));
22475 return (opcode_t
*)cur_opcode
+ 3;}
22478 Parrot_repeat_p_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22479 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22480 VTABLE_i_repeat_int(interp
, PREG(1), cur_opcode
[2]);
22482 return (opcode_t
*)cur_opcode
+ 3;}
22485 Parrot_repeat_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22486 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22487 VTABLE_i_repeat(interp
, PREG(1), PREG(2));
22489 return (opcode_t
*)cur_opcode
+ 3;}
22492 Parrot_length_i_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22493 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22494 IREG(1) = Parrot_str_length(interp
, SREG(2));
22496 return (opcode_t
*)cur_opcode
+ 3;}
22499 Parrot_length_i_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22500 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22501 IREG(1) = Parrot_str_length(interp
, CONST(2).u
.string
);
22503 return (opcode_t
*)cur_opcode
+ 3;}
22506 Parrot_bytelength_i_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22507 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22508 IREG(1) = Parrot_str_byte_length(interp
, SREG(2));
22510 return (opcode_t
*)cur_opcode
+ 3;}
22513 Parrot_bytelength_i_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22514 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22515 IREG(1) = Parrot_str_byte_length(interp
, CONST(2).u
.string
);
22517 return (opcode_t
*)cur_opcode
+ 3;}
22520 Parrot_pin_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22521 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22522 Parrot_str_pin(interp
, SREG(1));
22524 return (opcode_t
*)cur_opcode
+ 2;}
22527 Parrot_unpin_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22528 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22529 Parrot_str_unpin(interp
, SREG(1));
22531 return (opcode_t
*)cur_opcode
+ 2;}
22534 Parrot_substr_s_s_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22535 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22536 const INTVAL len
= Parrot_str_byte_length(interp
, SREG(2));
22537 SREG(1) = Parrot_str_substr(interp
, SREG(2), IREG(3), len
);
22539 return (opcode_t
*)cur_opcode
+ 4;}
22542 Parrot_substr_s_sc_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22543 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22544 const INTVAL len
= Parrot_str_byte_length(interp
, CONST(2).u
.string
);
22545 SREG(1) = Parrot_str_substr(interp
, CONST(2).u
.string
, IREG(3), len
);
22547 return (opcode_t
*)cur_opcode
+ 4;}
22550 Parrot_substr_s_s_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22551 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22552 const INTVAL len
= Parrot_str_byte_length(interp
, SREG(2));
22553 SREG(1) = Parrot_str_substr(interp
, SREG(2), cur_opcode
[3], len
);
22555 return (opcode_t
*)cur_opcode
+ 4;}
22558 Parrot_substr_s_sc_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22559 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22560 const INTVAL len
= Parrot_str_byte_length(interp
, CONST(2).u
.string
);
22561 SREG(1) = Parrot_str_substr(interp
, CONST(2).u
.string
, cur_opcode
[3], len
);
22563 return (opcode_t
*)cur_opcode
+ 4;}
22566 Parrot_substr_s_s_i_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22567 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22568 SREG(1) = Parrot_str_substr(interp
, SREG(2), IREG(3), IREG(4));
22570 return (opcode_t
*)cur_opcode
+ 5;}
22573 Parrot_substr_s_sc_i_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22574 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22575 SREG(1) = Parrot_str_substr(interp
, CONST(2).u
.string
, IREG(3), IREG(4));
22577 return (opcode_t
*)cur_opcode
+ 5;}
22580 Parrot_substr_s_s_ic_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22581 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22582 SREG(1) = Parrot_str_substr(interp
, SREG(2), cur_opcode
[3], IREG(4));
22584 return (opcode_t
*)cur_opcode
+ 5;}
22587 Parrot_substr_s_sc_ic_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22588 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22589 SREG(1) = Parrot_str_substr(interp
, CONST(2).u
.string
, cur_opcode
[3], IREG(4));
22591 return (opcode_t
*)cur_opcode
+ 5;}
22594 Parrot_substr_s_s_i_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22595 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22596 SREG(1) = Parrot_str_substr(interp
, SREG(2), IREG(3), cur_opcode
[4]);
22598 return (opcode_t
*)cur_opcode
+ 5;}
22601 Parrot_substr_s_sc_i_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22602 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22603 SREG(1) = Parrot_str_substr(interp
, CONST(2).u
.string
, IREG(3), cur_opcode
[4]);
22605 return (opcode_t
*)cur_opcode
+ 5;}
22608 Parrot_substr_s_s_ic_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22609 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22610 SREG(1) = Parrot_str_substr(interp
, SREG(2), cur_opcode
[3], cur_opcode
[4]);
22612 return (opcode_t
*)cur_opcode
+ 5;}
22615 Parrot_substr_s_sc_ic_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22616 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22617 SREG(1) = Parrot_str_substr(interp
, CONST(2).u
.string
, cur_opcode
[3], cur_opcode
[4]);
22619 return (opcode_t
*)cur_opcode
+ 5;}
22622 Parrot_substr_s_p_i_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22623 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22624 SREG(1) = VTABLE_substr_str(interp
, PREG(2), IREG(3), IREG(4));
22626 return (opcode_t
*)cur_opcode
+ 5;}
22629 Parrot_substr_s_p_ic_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22630 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22631 SREG(1) = VTABLE_substr_str(interp
, PREG(2), cur_opcode
[3], IREG(4));
22633 return (opcode_t
*)cur_opcode
+ 5;}
22636 Parrot_substr_s_p_i_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22637 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22638 SREG(1) = VTABLE_substr_str(interp
, PREG(2), IREG(3), cur_opcode
[4]);
22640 return (opcode_t
*)cur_opcode
+ 5;}
22643 Parrot_substr_s_p_ic_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22644 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22645 SREG(1) = VTABLE_substr_str(interp
, PREG(2), cur_opcode
[3], cur_opcode
[4]);
22647 return (opcode_t
*)cur_opcode
+ 5;}
22650 Parrot_replace_s_s_i_i_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22651 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22652 SREG(1) = Parrot_str_replace(interp
, SREG(2), IREG(3), IREG(4), SREG(5));
22654 return (opcode_t
*)cur_opcode
+ 6;}
22657 Parrot_replace_s_sc_i_i_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22658 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22659 SREG(1) = Parrot_str_replace(interp
, CONST(2).u
.string
, IREG(3), IREG(4), SREG(5));
22661 return (opcode_t
*)cur_opcode
+ 6;}
22664 Parrot_replace_s_s_ic_i_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22665 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22666 SREG(1) = Parrot_str_replace(interp
, SREG(2), cur_opcode
[3], IREG(4), SREG(5));
22668 return (opcode_t
*)cur_opcode
+ 6;}
22671 Parrot_replace_s_sc_ic_i_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22672 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22673 SREG(1) = Parrot_str_replace(interp
, CONST(2).u
.string
, cur_opcode
[3], IREG(4), SREG(5));
22675 return (opcode_t
*)cur_opcode
+ 6;}
22678 Parrot_replace_s_s_i_ic_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22679 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22680 SREG(1) = Parrot_str_replace(interp
, SREG(2), IREG(3), cur_opcode
[4], SREG(5));
22682 return (opcode_t
*)cur_opcode
+ 6;}
22685 Parrot_replace_s_sc_i_ic_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22686 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22687 SREG(1) = Parrot_str_replace(interp
, CONST(2).u
.string
, IREG(3), cur_opcode
[4], SREG(5));
22689 return (opcode_t
*)cur_opcode
+ 6;}
22692 Parrot_replace_s_s_ic_ic_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22693 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22694 SREG(1) = Parrot_str_replace(interp
, SREG(2), cur_opcode
[3], cur_opcode
[4], SREG(5));
22696 return (opcode_t
*)cur_opcode
+ 6;}
22699 Parrot_replace_s_sc_ic_ic_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22700 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22701 SREG(1) = Parrot_str_replace(interp
, CONST(2).u
.string
, cur_opcode
[3], cur_opcode
[4], SREG(5));
22703 return (opcode_t
*)cur_opcode
+ 6;}
22706 Parrot_replace_s_s_i_i_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22707 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22708 SREG(1) = Parrot_str_replace(interp
, SREG(2), IREG(3), IREG(4), CONST(5).u
.string
);
22710 return (opcode_t
*)cur_opcode
+ 6;}
22713 Parrot_replace_s_sc_i_i_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22714 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22715 SREG(1) = Parrot_str_replace(interp
, CONST(2).u
.string
, IREG(3), IREG(4), CONST(5).u
.string
);
22717 return (opcode_t
*)cur_opcode
+ 6;}
22720 Parrot_replace_s_s_ic_i_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22721 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22722 SREG(1) = Parrot_str_replace(interp
, SREG(2), cur_opcode
[3], IREG(4), CONST(5).u
.string
);
22724 return (opcode_t
*)cur_opcode
+ 6;}
22727 Parrot_replace_s_sc_ic_i_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22728 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22729 SREG(1) = Parrot_str_replace(interp
, CONST(2).u
.string
, cur_opcode
[3], IREG(4), CONST(5).u
.string
);
22731 return (opcode_t
*)cur_opcode
+ 6;}
22734 Parrot_replace_s_s_i_ic_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22735 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22736 SREG(1) = Parrot_str_replace(interp
, SREG(2), IREG(3), cur_opcode
[4], CONST(5).u
.string
);
22738 return (opcode_t
*)cur_opcode
+ 6;}
22741 Parrot_replace_s_sc_i_ic_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22742 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22743 SREG(1) = Parrot_str_replace(interp
, CONST(2).u
.string
, IREG(3), cur_opcode
[4], CONST(5).u
.string
);
22745 return (opcode_t
*)cur_opcode
+ 6;}
22748 Parrot_replace_s_s_ic_ic_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22749 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22750 SREG(1) = Parrot_str_replace(interp
, SREG(2), cur_opcode
[3], cur_opcode
[4], CONST(5).u
.string
);
22752 return (opcode_t
*)cur_opcode
+ 6;}
22755 Parrot_replace_s_sc_ic_ic_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22756 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22757 SREG(1) = Parrot_str_replace(interp
, CONST(2).u
.string
, cur_opcode
[3], cur_opcode
[4], CONST(5).u
.string
);
22759 return (opcode_t
*)cur_opcode
+ 6;}
22762 Parrot_index_i_s_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22763 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22764 IREG(1) = (SREG(2) && SREG(3)) ? Parrot_str_find_index(interp
, SREG(2), SREG(3), 0) : -1;
22766 return (opcode_t
*)cur_opcode
+ 4;}
22769 Parrot_index_i_sc_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22770 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22771 IREG(1) = (CONST(2).u
.string
&& SREG(3)) ? Parrot_str_find_index(interp
, CONST(2).u
.string
, SREG(3), 0) : -1;
22773 return (opcode_t
*)cur_opcode
+ 4;}
22776 Parrot_index_i_s_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22777 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22778 IREG(1) = (SREG(2) && CONST(3).u
.string
) ? Parrot_str_find_index(interp
, SREG(2), CONST(3).u
.string
, 0) : -1;
22780 return (opcode_t
*)cur_opcode
+ 4;}
22783 Parrot_index_i_sc_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22784 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22785 IREG(1) = (CONST(2).u
.string
&& CONST(3).u
.string
) ? Parrot_str_find_index(interp
, CONST(2).u
.string
, CONST(3).u
.string
, 0) : -1;
22787 return (opcode_t
*)cur_opcode
+ 4;}
22790 Parrot_index_i_s_s_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22791 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22792 IREG(1) = (SREG(2) && SREG(3)) ? Parrot_str_find_index(interp
, SREG(2), SREG(3), IREG(4)) : -1;
22794 return (opcode_t
*)cur_opcode
+ 5;}
22797 Parrot_index_i_sc_s_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22798 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22799 IREG(1) = (CONST(2).u
.string
&& SREG(3)) ? Parrot_str_find_index(interp
, CONST(2).u
.string
, SREG(3), IREG(4)) : -1;
22801 return (opcode_t
*)cur_opcode
+ 5;}
22804 Parrot_index_i_s_sc_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22805 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22806 IREG(1) = (SREG(2) && CONST(3).u
.string
) ? Parrot_str_find_index(interp
, SREG(2), CONST(3).u
.string
, IREG(4)) : -1;
22808 return (opcode_t
*)cur_opcode
+ 5;}
22811 Parrot_index_i_sc_sc_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22812 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22813 IREG(1) = (CONST(2).u
.string
&& CONST(3).u
.string
) ? Parrot_str_find_index(interp
, CONST(2).u
.string
, CONST(3).u
.string
, IREG(4)) : -1;
22815 return (opcode_t
*)cur_opcode
+ 5;}
22818 Parrot_index_i_s_s_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22819 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22820 IREG(1) = (SREG(2) && SREG(3)) ? Parrot_str_find_index(interp
, SREG(2), SREG(3), cur_opcode
[4]) : -1;
22822 return (opcode_t
*)cur_opcode
+ 5;}
22825 Parrot_index_i_sc_s_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22826 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22827 IREG(1) = (CONST(2).u
.string
&& SREG(3)) ? Parrot_str_find_index(interp
, CONST(2).u
.string
, SREG(3), cur_opcode
[4]) : -1;
22829 return (opcode_t
*)cur_opcode
+ 5;}
22832 Parrot_index_i_s_sc_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22833 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22834 IREG(1) = (SREG(2) && CONST(3).u
.string
) ? Parrot_str_find_index(interp
, SREG(2), CONST(3).u
.string
, cur_opcode
[4]) : -1;
22836 return (opcode_t
*)cur_opcode
+ 5;}
22839 Parrot_index_i_sc_sc_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22840 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22841 IREG(1) = (CONST(2).u
.string
&& CONST(3).u
.string
) ? Parrot_str_find_index(interp
, CONST(2).u
.string
, CONST(3).u
.string
, cur_opcode
[4]) : -1;
22843 return (opcode_t
*)cur_opcode
+ 5;}
22846 Parrot_sprintf_s_s_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22847 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22848 SREG(1)=Parrot_psprintf(interp
, SREG(2), PREG(3));
22850 return (opcode_t
*)cur_opcode
+ 4;}
22853 Parrot_sprintf_s_sc_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22854 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22855 SREG(1)=Parrot_psprintf(interp
, CONST(2).u
.string
, PREG(3));
22857 return (opcode_t
*)cur_opcode
+ 4;}
22860 Parrot_sprintf_p_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22861 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22862 VTABLE_set_string_native(interp
, PREG(1),
22863 Parrot_psprintf(interp
, VTABLE_get_string(interp
, PREG(2)), PREG(3)));
22865 return (opcode_t
*)cur_opcode
+ 4;}
22868 Parrot_new_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22869 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22870 SREG(1) = Parrot_str_new_noinit(interp
, 0);
22872 return (opcode_t
*)cur_opcode
+ 2;}
22875 Parrot_new_s_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22876 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22877 SREG(1) = Parrot_str_new_noinit(interp
, IREG(2));
22879 return (opcode_t
*)cur_opcode
+ 3;}
22882 Parrot_new_s_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22883 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22884 SREG(1) = Parrot_str_new_noinit(interp
, cur_opcode
[2]);
22886 return (opcode_t
*)cur_opcode
+ 3;}
22889 Parrot_stringinfo_i_s_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22890 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22891 if (SREG(2) == NULL
)
22895 case STRINGINFO_HEADER
:
22896 IREG(1) = PTR2UINTVAL(SREG(2));
22898 case STRINGINFO_STRSTART
:
22899 IREG(1) = PTR2UINTVAL(SREG(2)->strstart
);
22901 case STRINGINFO_BUFLEN
:
22902 IREG(1) = Buffer_buflen(SREG(2));
22904 case STRINGINFO_FLAGS
:
22905 IREG(1) = PObj_get_FLAGS(SREG(2));
22907 case STRINGINFO_BUFUSED
:
22908 IREG(1) = SREG(2)->bufused
;
22910 case STRINGINFO_STRLEN
:
22911 IREG(1) = SREG(2)->strlen
;
22915 opcode_t
*handler
= Parrot_ex_throw_from_op_args(interp
, NULL
,
22916 EXCEPTION_INVALID_OPERATION
,
22917 "stringinfo: unknown info type: %d", IREG(3));return (opcode_t
*)handler
;
22922 return (opcode_t
*)cur_opcode
+ 4;}
22925 Parrot_stringinfo_i_sc_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22926 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22927 if (CONST(2).u
.string
== NULL
)
22931 case STRINGINFO_HEADER
:
22932 IREG(1) = PTR2UINTVAL(CONST(2).u
.string
);
22934 case STRINGINFO_STRSTART
:
22935 IREG(1) = PTR2UINTVAL(CONST(2).u
.string
->strstart
);
22937 case STRINGINFO_BUFLEN
:
22938 IREG(1) = Buffer_buflen(CONST(2).u
.string
);
22940 case STRINGINFO_FLAGS
:
22941 IREG(1) = PObj_get_FLAGS(CONST(2).u
.string
);
22943 case STRINGINFO_BUFUSED
:
22944 IREG(1) = CONST(2).u
.string
->bufused
;
22946 case STRINGINFO_STRLEN
:
22947 IREG(1) = CONST(2).u
.string
->strlen
;
22951 opcode_t
*handler
= Parrot_ex_throw_from_op_args(interp
, NULL
,
22952 EXCEPTION_INVALID_OPERATION
,
22953 "stringinfo: unknown info type: %d", IREG(3));return (opcode_t
*)handler
;
22958 return (opcode_t
*)cur_opcode
+ 4;}
22961 Parrot_stringinfo_i_s_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22962 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22963 if (SREG(2) == NULL
)
22966 switch (cur_opcode
[3]) {
22967 case STRINGINFO_HEADER
:
22968 IREG(1) = PTR2UINTVAL(SREG(2));
22970 case STRINGINFO_STRSTART
:
22971 IREG(1) = PTR2UINTVAL(SREG(2)->strstart
);
22973 case STRINGINFO_BUFLEN
:
22974 IREG(1) = Buffer_buflen(SREG(2));
22976 case STRINGINFO_FLAGS
:
22977 IREG(1) = PObj_get_FLAGS(SREG(2));
22979 case STRINGINFO_BUFUSED
:
22980 IREG(1) = SREG(2)->bufused
;
22982 case STRINGINFO_STRLEN
:
22983 IREG(1) = SREG(2)->strlen
;
22987 opcode_t
*handler
= Parrot_ex_throw_from_op_args(interp
, NULL
,
22988 EXCEPTION_INVALID_OPERATION
,
22989 "stringinfo: unknown info type: %d", cur_opcode
[3]);return (opcode_t
*)handler
;
22994 return (opcode_t
*)cur_opcode
+ 4;}
22997 Parrot_stringinfo_i_sc_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
22998 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
22999 if (CONST(2).u
.string
== NULL
)
23002 switch (cur_opcode
[3]) {
23003 case STRINGINFO_HEADER
:
23004 IREG(1) = PTR2UINTVAL(CONST(2).u
.string
);
23006 case STRINGINFO_STRSTART
:
23007 IREG(1) = PTR2UINTVAL(CONST(2).u
.string
->strstart
);
23009 case STRINGINFO_BUFLEN
:
23010 IREG(1) = Buffer_buflen(CONST(2).u
.string
);
23012 case STRINGINFO_FLAGS
:
23013 IREG(1) = PObj_get_FLAGS(CONST(2).u
.string
);
23015 case STRINGINFO_BUFUSED
:
23016 IREG(1) = CONST(2).u
.string
->bufused
;
23018 case STRINGINFO_STRLEN
:
23019 IREG(1) = CONST(2).u
.string
->strlen
;
23023 opcode_t
*handler
= Parrot_ex_throw_from_op_args(interp
, NULL
,
23024 EXCEPTION_INVALID_OPERATION
,
23025 "stringinfo: unknown info type: %d", cur_opcode
[3]);return (opcode_t
*)handler
;
23030 return (opcode_t
*)cur_opcode
+ 4;}
23033 Parrot_upcase_s_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23034 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23035 SREG(1) = Parrot_str_upcase(interp
, SREG(2));
23037 return (opcode_t
*)cur_opcode
+ 3;}
23040 Parrot_upcase_s_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23041 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23042 SREG(1) = Parrot_str_upcase(interp
, CONST(2).u
.string
);
23044 return (opcode_t
*)cur_opcode
+ 3;}
23047 Parrot_downcase_s_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23048 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23049 SREG(1) = Parrot_str_downcase(interp
, SREG(2));
23051 return (opcode_t
*)cur_opcode
+ 3;}
23054 Parrot_downcase_s_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23055 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23056 SREG(1) = Parrot_str_downcase(interp
, CONST(2).u
.string
);
23058 return (opcode_t
*)cur_opcode
+ 3;}
23061 Parrot_titlecase_s_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23062 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23063 SREG(1) = Parrot_str_titlecase(interp
, SREG(2));
23065 return (opcode_t
*)cur_opcode
+ 3;}
23068 Parrot_titlecase_s_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23069 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23070 SREG(1) = Parrot_str_titlecase(interp
, CONST(2).u
.string
);
23072 return (opcode_t
*)cur_opcode
+ 3;}
23075 Parrot_join_s_s_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23076 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23077 SREG(1) = Parrot_str_join(interp
, SREG(2), PREG(3));
23079 return (opcode_t
*)cur_opcode
+ 4;}
23082 Parrot_join_s_sc_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23083 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23084 SREG(1) = Parrot_str_join(interp
, CONST(2).u
.string
, PREG(3));
23086 return (opcode_t
*)cur_opcode
+ 4;}
23089 Parrot_split_p_s_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23090 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23091 PREG(1) = Parrot_str_split(interp
, SREG(2), SREG(3));
23093 return (opcode_t
*)cur_opcode
+ 4;}
23096 Parrot_split_p_sc_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23097 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23098 PREG(1) = Parrot_str_split(interp
, CONST(2).u
.string
, SREG(3));
23100 return (opcode_t
*)cur_opcode
+ 4;}
23103 Parrot_split_p_s_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23104 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23105 PREG(1) = Parrot_str_split(interp
, SREG(2), CONST(3).u
.string
);
23107 return (opcode_t
*)cur_opcode
+ 4;}
23110 Parrot_split_p_sc_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23111 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23112 PREG(1) = Parrot_str_split(interp
, CONST(2).u
.string
, CONST(3).u
.string
);
23114 return (opcode_t
*)cur_opcode
+ 4;}
23117 Parrot_charset_i_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23118 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23119 IREG(1) = Parrot_encoding_number_of_str(interp
, SREG(2));
23121 return (opcode_t
*)cur_opcode
+ 3;}
23124 Parrot_charset_i_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23125 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23126 IREG(1) = Parrot_encoding_number_of_str(interp
, CONST(2).u
.string
);
23128 return (opcode_t
*)cur_opcode
+ 3;}
23131 Parrot_charsetname_s_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23132 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23133 SREG(1) = Parrot_encoding_name(interp
, IREG(2));
23135 return (opcode_t
*)cur_opcode
+ 3;}
23138 Parrot_charsetname_s_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23139 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23140 SREG(1) = Parrot_encoding_name(interp
, cur_opcode
[2]);
23142 return (opcode_t
*)cur_opcode
+ 3;}
23145 Parrot_find_charset_i_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23146 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23147 const INTVAL n
= Parrot_encoding_number(interp
, SREG(2));
23149 opcode_t
*handler
= Parrot_ex_throw_from_op_args(interp
, NULL
,
23150 EXCEPTION_INVALID_CHARTYPE
,
23151 "charset '%Ss' not found", SREG(2));return (opcode_t
*)handler
;
23155 return (opcode_t
*)cur_opcode
+ 3;}
23158 Parrot_find_charset_i_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23159 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23160 const INTVAL n
= Parrot_encoding_number(interp
, CONST(2).u
.string
);
23162 opcode_t
*handler
= Parrot_ex_throw_from_op_args(interp
, NULL
,
23163 EXCEPTION_INVALID_CHARTYPE
,
23164 "charset '%Ss' not found", CONST(2).u
.string
);return (opcode_t
*)handler
;
23168 return (opcode_t
*)cur_opcode
+ 3;}
23171 Parrot_trans_charset_s_s_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23172 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23173 SREG(1) = Parrot_str_change_charset(interp
, SREG(2), IREG(3));
23175 return (opcode_t
*)cur_opcode
+ 4;}
23178 Parrot_trans_charset_s_sc_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23179 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23180 SREG(1) = Parrot_str_change_charset(interp
, CONST(2).u
.string
, IREG(3));
23182 return (opcode_t
*)cur_opcode
+ 4;}
23185 Parrot_trans_charset_s_s_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23186 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23187 SREG(1) = Parrot_str_change_charset(interp
, SREG(2), cur_opcode
[3]);
23189 return (opcode_t
*)cur_opcode
+ 4;}
23192 Parrot_trans_charset_s_sc_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23193 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23194 SREG(1) = Parrot_str_change_charset(interp
, CONST(2).u
.string
, cur_opcode
[3]);
23196 return (opcode_t
*)cur_opcode
+ 4;}
23199 Parrot_encoding_i_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23200 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23201 IREG(1) = Parrot_encoding_number_of_str(interp
, SREG(2));
23203 return (opcode_t
*)cur_opcode
+ 3;}
23206 Parrot_encoding_i_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23207 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23208 IREG(1) = Parrot_encoding_number_of_str(interp
, CONST(2).u
.string
);
23210 return (opcode_t
*)cur_opcode
+ 3;}
23213 Parrot_encodingname_s_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23214 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23215 SREG(1) = Parrot_encoding_name(interp
, IREG(2));
23217 return (opcode_t
*)cur_opcode
+ 3;}
23220 Parrot_encodingname_s_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23221 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23222 SREG(1) = Parrot_encoding_name(interp
, cur_opcode
[2]);
23224 return (opcode_t
*)cur_opcode
+ 3;}
23227 Parrot_find_encoding_i_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23228 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23229 const INTVAL n
= Parrot_encoding_number(interp
, SREG(2));
23231 opcode_t
*handler
= Parrot_ex_throw_from_op_args(interp
, NULL
,
23232 EXCEPTION_INVALID_ENCODING
,
23233 "encoding '%Ss' not found", SREG(2));return (opcode_t
*)handler
;
23237 return (opcode_t
*)cur_opcode
+ 3;}
23240 Parrot_find_encoding_i_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23241 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23242 const INTVAL n
= Parrot_encoding_number(interp
, CONST(2).u
.string
);
23244 opcode_t
*handler
= Parrot_ex_throw_from_op_args(interp
, NULL
,
23245 EXCEPTION_INVALID_ENCODING
,
23246 "encoding '%Ss' not found", CONST(2).u
.string
);return (opcode_t
*)handler
;
23250 return (opcode_t
*)cur_opcode
+ 3;}
23253 Parrot_trans_encoding_s_s_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23254 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23255 SREG(1) = Parrot_str_change_encoding(interp
, SREG(2), IREG(3));
23257 return (opcode_t
*)cur_opcode
+ 4;}
23260 Parrot_trans_encoding_s_sc_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23261 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23262 SREG(1) = Parrot_str_change_encoding(interp
, CONST(2).u
.string
, IREG(3));
23264 return (opcode_t
*)cur_opcode
+ 4;}
23267 Parrot_trans_encoding_s_s_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23268 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23269 SREG(1) = Parrot_str_change_encoding(interp
, SREG(2), cur_opcode
[3]);
23271 return (opcode_t
*)cur_opcode
+ 4;}
23274 Parrot_trans_encoding_s_sc_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23275 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23276 SREG(1) = Parrot_str_change_encoding(interp
, CONST(2).u
.string
, cur_opcode
[3]);
23278 return (opcode_t
*)cur_opcode
+ 4;}
23281 Parrot_is_cclass_i_i_s_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23282 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23283 IREG(1) = Parrot_str_is_cclass(interp
, IREG(2), SREG(3), IREG(4));
23285 return (opcode_t
*)cur_opcode
+ 5;}
23288 Parrot_is_cclass_i_ic_s_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23289 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23290 IREG(1) = Parrot_str_is_cclass(interp
, cur_opcode
[2], SREG(3), IREG(4));
23292 return (opcode_t
*)cur_opcode
+ 5;}
23295 Parrot_is_cclass_i_i_sc_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23296 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23297 IREG(1) = Parrot_str_is_cclass(interp
, IREG(2), CONST(3).u
.string
, IREG(4));
23299 return (opcode_t
*)cur_opcode
+ 5;}
23302 Parrot_is_cclass_i_ic_sc_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23303 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23304 IREG(1) = Parrot_str_is_cclass(interp
, cur_opcode
[2], CONST(3).u
.string
, IREG(4));
23306 return (opcode_t
*)cur_opcode
+ 5;}
23309 Parrot_is_cclass_i_i_s_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23310 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23311 IREG(1) = Parrot_str_is_cclass(interp
, IREG(2), SREG(3), cur_opcode
[4]);
23313 return (opcode_t
*)cur_opcode
+ 5;}
23316 Parrot_is_cclass_i_ic_s_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23317 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23318 IREG(1) = Parrot_str_is_cclass(interp
, cur_opcode
[2], SREG(3), cur_opcode
[4]);
23320 return (opcode_t
*)cur_opcode
+ 5;}
23323 Parrot_is_cclass_i_i_sc_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23324 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23325 IREG(1) = Parrot_str_is_cclass(interp
, IREG(2), CONST(3).u
.string
, cur_opcode
[4]);
23327 return (opcode_t
*)cur_opcode
+ 5;}
23330 Parrot_is_cclass_i_ic_sc_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23331 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23332 IREG(1) = Parrot_str_is_cclass(interp
, cur_opcode
[2], CONST(3).u
.string
, cur_opcode
[4]);
23334 return (opcode_t
*)cur_opcode
+ 5;}
23337 Parrot_find_cclass_i_i_s_i_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23338 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23339 IREG(1) = Parrot_str_find_cclass(interp
, IREG(2), SREG(3), IREG(4), IREG(5));
23341 return (opcode_t
*)cur_opcode
+ 6;}
23344 Parrot_find_cclass_i_ic_s_i_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23345 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23346 IREG(1) = Parrot_str_find_cclass(interp
, cur_opcode
[2], SREG(3), IREG(4), IREG(5));
23348 return (opcode_t
*)cur_opcode
+ 6;}
23351 Parrot_find_cclass_i_i_sc_i_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23352 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23353 IREG(1) = Parrot_str_find_cclass(interp
, IREG(2), CONST(3).u
.string
, IREG(4), IREG(5));
23355 return (opcode_t
*)cur_opcode
+ 6;}
23358 Parrot_find_cclass_i_ic_sc_i_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23359 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23360 IREG(1) = Parrot_str_find_cclass(interp
, cur_opcode
[2], CONST(3).u
.string
, IREG(4), IREG(5));
23362 return (opcode_t
*)cur_opcode
+ 6;}
23365 Parrot_find_cclass_i_i_s_ic_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23366 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23367 IREG(1) = Parrot_str_find_cclass(interp
, IREG(2), SREG(3), cur_opcode
[4], IREG(5));
23369 return (opcode_t
*)cur_opcode
+ 6;}
23372 Parrot_find_cclass_i_ic_s_ic_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23373 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23374 IREG(1) = Parrot_str_find_cclass(interp
, cur_opcode
[2], SREG(3), cur_opcode
[4], IREG(5));
23376 return (opcode_t
*)cur_opcode
+ 6;}
23379 Parrot_find_cclass_i_i_sc_ic_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23380 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23381 IREG(1) = Parrot_str_find_cclass(interp
, IREG(2), CONST(3).u
.string
, cur_opcode
[4], IREG(5));
23383 return (opcode_t
*)cur_opcode
+ 6;}
23386 Parrot_find_cclass_i_ic_sc_ic_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23387 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23388 IREG(1) = Parrot_str_find_cclass(interp
, cur_opcode
[2], CONST(3).u
.string
, cur_opcode
[4], IREG(5));
23390 return (opcode_t
*)cur_opcode
+ 6;}
23393 Parrot_find_cclass_i_i_s_i_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23394 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23395 IREG(1) = Parrot_str_find_cclass(interp
, IREG(2), SREG(3), IREG(4), cur_opcode
[5]);
23397 return (opcode_t
*)cur_opcode
+ 6;}
23400 Parrot_find_cclass_i_ic_s_i_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23401 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23402 IREG(1) = Parrot_str_find_cclass(interp
, cur_opcode
[2], SREG(3), IREG(4), cur_opcode
[5]);
23404 return (opcode_t
*)cur_opcode
+ 6;}
23407 Parrot_find_cclass_i_i_sc_i_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23408 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23409 IREG(1) = Parrot_str_find_cclass(interp
, IREG(2), CONST(3).u
.string
, IREG(4), cur_opcode
[5]);
23411 return (opcode_t
*)cur_opcode
+ 6;}
23414 Parrot_find_cclass_i_ic_sc_i_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23415 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23416 IREG(1) = Parrot_str_find_cclass(interp
, cur_opcode
[2], CONST(3).u
.string
, IREG(4), cur_opcode
[5]);
23418 return (opcode_t
*)cur_opcode
+ 6;}
23421 Parrot_find_cclass_i_i_s_ic_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23422 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23423 IREG(1) = Parrot_str_find_cclass(interp
, IREG(2), SREG(3), cur_opcode
[4], cur_opcode
[5]);
23425 return (opcode_t
*)cur_opcode
+ 6;}
23428 Parrot_find_cclass_i_ic_s_ic_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23429 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23430 IREG(1) = Parrot_str_find_cclass(interp
, cur_opcode
[2], SREG(3), cur_opcode
[4], cur_opcode
[5]);
23432 return (opcode_t
*)cur_opcode
+ 6;}
23435 Parrot_find_cclass_i_i_sc_ic_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23436 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23437 IREG(1) = Parrot_str_find_cclass(interp
, IREG(2), CONST(3).u
.string
, cur_opcode
[4], cur_opcode
[5]);
23439 return (opcode_t
*)cur_opcode
+ 6;}
23442 Parrot_find_cclass_i_ic_sc_ic_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23443 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23444 IREG(1) = Parrot_str_find_cclass(interp
, cur_opcode
[2], CONST(3).u
.string
, cur_opcode
[4], cur_opcode
[5]);
23446 return (opcode_t
*)cur_opcode
+ 6;}
23449 Parrot_find_not_cclass_i_i_s_i_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23450 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23451 IREG(1) = Parrot_str_find_not_cclass(interp
, IREG(2), SREG(3), IREG(4), IREG(5));
23453 return (opcode_t
*)cur_opcode
+ 6;}
23456 Parrot_find_not_cclass_i_ic_s_i_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23457 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23458 IREG(1) = Parrot_str_find_not_cclass(interp
, cur_opcode
[2], SREG(3), IREG(4), IREG(5));
23460 return (opcode_t
*)cur_opcode
+ 6;}
23463 Parrot_find_not_cclass_i_i_sc_i_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23464 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23465 IREG(1) = Parrot_str_find_not_cclass(interp
, IREG(2), CONST(3).u
.string
, IREG(4), IREG(5));
23467 return (opcode_t
*)cur_opcode
+ 6;}
23470 Parrot_find_not_cclass_i_ic_sc_i_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23471 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23472 IREG(1) = Parrot_str_find_not_cclass(interp
, cur_opcode
[2], CONST(3).u
.string
, IREG(4), IREG(5));
23474 return (opcode_t
*)cur_opcode
+ 6;}
23477 Parrot_find_not_cclass_i_i_s_ic_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23478 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23479 IREG(1) = Parrot_str_find_not_cclass(interp
, IREG(2), SREG(3), cur_opcode
[4], IREG(5));
23481 return (opcode_t
*)cur_opcode
+ 6;}
23484 Parrot_find_not_cclass_i_ic_s_ic_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23485 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23486 IREG(1) = Parrot_str_find_not_cclass(interp
, cur_opcode
[2], SREG(3), cur_opcode
[4], IREG(5));
23488 return (opcode_t
*)cur_opcode
+ 6;}
23491 Parrot_find_not_cclass_i_i_sc_ic_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23492 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23493 IREG(1) = Parrot_str_find_not_cclass(interp
, IREG(2), CONST(3).u
.string
, cur_opcode
[4], IREG(5));
23495 return (opcode_t
*)cur_opcode
+ 6;}
23498 Parrot_find_not_cclass_i_ic_sc_ic_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23499 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23500 IREG(1) = Parrot_str_find_not_cclass(interp
, cur_opcode
[2], CONST(3).u
.string
, cur_opcode
[4], IREG(5));
23502 return (opcode_t
*)cur_opcode
+ 6;}
23505 Parrot_find_not_cclass_i_i_s_i_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23506 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23507 IREG(1) = Parrot_str_find_not_cclass(interp
, IREG(2), SREG(3), IREG(4), cur_opcode
[5]);
23509 return (opcode_t
*)cur_opcode
+ 6;}
23512 Parrot_find_not_cclass_i_ic_s_i_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23513 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23514 IREG(1) = Parrot_str_find_not_cclass(interp
, cur_opcode
[2], SREG(3), IREG(4), cur_opcode
[5]);
23516 return (opcode_t
*)cur_opcode
+ 6;}
23519 Parrot_find_not_cclass_i_i_sc_i_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23520 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23521 IREG(1) = Parrot_str_find_not_cclass(interp
, IREG(2), CONST(3).u
.string
, IREG(4), cur_opcode
[5]);
23523 return (opcode_t
*)cur_opcode
+ 6;}
23526 Parrot_find_not_cclass_i_ic_sc_i_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23527 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23528 IREG(1) = Parrot_str_find_not_cclass(interp
, cur_opcode
[2], CONST(3).u
.string
, IREG(4), cur_opcode
[5]);
23530 return (opcode_t
*)cur_opcode
+ 6;}
23533 Parrot_find_not_cclass_i_i_s_ic_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23534 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23535 IREG(1) = Parrot_str_find_not_cclass(interp
, IREG(2), SREG(3), cur_opcode
[4], cur_opcode
[5]);
23537 return (opcode_t
*)cur_opcode
+ 6;}
23540 Parrot_find_not_cclass_i_ic_s_ic_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23541 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23542 IREG(1) = Parrot_str_find_not_cclass(interp
, cur_opcode
[2], SREG(3), cur_opcode
[4], cur_opcode
[5]);
23544 return (opcode_t
*)cur_opcode
+ 6;}
23547 Parrot_find_not_cclass_i_i_sc_ic_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23548 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23549 IREG(1) = Parrot_str_find_not_cclass(interp
, IREG(2), CONST(3).u
.string
, cur_opcode
[4], cur_opcode
[5]);
23551 return (opcode_t
*)cur_opcode
+ 6;}
23554 Parrot_find_not_cclass_i_ic_sc_ic_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23555 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23556 IREG(1) = Parrot_str_find_not_cclass(interp
, cur_opcode
[2], CONST(3).u
.string
, cur_opcode
[4], cur_opcode
[5]);
23558 return (opcode_t
*)cur_opcode
+ 6;}
23561 Parrot_escape_s_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23562 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23563 SREG(1) = Parrot_str_escape(interp
, SREG(2));
23565 return (opcode_t
*)cur_opcode
+ 3;}
23568 Parrot_compose_s_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23569 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23570 SREG(1) = Parrot_str_compose(interp
, SREG(2));
23572 return (opcode_t
*)cur_opcode
+ 3;}
23575 Parrot_compose_s_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23576 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23577 SREG(1) = Parrot_str_compose(interp
, CONST(2).u
.string
);
23579 return (opcode_t
*)cur_opcode
+ 3;}
23582 Parrot_spawnw_i_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23583 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23584 IREG(1) = Parrot_Run_OS_Command(interp
, SREG(2));
23586 return (opcode_t
*)cur_opcode
+ 3;}
23589 Parrot_spawnw_i_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23590 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23591 IREG(1) = Parrot_Run_OS_Command(interp
, CONST(2).u
.string
);
23593 return (opcode_t
*)cur_opcode
+ 3;}
23596 Parrot_spawnw_i_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23597 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23598 IREG(1) = Parrot_Run_OS_Command_Argv(interp
, PREG(2));
23600 return (opcode_t
*)cur_opcode
+ 3;}
23603 Parrot_err_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23604 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23607 return (opcode_t
*)cur_opcode
+ 2;}
23610 Parrot_err_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23611 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23612 const char * const tmp
= strerror(errno
);
23613 SREG(1) = Parrot_str_new_init(interp
, tmp
, strlen(tmp
),
23614 Parrot_ascii_encoding_ptr
, 0);
23616 return (opcode_t
*)cur_opcode
+ 2;}
23619 Parrot_err_s_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23620 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23621 const char * const tmp
= strerror(IREG(2));
23622 SREG(1) = Parrot_str_new_init(interp
, tmp
, strlen(tmp
),
23623 Parrot_ascii_encoding_ptr
, 0);
23625 return (opcode_t
*)cur_opcode
+ 3;}
23628 Parrot_err_s_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23629 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23630 const char * const tmp
= strerror(cur_opcode
[2]);
23631 SREG(1) = Parrot_str_new_init(interp
, tmp
, strlen(tmp
),
23632 Parrot_ascii_encoding_ptr
, 0);
23634 return (opcode_t
*)cur_opcode
+ 3;}
23637 Parrot_time_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23638 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23639 IREG(1) = Parrot_intval_time();
23641 return (opcode_t
*)cur_opcode
+ 2;}
23644 Parrot_time_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23645 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23646 NREG(1) = Parrot_floatval_time();
23648 return (opcode_t
*)cur_opcode
+ 2;}
23651 Parrot_sleep_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23652 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23653 opcode_t
*next
= cur_opcode
+ 2;
23655 opcode_t
* const handler
= Parrot_ex_throw_from_op_args(interp
, next
,
23656 EXCEPTION_NEG_SLEEP
,
23657 "Cannot go back in time");return (opcode_t
*)handler
;
23659 next
= (opcode_t
*)Parrot_cx_schedule_sleep(interp
, (FLOATVAL
) IREG(1), next
);return (opcode_t
*)next
;
23663 Parrot_sleep_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23664 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23665 opcode_t
*next
= cur_opcode
+ 2;
23666 if (cur_opcode
[1] < 0) {
23667 opcode_t
* const handler
= Parrot_ex_throw_from_op_args(interp
, next
,
23668 EXCEPTION_NEG_SLEEP
,
23669 "Cannot go back in time");return (opcode_t
*)handler
;
23671 next
= (opcode_t
*)Parrot_cx_schedule_sleep(interp
, (FLOATVAL
) cur_opcode
[1], next
);return (opcode_t
*)next
;
23675 Parrot_sleep_n(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23676 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23677 opcode_t
*next
= cur_opcode
+ 2;
23678 if (NREG(1) < 0.0) {
23679 opcode_t
* const handler
= Parrot_ex_throw_from_op_args(interp
, next
,
23680 EXCEPTION_NEG_SLEEP
,
23681 "Cannot go back in time");return (opcode_t
*)handler
;
23683 next
= (opcode_t
*)Parrot_cx_schedule_sleep(interp
, NREG(1), next
);return (opcode_t
*)next
;
23687 Parrot_sleep_nc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23688 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23689 opcode_t
*next
= cur_opcode
+ 2;
23690 if (CONST(1).u
.number
< 0.0) {
23691 opcode_t
* const handler
= Parrot_ex_throw_from_op_args(interp
, next
,
23692 EXCEPTION_NEG_SLEEP
,
23693 "Cannot go back in time");return (opcode_t
*)handler
;
23695 next
= (opcode_t
*)Parrot_cx_schedule_sleep(interp
, CONST(1).u
.number
, next
);return (opcode_t
*)next
;
23699 Parrot_store_lex_s_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23700 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23701 PMC
* const ctx
= CURRENT_CONTEXT(interp
);
23702 STRING
* const lex_name
= SREG(1);
23703 PMC
* const lex_pad
= Parrot_find_pad(interp
, lex_name
, ctx
);
23705 if (PMC_IS_NULL(lex_pad
)) {
23706 opcode_t
* const handler
= Parrot_ex_throw_from_op_args(interp
, NULL
,
23707 EXCEPTION_LEX_NOT_FOUND
,
23708 "Lexical '%Ss' not found", lex_name
);return (opcode_t
*)handler
;
23710 VTABLE_set_pmc_keyed_str(interp
, lex_pad
, lex_name
, PREG(2));
23712 return (opcode_t
*)cur_opcode
+ 3;}
23715 Parrot_store_lex_sc_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23716 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23717 PMC
* const ctx
= CURRENT_CONTEXT(interp
);
23718 STRING
* const lex_name
= CONST(1).u
.string
;
23719 PMC
* const lex_pad
= Parrot_find_pad(interp
, lex_name
, ctx
);
23721 if (PMC_IS_NULL(lex_pad
)) {
23722 opcode_t
* const handler
= Parrot_ex_throw_from_op_args(interp
, NULL
,
23723 EXCEPTION_LEX_NOT_FOUND
,
23724 "Lexical '%Ss' not found", lex_name
);return (opcode_t
*)handler
;
23726 VTABLE_set_pmc_keyed_str(interp
, lex_pad
, lex_name
, PREG(2));
23728 return (opcode_t
*)cur_opcode
+ 3;}
23731 Parrot_store_dynamic_lex_s_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23732 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23733 STRING
* const lex_name
= SREG(1);
23735 Parrot_pcc_get_caller_ctx(interp
, CURRENT_CONTEXT(interp
));
23736 PMC
* const lex_pad
=
23739 : Parrot_find_dynamic_pad(interp
, lex_name
, ctx
);
23741 if (PMC_IS_NULL(lex_pad
)) {
23742 opcode_t
* const handler
= Parrot_ex_throw_from_op_args(interp
, NULL
,
23743 EXCEPTION_LEX_NOT_FOUND
,
23744 "Lexical '%Ss' not found in dynamic scope", lex_name
);return (opcode_t
*)handler
;
23746 VTABLE_set_pmc_keyed_str(interp
, lex_pad
, lex_name
, PREG(2));
23748 return (opcode_t
*)cur_opcode
+ 3;}
23751 Parrot_store_dynamic_lex_sc_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23752 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23753 STRING
* const lex_name
= CONST(1).u
.string
;
23755 Parrot_pcc_get_caller_ctx(interp
, CURRENT_CONTEXT(interp
));
23756 PMC
* const lex_pad
=
23759 : Parrot_find_dynamic_pad(interp
, lex_name
, ctx
);
23761 if (PMC_IS_NULL(lex_pad
)) {
23762 opcode_t
* const handler
= Parrot_ex_throw_from_op_args(interp
, NULL
,
23763 EXCEPTION_LEX_NOT_FOUND
,
23764 "Lexical '%Ss' not found in dynamic scope", lex_name
);return (opcode_t
*)handler
;
23766 VTABLE_set_pmc_keyed_str(interp
, lex_pad
, lex_name
, PREG(2));
23768 return (opcode_t
*)cur_opcode
+ 3;}
23771 Parrot_find_lex_p_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23772 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23773 PMC
* const ctx
= CURRENT_CONTEXT(interp
);
23774 STRING
* const lex_name
= SREG(2);
23775 PMC
* const lex_pad
= Parrot_find_pad(interp
, lex_name
, ctx
);
23777 PMC
* const result
=
23778 PMC_IS_NULL(lex_pad
)
23780 : VTABLE_get_pmc_keyed_str(interp
, lex_pad
, lex_name
);
23783 return (opcode_t
*)cur_opcode
+ 3;}
23786 Parrot_find_lex_p_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23787 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23788 PMC
* const ctx
= CURRENT_CONTEXT(interp
);
23789 STRING
* const lex_name
= CONST(2).u
.string
;
23790 PMC
* const lex_pad
= Parrot_find_pad(interp
, lex_name
, ctx
);
23792 PMC
* const result
=
23793 PMC_IS_NULL(lex_pad
)
23795 : VTABLE_get_pmc_keyed_str(interp
, lex_pad
, lex_name
);
23798 return (opcode_t
*)cur_opcode
+ 3;}
23801 Parrot_find_dynamic_lex_p_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23802 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23803 STRING
* const lex_name
= SREG(2);
23805 Parrot_pcc_get_caller_ctx(interp
, CURRENT_CONTEXT(interp
));
23806 PMC
* const lex_pad
=
23809 : Parrot_find_dynamic_pad(interp
, lex_name
, ctx
);
23810 PMC
* const result
=
23811 PMC_IS_NULL(lex_pad
)
23813 : VTABLE_get_pmc_keyed_str(interp
, lex_pad
, lex_name
);
23816 return (opcode_t
*)cur_opcode
+ 3;}
23819 Parrot_find_dynamic_lex_p_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23820 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23821 STRING
* const lex_name
= CONST(2).u
.string
;
23823 Parrot_pcc_get_caller_ctx(interp
, CURRENT_CONTEXT(interp
));
23824 PMC
* const lex_pad
=
23827 : Parrot_find_dynamic_pad(interp
, lex_name
, ctx
);
23828 PMC
* const result
=
23829 PMC_IS_NULL(lex_pad
)
23831 : VTABLE_get_pmc_keyed_str(interp
, lex_pad
, lex_name
);
23834 return (opcode_t
*)cur_opcode
+ 3;}
23837 Parrot_find_caller_lex_p_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23838 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23839 STRING
* const lex_name
= SREG(2);
23840 PMC
* ctx
= CURRENT_CONTEXT(interp
);
23841 PMC
* result
= PMCNULL
;
23843 for (ctx
= Parrot_pcc_get_caller_ctx(interp
, ctx
);
23844 !PMC_IS_NULL(ctx
) && PMC_IS_NULL(result
);
23845 ctx
= Parrot_pcc_get_caller_ctx(interp
, ctx
))
23847 PMC
* const lex_pad
= Parrot_find_pad(interp
, lex_name
, ctx
);
23848 if (!PMC_IS_NULL(lex_pad
)) {
23849 result
= VTABLE_get_pmc_keyed_str(interp
, lex_pad
, lex_name
);
23851 if (!result
) result
= PMCNULL
;
23855 return (opcode_t
*)cur_opcode
+ 3;}
23858 Parrot_find_caller_lex_p_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23859 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23860 STRING
* const lex_name
= CONST(2).u
.string
;
23861 PMC
* ctx
= CURRENT_CONTEXT(interp
);
23862 PMC
* result
= PMCNULL
;
23864 for (ctx
= Parrot_pcc_get_caller_ctx(interp
, ctx
);
23865 !PMC_IS_NULL(ctx
) && PMC_IS_NULL(result
);
23866 ctx
= Parrot_pcc_get_caller_ctx(interp
, ctx
))
23868 PMC
* const lex_pad
= Parrot_find_pad(interp
, lex_name
, ctx
);
23869 if (!PMC_IS_NULL(lex_pad
)) {
23870 result
= VTABLE_get_pmc_keyed_str(interp
, lex_pad
, lex_name
);
23872 if (!result
) result
= PMCNULL
;
23876 return (opcode_t
*)cur_opcode
+ 3;}
23879 Parrot_get_namespace_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23880 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23881 PMC
* const cur_ns
= Parrot_pcc_get_namespace(interp
, CURRENT_CONTEXT(interp
));
23884 return (opcode_t
*)cur_opcode
+ 2;}
23887 Parrot_get_namespace_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23888 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23889 PMC
* const cur_ns
= Parrot_pcc_get_namespace(interp
, CURRENT_CONTEXT(interp
));
23890 PMC
* const ns
= Parrot_ns_get_namespace_keyed(interp
, cur_ns
, PREG(2));
23892 PREG(1) = PMC_IS_NULL(ns
) ? PMCNULL
: ns
;
23894 return (opcode_t
*)cur_opcode
+ 3;}
23897 Parrot_get_namespace_p_pc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23898 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23899 PMC
* const cur_ns
= Parrot_pcc_get_namespace(interp
, CURRENT_CONTEXT(interp
));
23900 PMC
* const ns
= Parrot_ns_get_namespace_keyed(interp
, cur_ns
, CONST(2).u
.key
);
23902 PREG(1) = PMC_IS_NULL(ns
) ? PMCNULL
: ns
;
23904 return (opcode_t
*)cur_opcode
+ 3;}
23907 Parrot_get_hll_namespace_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23908 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23909 PMC
* const hll_ns
= Parrot_get_ctx_HLL_namespace(interp
);
23912 return (opcode_t
*)cur_opcode
+ 2;}
23915 Parrot_get_hll_namespace_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23916 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23917 PMC
* const hll_ns
= Parrot_get_ctx_HLL_namespace(interp
);
23918 if (PMC_IS_NULL(hll_ns
))
23921 PMC
* const ns
= Parrot_ns_get_namespace_keyed(interp
, hll_ns
, PREG(2));
23925 return (opcode_t
*)cur_opcode
+ 3;}
23928 Parrot_get_hll_namespace_p_pc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23929 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23930 PMC
* const hll_ns
= Parrot_get_ctx_HLL_namespace(interp
);
23931 if (PMC_IS_NULL(hll_ns
))
23934 PMC
* const ns
= Parrot_ns_get_namespace_keyed(interp
, hll_ns
, CONST(2).u
.key
);
23938 return (opcode_t
*)cur_opcode
+ 3;}
23941 Parrot_get_root_namespace_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23942 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23943 PMC
* const root_ns
= interp
->root_namespace
;
23946 return (opcode_t
*)cur_opcode
+ 2;}
23949 Parrot_get_root_namespace_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23950 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23951 PMC
* const root_ns
= interp
->root_namespace
;
23952 if (PMC_IS_NULL(root_ns
))
23955 PMC
* const ns
= Parrot_ns_get_namespace_keyed(interp
, root_ns
, PREG(2));
23959 return (opcode_t
*)cur_opcode
+ 3;}
23962 Parrot_get_root_namespace_p_pc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23963 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23964 PMC
* const root_ns
= interp
->root_namespace
;
23965 if (PMC_IS_NULL(root_ns
))
23968 PMC
* const ns
= Parrot_ns_get_namespace_keyed(interp
, root_ns
, CONST(2).u
.key
);
23972 return (opcode_t
*)cur_opcode
+ 3;}
23975 Parrot_get_global_p_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23976 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23977 PMC
* const cur_ns
= Parrot_pcc_get_namespace(interp
, CURRENT_CONTEXT(interp
));
23978 PREG(1) = Parrot_ns_find_global_from_op(interp
, cur_ns
, SREG(2), cur_opcode
+ 3);
23980 return (opcode_t
*)cur_opcode
+ 3;}
23983 Parrot_get_global_p_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23984 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23985 PMC
* const cur_ns
= Parrot_pcc_get_namespace(interp
, CURRENT_CONTEXT(interp
));
23986 PREG(1) = Parrot_ns_find_global_from_op(interp
, cur_ns
, CONST(2).u
.string
, cur_opcode
+ 3);
23988 return (opcode_t
*)cur_opcode
+ 3;}
23991 Parrot_get_global_p_p_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
23992 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
23993 PMC
* const cur_ns
= Parrot_pcc_get_namespace(interp
, CURRENT_CONTEXT(interp
));
23994 if (PMC_IS_NULL(cur_ns
)) {
23998 PMC
* const ns
= Parrot_ns_get_namespace_keyed(interp
, cur_ns
, PREG(2));
23999 if (PMC_IS_NULL(ns
))
24002 PREG(1) = Parrot_ns_find_global_from_op(interp
, ns
, SREG(3), cur_opcode
+ 4);
24005 return (opcode_t
*)cur_opcode
+ 4;}
24008 Parrot_get_global_p_pc_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
24009 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
24010 PMC
* const cur_ns
= Parrot_pcc_get_namespace(interp
, CURRENT_CONTEXT(interp
));
24011 if (PMC_IS_NULL(cur_ns
)) {
24015 PMC
* const ns
= Parrot_ns_get_namespace_keyed(interp
, cur_ns
, CONST(2).u
.key
);
24016 if (PMC_IS_NULL(ns
))
24019 PREG(1) = Parrot_ns_find_global_from_op(interp
, ns
, SREG(3), cur_opcode
+ 4);
24022 return (opcode_t
*)cur_opcode
+ 4;}
24025 Parrot_get_global_p_p_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
24026 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
24027 PMC
* const cur_ns
= Parrot_pcc_get_namespace(interp
, CURRENT_CONTEXT(interp
));
24028 if (PMC_IS_NULL(cur_ns
)) {
24032 PMC
* const ns
= Parrot_ns_get_namespace_keyed(interp
, cur_ns
, PREG(2));
24033 if (PMC_IS_NULL(ns
))
24036 PREG(1) = Parrot_ns_find_global_from_op(interp
, ns
, CONST(3).u
.string
, cur_opcode
+ 4);
24039 return (opcode_t
*)cur_opcode
+ 4;}
24042 Parrot_get_global_p_pc_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
24043 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
24044 PMC
* const cur_ns
= Parrot_pcc_get_namespace(interp
, CURRENT_CONTEXT(interp
));
24045 if (PMC_IS_NULL(cur_ns
)) {
24049 PMC
* const ns
= Parrot_ns_get_namespace_keyed(interp
, cur_ns
, CONST(2).u
.key
);
24050 if (PMC_IS_NULL(ns
))
24053 PREG(1) = Parrot_ns_find_global_from_op(interp
, ns
, CONST(3).u
.string
, cur_opcode
+ 4);
24056 return (opcode_t
*)cur_opcode
+ 4;}
24059 Parrot_get_hll_global_p_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
24060 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
24061 PMC
* const hll_ns
= Parrot_get_ctx_HLL_namespace(interp
);
24062 PREG(1) = Parrot_ns_find_global_from_op(interp
, hll_ns
, SREG(2), cur_opcode
+ 3);
24064 return (opcode_t
*)cur_opcode
+ 3;}
24067 Parrot_get_hll_global_p_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
24068 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
24069 PMC
* const hll_ns
= Parrot_get_ctx_HLL_namespace(interp
);
24070 PREG(1) = Parrot_ns_find_global_from_op(interp
, hll_ns
, CONST(2).u
.string
, cur_opcode
+ 3);
24072 return (opcode_t
*)cur_opcode
+ 3;}
24075 Parrot_get_hll_global_p_p_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
24076 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
24077 PMC
* const hll_ns
= Parrot_get_ctx_HLL_namespace(interp
);
24078 if (PMC_IS_NULL(hll_ns
)) {
24082 PMC
* const ns
= Parrot_ns_get_namespace_keyed(interp
, hll_ns
, PREG(2));
24083 if (PMC_IS_NULL(ns
))
24086 PREG(1) = Parrot_ns_find_global_from_op(interp
, ns
, SREG(3), cur_opcode
+ 4);
24089 return (opcode_t
*)cur_opcode
+ 4;}
24092 Parrot_get_hll_global_p_pc_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
24093 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
24094 PMC
* const hll_ns
= Parrot_get_ctx_HLL_namespace(interp
);
24095 if (PMC_IS_NULL(hll_ns
)) {
24099 PMC
* const ns
= Parrot_ns_get_namespace_keyed(interp
, hll_ns
, CONST(2).u
.key
);
24100 if (PMC_IS_NULL(ns
))
24103 PREG(1) = Parrot_ns_find_global_from_op(interp
, ns
, SREG(3), cur_opcode
+ 4);
24106 return (opcode_t
*)cur_opcode
+ 4;}
24109 Parrot_get_hll_global_p_p_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
24110 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
24111 PMC
* const hll_ns
= Parrot_get_ctx_HLL_namespace(interp
);
24112 if (PMC_IS_NULL(hll_ns
)) {
24116 PMC
* const ns
= Parrot_ns_get_namespace_keyed(interp
, hll_ns
, PREG(2));
24117 if (PMC_IS_NULL(ns
))
24120 PREG(1) = Parrot_ns_find_global_from_op(interp
, ns
, CONST(3).u
.string
, cur_opcode
+ 4);
24123 return (opcode_t
*)cur_opcode
+ 4;}
24126 Parrot_get_hll_global_p_pc_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
24127 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
24128 PMC
* const hll_ns
= Parrot_get_ctx_HLL_namespace(interp
);
24129 if (PMC_IS_NULL(hll_ns
)) {
24133 PMC
* const ns
= Parrot_ns_get_namespace_keyed(interp
, hll_ns
, CONST(2).u
.key
);
24134 if (PMC_IS_NULL(ns
))
24137 PREG(1) = Parrot_ns_find_global_from_op(interp
, ns
, CONST(3).u
.string
, cur_opcode
+ 4);
24140 return (opcode_t
*)cur_opcode
+ 4;}
24143 Parrot_get_root_global_p_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
24144 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
24145 PMC
* const root_ns
= interp
->root_namespace
;
24146 PREG(1) = Parrot_ns_find_global_from_op(interp
, root_ns
, SREG(2), cur_opcode
+ 3);
24148 return (opcode_t
*)cur_opcode
+ 3;}
24151 Parrot_get_root_global_p_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
24152 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
24153 PMC
* const root_ns
= interp
->root_namespace
;
24154 PREG(1) = Parrot_ns_find_global_from_op(interp
, root_ns
, CONST(2).u
.string
, cur_opcode
+ 3);
24156 return (opcode_t
*)cur_opcode
+ 3;}
24159 Parrot_get_root_global_p_p_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
24160 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
24161 PMC
* const root_ns
= interp
->root_namespace
;
24162 if (PMC_IS_NULL(root_ns
))
24165 PMC
* const ns
= Parrot_ns_get_namespace_keyed(interp
, root_ns
, PREG(2));
24166 if (PMC_IS_NULL(ns
))
24169 PREG(1) = Parrot_ns_find_global_from_op(interp
, ns
, SREG(3), cur_opcode
+ 4);
24172 return (opcode_t
*)cur_opcode
+ 4;}
24175 Parrot_get_root_global_p_pc_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
24176 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
24177 PMC
* const root_ns
= interp
->root_namespace
;
24178 if (PMC_IS_NULL(root_ns
))
24181 PMC
* const ns
= Parrot_ns_get_namespace_keyed(interp
, root_ns
, CONST(2).u
.key
);
24182 if (PMC_IS_NULL(ns
))
24185 PREG(1) = Parrot_ns_find_global_from_op(interp
, ns
, SREG(3), cur_opcode
+ 4);
24188 return (opcode_t
*)cur_opcode
+ 4;}
24191 Parrot_get_root_global_p_p_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
24192 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
24193 PMC
* const root_ns
= interp
->root_namespace
;
24194 if (PMC_IS_NULL(root_ns
))
24197 PMC
* const ns
= Parrot_ns_get_namespace_keyed(interp
, root_ns
, PREG(2));
24198 if (PMC_IS_NULL(ns
))
24201 PREG(1) = Parrot_ns_find_global_from_op(interp
, ns
, CONST(3).u
.string
, cur_opcode
+ 4);
24204 return (opcode_t
*)cur_opcode
+ 4;}
24207 Parrot_get_root_global_p_pc_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
24208 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
24209 PMC
* const root_ns
= interp
->root_namespace
;
24210 if (PMC_IS_NULL(root_ns
))
24213 PMC
* const ns
= Parrot_ns_get_namespace_keyed(interp
, root_ns
, CONST(2).u
.key
);
24214 if (PMC_IS_NULL(ns
))
24217 PREG(1) = Parrot_ns_find_global_from_op(interp
, ns
, CONST(3).u
.string
, cur_opcode
+ 4);
24220 return (opcode_t
*)cur_opcode
+ 4;}
24223 Parrot_set_global_s_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
24224 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
24225 PMC
* const cur_ns
= Parrot_pcc_get_namespace(interp
, CURRENT_CONTEXT(interp
));
24226 Parrot_ns_set_global(interp
, cur_ns
, SREG(1), PREG(2));
24228 return (opcode_t
*)cur_opcode
+ 3;}
24231 Parrot_set_global_sc_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
24232 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
24233 PMC
* const cur_ns
= Parrot_pcc_get_namespace(interp
, CURRENT_CONTEXT(interp
));
24234 Parrot_ns_set_global(interp
, cur_ns
, CONST(1).u
.string
, PREG(2));
24236 return (opcode_t
*)cur_opcode
+ 3;}
24239 Parrot_set_global_p_s_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
24240 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
24241 PMC
* const cur_ns
= Parrot_pcc_get_namespace(interp
, CURRENT_CONTEXT(interp
));
24242 PMC
* const ns
= Parrot_ns_make_namespace_keyed(interp
, cur_ns
, PREG(1));
24244 Parrot_ns_set_global(interp
, ns
, SREG(2), PREG(3));
24246 return (opcode_t
*)cur_opcode
+ 4;}
24249 Parrot_set_global_pc_s_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
24250 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
24251 PMC
* const cur_ns
= Parrot_pcc_get_namespace(interp
, CURRENT_CONTEXT(interp
));
24252 PMC
* const ns
= Parrot_ns_make_namespace_keyed(interp
, cur_ns
, CONST(1).u
.key
);
24254 Parrot_ns_set_global(interp
, ns
, SREG(2), PREG(3));
24256 return (opcode_t
*)cur_opcode
+ 4;}
24259 Parrot_set_global_p_sc_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
24260 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
24261 PMC
* const cur_ns
= Parrot_pcc_get_namespace(interp
, CURRENT_CONTEXT(interp
));
24262 PMC
* const ns
= Parrot_ns_make_namespace_keyed(interp
, cur_ns
, PREG(1));
24264 Parrot_ns_set_global(interp
, ns
, CONST(2).u
.string
, PREG(3));
24266 return (opcode_t
*)cur_opcode
+ 4;}
24269 Parrot_set_global_pc_sc_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
24270 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
24271 PMC
* const cur_ns
= Parrot_pcc_get_namespace(interp
, CURRENT_CONTEXT(interp
));
24272 PMC
* const ns
= Parrot_ns_make_namespace_keyed(interp
, cur_ns
, CONST(1).u
.key
);
24274 Parrot_ns_set_global(interp
, ns
, CONST(2).u
.string
, PREG(3));
24276 return (opcode_t
*)cur_opcode
+ 4;}
24279 Parrot_set_hll_global_s_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
24280 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
24281 PMC
* const hll_ns
= Parrot_get_ctx_HLL_namespace(interp
);
24282 Parrot_ns_set_global(interp
, hll_ns
, SREG(1), PREG(2));
24284 return (opcode_t
*)cur_opcode
+ 3;}
24287 Parrot_set_hll_global_sc_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
24288 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
24289 PMC
* const hll_ns
= Parrot_get_ctx_HLL_namespace(interp
);
24290 Parrot_ns_set_global(interp
, hll_ns
, CONST(1).u
.string
, PREG(2));
24292 return (opcode_t
*)cur_opcode
+ 3;}
24295 Parrot_set_hll_global_p_s_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
24296 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
24297 PMC
* const hll_ns
= Parrot_get_ctx_HLL_namespace(interp
);
24298 PMC
* const ns
= Parrot_ns_make_namespace_keyed(interp
, hll_ns
, PREG(1));
24300 Parrot_ns_set_global(interp
, ns
, SREG(2), PREG(3));
24302 return (opcode_t
*)cur_opcode
+ 4;}
24305 Parrot_set_hll_global_pc_s_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
24306 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
24307 PMC
* const hll_ns
= Parrot_get_ctx_HLL_namespace(interp
);
24308 PMC
* const ns
= Parrot_ns_make_namespace_keyed(interp
, hll_ns
, CONST(1).u
.key
);
24310 Parrot_ns_set_global(interp
, ns
, SREG(2), PREG(3));
24312 return (opcode_t
*)cur_opcode
+ 4;}
24315 Parrot_set_hll_global_p_sc_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
24316 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
24317 PMC
* const hll_ns
= Parrot_get_ctx_HLL_namespace(interp
);
24318 PMC
* const ns
= Parrot_ns_make_namespace_keyed(interp
, hll_ns
, PREG(1));
24320 Parrot_ns_set_global(interp
, ns
, CONST(2).u
.string
, PREG(3));
24322 return (opcode_t
*)cur_opcode
+ 4;}
24325 Parrot_set_hll_global_pc_sc_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
24326 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
24327 PMC
* const hll_ns
= Parrot_get_ctx_HLL_namespace(interp
);
24328 PMC
* const ns
= Parrot_ns_make_namespace_keyed(interp
, hll_ns
, CONST(1).u
.key
);
24330 Parrot_ns_set_global(interp
, ns
, CONST(2).u
.string
, PREG(3));
24332 return (opcode_t
*)cur_opcode
+ 4;}
24335 Parrot_set_root_global_s_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
24336 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
24337 PMC
* const root_ns
= interp
->root_namespace
;
24338 Parrot_ns_set_global(interp
, root_ns
, SREG(1), PREG(2));
24340 return (opcode_t
*)cur_opcode
+ 3;}
24343 Parrot_set_root_global_sc_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
24344 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
24345 PMC
* const root_ns
= interp
->root_namespace
;
24346 Parrot_ns_set_global(interp
, root_ns
, CONST(1).u
.string
, PREG(2));
24348 return (opcode_t
*)cur_opcode
+ 3;}
24351 Parrot_set_root_global_p_s_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
24352 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
24353 PMC
* const root_ns
= interp
->root_namespace
;
24354 PMC
* const ns
= Parrot_ns_make_namespace_keyed(interp
, root_ns
, PREG(1));
24356 Parrot_ns_set_global(interp
, ns
, SREG(2), PREG(3));
24358 return (opcode_t
*)cur_opcode
+ 4;}
24361 Parrot_set_root_global_pc_s_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
24362 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
24363 PMC
* const root_ns
= interp
->root_namespace
;
24364 PMC
* const ns
= Parrot_ns_make_namespace_keyed(interp
, root_ns
, CONST(1).u
.key
);
24366 Parrot_ns_set_global(interp
, ns
, SREG(2), PREG(3));
24368 return (opcode_t
*)cur_opcode
+ 4;}
24371 Parrot_set_root_global_p_sc_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
24372 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
24373 PMC
* const root_ns
= interp
->root_namespace
;
24374 PMC
* const ns
= Parrot_ns_make_namespace_keyed(interp
, root_ns
, PREG(1));
24376 Parrot_ns_set_global(interp
, ns
, CONST(2).u
.string
, PREG(3));
24378 return (opcode_t
*)cur_opcode
+ 4;}
24381 Parrot_set_root_global_pc_sc_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
24382 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
24383 PMC
* const root_ns
= interp
->root_namespace
;
24384 PMC
* const ns
= Parrot_ns_make_namespace_keyed(interp
, root_ns
, CONST(1).u
.key
);
24386 Parrot_ns_set_global(interp
, ns
, CONST(2).u
.string
, PREG(3));
24388 return (opcode_t
*)cur_opcode
+ 4;}
24391 Parrot_find_name_p_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
24392 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
24394 opcode_t
*handler
= Parrot_ex_throw_from_op_args(interp
, NULL
,
24395 EXCEPTION_INVALID_OPERATION
,
24396 "Tried to find null name");return (opcode_t
*)handler
;
24399 PREG(1) = Parrot_ns_find_named_item(interp
, SREG(2), cur_opcode
+ 3);
24401 return (opcode_t
*)cur_opcode
+ 3;}
24404 Parrot_find_name_p_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
24405 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
24406 if (!CONST(2).u
.string
) {
24407 opcode_t
*handler
= Parrot_ex_throw_from_op_args(interp
, NULL
,
24408 EXCEPTION_INVALID_OPERATION
,
24409 "Tried to find null name");return (opcode_t
*)handler
;
24412 PREG(1) = Parrot_ns_find_named_item(interp
, CONST(2).u
.string
, cur_opcode
+ 3);
24414 return (opcode_t
*)cur_opcode
+ 3;}
24417 Parrot_find_sub_not_null_p_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
24418 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
24419 opcode_t
*dest
= cur_opcode
+ 3;
24420 PMC
*sub
= Parrot_ns_find_named_item(interp
, SREG(2), dest
);
24422 if (PMC_IS_NULL(sub
)) {
24424 Parrot_pcc_set_pc_func(interp
, CURRENT_CONTEXT(interp
), dest
);
24425 handler
= Parrot_ex_throw_from_op_args(interp
, dest
,
24426 EXCEPTION_GLOBAL_NOT_FOUND
,
24427 "Could not find sub %Ss", SREG(2));return (opcode_t
*)handler
;
24432 return (opcode_t
*)cur_opcode
+ 3;}
24435 Parrot_find_sub_not_null_p_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
24436 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
24437 opcode_t
*dest
= cur_opcode
+ 3;
24438 PMC
*sub
= Parrot_ns_find_named_item(interp
, CONST(2).u
.string
, dest
);
24440 if (PMC_IS_NULL(sub
)) {
24442 Parrot_pcc_set_pc_func(interp
, CURRENT_CONTEXT(interp
), dest
);
24443 handler
= Parrot_ex_throw_from_op_args(interp
, dest
,
24444 EXCEPTION_GLOBAL_NOT_FOUND
,
24445 "Could not find sub %Ss", CONST(2).u
.string
);return (opcode_t
*)handler
;
24450 return (opcode_t
*)cur_opcode
+ 3;}
24453 Parrot_trap(opcode_t
*cur_opcode
, PARROT_INTERP
) {
24454 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
24455 #if defined(__GNUC__) && defined(i386)
24456 __asm__("int3"); /* opcode 0xcc */
24458 #if defined(__GNUC__) && defined(PPC)
24459 __asm__("trap"); /* opcode tr 31, 0, 0 */
24462 return (opcode_t
*)cur_opcode
+ 1;}
24465 Parrot_set_label_p_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
24466 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
24467 VTABLE_set_pointer(interp
, PREG(1), (CUR_OPCODE
+ cur_opcode
[2]));
24469 return (opcode_t
*)cur_opcode
+ 3;}
24472 Parrot_get_label_i_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
24473 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
24474 void * const ptr
= VTABLE_get_pointer(interp
, PREG(2));
24475 IREG(1) = PTR2INTVAL(ptr
);
24477 return (opcode_t
*)cur_opcode
+ 3;}
24480 Parrot_fetch_p_p_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
24481 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
24482 PREG(1) = VTABLE_get_pmc_keyed(interp
, PREG(2), PREG(3));
24483 if (PMC_IS_NULL(PREG(1))) {
24484 PMC
* const classobj
= Parrot_oo_get_class(interp
, PREG(4));
24485 if (!PMC_IS_NULL(classobj
))
24486 PREG(1) = VTABLE_instantiate(interp
, classobj
, PMCNULL
);
24488 const INTVAL type
= Parrot_pmc_get_type(interp
, PREG(4));
24490 opcode_t
*dest
= Parrot_ex_throw_from_op_args(
24491 interp
, cur_opcode
+ 5, EXCEPTION_NO_CLASS
,
24492 "Class '%Ss' not found", VTABLE_get_repr(interp
, PREG(4)));return (opcode_t
*)dest
;
24495 PREG(1) = Parrot_pmc_new(interp
, type
);
24499 return (opcode_t
*)cur_opcode
+ 5;}
24502 Parrot_fetch_p_pc_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
24503 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
24504 PREG(1) = VTABLE_get_pmc_keyed(interp
, CONST(2).u
.key
, PREG(3));
24505 if (PMC_IS_NULL(PREG(1))) {
24506 PMC
* const classobj
= Parrot_oo_get_class(interp
, PREG(4));
24507 if (!PMC_IS_NULL(classobj
))
24508 PREG(1) = VTABLE_instantiate(interp
, classobj
, PMCNULL
);
24510 const INTVAL type
= Parrot_pmc_get_type(interp
, PREG(4));
24512 opcode_t
*dest
= Parrot_ex_throw_from_op_args(
24513 interp
, cur_opcode
+ 5, EXCEPTION_NO_CLASS
,
24514 "Class '%Ss' not found", VTABLE_get_repr(interp
, PREG(4)));return (opcode_t
*)dest
;
24517 PREG(1) = Parrot_pmc_new(interp
, type
);
24521 return (opcode_t
*)cur_opcode
+ 5;}
24524 Parrot_fetch_p_p_pc_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
24525 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
24526 PREG(1) = VTABLE_get_pmc_keyed(interp
, PREG(2), CONST(3).u
.key
);
24527 if (PMC_IS_NULL(PREG(1))) {
24528 PMC
* const classobj
= Parrot_oo_get_class(interp
, PREG(4));
24529 if (!PMC_IS_NULL(classobj
))
24530 PREG(1) = VTABLE_instantiate(interp
, classobj
, PMCNULL
);
24532 const INTVAL type
= Parrot_pmc_get_type(interp
, PREG(4));
24534 opcode_t
*dest
= Parrot_ex_throw_from_op_args(
24535 interp
, cur_opcode
+ 5, EXCEPTION_NO_CLASS
,
24536 "Class '%Ss' not found", VTABLE_get_repr(interp
, PREG(4)));return (opcode_t
*)dest
;
24539 PREG(1) = Parrot_pmc_new(interp
, type
);
24543 return (opcode_t
*)cur_opcode
+ 5;}
24546 Parrot_fetch_p_pc_pc_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
24547 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
24548 PREG(1) = VTABLE_get_pmc_keyed(interp
, CONST(2).u
.key
, CONST(3).u
.key
);
24549 if (PMC_IS_NULL(PREG(1))) {
24550 PMC
* const classobj
= Parrot_oo_get_class(interp
, PREG(4));
24551 if (!PMC_IS_NULL(classobj
))
24552 PREG(1) = VTABLE_instantiate(interp
, classobj
, PMCNULL
);
24554 const INTVAL type
= Parrot_pmc_get_type(interp
, PREG(4));
24556 opcode_t
*dest
= Parrot_ex_throw_from_op_args(
24557 interp
, cur_opcode
+ 5, EXCEPTION_NO_CLASS
,
24558 "Class '%Ss' not found", VTABLE_get_repr(interp
, PREG(4)));return (opcode_t
*)dest
;
24561 PREG(1) = Parrot_pmc_new(interp
, type
);
24565 return (opcode_t
*)cur_opcode
+ 5;}
24568 Parrot_fetch_p_p_p_pc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
24569 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
24570 PREG(1) = VTABLE_get_pmc_keyed(interp
, PREG(2), PREG(3));
24571 if (PMC_IS_NULL(PREG(1))) {
24572 PMC
* const classobj
= Parrot_oo_get_class(interp
, CONST(4).u
.key
);
24573 if (!PMC_IS_NULL(classobj
))
24574 PREG(1) = VTABLE_instantiate(interp
, classobj
, PMCNULL
);
24576 const INTVAL type
= Parrot_pmc_get_type(interp
, CONST(4).u
.key
);
24578 opcode_t
*dest
= Parrot_ex_throw_from_op_args(
24579 interp
, cur_opcode
+ 5, EXCEPTION_NO_CLASS
,
24580 "Class '%Ss' not found", VTABLE_get_repr(interp
, CONST(4).u
.key
));return (opcode_t
*)dest
;
24583 PREG(1) = Parrot_pmc_new(interp
, type
);
24587 return (opcode_t
*)cur_opcode
+ 5;}
24590 Parrot_fetch_p_pc_p_pc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
24591 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
24592 PREG(1) = VTABLE_get_pmc_keyed(interp
, CONST(2).u
.key
, PREG(3));
24593 if (PMC_IS_NULL(PREG(1))) {
24594 PMC
* const classobj
= Parrot_oo_get_class(interp
, CONST(4).u
.key
);
24595 if (!PMC_IS_NULL(classobj
))
24596 PREG(1) = VTABLE_instantiate(interp
, classobj
, PMCNULL
);
24598 const INTVAL type
= Parrot_pmc_get_type(interp
, CONST(4).u
.key
);
24600 opcode_t
*dest
= Parrot_ex_throw_from_op_args(
24601 interp
, cur_opcode
+ 5, EXCEPTION_NO_CLASS
,
24602 "Class '%Ss' not found", VTABLE_get_repr(interp
, CONST(4).u
.key
));return (opcode_t
*)dest
;
24605 PREG(1) = Parrot_pmc_new(interp
, type
);
24609 return (opcode_t
*)cur_opcode
+ 5;}
24612 Parrot_fetch_p_p_pc_pc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
24613 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
24614 PREG(1) = VTABLE_get_pmc_keyed(interp
, PREG(2), CONST(3).u
.key
);
24615 if (PMC_IS_NULL(PREG(1))) {
24616 PMC
* const classobj
= Parrot_oo_get_class(interp
, CONST(4).u
.key
);
24617 if (!PMC_IS_NULL(classobj
))
24618 PREG(1) = VTABLE_instantiate(interp
, classobj
, PMCNULL
);
24620 const INTVAL type
= Parrot_pmc_get_type(interp
, CONST(4).u
.key
);
24622 opcode_t
*dest
= Parrot_ex_throw_from_op_args(
24623 interp
, cur_opcode
+ 5, EXCEPTION_NO_CLASS
,
24624 "Class '%Ss' not found", VTABLE_get_repr(interp
, CONST(4).u
.key
));return (opcode_t
*)dest
;
24627 PREG(1) = Parrot_pmc_new(interp
, type
);
24631 return (opcode_t
*)cur_opcode
+ 5;}
24634 Parrot_fetch_p_pc_pc_pc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
24635 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
24636 PREG(1) = VTABLE_get_pmc_keyed(interp
, CONST(2).u
.key
, CONST(3).u
.key
);
24637 if (PMC_IS_NULL(PREG(1))) {
24638 PMC
* const classobj
= Parrot_oo_get_class(interp
, CONST(4).u
.key
);
24639 if (!PMC_IS_NULL(classobj
))
24640 PREG(1) = VTABLE_instantiate(interp
, classobj
, PMCNULL
);
24642 const INTVAL type
= Parrot_pmc_get_type(interp
, CONST(4).u
.key
);
24644 opcode_t
*dest
= Parrot_ex_throw_from_op_args(
24645 interp
, cur_opcode
+ 5, EXCEPTION_NO_CLASS
,
24646 "Class '%Ss' not found", VTABLE_get_repr(interp
, CONST(4).u
.key
));return (opcode_t
*)dest
;
24649 PREG(1) = Parrot_pmc_new(interp
, type
);
24653 return (opcode_t
*)cur_opcode
+ 5;}
24656 Parrot_fetch_p_p_i_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
24657 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
24658 PREG(1) = VTABLE_get_pmc_keyed_int(interp
, PREG(2), IREG(3));
24659 if (PMC_IS_NULL(PREG(1))) {
24660 PMC
* const classobj
= Parrot_oo_get_class(interp
, PREG(4));
24661 if (!PMC_IS_NULL(classobj
))
24662 PREG(1) = VTABLE_instantiate(interp
, classobj
, PMCNULL
);
24664 const INTVAL type
= Parrot_pmc_get_type(interp
, PREG(4));
24666 opcode_t
*dest
= Parrot_ex_throw_from_op_args(
24667 interp
, cur_opcode
+ 5, EXCEPTION_NO_CLASS
,
24668 "Class '%Ss' not found", VTABLE_get_repr(interp
, PREG(4)));return (opcode_t
*)dest
;
24671 PREG(1) = Parrot_pmc_new(interp
, type
);
24675 return (opcode_t
*)cur_opcode
+ 5;}
24678 Parrot_fetch_p_pc_i_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
24679 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
24680 PREG(1) = VTABLE_get_pmc_keyed_int(interp
, CONST(2).u
.key
, IREG(3));
24681 if (PMC_IS_NULL(PREG(1))) {
24682 PMC
* const classobj
= Parrot_oo_get_class(interp
, PREG(4));
24683 if (!PMC_IS_NULL(classobj
))
24684 PREG(1) = VTABLE_instantiate(interp
, classobj
, PMCNULL
);
24686 const INTVAL type
= Parrot_pmc_get_type(interp
, PREG(4));
24688 opcode_t
*dest
= Parrot_ex_throw_from_op_args(
24689 interp
, cur_opcode
+ 5, EXCEPTION_NO_CLASS
,
24690 "Class '%Ss' not found", VTABLE_get_repr(interp
, PREG(4)));return (opcode_t
*)dest
;
24693 PREG(1) = Parrot_pmc_new(interp
, type
);
24697 return (opcode_t
*)cur_opcode
+ 5;}
24700 Parrot_fetch_p_p_ic_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
24701 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
24702 PREG(1) = VTABLE_get_pmc_keyed_int(interp
, PREG(2), cur_opcode
[3]);
24703 if (PMC_IS_NULL(PREG(1))) {
24704 PMC
* const classobj
= Parrot_oo_get_class(interp
, PREG(4));
24705 if (!PMC_IS_NULL(classobj
))
24706 PREG(1) = VTABLE_instantiate(interp
, classobj
, PMCNULL
);
24708 const INTVAL type
= Parrot_pmc_get_type(interp
, PREG(4));
24710 opcode_t
*dest
= Parrot_ex_throw_from_op_args(
24711 interp
, cur_opcode
+ 5, EXCEPTION_NO_CLASS
,
24712 "Class '%Ss' not found", VTABLE_get_repr(interp
, PREG(4)));return (opcode_t
*)dest
;
24715 PREG(1) = Parrot_pmc_new(interp
, type
);
24719 return (opcode_t
*)cur_opcode
+ 5;}
24722 Parrot_fetch_p_pc_ic_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
24723 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
24724 PREG(1) = VTABLE_get_pmc_keyed_int(interp
, CONST(2).u
.key
, cur_opcode
[3]);
24725 if (PMC_IS_NULL(PREG(1))) {
24726 PMC
* const classobj
= Parrot_oo_get_class(interp
, PREG(4));
24727 if (!PMC_IS_NULL(classobj
))
24728 PREG(1) = VTABLE_instantiate(interp
, classobj
, PMCNULL
);
24730 const INTVAL type
= Parrot_pmc_get_type(interp
, PREG(4));
24732 opcode_t
*dest
= Parrot_ex_throw_from_op_args(
24733 interp
, cur_opcode
+ 5, EXCEPTION_NO_CLASS
,
24734 "Class '%Ss' not found", VTABLE_get_repr(interp
, PREG(4)));return (opcode_t
*)dest
;
24737 PREG(1) = Parrot_pmc_new(interp
, type
);
24741 return (opcode_t
*)cur_opcode
+ 5;}
24744 Parrot_fetch_p_p_i_pc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
24745 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
24746 PREG(1) = VTABLE_get_pmc_keyed_int(interp
, PREG(2), IREG(3));
24747 if (PMC_IS_NULL(PREG(1))) {
24748 PMC
* const classobj
= Parrot_oo_get_class(interp
, CONST(4).u
.key
);
24749 if (!PMC_IS_NULL(classobj
))
24750 PREG(1) = VTABLE_instantiate(interp
, classobj
, PMCNULL
);
24752 const INTVAL type
= Parrot_pmc_get_type(interp
, CONST(4).u
.key
);
24754 opcode_t
*dest
= Parrot_ex_throw_from_op_args(
24755 interp
, cur_opcode
+ 5, EXCEPTION_NO_CLASS
,
24756 "Class '%Ss' not found", VTABLE_get_repr(interp
, CONST(4).u
.key
));return (opcode_t
*)dest
;
24759 PREG(1) = Parrot_pmc_new(interp
, type
);
24763 return (opcode_t
*)cur_opcode
+ 5;}
24766 Parrot_fetch_p_pc_i_pc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
24767 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
24768 PREG(1) = VTABLE_get_pmc_keyed_int(interp
, CONST(2).u
.key
, IREG(3));
24769 if (PMC_IS_NULL(PREG(1))) {
24770 PMC
* const classobj
= Parrot_oo_get_class(interp
, CONST(4).u
.key
);
24771 if (!PMC_IS_NULL(classobj
))
24772 PREG(1) = VTABLE_instantiate(interp
, classobj
, PMCNULL
);
24774 const INTVAL type
= Parrot_pmc_get_type(interp
, CONST(4).u
.key
);
24776 opcode_t
*dest
= Parrot_ex_throw_from_op_args(
24777 interp
, cur_opcode
+ 5, EXCEPTION_NO_CLASS
,
24778 "Class '%Ss' not found", VTABLE_get_repr(interp
, CONST(4).u
.key
));return (opcode_t
*)dest
;
24781 PREG(1) = Parrot_pmc_new(interp
, type
);
24785 return (opcode_t
*)cur_opcode
+ 5;}
24788 Parrot_fetch_p_p_ic_pc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
24789 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
24790 PREG(1) = VTABLE_get_pmc_keyed_int(interp
, PREG(2), cur_opcode
[3]);
24791 if (PMC_IS_NULL(PREG(1))) {
24792 PMC
* const classobj
= Parrot_oo_get_class(interp
, CONST(4).u
.key
);
24793 if (!PMC_IS_NULL(classobj
))
24794 PREG(1) = VTABLE_instantiate(interp
, classobj
, PMCNULL
);
24796 const INTVAL type
= Parrot_pmc_get_type(interp
, CONST(4).u
.key
);
24798 opcode_t
*dest
= Parrot_ex_throw_from_op_args(
24799 interp
, cur_opcode
+ 5, EXCEPTION_NO_CLASS
,
24800 "Class '%Ss' not found", VTABLE_get_repr(interp
, CONST(4).u
.key
));return (opcode_t
*)dest
;
24803 PREG(1) = Parrot_pmc_new(interp
, type
);
24807 return (opcode_t
*)cur_opcode
+ 5;}
24810 Parrot_fetch_p_pc_ic_pc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
24811 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
24812 PREG(1) = VTABLE_get_pmc_keyed_int(interp
, CONST(2).u
.key
, cur_opcode
[3]);
24813 if (PMC_IS_NULL(PREG(1))) {
24814 PMC
* const classobj
= Parrot_oo_get_class(interp
, CONST(4).u
.key
);
24815 if (!PMC_IS_NULL(classobj
))
24816 PREG(1) = VTABLE_instantiate(interp
, classobj
, PMCNULL
);
24818 const INTVAL type
= Parrot_pmc_get_type(interp
, CONST(4).u
.key
);
24820 opcode_t
*dest
= Parrot_ex_throw_from_op_args(
24821 interp
, cur_opcode
+ 5, EXCEPTION_NO_CLASS
,
24822 "Class '%Ss' not found", VTABLE_get_repr(interp
, CONST(4).u
.key
));return (opcode_t
*)dest
;
24825 PREG(1) = Parrot_pmc_new(interp
, type
);
24829 return (opcode_t
*)cur_opcode
+ 5;}
24832 Parrot_fetch_p_p_s_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
24833 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
24834 PREG(1) = VTABLE_get_pmc_keyed_str(interp
, PREG(2), SREG(3));
24835 if (PMC_IS_NULL(PREG(1))) {
24836 PMC
* const classobj
= Parrot_oo_get_class(interp
, PREG(4));
24837 if (!PMC_IS_NULL(classobj
))
24838 PREG(1) = VTABLE_instantiate(interp
, classobj
, PMCNULL
);
24840 const INTVAL type
= Parrot_pmc_get_type(interp
, PREG(4));
24842 opcode_t
*dest
= Parrot_ex_throw_from_op_args(
24843 interp
, cur_opcode
+ 5, EXCEPTION_NO_CLASS
,
24844 "Class '%Ss' not found", VTABLE_get_repr(interp
, PREG(4)));return (opcode_t
*)dest
;
24847 PREG(1) = Parrot_pmc_new(interp
, type
);
24851 return (opcode_t
*)cur_opcode
+ 5;}
24854 Parrot_fetch_p_pc_s_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
24855 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
24856 PREG(1) = VTABLE_get_pmc_keyed_str(interp
, CONST(2).u
.key
, SREG(3));
24857 if (PMC_IS_NULL(PREG(1))) {
24858 PMC
* const classobj
= Parrot_oo_get_class(interp
, PREG(4));
24859 if (!PMC_IS_NULL(classobj
))
24860 PREG(1) = VTABLE_instantiate(interp
, classobj
, PMCNULL
);
24862 const INTVAL type
= Parrot_pmc_get_type(interp
, PREG(4));
24864 opcode_t
*dest
= Parrot_ex_throw_from_op_args(
24865 interp
, cur_opcode
+ 5, EXCEPTION_NO_CLASS
,
24866 "Class '%Ss' not found", VTABLE_get_repr(interp
, PREG(4)));return (opcode_t
*)dest
;
24869 PREG(1) = Parrot_pmc_new(interp
, type
);
24873 return (opcode_t
*)cur_opcode
+ 5;}
24876 Parrot_fetch_p_p_sc_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
24877 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
24878 PREG(1) = VTABLE_get_pmc_keyed_str(interp
, PREG(2), CONST(3).u
.string
);
24879 if (PMC_IS_NULL(PREG(1))) {
24880 PMC
* const classobj
= Parrot_oo_get_class(interp
, PREG(4));
24881 if (!PMC_IS_NULL(classobj
))
24882 PREG(1) = VTABLE_instantiate(interp
, classobj
, PMCNULL
);
24884 const INTVAL type
= Parrot_pmc_get_type(interp
, PREG(4));
24886 opcode_t
*dest
= Parrot_ex_throw_from_op_args(
24887 interp
, cur_opcode
+ 5, EXCEPTION_NO_CLASS
,
24888 "Class '%Ss' not found", VTABLE_get_repr(interp
, PREG(4)));return (opcode_t
*)dest
;
24891 PREG(1) = Parrot_pmc_new(interp
, type
);
24895 return (opcode_t
*)cur_opcode
+ 5;}
24898 Parrot_fetch_p_pc_sc_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
24899 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
24900 PREG(1) = VTABLE_get_pmc_keyed_str(interp
, CONST(2).u
.key
, CONST(3).u
.string
);
24901 if (PMC_IS_NULL(PREG(1))) {
24902 PMC
* const classobj
= Parrot_oo_get_class(interp
, PREG(4));
24903 if (!PMC_IS_NULL(classobj
))
24904 PREG(1) = VTABLE_instantiate(interp
, classobj
, PMCNULL
);
24906 const INTVAL type
= Parrot_pmc_get_type(interp
, PREG(4));
24908 opcode_t
*dest
= Parrot_ex_throw_from_op_args(
24909 interp
, cur_opcode
+ 5, EXCEPTION_NO_CLASS
,
24910 "Class '%Ss' not found", VTABLE_get_repr(interp
, PREG(4)));return (opcode_t
*)dest
;
24913 PREG(1) = Parrot_pmc_new(interp
, type
);
24917 return (opcode_t
*)cur_opcode
+ 5;}
24920 Parrot_fetch_p_p_s_pc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
24921 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
24922 PREG(1) = VTABLE_get_pmc_keyed_str(interp
, PREG(2), SREG(3));
24923 if (PMC_IS_NULL(PREG(1))) {
24924 PMC
* const classobj
= Parrot_oo_get_class(interp
, CONST(4).u
.key
);
24925 if (!PMC_IS_NULL(classobj
))
24926 PREG(1) = VTABLE_instantiate(interp
, classobj
, PMCNULL
);
24928 const INTVAL type
= Parrot_pmc_get_type(interp
, CONST(4).u
.key
);
24930 opcode_t
*dest
= Parrot_ex_throw_from_op_args(
24931 interp
, cur_opcode
+ 5, EXCEPTION_NO_CLASS
,
24932 "Class '%Ss' not found", VTABLE_get_repr(interp
, CONST(4).u
.key
));return (opcode_t
*)dest
;
24935 PREG(1) = Parrot_pmc_new(interp
, type
);
24939 return (opcode_t
*)cur_opcode
+ 5;}
24942 Parrot_fetch_p_pc_s_pc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
24943 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
24944 PREG(1) = VTABLE_get_pmc_keyed_str(interp
, CONST(2).u
.key
, SREG(3));
24945 if (PMC_IS_NULL(PREG(1))) {
24946 PMC
* const classobj
= Parrot_oo_get_class(interp
, CONST(4).u
.key
);
24947 if (!PMC_IS_NULL(classobj
))
24948 PREG(1) = VTABLE_instantiate(interp
, classobj
, PMCNULL
);
24950 const INTVAL type
= Parrot_pmc_get_type(interp
, CONST(4).u
.key
);
24952 opcode_t
*dest
= Parrot_ex_throw_from_op_args(
24953 interp
, cur_opcode
+ 5, EXCEPTION_NO_CLASS
,
24954 "Class '%Ss' not found", VTABLE_get_repr(interp
, CONST(4).u
.key
));return (opcode_t
*)dest
;
24957 PREG(1) = Parrot_pmc_new(interp
, type
);
24961 return (opcode_t
*)cur_opcode
+ 5;}
24964 Parrot_fetch_p_p_sc_pc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
24965 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
24966 PREG(1) = VTABLE_get_pmc_keyed_str(interp
, PREG(2), CONST(3).u
.string
);
24967 if (PMC_IS_NULL(PREG(1))) {
24968 PMC
* const classobj
= Parrot_oo_get_class(interp
, CONST(4).u
.key
);
24969 if (!PMC_IS_NULL(classobj
))
24970 PREG(1) = VTABLE_instantiate(interp
, classobj
, PMCNULL
);
24972 const INTVAL type
= Parrot_pmc_get_type(interp
, CONST(4).u
.key
);
24974 opcode_t
*dest
= Parrot_ex_throw_from_op_args(
24975 interp
, cur_opcode
+ 5, EXCEPTION_NO_CLASS
,
24976 "Class '%Ss' not found", VTABLE_get_repr(interp
, CONST(4).u
.key
));return (opcode_t
*)dest
;
24979 PREG(1) = Parrot_pmc_new(interp
, type
);
24983 return (opcode_t
*)cur_opcode
+ 5;}
24986 Parrot_fetch_p_pc_sc_pc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
24987 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
24988 PREG(1) = VTABLE_get_pmc_keyed_str(interp
, CONST(2).u
.key
, CONST(3).u
.string
);
24989 if (PMC_IS_NULL(PREG(1))) {
24990 PMC
* const classobj
= Parrot_oo_get_class(interp
, CONST(4).u
.key
);
24991 if (!PMC_IS_NULL(classobj
))
24992 PREG(1) = VTABLE_instantiate(interp
, classobj
, PMCNULL
);
24994 const INTVAL type
= Parrot_pmc_get_type(interp
, CONST(4).u
.key
);
24996 opcode_t
*dest
= Parrot_ex_throw_from_op_args(
24997 interp
, cur_opcode
+ 5, EXCEPTION_NO_CLASS
,
24998 "Class '%Ss' not found", VTABLE_get_repr(interp
, CONST(4).u
.key
));return (opcode_t
*)dest
;
25001 PREG(1) = Parrot_pmc_new(interp
, type
);
25005 return (opcode_t
*)cur_opcode
+ 5;}
25008 Parrot_vivify_p_p_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
25009 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
25010 PREG(1) = VTABLE_get_pmc_keyed(interp
, PREG(2), PREG(3));
25012 if (PMC_IS_NULL(PREG(1))) {
25013 PMC
* const classobj
= Parrot_oo_get_class(interp
, PREG(4));
25015 if (!PMC_IS_NULL(classobj
))
25016 PREG(1) = VTABLE_instantiate(interp
, classobj
, PMCNULL
);
25018 const INTVAL type
= Parrot_pmc_get_type(interp
, PREG(4));
25020 opcode_t
*dest
= Parrot_ex_throw_from_op_args(
25021 interp
, cur_opcode
+ 5, EXCEPTION_NO_CLASS
,
25022 "Class '%Ss' not found", VTABLE_get_repr(interp
, PREG(4)));return (opcode_t
*)dest
;
25025 PREG(1) = Parrot_pmc_new(interp
, type
);
25027 VTABLE_set_pmc_keyed(interp
, PREG(2), PREG(3), PREG(1));
25030 return (opcode_t
*)cur_opcode
+ 5;}
25033 Parrot_vivify_p_pc_p_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
25034 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
25035 PREG(1) = VTABLE_get_pmc_keyed(interp
, CONST(2).u
.key
, PREG(3));
25037 if (PMC_IS_NULL(PREG(1))) {
25038 PMC
* const classobj
= Parrot_oo_get_class(interp
, PREG(4));
25040 if (!PMC_IS_NULL(classobj
))
25041 PREG(1) = VTABLE_instantiate(interp
, classobj
, PMCNULL
);
25043 const INTVAL type
= Parrot_pmc_get_type(interp
, PREG(4));
25045 opcode_t
*dest
= Parrot_ex_throw_from_op_args(
25046 interp
, cur_opcode
+ 5, EXCEPTION_NO_CLASS
,
25047 "Class '%Ss' not found", VTABLE_get_repr(interp
, PREG(4)));return (opcode_t
*)dest
;
25050 PREG(1) = Parrot_pmc_new(interp
, type
);
25052 VTABLE_set_pmc_keyed(interp
, CONST(2).u
.key
, PREG(3), PREG(1));
25055 return (opcode_t
*)cur_opcode
+ 5;}
25058 Parrot_vivify_p_p_pc_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
25059 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
25060 PREG(1) = VTABLE_get_pmc_keyed(interp
, PREG(2), CONST(3).u
.key
);
25062 if (PMC_IS_NULL(PREG(1))) {
25063 PMC
* const classobj
= Parrot_oo_get_class(interp
, PREG(4));
25065 if (!PMC_IS_NULL(classobj
))
25066 PREG(1) = VTABLE_instantiate(interp
, classobj
, PMCNULL
);
25068 const INTVAL type
= Parrot_pmc_get_type(interp
, PREG(4));
25070 opcode_t
*dest
= Parrot_ex_throw_from_op_args(
25071 interp
, cur_opcode
+ 5, EXCEPTION_NO_CLASS
,
25072 "Class '%Ss' not found", VTABLE_get_repr(interp
, PREG(4)));return (opcode_t
*)dest
;
25075 PREG(1) = Parrot_pmc_new(interp
, type
);
25077 VTABLE_set_pmc_keyed(interp
, PREG(2), CONST(3).u
.key
, PREG(1));
25080 return (opcode_t
*)cur_opcode
+ 5;}
25083 Parrot_vivify_p_pc_pc_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
25084 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
25085 PREG(1) = VTABLE_get_pmc_keyed(interp
, CONST(2).u
.key
, CONST(3).u
.key
);
25087 if (PMC_IS_NULL(PREG(1))) {
25088 PMC
* const classobj
= Parrot_oo_get_class(interp
, PREG(4));
25090 if (!PMC_IS_NULL(classobj
))
25091 PREG(1) = VTABLE_instantiate(interp
, classobj
, PMCNULL
);
25093 const INTVAL type
= Parrot_pmc_get_type(interp
, PREG(4));
25095 opcode_t
*dest
= Parrot_ex_throw_from_op_args(
25096 interp
, cur_opcode
+ 5, EXCEPTION_NO_CLASS
,
25097 "Class '%Ss' not found", VTABLE_get_repr(interp
, PREG(4)));return (opcode_t
*)dest
;
25100 PREG(1) = Parrot_pmc_new(interp
, type
);
25102 VTABLE_set_pmc_keyed(interp
, CONST(2).u
.key
, CONST(3).u
.key
, PREG(1));
25105 return (opcode_t
*)cur_opcode
+ 5;}
25108 Parrot_vivify_p_p_p_pc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
25109 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
25110 PREG(1) = VTABLE_get_pmc_keyed(interp
, PREG(2), PREG(3));
25112 if (PMC_IS_NULL(PREG(1))) {
25113 PMC
* const classobj
= Parrot_oo_get_class(interp
, CONST(4).u
.key
);
25115 if (!PMC_IS_NULL(classobj
))
25116 PREG(1) = VTABLE_instantiate(interp
, classobj
, PMCNULL
);
25118 const INTVAL type
= Parrot_pmc_get_type(interp
, CONST(4).u
.key
);
25120 opcode_t
*dest
= Parrot_ex_throw_from_op_args(
25121 interp
, cur_opcode
+ 5, EXCEPTION_NO_CLASS
,
25122 "Class '%Ss' not found", VTABLE_get_repr(interp
, CONST(4).u
.key
));return (opcode_t
*)dest
;
25125 PREG(1) = Parrot_pmc_new(interp
, type
);
25127 VTABLE_set_pmc_keyed(interp
, PREG(2), PREG(3), PREG(1));
25130 return (opcode_t
*)cur_opcode
+ 5;}
25133 Parrot_vivify_p_pc_p_pc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
25134 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
25135 PREG(1) = VTABLE_get_pmc_keyed(interp
, CONST(2).u
.key
, PREG(3));
25137 if (PMC_IS_NULL(PREG(1))) {
25138 PMC
* const classobj
= Parrot_oo_get_class(interp
, CONST(4).u
.key
);
25140 if (!PMC_IS_NULL(classobj
))
25141 PREG(1) = VTABLE_instantiate(interp
, classobj
, PMCNULL
);
25143 const INTVAL type
= Parrot_pmc_get_type(interp
, CONST(4).u
.key
);
25145 opcode_t
*dest
= Parrot_ex_throw_from_op_args(
25146 interp
, cur_opcode
+ 5, EXCEPTION_NO_CLASS
,
25147 "Class '%Ss' not found", VTABLE_get_repr(interp
, CONST(4).u
.key
));return (opcode_t
*)dest
;
25150 PREG(1) = Parrot_pmc_new(interp
, type
);
25152 VTABLE_set_pmc_keyed(interp
, CONST(2).u
.key
, PREG(3), PREG(1));
25155 return (opcode_t
*)cur_opcode
+ 5;}
25158 Parrot_vivify_p_p_pc_pc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
25159 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
25160 PREG(1) = VTABLE_get_pmc_keyed(interp
, PREG(2), CONST(3).u
.key
);
25162 if (PMC_IS_NULL(PREG(1))) {
25163 PMC
* const classobj
= Parrot_oo_get_class(interp
, CONST(4).u
.key
);
25165 if (!PMC_IS_NULL(classobj
))
25166 PREG(1) = VTABLE_instantiate(interp
, classobj
, PMCNULL
);
25168 const INTVAL type
= Parrot_pmc_get_type(interp
, CONST(4).u
.key
);
25170 opcode_t
*dest
= Parrot_ex_throw_from_op_args(
25171 interp
, cur_opcode
+ 5, EXCEPTION_NO_CLASS
,
25172 "Class '%Ss' not found", VTABLE_get_repr(interp
, CONST(4).u
.key
));return (opcode_t
*)dest
;
25175 PREG(1) = Parrot_pmc_new(interp
, type
);
25177 VTABLE_set_pmc_keyed(interp
, PREG(2), CONST(3).u
.key
, PREG(1));
25180 return (opcode_t
*)cur_opcode
+ 5;}
25183 Parrot_vivify_p_pc_pc_pc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
25184 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
25185 PREG(1) = VTABLE_get_pmc_keyed(interp
, CONST(2).u
.key
, CONST(3).u
.key
);
25187 if (PMC_IS_NULL(PREG(1))) {
25188 PMC
* const classobj
= Parrot_oo_get_class(interp
, CONST(4).u
.key
);
25190 if (!PMC_IS_NULL(classobj
))
25191 PREG(1) = VTABLE_instantiate(interp
, classobj
, PMCNULL
);
25193 const INTVAL type
= Parrot_pmc_get_type(interp
, CONST(4).u
.key
);
25195 opcode_t
*dest
= Parrot_ex_throw_from_op_args(
25196 interp
, cur_opcode
+ 5, EXCEPTION_NO_CLASS
,
25197 "Class '%Ss' not found", VTABLE_get_repr(interp
, CONST(4).u
.key
));return (opcode_t
*)dest
;
25200 PREG(1) = Parrot_pmc_new(interp
, type
);
25202 VTABLE_set_pmc_keyed(interp
, CONST(2).u
.key
, CONST(3).u
.key
, PREG(1));
25205 return (opcode_t
*)cur_opcode
+ 5;}
25208 Parrot_vivify_p_p_i_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
25209 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
25210 PREG(1) = VTABLE_get_pmc_keyed_int(interp
, PREG(2), IREG(3));
25212 if (PMC_IS_NULL(PREG(1))) {
25213 PMC
* const classobj
= Parrot_oo_get_class(interp
, PREG(4));
25214 if (!PMC_IS_NULL(classobj
))
25215 PREG(1) = VTABLE_instantiate(interp
, classobj
, PMCNULL
);
25217 const INTVAL type
= Parrot_pmc_get_type(interp
, PREG(4));
25219 opcode_t
*dest
= Parrot_ex_throw_from_op_args(
25220 interp
, cur_opcode
+ 5, EXCEPTION_NO_CLASS
,
25221 "Class '%Ss' not found", VTABLE_get_repr(interp
, PREG(4)));return (opcode_t
*)dest
;
25224 PREG(1) = Parrot_pmc_new(interp
, type
);
25227 VTABLE_set_pmc_keyed_int(interp
, PREG(2), IREG(3), PREG(1));
25230 return (opcode_t
*)cur_opcode
+ 5;}
25233 Parrot_vivify_p_pc_i_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
25234 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
25235 PREG(1) = VTABLE_get_pmc_keyed_int(interp
, CONST(2).u
.key
, IREG(3));
25237 if (PMC_IS_NULL(PREG(1))) {
25238 PMC
* const classobj
= Parrot_oo_get_class(interp
, PREG(4));
25239 if (!PMC_IS_NULL(classobj
))
25240 PREG(1) = VTABLE_instantiate(interp
, classobj
, PMCNULL
);
25242 const INTVAL type
= Parrot_pmc_get_type(interp
, PREG(4));
25244 opcode_t
*dest
= Parrot_ex_throw_from_op_args(
25245 interp
, cur_opcode
+ 5, EXCEPTION_NO_CLASS
,
25246 "Class '%Ss' not found", VTABLE_get_repr(interp
, PREG(4)));return (opcode_t
*)dest
;
25249 PREG(1) = Parrot_pmc_new(interp
, type
);
25252 VTABLE_set_pmc_keyed_int(interp
, CONST(2).u
.key
, IREG(3), PREG(1));
25255 return (opcode_t
*)cur_opcode
+ 5;}
25258 Parrot_vivify_p_p_ic_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
25259 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
25260 PREG(1) = VTABLE_get_pmc_keyed_int(interp
, PREG(2), cur_opcode
[3]);
25262 if (PMC_IS_NULL(PREG(1))) {
25263 PMC
* const classobj
= Parrot_oo_get_class(interp
, PREG(4));
25264 if (!PMC_IS_NULL(classobj
))
25265 PREG(1) = VTABLE_instantiate(interp
, classobj
, PMCNULL
);
25267 const INTVAL type
= Parrot_pmc_get_type(interp
, PREG(4));
25269 opcode_t
*dest
= Parrot_ex_throw_from_op_args(
25270 interp
, cur_opcode
+ 5, EXCEPTION_NO_CLASS
,
25271 "Class '%Ss' not found", VTABLE_get_repr(interp
, PREG(4)));return (opcode_t
*)dest
;
25274 PREG(1) = Parrot_pmc_new(interp
, type
);
25277 VTABLE_set_pmc_keyed_int(interp
, PREG(2), cur_opcode
[3], PREG(1));
25280 return (opcode_t
*)cur_opcode
+ 5;}
25283 Parrot_vivify_p_pc_ic_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
25284 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
25285 PREG(1) = VTABLE_get_pmc_keyed_int(interp
, CONST(2).u
.key
, cur_opcode
[3]);
25287 if (PMC_IS_NULL(PREG(1))) {
25288 PMC
* const classobj
= Parrot_oo_get_class(interp
, PREG(4));
25289 if (!PMC_IS_NULL(classobj
))
25290 PREG(1) = VTABLE_instantiate(interp
, classobj
, PMCNULL
);
25292 const INTVAL type
= Parrot_pmc_get_type(interp
, PREG(4));
25294 opcode_t
*dest
= Parrot_ex_throw_from_op_args(
25295 interp
, cur_opcode
+ 5, EXCEPTION_NO_CLASS
,
25296 "Class '%Ss' not found", VTABLE_get_repr(interp
, PREG(4)));return (opcode_t
*)dest
;
25299 PREG(1) = Parrot_pmc_new(interp
, type
);
25302 VTABLE_set_pmc_keyed_int(interp
, CONST(2).u
.key
, cur_opcode
[3], PREG(1));
25305 return (opcode_t
*)cur_opcode
+ 5;}
25308 Parrot_vivify_p_p_i_pc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
25309 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
25310 PREG(1) = VTABLE_get_pmc_keyed_int(interp
, PREG(2), IREG(3));
25312 if (PMC_IS_NULL(PREG(1))) {
25313 PMC
* const classobj
= Parrot_oo_get_class(interp
, CONST(4).u
.key
);
25314 if (!PMC_IS_NULL(classobj
))
25315 PREG(1) = VTABLE_instantiate(interp
, classobj
, PMCNULL
);
25317 const INTVAL type
= Parrot_pmc_get_type(interp
, CONST(4).u
.key
);
25319 opcode_t
*dest
= Parrot_ex_throw_from_op_args(
25320 interp
, cur_opcode
+ 5, EXCEPTION_NO_CLASS
,
25321 "Class '%Ss' not found", VTABLE_get_repr(interp
, CONST(4).u
.key
));return (opcode_t
*)dest
;
25324 PREG(1) = Parrot_pmc_new(interp
, type
);
25327 VTABLE_set_pmc_keyed_int(interp
, PREG(2), IREG(3), PREG(1));
25330 return (opcode_t
*)cur_opcode
+ 5;}
25333 Parrot_vivify_p_pc_i_pc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
25334 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
25335 PREG(1) = VTABLE_get_pmc_keyed_int(interp
, CONST(2).u
.key
, IREG(3));
25337 if (PMC_IS_NULL(PREG(1))) {
25338 PMC
* const classobj
= Parrot_oo_get_class(interp
, CONST(4).u
.key
);
25339 if (!PMC_IS_NULL(classobj
))
25340 PREG(1) = VTABLE_instantiate(interp
, classobj
, PMCNULL
);
25342 const INTVAL type
= Parrot_pmc_get_type(interp
, CONST(4).u
.key
);
25344 opcode_t
*dest
= Parrot_ex_throw_from_op_args(
25345 interp
, cur_opcode
+ 5, EXCEPTION_NO_CLASS
,
25346 "Class '%Ss' not found", VTABLE_get_repr(interp
, CONST(4).u
.key
));return (opcode_t
*)dest
;
25349 PREG(1) = Parrot_pmc_new(interp
, type
);
25352 VTABLE_set_pmc_keyed_int(interp
, CONST(2).u
.key
, IREG(3), PREG(1));
25355 return (opcode_t
*)cur_opcode
+ 5;}
25358 Parrot_vivify_p_p_ic_pc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
25359 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
25360 PREG(1) = VTABLE_get_pmc_keyed_int(interp
, PREG(2), cur_opcode
[3]);
25362 if (PMC_IS_NULL(PREG(1))) {
25363 PMC
* const classobj
= Parrot_oo_get_class(interp
, CONST(4).u
.key
);
25364 if (!PMC_IS_NULL(classobj
))
25365 PREG(1) = VTABLE_instantiate(interp
, classobj
, PMCNULL
);
25367 const INTVAL type
= Parrot_pmc_get_type(interp
, CONST(4).u
.key
);
25369 opcode_t
*dest
= Parrot_ex_throw_from_op_args(
25370 interp
, cur_opcode
+ 5, EXCEPTION_NO_CLASS
,
25371 "Class '%Ss' not found", VTABLE_get_repr(interp
, CONST(4).u
.key
));return (opcode_t
*)dest
;
25374 PREG(1) = Parrot_pmc_new(interp
, type
);
25377 VTABLE_set_pmc_keyed_int(interp
, PREG(2), cur_opcode
[3], PREG(1));
25380 return (opcode_t
*)cur_opcode
+ 5;}
25383 Parrot_vivify_p_pc_ic_pc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
25384 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
25385 PREG(1) = VTABLE_get_pmc_keyed_int(interp
, CONST(2).u
.key
, cur_opcode
[3]);
25387 if (PMC_IS_NULL(PREG(1))) {
25388 PMC
* const classobj
= Parrot_oo_get_class(interp
, CONST(4).u
.key
);
25389 if (!PMC_IS_NULL(classobj
))
25390 PREG(1) = VTABLE_instantiate(interp
, classobj
, PMCNULL
);
25392 const INTVAL type
= Parrot_pmc_get_type(interp
, CONST(4).u
.key
);
25394 opcode_t
*dest
= Parrot_ex_throw_from_op_args(
25395 interp
, cur_opcode
+ 5, EXCEPTION_NO_CLASS
,
25396 "Class '%Ss' not found", VTABLE_get_repr(interp
, CONST(4).u
.key
));return (opcode_t
*)dest
;
25399 PREG(1) = Parrot_pmc_new(interp
, type
);
25402 VTABLE_set_pmc_keyed_int(interp
, CONST(2).u
.key
, cur_opcode
[3], PREG(1));
25405 return (opcode_t
*)cur_opcode
+ 5;}
25408 Parrot_vivify_p_p_s_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
25409 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
25410 PREG(1) = VTABLE_get_pmc_keyed_str(interp
, PREG(2), SREG(3));
25412 if (PMC_IS_NULL(PREG(1))) {
25413 PMC
* const classobj
= Parrot_oo_get_class(interp
, PREG(4));
25414 if (!PMC_IS_NULL(classobj
))
25415 PREG(1) = VTABLE_instantiate(interp
, classobj
, PMCNULL
);
25417 const INTVAL type
= Parrot_pmc_get_type(interp
, PREG(4));
25419 opcode_t
*dest
= Parrot_ex_throw_from_op_args(
25420 interp
, cur_opcode
+ 5, EXCEPTION_NO_CLASS
,
25421 "Class '%Ss' not found", VTABLE_get_repr(interp
, PREG(4)));return (opcode_t
*)dest
;
25424 PREG(1) = Parrot_pmc_new(interp
, type
);
25427 VTABLE_set_pmc_keyed_str(interp
, PREG(2), SREG(3), PREG(1));
25430 return (opcode_t
*)cur_opcode
+ 5;}
25433 Parrot_vivify_p_pc_s_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
25434 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
25435 PREG(1) = VTABLE_get_pmc_keyed_str(interp
, CONST(2).u
.key
, SREG(3));
25437 if (PMC_IS_NULL(PREG(1))) {
25438 PMC
* const classobj
= Parrot_oo_get_class(interp
, PREG(4));
25439 if (!PMC_IS_NULL(classobj
))
25440 PREG(1) = VTABLE_instantiate(interp
, classobj
, PMCNULL
);
25442 const INTVAL type
= Parrot_pmc_get_type(interp
, PREG(4));
25444 opcode_t
*dest
= Parrot_ex_throw_from_op_args(
25445 interp
, cur_opcode
+ 5, EXCEPTION_NO_CLASS
,
25446 "Class '%Ss' not found", VTABLE_get_repr(interp
, PREG(4)));return (opcode_t
*)dest
;
25449 PREG(1) = Parrot_pmc_new(interp
, type
);
25452 VTABLE_set_pmc_keyed_str(interp
, CONST(2).u
.key
, SREG(3), PREG(1));
25455 return (opcode_t
*)cur_opcode
+ 5;}
25458 Parrot_vivify_p_p_sc_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
25459 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
25460 PREG(1) = VTABLE_get_pmc_keyed_str(interp
, PREG(2), CONST(3).u
.string
);
25462 if (PMC_IS_NULL(PREG(1))) {
25463 PMC
* const classobj
= Parrot_oo_get_class(interp
, PREG(4));
25464 if (!PMC_IS_NULL(classobj
))
25465 PREG(1) = VTABLE_instantiate(interp
, classobj
, PMCNULL
);
25467 const INTVAL type
= Parrot_pmc_get_type(interp
, PREG(4));
25469 opcode_t
*dest
= Parrot_ex_throw_from_op_args(
25470 interp
, cur_opcode
+ 5, EXCEPTION_NO_CLASS
,
25471 "Class '%Ss' not found", VTABLE_get_repr(interp
, PREG(4)));return (opcode_t
*)dest
;
25474 PREG(1) = Parrot_pmc_new(interp
, type
);
25477 VTABLE_set_pmc_keyed_str(interp
, PREG(2), CONST(3).u
.string
, PREG(1));
25480 return (opcode_t
*)cur_opcode
+ 5;}
25483 Parrot_vivify_p_pc_sc_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
25484 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
25485 PREG(1) = VTABLE_get_pmc_keyed_str(interp
, CONST(2).u
.key
, CONST(3).u
.string
);
25487 if (PMC_IS_NULL(PREG(1))) {
25488 PMC
* const classobj
= Parrot_oo_get_class(interp
, PREG(4));
25489 if (!PMC_IS_NULL(classobj
))
25490 PREG(1) = VTABLE_instantiate(interp
, classobj
, PMCNULL
);
25492 const INTVAL type
= Parrot_pmc_get_type(interp
, PREG(4));
25494 opcode_t
*dest
= Parrot_ex_throw_from_op_args(
25495 interp
, cur_opcode
+ 5, EXCEPTION_NO_CLASS
,
25496 "Class '%Ss' not found", VTABLE_get_repr(interp
, PREG(4)));return (opcode_t
*)dest
;
25499 PREG(1) = Parrot_pmc_new(interp
, type
);
25502 VTABLE_set_pmc_keyed_str(interp
, CONST(2).u
.key
, CONST(3).u
.string
, PREG(1));
25505 return (opcode_t
*)cur_opcode
+ 5;}
25508 Parrot_vivify_p_p_s_pc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
25509 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
25510 PREG(1) = VTABLE_get_pmc_keyed_str(interp
, PREG(2), SREG(3));
25512 if (PMC_IS_NULL(PREG(1))) {
25513 PMC
* const classobj
= Parrot_oo_get_class(interp
, CONST(4).u
.key
);
25514 if (!PMC_IS_NULL(classobj
))
25515 PREG(1) = VTABLE_instantiate(interp
, classobj
, PMCNULL
);
25517 const INTVAL type
= Parrot_pmc_get_type(interp
, CONST(4).u
.key
);
25519 opcode_t
*dest
= Parrot_ex_throw_from_op_args(
25520 interp
, cur_opcode
+ 5, EXCEPTION_NO_CLASS
,
25521 "Class '%Ss' not found", VTABLE_get_repr(interp
, CONST(4).u
.key
));return (opcode_t
*)dest
;
25524 PREG(1) = Parrot_pmc_new(interp
, type
);
25527 VTABLE_set_pmc_keyed_str(interp
, PREG(2), SREG(3), PREG(1));
25530 return (opcode_t
*)cur_opcode
+ 5;}
25533 Parrot_vivify_p_pc_s_pc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
25534 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
25535 PREG(1) = VTABLE_get_pmc_keyed_str(interp
, CONST(2).u
.key
, SREG(3));
25537 if (PMC_IS_NULL(PREG(1))) {
25538 PMC
* const classobj
= Parrot_oo_get_class(interp
, CONST(4).u
.key
);
25539 if (!PMC_IS_NULL(classobj
))
25540 PREG(1) = VTABLE_instantiate(interp
, classobj
, PMCNULL
);
25542 const INTVAL type
= Parrot_pmc_get_type(interp
, CONST(4).u
.key
);
25544 opcode_t
*dest
= Parrot_ex_throw_from_op_args(
25545 interp
, cur_opcode
+ 5, EXCEPTION_NO_CLASS
,
25546 "Class '%Ss' not found", VTABLE_get_repr(interp
, CONST(4).u
.key
));return (opcode_t
*)dest
;
25549 PREG(1) = Parrot_pmc_new(interp
, type
);
25552 VTABLE_set_pmc_keyed_str(interp
, CONST(2).u
.key
, SREG(3), PREG(1));
25555 return (opcode_t
*)cur_opcode
+ 5;}
25558 Parrot_vivify_p_p_sc_pc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
25559 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
25560 PREG(1) = VTABLE_get_pmc_keyed_str(interp
, PREG(2), CONST(3).u
.string
);
25562 if (PMC_IS_NULL(PREG(1))) {
25563 PMC
* const classobj
= Parrot_oo_get_class(interp
, CONST(4).u
.key
);
25564 if (!PMC_IS_NULL(classobj
))
25565 PREG(1) = VTABLE_instantiate(interp
, classobj
, PMCNULL
);
25567 const INTVAL type
= Parrot_pmc_get_type(interp
, CONST(4).u
.key
);
25569 opcode_t
*dest
= Parrot_ex_throw_from_op_args(
25570 interp
, cur_opcode
+ 5, EXCEPTION_NO_CLASS
,
25571 "Class '%Ss' not found", VTABLE_get_repr(interp
, CONST(4).u
.key
));return (opcode_t
*)dest
;
25574 PREG(1) = Parrot_pmc_new(interp
, type
);
25577 VTABLE_set_pmc_keyed_str(interp
, PREG(2), CONST(3).u
.string
, PREG(1));
25580 return (opcode_t
*)cur_opcode
+ 5;}
25583 Parrot_vivify_p_pc_sc_pc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
25584 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
25585 PREG(1) = VTABLE_get_pmc_keyed_str(interp
, CONST(2).u
.key
, CONST(3).u
.string
);
25587 if (PMC_IS_NULL(PREG(1))) {
25588 PMC
* const classobj
= Parrot_oo_get_class(interp
, CONST(4).u
.key
);
25589 if (!PMC_IS_NULL(classobj
))
25590 PREG(1) = VTABLE_instantiate(interp
, classobj
, PMCNULL
);
25592 const INTVAL type
= Parrot_pmc_get_type(interp
, CONST(4).u
.key
);
25594 opcode_t
*dest
= Parrot_ex_throw_from_op_args(
25595 interp
, cur_opcode
+ 5, EXCEPTION_NO_CLASS
,
25596 "Class '%Ss' not found", VTABLE_get_repr(interp
, CONST(4).u
.key
));return (opcode_t
*)dest
;
25599 PREG(1) = Parrot_pmc_new(interp
, type
);
25602 VTABLE_set_pmc_keyed_str(interp
, CONST(2).u
.key
, CONST(3).u
.string
, PREG(1));
25605 return (opcode_t
*)cur_opcode
+ 5;}
25608 Parrot_new_p_s_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
25609 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
25610 STRING
* const name
= SREG(2);
25611 PMC
* const _class
= Parrot_pcc_get_HLL(interp
, CURRENT_CONTEXT(interp
))
25612 ? Parrot_oo_get_class_str(interp
, name
)
25615 if (!PMC_IS_NULL(_class
)) {
25616 PMC
*initial
= Parrot_pmc_new(interp
, Parrot_get_ctx_HLL_type(interp
, enum_class_Integer
));
25617 VTABLE_set_integer_native(interp
, initial
, IREG(3));
25618 PREG(1) = VTABLE_instantiate(interp
, _class
, initial
);
25621 const INTVAL type
= Parrot_pmc_get_type_str(interp
, name
);
25623 opcode_t
*dest
= Parrot_ex_throw_from_op_args(interp
, cur_opcode
+ 4,
25624 EXCEPTION_NO_CLASS
,
25625 "Class '%Ss' not found", name
);return (opcode_t
*)dest
;
25627 PREG(1) = Parrot_pmc_new_init_int(interp
, type
, IREG(3));
25630 return (opcode_t
*)cur_opcode
+ 4;}
25633 Parrot_new_p_sc_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
25634 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
25635 STRING
* const name
= CONST(2).u
.string
;
25636 PMC
* const _class
= Parrot_pcc_get_HLL(interp
, CURRENT_CONTEXT(interp
))
25637 ? Parrot_oo_get_class_str(interp
, name
)
25640 if (!PMC_IS_NULL(_class
)) {
25641 PMC
*initial
= Parrot_pmc_new(interp
, Parrot_get_ctx_HLL_type(interp
, enum_class_Integer
));
25642 VTABLE_set_integer_native(interp
, initial
, IREG(3));
25643 PREG(1) = VTABLE_instantiate(interp
, _class
, initial
);
25646 const INTVAL type
= Parrot_pmc_get_type_str(interp
, name
);
25648 opcode_t
*dest
= Parrot_ex_throw_from_op_args(interp
, cur_opcode
+ 4,
25649 EXCEPTION_NO_CLASS
,
25650 "Class '%Ss' not found", name
);return (opcode_t
*)dest
;
25652 PREG(1) = Parrot_pmc_new_init_int(interp
, type
, IREG(3));
25655 return (opcode_t
*)cur_opcode
+ 4;}
25658 Parrot_new_p_s_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
25659 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
25660 STRING
* const name
= SREG(2);
25661 PMC
* const _class
= Parrot_pcc_get_HLL(interp
, CURRENT_CONTEXT(interp
))
25662 ? Parrot_oo_get_class_str(interp
, name
)
25665 if (!PMC_IS_NULL(_class
)) {
25666 PMC
*initial
= Parrot_pmc_new(interp
, Parrot_get_ctx_HLL_type(interp
, enum_class_Integer
));
25667 VTABLE_set_integer_native(interp
, initial
, cur_opcode
[3]);
25668 PREG(1) = VTABLE_instantiate(interp
, _class
, initial
);
25671 const INTVAL type
= Parrot_pmc_get_type_str(interp
, name
);
25673 opcode_t
*dest
= Parrot_ex_throw_from_op_args(interp
, cur_opcode
+ 4,
25674 EXCEPTION_NO_CLASS
,
25675 "Class '%Ss' not found", name
);return (opcode_t
*)dest
;
25677 PREG(1) = Parrot_pmc_new_init_int(interp
, type
, cur_opcode
[3]);
25680 return (opcode_t
*)cur_opcode
+ 4;}
25683 Parrot_new_p_sc_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
25684 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
25685 STRING
* const name
= CONST(2).u
.string
;
25686 PMC
* const _class
= Parrot_pcc_get_HLL(interp
, CURRENT_CONTEXT(interp
))
25687 ? Parrot_oo_get_class_str(interp
, name
)
25690 if (!PMC_IS_NULL(_class
)) {
25691 PMC
*initial
= Parrot_pmc_new(interp
, Parrot_get_ctx_HLL_type(interp
, enum_class_Integer
));
25692 VTABLE_set_integer_native(interp
, initial
, cur_opcode
[3]);
25693 PREG(1) = VTABLE_instantiate(interp
, _class
, initial
);
25696 const INTVAL type
= Parrot_pmc_get_type_str(interp
, name
);
25698 opcode_t
*dest
= Parrot_ex_throw_from_op_args(interp
, cur_opcode
+ 4,
25699 EXCEPTION_NO_CLASS
,
25700 "Class '%Ss' not found", name
);return (opcode_t
*)dest
;
25702 PREG(1) = Parrot_pmc_new_init_int(interp
, type
, cur_opcode
[3]);
25705 return (opcode_t
*)cur_opcode
+ 4;}
25708 Parrot_new_p_p_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
25709 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
25710 PMC
* const name_key
= PREG(2);
25712 /* get_class() returns a PMCProxy for core types, so check for core PMCs */
25713 const INTVAL type
= Parrot_pmc_get_type(interp
, name_key
);
25715 /* if it's clearly a PIR-level PMC */
25716 if (type
> enum_class_core_max
) {
25717 PMC
* const _class
= Parrot_oo_get_class(interp
, name_key
);
25718 if (!PMC_IS_NULL(_class
)) {
25719 PMC
*initial
= Parrot_pmc_new(interp
,
25720 Parrot_get_ctx_HLL_type(interp
, enum_class_Integer
));
25721 VTABLE_set_integer_native(interp
, initial
, IREG(3));
25722 PREG(1) = VTABLE_instantiate(interp
, _class
, initial
);
25726 /* if it's a core PMC */
25727 else if (type
> enum_class_default
)
25728 PREG(1) = Parrot_pmc_new_init_int(interp
, type
, IREG(3));
25732 opcode_t
*dest
= Parrot_ex_throw_from_op_args(interp
, cur_opcode
+ 4,
25733 EXCEPTION_NO_CLASS
,
25734 "Class '%Ss' not found", VTABLE_get_repr(interp
, name_key
));return (opcode_t
*)dest
;
25737 return (opcode_t
*)cur_opcode
+ 4;}
25740 Parrot_new_p_pc_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
25741 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
25742 PMC
* const name_key
= CONST(2).u
.key
;
25744 /* get_class() returns a PMCProxy for core types, so check for core PMCs */
25745 const INTVAL type
= Parrot_pmc_get_type(interp
, name_key
);
25747 /* if it's clearly a PIR-level PMC */
25748 if (type
> enum_class_core_max
) {
25749 PMC
* const _class
= Parrot_oo_get_class(interp
, name_key
);
25750 if (!PMC_IS_NULL(_class
)) {
25751 PMC
*initial
= Parrot_pmc_new(interp
,
25752 Parrot_get_ctx_HLL_type(interp
, enum_class_Integer
));
25753 VTABLE_set_integer_native(interp
, initial
, IREG(3));
25754 PREG(1) = VTABLE_instantiate(interp
, _class
, initial
);
25758 /* if it's a core PMC */
25759 else if (type
> enum_class_default
)
25760 PREG(1) = Parrot_pmc_new_init_int(interp
, type
, IREG(3));
25764 opcode_t
*dest
= Parrot_ex_throw_from_op_args(interp
, cur_opcode
+ 4,
25765 EXCEPTION_NO_CLASS
,
25766 "Class '%Ss' not found", VTABLE_get_repr(interp
, name_key
));return (opcode_t
*)dest
;
25769 return (opcode_t
*)cur_opcode
+ 4;}
25772 Parrot_new_p_p_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
25773 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
25774 PMC
* const name_key
= PREG(2);
25776 /* get_class() returns a PMCProxy for core types, so check for core PMCs */
25777 const INTVAL type
= Parrot_pmc_get_type(interp
, name_key
);
25779 /* if it's clearly a PIR-level PMC */
25780 if (type
> enum_class_core_max
) {
25781 PMC
* const _class
= Parrot_oo_get_class(interp
, name_key
);
25782 if (!PMC_IS_NULL(_class
)) {
25783 PMC
*initial
= Parrot_pmc_new(interp
,
25784 Parrot_get_ctx_HLL_type(interp
, enum_class_Integer
));
25785 VTABLE_set_integer_native(interp
, initial
, cur_opcode
[3]);
25786 PREG(1) = VTABLE_instantiate(interp
, _class
, initial
);
25790 /* if it's a core PMC */
25791 else if (type
> enum_class_default
)
25792 PREG(1) = Parrot_pmc_new_init_int(interp
, type
, cur_opcode
[3]);
25796 opcode_t
*dest
= Parrot_ex_throw_from_op_args(interp
, cur_opcode
+ 4,
25797 EXCEPTION_NO_CLASS
,
25798 "Class '%Ss' not found", VTABLE_get_repr(interp
, name_key
));return (opcode_t
*)dest
;
25801 return (opcode_t
*)cur_opcode
+ 4;}
25804 Parrot_new_p_pc_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
25805 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
25806 PMC
* const name_key
= CONST(2).u
.key
;
25808 /* get_class() returns a PMCProxy for core types, so check for core PMCs */
25809 const INTVAL type
= Parrot_pmc_get_type(interp
, name_key
);
25811 /* if it's clearly a PIR-level PMC */
25812 if (type
> enum_class_core_max
) {
25813 PMC
* const _class
= Parrot_oo_get_class(interp
, name_key
);
25814 if (!PMC_IS_NULL(_class
)) {
25815 PMC
*initial
= Parrot_pmc_new(interp
,
25816 Parrot_get_ctx_HLL_type(interp
, enum_class_Integer
));
25817 VTABLE_set_integer_native(interp
, initial
, cur_opcode
[3]);
25818 PREG(1) = VTABLE_instantiate(interp
, _class
, initial
);
25822 /* if it's a core PMC */
25823 else if (type
> enum_class_default
)
25824 PREG(1) = Parrot_pmc_new_init_int(interp
, type
, cur_opcode
[3]);
25828 opcode_t
*dest
= Parrot_ex_throw_from_op_args(interp
, cur_opcode
+ 4,
25829 EXCEPTION_NO_CLASS
,
25830 "Class '%Ss' not found", VTABLE_get_repr(interp
, name_key
));return (opcode_t
*)dest
;
25833 return (opcode_t
*)cur_opcode
+ 4;}
25836 Parrot_root_new_p_p_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
25837 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
25838 PMC
* const name_key
= PREG(2);
25840 /* get_class() returns a PMCProxy for core types, so check for core PMCs */
25841 const INTVAL type
= Parrot_pmc_get_type(interp
, name_key
);
25843 /* if it's clearly a PIR-level PMC */
25844 if (type
> enum_class_core_max
) {
25845 PMC
* const root_ns
= interp
->root_namespace
;
25846 PMC
* const ns
= Parrot_ns_get_namespace_keyed(interp
, root_ns
, name_key
);
25847 PMC
* const _class
= Parrot_oo_get_class(interp
, ns
);
25848 if (!PMC_IS_NULL(_class
)) {
25849 PMC
*initial
= Parrot_pmc_new(interp
,
25850 Parrot_get_ctx_HLL_type(interp
, enum_class_Integer
));
25851 VTABLE_set_integer_native(interp
, initial
, IREG(3));
25852 PREG(1) = VTABLE_instantiate(interp
, _class
, initial
);
25856 /* if it's a core PMC */
25857 else if (type
> enum_class_default
)
25858 PREG(1) = Parrot_pmc_new_init_int(interp
, type
, IREG(3));
25862 opcode_t
*dest
= Parrot_ex_throw_from_op_args(interp
, cur_opcode
+ 4,
25863 EXCEPTION_NO_CLASS
,
25864 "Class '%Ss' not found", VTABLE_get_repr(interp
, name_key
));return (opcode_t
*)dest
;
25867 return (opcode_t
*)cur_opcode
+ 4;}
25870 Parrot_root_new_p_pc_i(opcode_t
*cur_opcode
, PARROT_INTERP
) {
25871 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
25872 PMC
* const name_key
= CONST(2).u
.key
;
25874 /* get_class() returns a PMCProxy for core types, so check for core PMCs */
25875 const INTVAL type
= Parrot_pmc_get_type(interp
, name_key
);
25877 /* if it's clearly a PIR-level PMC */
25878 if (type
> enum_class_core_max
) {
25879 PMC
* const root_ns
= interp
->root_namespace
;
25880 PMC
* const ns
= Parrot_ns_get_namespace_keyed(interp
, root_ns
, name_key
);
25881 PMC
* const _class
= Parrot_oo_get_class(interp
, ns
);
25882 if (!PMC_IS_NULL(_class
)) {
25883 PMC
*initial
= Parrot_pmc_new(interp
,
25884 Parrot_get_ctx_HLL_type(interp
, enum_class_Integer
));
25885 VTABLE_set_integer_native(interp
, initial
, IREG(3));
25886 PREG(1) = VTABLE_instantiate(interp
, _class
, initial
);
25890 /* if it's a core PMC */
25891 else if (type
> enum_class_default
)
25892 PREG(1) = Parrot_pmc_new_init_int(interp
, type
, IREG(3));
25896 opcode_t
*dest
= Parrot_ex_throw_from_op_args(interp
, cur_opcode
+ 4,
25897 EXCEPTION_NO_CLASS
,
25898 "Class '%Ss' not found", VTABLE_get_repr(interp
, name_key
));return (opcode_t
*)dest
;
25901 return (opcode_t
*)cur_opcode
+ 4;}
25904 Parrot_root_new_p_p_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
25905 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
25906 PMC
* const name_key
= PREG(2);
25908 /* get_class() returns a PMCProxy for core types, so check for core PMCs */
25909 const INTVAL type
= Parrot_pmc_get_type(interp
, name_key
);
25911 /* if it's clearly a PIR-level PMC */
25912 if (type
> enum_class_core_max
) {
25913 PMC
* const root_ns
= interp
->root_namespace
;
25914 PMC
* const ns
= Parrot_ns_get_namespace_keyed(interp
, root_ns
, name_key
);
25915 PMC
* const _class
= Parrot_oo_get_class(interp
, ns
);
25916 if (!PMC_IS_NULL(_class
)) {
25917 PMC
*initial
= Parrot_pmc_new(interp
,
25918 Parrot_get_ctx_HLL_type(interp
, enum_class_Integer
));
25919 VTABLE_set_integer_native(interp
, initial
, cur_opcode
[3]);
25920 PREG(1) = VTABLE_instantiate(interp
, _class
, initial
);
25924 /* if it's a core PMC */
25925 else if (type
> enum_class_default
)
25926 PREG(1) = Parrot_pmc_new_init_int(interp
, type
, cur_opcode
[3]);
25930 opcode_t
*dest
= Parrot_ex_throw_from_op_args(interp
, cur_opcode
+ 4,
25931 EXCEPTION_NO_CLASS
,
25932 "Class '%Ss' not found", VTABLE_get_repr(interp
, name_key
));return (opcode_t
*)dest
;
25935 return (opcode_t
*)cur_opcode
+ 4;}
25938 Parrot_root_new_p_pc_ic(opcode_t
*cur_opcode
, PARROT_INTERP
) {
25939 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
25940 PMC
* const name_key
= CONST(2).u
.key
;
25942 /* get_class() returns a PMCProxy for core types, so check for core PMCs */
25943 const INTVAL type
= Parrot_pmc_get_type(interp
, name_key
);
25945 /* if it's clearly a PIR-level PMC */
25946 if (type
> enum_class_core_max
) {
25947 PMC
* const root_ns
= interp
->root_namespace
;
25948 PMC
* const ns
= Parrot_ns_get_namespace_keyed(interp
, root_ns
, name_key
);
25949 PMC
* const _class
= Parrot_oo_get_class(interp
, ns
);
25950 if (!PMC_IS_NULL(_class
)) {
25951 PMC
*initial
= Parrot_pmc_new(interp
,
25952 Parrot_get_ctx_HLL_type(interp
, enum_class_Integer
));
25953 VTABLE_set_integer_native(interp
, initial
, cur_opcode
[3]);
25954 PREG(1) = VTABLE_instantiate(interp
, _class
, initial
);
25958 /* if it's a core PMC */
25959 else if (type
> enum_class_default
)
25960 PREG(1) = Parrot_pmc_new_init_int(interp
, type
, cur_opcode
[3]);
25964 opcode_t
*dest
= Parrot_ex_throw_from_op_args(interp
, cur_opcode
+ 4,
25965 EXCEPTION_NO_CLASS
,
25966 "Class '%Ss' not found", VTABLE_get_repr(interp
, name_key
));return (opcode_t
*)dest
;
25969 return (opcode_t
*)cur_opcode
+ 4;}
25972 Parrot_find_codepoint_i_s(opcode_t
*cur_opcode
, PARROT_INTERP
) {
25973 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
25975 UErrorCode err
= U_ZERO_ERROR
;
25976 char * const cstr
= Parrot_str_to_cstring(interp
, SREG(2));
25977 UChar32 codepoint
= u_charFromName(U_EXTENDED_CHAR_NAME
, cstr
, &err
);
25978 Parrot_str_free_cstring(cstr
);
25979 IREG(1) = U_SUCCESS(err
) ? (INTVAL
) codepoint
: -1;
25981 opcode_t
* const dest
= Parrot_ex_throw_from_op_args(interp
, cur_opcode
+ 3,
25982 EXCEPTION_LIBRARY_ERROR
, "no ICU lib loaded");return (opcode_t
*)dest
;
25985 return (opcode_t
*)cur_opcode
+ 3;}
25988 Parrot_find_codepoint_i_sc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
25989 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
25991 UErrorCode err
= U_ZERO_ERROR
;
25992 char * const cstr
= Parrot_str_to_cstring(interp
, CONST(2).u
.string
);
25993 UChar32 codepoint
= u_charFromName(U_EXTENDED_CHAR_NAME
, cstr
, &err
);
25994 Parrot_str_free_cstring(cstr
);
25995 IREG(1) = U_SUCCESS(err
) ? (INTVAL
) codepoint
: -1;
25997 opcode_t
* const dest
= Parrot_ex_throw_from_op_args(interp
, cur_opcode
+ 3,
25998 EXCEPTION_LIBRARY_ERROR
, "no ICU lib loaded");return (opcode_t
*)dest
;
26001 return (opcode_t
*)cur_opcode
+ 3;}
26004 Parrot_finalize_p(opcode_t
*cur_opcode
, PARROT_INTERP
) {
26005 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
26006 /* Go to the next op after loop unrolling */
26007 opcode_t
* const dest
= cur_opcode
+ 2;
26009 if (!PMC_IS_NULL(PREG(1))) {
26010 /* If isa ExceptionHandler, use it. If isa Exception, get its active handler */
26011 if (VTABLE_isa(interp
, PREG(1), Parrot_str_new_constant(interp
, "ExceptionHandler")))
26013 else if (VTABLE_isa(interp
, PREG(1), Parrot_str_new_constant(interp
, "Exception"))) {
26014 PMC
*iter
= VTABLE_get_attr_str(interp
,
26015 PREG(1), Parrot_str_new_constant(interp
, "handler_iter"));
26016 if (!PMC_IS_NULL(iter
))
26017 eh
= VTABLE_get_pmc_keyed_int(interp
, iter
, -1);
26020 if (!PMC_IS_NULL(eh
)) {
26021 /* Get the runloop_id from the continuation and jump to it. */
26022 Parrot_runloop
*rl
= interp
->current_runloop
;
26024 Parrot_pcc_invoke_method_from_c_args(interp
,
26025 eh
, Parrot_str_new_constant(interp
, "rid"),
26027 while (rl
&& rl
->id
!= rid
)
26030 if (rl
!= interp
->current_runloop
) {
26031 rl
->handler_start
= dest
;
26032 longjmp(rl
->resume
, 3);
26036 Parrot_ex_throw_from_c_args(interp
, NULL
,
26037 EXCEPTION_INVALID_OPERATION
, "missing runloop");
26040 return (opcode_t
*)cur_opcode
+ 2;}
26043 Parrot_finalize_pc(opcode_t
*cur_opcode
, PARROT_INTERP
) {
26044 const Parrot_Context
* const CUR_CTX
= Parrot_pcc_get_context_struct(interp
, interp
->ctx
);
26045 /* Go to the next op after loop unrolling */
26046 opcode_t
* const dest
= cur_opcode
+ 2;
26048 if (!PMC_IS_NULL(CONST(1).u
.key
)) {
26049 /* If isa ExceptionHandler, use it. If isa Exception, get its active handler */
26050 if (VTABLE_isa(interp
, CONST(1).u
.key
, Parrot_str_new_constant(interp
, "ExceptionHandler")))
26051 eh
= CONST(1).u
.key
;
26052 else if (VTABLE_isa(interp
, CONST(1).u
.key
, Parrot_str_new_constant(interp
, "Exception"))) {
26053 PMC
*iter
= VTABLE_get_attr_str(interp
,
26054 CONST(1).u
.key
, Parrot_str_new_constant(interp
, "handler_iter"));
26055 if (!PMC_IS_NULL(iter
))
26056 eh
= VTABLE_get_pmc_keyed_int(interp
, iter
, -1);
26059 if (!PMC_IS_NULL(eh
)) {
26060 /* Get the runloop_id from the continuation and jump to it. */
26061 Parrot_runloop
*rl
= interp
->current_runloop
;
26063 Parrot_pcc_invoke_method_from_c_args(interp
,
26064 eh
, Parrot_str_new_constant(interp
, "rid"),
26066 while (rl
&& rl
->id
!= rid
)
26069 if (rl
!= interp
->current_runloop
) {
26070 rl
->handler_start
= dest
;
26071 longjmp(rl
->resume
, 3);
26075 Parrot_ex_throw_from_c_args(interp
, NULL
,
26076 EXCEPTION_INVALID_OPERATION
, "missing runloop");
26079 return (opcode_t
*)cur_opcode
+ 2;}
26083 ** op lib descriptor:
26086 /* XXX should be static, but C++ doesn't want to play ball */
26087 op_lib_t core_op_lib
= {
26088 "core_ops", /* name */
26090 PARROT_FUNCTION_CORE
, /* core_type = PARROT_XX_CORE */
26092 2, /* major_version */
26093 7, /* minor_version */
26094 0, /* patch_version */
26095 1083, /* op_count */
26096 core_op_info_table
, /* op_info_table */
26097 core_op_func_table
, /* op_func_table */
26098 get_op
/* op_code() */
26102 ** Op lookup function:
26105 #define OP_HASH_SIZE 3041
26107 /* we could calculate a prime somewhat bigger than
26108 * n of fullnames + n of names
26109 * for now this should be ok
26111 * look up an op_code: at first call to op_code() a hash
26112 * of short and full opcode names is created
26113 * hash functions are from imcc, thanks to Melvin.
26117 typedef struct hop
{
26122 static HOP
*hop_buckets
;
26125 static void hop_init(PARROT_INTERP
);
26126 static size_t hash_str(const char *str
);
26127 static void store_op(PARROT_INTERP
, op_info_t
*info
, HOP
*p
, const char *name
);
26129 /* XXX on changing interpreters, this should be called,
26132 static void hop_deinit(PARROT_INTERP
);
26135 * find a short or full opcode
26138 * interp->op_lib->op_code("set", 0)
26139 * interp->op_lib->op_code("set_i_i", 1)
26141 * returns >= 0 (found idx into info_table), -1 if not
26144 PARROT_PURE_FUNCTION
26146 size_t hash_str(ARGIN(const char *str
))
26149 const char *s
= str
;
26160 static void store_op(PARROT_INTERP
, op_info_t
*info
, HOP
*p
, const char *name
)
26162 const size_t hidx
= hash_str(name
) % OP_HASH_SIZE
;
26165 p
->next
= hop
[hidx
];
26169 static int get_op(PARROT_INTERP
, const char *name
, int full
)
26172 const size_t hidx
= hash_str(name
) % OP_HASH_SIZE
;
26175 hop
= mem_gc_allocate_n_zeroed_typed(interp
, OP_HASH_SIZE
,HOP
*);
26179 for (p
= hop
[hidx
]; p
; p
= p
->next
) {
26180 if (STREQ(name
, full
? p
->info
->full_name
: p
->info
->name
))
26181 return p
->info
- core_op_lib
.op_info_table
;
26188 static void hop_init(PARROT_INTERP
)
26190 op_info_t
* const info
= core_op_lib
.op_info_table
;
26192 /* allocate the storage all in one chunk
26193 * yes, this is profligate, but we can tighten it later */
26194 HOP
*hops
= hop_buckets
=
26195 mem_gc_allocate_n_zeroed_typed(interp
, core_op_lib
.op_count
* 2, HOP
);
26199 /* store full names */
26200 for (i
= 0; i
< core_op_lib
.op_count
; i
++) {
26201 store_op(interp
, info
+ i
, hops
++, info
[i
].full_name
);
26203 /* plus one short name */
26204 if (i
&& info
[i
- 1].name
!= info
[i
].name
)
26205 store_op(interp
, info
+ i
, hops
++, info
[i
].name
);
26209 static void hop_deinit(PARROT_INTERP
)
26214 mem_gc_free(interp
, hop_buckets
);
26217 hop_buckets
= NULL
;
26220 Parrot_DynOp_core_2_7_0(PARROT_INTERP
, long init
) {
26221 /* initialize and return op_lib ptr */
26224 return &core_op_lib
;
26226 /* set op_lib to the passed ptr (in init) */
26230 /* deinit - free resources */
26232 hop_deinit(interp
);
26239 * dynamic lib load function - called once
26242 Parrot_lib_core_ops_load(PARROT_INTERP
);
26245 Parrot_lib_core_ops_load(PARROT_INTERP
)
26248 PMC
*const lib
= Parrot_pmc_new(interp
, enum_class_ParrotLibrary
);
26249 ((Parrot_ParrotLibrary_attributes
*)PMC_data(lib
))->oplib_init
= (void *) Parrot_DynOp_core_2_7_0
;
26250 dynop_register(interp
, lib
);
26257 * c-file-style: "parrot"
26258 * buffer-read-only: t
26260 * vim: expandtab shiftwidth=4: