Commit | Line | Data |
---|---|---|
6a3688ca | 1 | /* -*- mode: C; buffer-read-only: t -*- |
37442d52 | 2 | * |
d6376244 JH |
3 | * opcode.h |
4 | * | |
78102347 NC |
5 | * Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, |
6 | * 2002, 2003, 2004, 2005, 2006, 2007 by Larry Wall and others | |
d6376244 JH |
7 | * |
8 | * You may distribute under the terms of either the GNU General Public | |
9 | * License or the Artistic License, as specified in the README file. | |
10 | * | |
11 | * !!!!!!! DO NOT EDIT THIS FILE !!!!!!! | |
78102347 NC |
12 | * This file is built by regen/opcode.pl from its data. |
13 | * Any changes made here will be lost! | |
d6376244 | 14 | */ |
a27f85b3 | 15 | |
c2454cf4 KW |
16 | #if defined(PERL_CORE) || defined(PERL_EXT) |
17 | ||
9561d06f NC |
18 | #define Perl_pp_scalar Perl_pp_null |
19 | #define Perl_pp_padany Perl_unimplemented_op | |
20 | #define Perl_pp_regcmaybe Perl_pp_null | |
bfa14884 | 21 | #define Perl_pp_transr Perl_pp_trans |
9561d06f NC |
22 | #define Perl_pp_chomp Perl_pp_chop |
23 | #define Perl_pp_schomp Perl_pp_schop | |
864dbfa3 | 24 | #define Perl_pp_i_preinc Perl_pp_preinc |
4c2c3128 | 25 | #define Perl_pp_i_predec Perl_pp_predec |
864dbfa3 | 26 | #define Perl_pp_i_postinc Perl_pp_postinc |
20e96431 | 27 | #define Perl_pp_i_postdec Perl_pp_postdec |
9561d06f NC |
28 | #define Perl_pp_slt Perl_pp_sle |
29 | #define Perl_pp_sgt Perl_pp_sle | |
30 | #define Perl_pp_sge Perl_pp_sle | |
31 | #define Perl_pp_bit_xor Perl_pp_bit_or | |
5d01050a FC |
32 | #define Perl_pp_nbit_xor Perl_pp_nbit_or |
33 | #define Perl_pp_sbit_xor Perl_pp_sbit_or | |
9561d06f NC |
34 | #define Perl_pp_cos Perl_pp_sin |
35 | #define Perl_pp_exp Perl_pp_sin | |
36 | #define Perl_pp_log Perl_pp_sin | |
37 | #define Perl_pp_sqrt Perl_pp_sin | |
38 | #define Perl_pp_hex Perl_pp_oct | |
39 | #define Perl_pp_rindex Perl_pp_index | |
40 | #define Perl_pp_lcfirst Perl_pp_ucfirst | |
bfa14884 | 41 | #define Perl_pp_aelemfast_lex Perl_pp_aelemfast |
9561d06f NC |
42 | #define Perl_pp_avalues Perl_pp_akeys |
43 | #define Perl_pp_values Perl_do_kv | |
44 | #define Perl_pp_keys Perl_do_kv | |
45 | #define Perl_pp_rv2hv Perl_pp_rv2av | |
46 | #define Perl_pp_pop Perl_pp_shift | |
21b66d1c | 47 | #define Perl_pp_mapstart Perl_pp_grepstart |
9561d06f NC |
48 | #define Perl_pp_dor Perl_pp_defined |
49 | #define Perl_pp_andassign Perl_pp_and | |
50 | #define Perl_pp_orassign Perl_pp_or | |
51 | #define Perl_pp_dorassign Perl_pp_defined | |
52 | #define Perl_pp_lineseq Perl_pp_null | |
53 | #define Perl_pp_scope Perl_pp_null | |
54 | #define Perl_pp_dump Perl_pp_goto | |
55 | #define Perl_pp_dbmclose Perl_pp_untie | |
56 | #define Perl_pp_read Perl_pp_sysread | |
57 | #define Perl_pp_say Perl_pp_print | |
9561d06f NC |
58 | #define Perl_pp_seek Perl_pp_sysseek |
59 | #define Perl_pp_fcntl Perl_pp_ioctl | |
7627e6d0 | 60 | #ifdef HAS_SOCKET |
60504e18 | 61 | #define Perl_pp_send Perl_pp_syswrite |
9561d06f | 62 | #define Perl_pp_recv Perl_pp_sysread |
7627e6d0 NC |
63 | #else |
64 | #define Perl_pp_send Perl_unimplemented_op | |
65 | #define Perl_pp_recv Perl_unimplemented_op | |
66 | #define Perl_pp_socket Perl_unimplemented_op | |
67 | #endif | |
68 | #ifdef HAS_SOCKET | |
9561d06f NC |
69 | #define Perl_pp_connect Perl_pp_bind |
70 | #define Perl_pp_gsockopt Perl_pp_ssockopt | |
71 | #define Perl_pp_getsockname Perl_pp_getpeername | |
7627e6d0 NC |
72 | #else |
73 | #define Perl_pp_bind Perl_unimplemented_op | |
74 | #define Perl_pp_connect Perl_unimplemented_op | |
75 | #define Perl_pp_listen Perl_unimplemented_op | |
76 | #define Perl_pp_accept Perl_unimplemented_op | |
77 | #define Perl_pp_shutdown Perl_unimplemented_op | |
78 | #define Perl_pp_gsockopt Perl_unimplemented_op | |
79 | #define Perl_pp_ssockopt Perl_unimplemented_op | |
80 | #define Perl_pp_getsockname Perl_unimplemented_op | |
81 | #define Perl_pp_getpeername Perl_unimplemented_op | |
82 | #endif | |
9561d06f NC |
83 | #define Perl_pp_lstat Perl_pp_stat |
84 | #define Perl_pp_ftrwrite Perl_pp_ftrread | |
85 | #define Perl_pp_ftrexec Perl_pp_ftrread | |
86 | #define Perl_pp_fteread Perl_pp_ftrread | |
87 | #define Perl_pp_ftewrite Perl_pp_ftrread | |
88 | #define Perl_pp_fteexec Perl_pp_ftrread | |
89 | #define Perl_pp_ftsize Perl_pp_ftis | |
90 | #define Perl_pp_ftmtime Perl_pp_ftis | |
91 | #define Perl_pp_ftatime Perl_pp_ftis | |
92 | #define Perl_pp_ftctime Perl_pp_ftis | |
93 | #define Perl_pp_fteowned Perl_pp_ftrowned | |
94 | #define Perl_pp_ftzero Perl_pp_ftrowned | |
95 | #define Perl_pp_ftsock Perl_pp_ftrowned | |
96 | #define Perl_pp_ftchr Perl_pp_ftrowned | |
97 | #define Perl_pp_ftblk Perl_pp_ftrowned | |
98 | #define Perl_pp_ftfile Perl_pp_ftrowned | |
99 | #define Perl_pp_ftdir Perl_pp_ftrowned | |
100 | #define Perl_pp_ftpipe Perl_pp_ftrowned | |
101 | #define Perl_pp_ftsuid Perl_pp_ftrowned | |
102 | #define Perl_pp_ftsgid Perl_pp_ftrowned | |
103 | #define Perl_pp_ftsvtx Perl_pp_ftrowned | |
104 | #define Perl_pp_ftbinary Perl_pp_fttext | |
105 | #define Perl_pp_unlink Perl_pp_chown | |
106 | #define Perl_pp_chmod Perl_pp_chown | |
107 | #define Perl_pp_utime Perl_pp_chown | |
108 | #define Perl_pp_symlink Perl_pp_link | |
109 | #define Perl_pp_kill Perl_pp_chown | |
110 | #define Perl_pp_localtime Perl_pp_gmtime | |
111 | #define Perl_pp_shmget Perl_pp_semget | |
112 | #define Perl_pp_shmctl Perl_pp_semctl | |
113 | #define Perl_pp_shmread Perl_pp_shmwrite | |
114 | #define Perl_pp_msgget Perl_pp_semget | |
115 | #define Perl_pp_msgctl Perl_pp_semctl | |
116 | #define Perl_pp_msgsnd Perl_pp_shmwrite | |
117 | #define Perl_pp_msgrcv Perl_pp_shmwrite | |
118 | #define Perl_pp_semop Perl_pp_shmwrite | |
119 | #define Perl_pp_dofile Perl_pp_require | |
120 | #define Perl_pp_ghbyname Perl_pp_ghostent | |
121 | #define Perl_pp_ghbyaddr Perl_pp_ghostent | |
122 | #define Perl_pp_gnbyname Perl_pp_gnetent | |
123 | #define Perl_pp_gnbyaddr Perl_pp_gnetent | |
124 | #define Perl_pp_gpbyname Perl_pp_gprotoent | |
125 | #define Perl_pp_gpbynumber Perl_pp_gprotoent | |
126 | #define Perl_pp_gsbyname Perl_pp_gservent | |
127 | #define Perl_pp_gsbyport Perl_pp_gservent | |
396166e1 NC |
128 | #define Perl_pp_snetent Perl_pp_shostent |
129 | #define Perl_pp_sprotoent Perl_pp_shostent | |
130 | #define Perl_pp_sservent Perl_pp_shostent | |
d8ef1fcd NC |
131 | #define Perl_pp_enetent Perl_pp_ehostent |
132 | #define Perl_pp_eprotoent Perl_pp_ehostent | |
133 | #define Perl_pp_eservent Perl_pp_ehostent | |
9561d06f NC |
134 | #define Perl_pp_gpwnam Perl_pp_gpwent |
135 | #define Perl_pp_gpwuid Perl_pp_gpwent | |
720d5dbf NC |
136 | #define Perl_pp_spwent Perl_pp_ehostent |
137 | #define Perl_pp_epwent Perl_pp_ehostent | |
9561d06f NC |
138 | #define Perl_pp_ggrnam Perl_pp_ggrent |
139 | #define Perl_pp_ggrgid Perl_pp_ggrent | |
720d5dbf NC |
140 | #define Perl_pp_sgrent Perl_pp_ehostent |
141 | #define Perl_pp_egrent Perl_pp_ehostent | |
9561d06f | 142 | #define Perl_pp_custom Perl_unimplemented_op |
c2454cf4 KW |
143 | |
144 | #endif /* End of if defined(PERL_CORE) || defined(PERL_EXT) */ | |
145 | ||
73c4f7a1 GS |
146 | START_EXTERN_C |
147 | ||
3c544c1f | 148 | EXTCONST char* const PL_op_name[] INIT({ |
4444b686 LT |
149 | "null", |
150 | "stub", | |
151 | "scalar", | |
152 | "pushmark", | |
153 | "wantarray", | |
154 | "const", | |
155 | "gvsv", | |
156 | "gv", | |
157 | "gelem", | |
158 | "padsv", | |
159 | "padsv_store", | |
160 | "padav", | |
161 | "padhv", | |
162 | "padany", | |
163 | "rv2gv", | |
164 | "rv2sv", | |
165 | "av2arylen", | |
166 | "rv2cv", | |
167 | "anoncode", | |
168 | "prototype", | |
169 | "refgen", | |
170 | "srefgen", | |
171 | "ref", | |
172 | "bless", | |
173 | "backtick", | |
174 | "glob", | |
175 | "readline", | |
176 | "rcatline", | |
177 | "regcmaybe", | |
178 | "regcreset", | |
179 | "regcomp", | |
180 | "match", | |
181 | "qr", | |
182 | "subst", | |
183 | "substcont", | |
184 | "trans", | |
185 | "transr", | |
186 | "sassign", | |
187 | "aassign", | |
188 | "chop", | |
189 | "schop", | |
190 | "chomp", | |
191 | "schomp", | |
192 | "defined", | |
193 | "undef", | |
194 | "study", | |
195 | "pos", | |
196 | "preinc", | |
197 | "i_preinc", | |
198 | "predec", | |
199 | "i_predec", | |
200 | "postinc", | |
201 | "i_postinc", | |
202 | "postdec", | |
203 | "i_postdec", | |
204 | "pow", | |
205 | "multiply", | |
206 | "i_multiply", | |
207 | "divide", | |
208 | "i_divide", | |
209 | "modulo", | |
210 | "i_modulo", | |
211 | "repeat", | |
212 | "add", | |
213 | "i_add", | |
214 | "subtract", | |
215 | "i_subtract", | |
216 | "concat", | |
217 | "multiconcat", | |
218 | "stringify", | |
219 | "left_shift", | |
220 | "right_shift", | |
221 | "lt", | |
222 | "i_lt", | |
223 | "gt", | |
224 | "i_gt", | |
225 | "le", | |
226 | "i_le", | |
227 | "ge", | |
228 | "i_ge", | |
229 | "eq", | |
230 | "i_eq", | |
231 | "ne", | |
232 | "i_ne", | |
233 | "ncmp", | |
234 | "i_ncmp", | |
235 | "slt", | |
236 | "sgt", | |
237 | "sle", | |
238 | "sge", | |
239 | "seq", | |
240 | "sne", | |
241 | "scmp", | |
242 | "bit_and", | |
243 | "bit_xor", | |
244 | "bit_or", | |
245 | "nbit_and", | |
246 | "nbit_xor", | |
247 | "nbit_or", | |
248 | "sbit_and", | |
249 | "sbit_xor", | |
250 | "sbit_or", | |
251 | "negate", | |
252 | "i_negate", | |
253 | "not", | |
254 | "complement", | |
255 | "ncomplement", | |
256 | "scomplement", | |
257 | "smartmatch", | |
258 | "atan2", | |
259 | "sin", | |
260 | "cos", | |
261 | "rand", | |
262 | "srand", | |
263 | "exp", | |
264 | "log", | |
265 | "sqrt", | |
266 | "int", | |
267 | "hex", | |
268 | "oct", | |
269 | "abs", | |
270 | "length", | |
271 | "substr", | |
272 | "vec", | |
273 | "index", | |
274 | "rindex", | |
275 | "sprintf", | |
276 | "formline", | |
277 | "ord", | |
278 | "chr", | |
279 | "crypt", | |
280 | "ucfirst", | |
281 | "lcfirst", | |
282 | "uc", | |
283 | "lc", | |
284 | "quotemeta", | |
285 | "rv2av", | |
286 | "aelemfast", | |
287 | "aelemfast_lex", | |
288 | "aelemfastlex_store", | |
289 | "aelem", | |
290 | "aslice", | |
291 | "kvaslice", | |
292 | "aeach", | |
293 | "avalues", | |
294 | "akeys", | |
295 | "each", | |
296 | "values", | |
297 | "keys", | |
298 | "delete", | |
299 | "exists", | |
300 | "rv2hv", | |
301 | "helem", | |
302 | "hslice", | |
303 | "kvhslice", | |
304 | "multideref", | |
305 | "unpack", | |
306 | "pack", | |
307 | "split", | |
308 | "join", | |
309 | "list", | |
310 | "lslice", | |
311 | "anonlist", | |
312 | "anonhash", | |
313 | "emptyavhv", | |
314 | "splice", | |
315 | "push", | |
316 | "pop", | |
317 | "shift", | |
318 | "unshift", | |
319 | "sort", | |
320 | "reverse", | |
321 | "grepstart", | |
322 | "grepwhile", | |
323 | "mapstart", | |
324 | "mapwhile", | |
325 | "range", | |
326 | "flip", | |
327 | "flop", | |
328 | "and", | |
329 | "or", | |
330 | "xor", | |
331 | "dor", | |
332 | "cond_expr", | |
333 | "andassign", | |
334 | "orassign", | |
335 | "dorassign", | |
336 | "entersub", | |
337 | "leavesub", | |
338 | "leavesublv", | |
339 | "argcheck", | |
340 | "argelem", | |
341 | "argdefelem", | |
342 | "caller", | |
343 | "warn", | |
344 | "die", | |
345 | "reset", | |
346 | "lineseq", | |
347 | "nextstate", | |
348 | "dbstate", | |
349 | "unstack", | |
350 | "enter", | |
351 | "leave", | |
352 | "scope", | |
353 | "enteriter", | |
354 | "iter", | |
355 | "enterloop", | |
356 | "leaveloop", | |
357 | "return", | |
358 | "last", | |
359 | "next", | |
360 | "redo", | |
361 | "dump", | |
362 | "goto", | |
363 | "exit", | |
364 | "method", | |
365 | "method_named", | |
366 | "method_super", | |
367 | "method_redir", | |
368 | "method_redir_super", | |
369 | "entergiven", | |
370 | "leavegiven", | |
371 | "enterwhen", | |
372 | "leavewhen", | |
373 | "break", | |
374 | "continue", | |
375 | "open", | |
376 | "close", | |
377 | "pipe_op", | |
378 | "fileno", | |
379 | "umask", | |
380 | "binmode", | |
381 | "tie", | |
382 | "untie", | |
383 | "tied", | |
384 | "dbmopen", | |
385 | "dbmclose", | |
386 | "sselect", | |
387 | "select", | |
388 | "getc", | |
389 | "read", | |
390 | "enterwrite", | |
391 | "leavewrite", | |
392 | "prtf", | |
393 | "print", | |
394 | "say", | |
395 | "sysopen", | |
396 | "sysseek", | |
397 | "sysread", | |
398 | "syswrite", | |
399 | "eof", | |
400 | "tell", | |
401 | "seek", | |
402 | "truncate", | |
403 | "fcntl", | |
404 | "ioctl", | |
405 | "flock", | |
406 | "send", | |
407 | "recv", | |
408 | "socket", | |
409 | "sockpair", | |
410 | "bind", | |
411 | "connect", | |
412 | "listen", | |
413 | "accept", | |
414 | "shutdown", | |
415 | "gsockopt", | |
416 | "ssockopt", | |
417 | "getsockname", | |
418 | "getpeername", | |
419 | "lstat", | |
420 | "stat", | |
421 | "ftrread", | |
422 | "ftrwrite", | |
423 | "ftrexec", | |
424 | "fteread", | |
425 | "ftewrite", | |
426 | "fteexec", | |
427 | "ftis", | |
428 | "ftsize", | |
429 | "ftmtime", | |
430 | "ftatime", | |
431 | "ftctime", | |
432 | "ftrowned", | |
433 | "fteowned", | |
434 | "ftzero", | |
435 | "ftsock", | |
436 | "ftchr", | |
437 | "ftblk", | |
438 | "ftfile", | |
439 | "ftdir", | |
440 | "ftpipe", | |
441 | "ftsuid", | |
442 | "ftsgid", | |
443 | "ftsvtx", | |
444 | "ftlink", | |
445 | "fttty", | |
446 | "fttext", | |
447 | "ftbinary", | |
448 | "chdir", | |
449 | "chown", | |
450 | "chroot", | |
451 | "unlink", | |
452 | "chmod", | |
453 | "utime", | |
454 | "rename", | |
455 | "link", | |
456 | "symlink", | |
457 | "readlink", | |
458 | "mkdir", | |
459 | "rmdir", | |
460 | "open_dir", | |
461 | "readdir", | |
462 | "telldir", | |
463 | "seekdir", | |
464 | "rewinddir", | |
465 | "closedir", | |
466 | "fork", | |
467 | "wait", | |
468 | "waitpid", | |
469 | "system", | |
470 | "exec", | |
471 | "kill", | |
472 | "getppid", | |
473 | "getpgrp", | |
474 | "setpgrp", | |
475 | "getpriority", | |
476 | "setpriority", | |
477 | "time", | |
478 | "tms", | |
479 | "localtime", | |
480 | "gmtime", | |
481 | "alarm", | |
482 | "sleep", | |
483 | "shmget", | |
484 | "shmctl", | |
485 | "shmread", | |
486 | "shmwrite", | |
487 | "msgget", | |
488 | "msgctl", | |
489 | "msgsnd", | |
490 | "msgrcv", | |
491 | "semop", | |
492 | "semget", | |
493 | "semctl", | |
494 | "require", | |
495 | "dofile", | |
496 | "hintseval", | |
497 | "entereval", | |
498 | "leaveeval", | |
499 | "entertry", | |
500 | "leavetry", | |
501 | "ghbyname", | |
502 | "ghbyaddr", | |
503 | "ghostent", | |
504 | "gnbyname", | |
505 | "gnbyaddr", | |
506 | "gnetent", | |
507 | "gpbyname", | |
508 | "gpbynumber", | |
509 | "gprotoent", | |
510 | "gsbyname", | |
511 | "gsbyport", | |
512 | "gservent", | |
513 | "shostent", | |
514 | "snetent", | |
515 | "sprotoent", | |
516 | "sservent", | |
517 | "ehostent", | |
518 | "enetent", | |
519 | "eprotoent", | |
520 | "eservent", | |
521 | "gpwnam", | |
522 | "gpwuid", | |
523 | "gpwent", | |
524 | "spwent", | |
525 | "epwent", | |
526 | "ggrnam", | |
527 | "ggrgid", | |
528 | "ggrent", | |
529 | "sgrent", | |
530 | "egrent", | |
531 | "getlogin", | |
532 | "syscall", | |
533 | "lock", | |
534 | "once", | |
535 | "custom", | |
536 | "coreargs", | |
537 | "avhvswitch", | |
538 | "runcv", | |
539 | "fc", | |
540 | "padcv", | |
541 | "introcv", | |
542 | "clonecv", | |
543 | "padrange", | |
544 | "refassign", | |
545 | "lvref", | |
546 | "lvrefslice", | |
547 | "lvavref", | |
548 | "anonconst", | |
549 | "isa", | |
550 | "cmpchain_and", | |
551 | "cmpchain_dup", | |
552 | "entertrycatch", | |
553 | "leavetrycatch", | |
554 | "poptry", | |
555 | "catch", | |
556 | "pushdefer", | |
557 | "is_bool", | |
558 | "is_weak", | |
559 | "weaken", | |
560 | "unweaken", | |
561 | "blessed", | |
562 | "refaddr", | |
563 | "reftype", | |
564 | "ceil", | |
565 | "floor", | |
566 | "is_tainted", | |
567 | "helemexistsor", | |
568 | "methstart", | |
569 | "initfield", | |
63119cca | 570 | "classname", |
4444b686 | 571 | "freed", |
3c544c1f | 572 | }); |
c07a80fd | 573 | |
3c544c1f | 574 | EXTCONST char* const PL_op_desc[] INIT({ |
4444b686 LT |
575 | "null operation", |
576 | "stub", | |
577 | "scalar", | |
578 | "pushmark", | |
579 | "wantarray", | |
580 | "constant item", | |
581 | "scalar variable", | |
582 | "glob value", | |
583 | "glob elem", | |
584 | "private variable", | |
585 | "padsv scalar assignment", | |
586 | "private array", | |
587 | "private hash", | |
588 | "private value", | |
589 | "ref-to-glob cast", | |
590 | "scalar dereference", | |
591 | "array length", | |
592 | "subroutine dereference", | |
593 | "anonymous subroutine", | |
594 | "subroutine prototype", | |
595 | "reference constructor", | |
596 | "single ref constructor", | |
597 | "reference-type operator", | |
598 | "bless", | |
599 | "quoted execution (``, qx)", | |
600 | "glob", | |
601 | "<HANDLE>", | |
602 | "append I/O operator", | |
603 | "regexp internal guard", | |
604 | "regexp internal reset", | |
605 | "regexp compilation", | |
606 | "pattern match (m//)", | |
607 | "pattern quote (qr//)", | |
608 | "substitution (s///)", | |
609 | "substitution iterator", | |
610 | "transliteration (tr///)", | |
611 | "transliteration (tr///)", | |
612 | "scalar assignment", | |
613 | "list assignment", | |
614 | "chop", | |
615 | "scalar chop", | |
616 | "chomp", | |
617 | "scalar chomp", | |
618 | "defined operator", | |
619 | "undef operator", | |
620 | "study", | |
621 | "match position", | |
622 | "preincrement (++)", | |
623 | "integer preincrement (++)", | |
624 | "predecrement (--)", | |
625 | "integer predecrement (--)", | |
626 | "postincrement (++)", | |
627 | "integer postincrement (++)", | |
628 | "postdecrement (--)", | |
629 | "integer postdecrement (--)", | |
630 | "exponentiation (**)", | |
631 | "multiplication (*)", | |
632 | "integer multiplication (*)", | |
633 | "division (/)", | |
634 | "integer division (/)", | |
635 | "modulus (%)", | |
636 | "integer modulus (%)", | |
637 | "repeat (x)", | |
638 | "addition (+)", | |
639 | "integer addition (+)", | |
640 | "subtraction (-)", | |
641 | "integer subtraction (-)", | |
642 | "concatenation (.) or string", | |
643 | "concatenation (.) or string", | |
644 | "string", | |
645 | "left bitshift (<<)", | |
646 | "right bitshift (>>)", | |
647 | "numeric lt (<)", | |
648 | "integer lt (<)", | |
649 | "numeric gt (>)", | |
650 | "integer gt (>)", | |
651 | "numeric le (<=)", | |
652 | "integer le (<=)", | |
653 | "numeric ge (>=)", | |
654 | "integer ge (>=)", | |
655 | "numeric eq (==)", | |
656 | "integer eq (==)", | |
657 | "numeric ne (!=)", | |
658 | "integer ne (!=)", | |
659 | "numeric comparison (<=>)", | |
660 | "integer comparison (<=>)", | |
661 | "string lt", | |
662 | "string gt", | |
663 | "string le", | |
664 | "string ge", | |
665 | "string eq", | |
666 | "string ne", | |
667 | "string comparison (cmp)", | |
668 | "bitwise and (&)", | |
669 | "bitwise xor (^)", | |
670 | "bitwise or (|)", | |
671 | "numeric bitwise and (&)", | |
672 | "numeric bitwise xor (^)", | |
673 | "numeric bitwise or (|)", | |
674 | "string bitwise and (&.)", | |
675 | "string bitwise xor (^.)", | |
676 | "string bitwise or (|.)", | |
677 | "negation (-)", | |
678 | "integer negation (-)", | |
679 | "not", | |
680 | "1's complement (~)", | |
681 | "numeric 1's complement (~)", | |
682 | "string 1's complement (~)", | |
683 | "smart match", | |
684 | "atan2", | |
685 | "sin", | |
686 | "cos", | |
687 | "rand", | |
688 | "srand", | |
689 | "exp", | |
690 | "log", | |
691 | "sqrt", | |
692 | "int", | |
693 | "hex", | |
694 | "oct", | |
695 | "abs", | |
696 | "length", | |
697 | "substr", | |
698 | "vec", | |
699 | "index", | |
700 | "rindex", | |
701 | "sprintf", | |
702 | "formline", | |
703 | "ord", | |
704 | "chr", | |
705 | "crypt", | |
706 | "ucfirst", | |
707 | "lcfirst", | |
708 | "uc", | |
709 | "lc", | |
710 | "quotemeta", | |
711 | "array dereference", | |
712 | "constant array element", | |
713 | "constant lexical array element", | |
714 | "const lexical array element store", | |
715 | "array element", | |
716 | "array slice", | |
717 | "index/value array slice", | |
718 | "each on array", | |
719 | "values on array", | |
720 | "keys on array", | |
721 | "each", | |
722 | "values", | |
723 | "keys", | |
724 | "delete", | |
725 | "exists", | |
726 | "hash dereference", | |
727 | "hash element", | |
728 | "hash slice", | |
729 | "key/value hash slice", | |
730 | "array or hash lookup", | |
731 | "unpack", | |
732 | "pack", | |
733 | "split", | |
734 | "join or string", | |
735 | "list", | |
736 | "list slice", | |
737 | "anonymous array ([])", | |
738 | "anonymous hash ({})", | |
739 | "empty anon hash/array", | |
740 | "splice", | |
741 | "push", | |
742 | "pop", | |
743 | "shift", | |
744 | "unshift", | |
745 | "sort", | |
746 | "reverse", | |
747 | "grep", | |
748 | "grep iterator", | |
749 | "map", | |
750 | "map iterator", | |
751 | "flipflop", | |
752 | "range (or flip)", | |
753 | "range (or flop)", | |
754 | "logical and (&&)", | |
755 | "logical or (||)", | |
756 | "logical xor", | |
757 | "defined or (//)", | |
758 | "conditional expression", | |
759 | "logical and assignment (&&=)", | |
760 | "logical or assignment (||=)", | |
761 | "defined or assignment (//=)", | |
762 | "subroutine entry", | |
763 | "subroutine exit", | |
764 | "lvalue subroutine return", | |
765 | "check subroutine arguments", | |
766 | "subroutine argument", | |
767 | "subroutine argument default value", | |
768 | "caller", | |
769 | "warn", | |
770 | "die", | |
771 | "symbol reset", | |
772 | "line sequence", | |
773 | "next statement", | |
774 | "debug next statement", | |
775 | "iteration finalizer", | |
776 | "block entry", | |
777 | "block exit", | |
778 | "block", | |
779 | "foreach loop entry", | |
780 | "foreach loop iterator", | |
781 | "loop entry", | |
782 | "loop exit", | |
783 | "return", | |
784 | "last", | |
785 | "next", | |
786 | "redo", | |
787 | "dump", | |
788 | "goto", | |
789 | "exit", | |
790 | "method lookup", | |
791 | "method with known name", | |
792 | "super with known name", | |
793 | "redirect method with known name", | |
794 | "redirect super method with known name", | |
795 | "given()", | |
796 | "leave given block", | |
797 | "when()", | |
798 | "leave when block", | |
799 | "break", | |
800 | "continue", | |
801 | "open", | |
802 | "close", | |
803 | "pipe", | |
804 | "fileno", | |
805 | "umask", | |
806 | "binmode", | |
807 | "tie", | |
808 | "untie", | |
809 | "tied", | |
810 | "dbmopen", | |
811 | "dbmclose", | |
812 | "select system call", | |
813 | "select", | |
814 | "getc", | |
815 | "read", | |
816 | "write", | |
817 | "write exit", | |
818 | "printf", | |
819 | "print", | |
820 | "say", | |
821 | "sysopen", | |
822 | "sysseek", | |
823 | "sysread", | |
824 | "syswrite", | |
825 | "eof", | |
826 | "tell", | |
827 | "seek", | |
828 | "truncate", | |
829 | "fcntl", | |
830 | "ioctl", | |
831 | "flock", | |
832 | "send", | |
833 | "recv", | |
834 | "socket", | |
835 | "socketpair", | |
836 | "bind", | |
837 | "connect", | |
838 | "listen", | |
839 | "accept", | |
840 | "shutdown", | |
841 | "getsockopt", | |
842 | "setsockopt", | |
843 | "getsockname", | |
844 | "getpeername", | |
845 | "lstat", | |
846 | "stat", | |
847 | "-R", | |
848 | "-W", | |
849 | "-X", | |
850 | "-r", | |
851 | "-w", | |
852 | "-x", | |
853 | "-e", | |
854 | "-s", | |
855 | "-M", | |
856 | "-A", | |
857 | "-C", | |
858 | "-O", | |
859 | "-o", | |
860 | "-z", | |
861 | "-S", | |
862 | "-c", | |
863 | "-b", | |
864 | "-f", | |
865 | "-d", | |
866 | "-p", | |
867 | "-u", | |
868 | "-g", | |
869 | "-k", | |
870 | "-l", | |
871 | "-t", | |
872 | "-T", | |
873 | "-B", | |
874 | "chdir", | |
875 | "chown", | |
876 | "chroot", | |
877 | "unlink", | |
878 | "chmod", | |
879 | "utime", | |
880 | "rename", | |
881 | "link", | |
882 | "symlink", | |
883 | "readlink", | |
884 | "mkdir", | |
885 | "rmdir", | |
886 | "opendir", | |
887 | "readdir", | |
888 | "telldir", | |
889 | "seekdir", | |
890 | "rewinddir", | |
891 | "closedir", | |
892 | "fork", | |
893 | "wait", | |
894 | "waitpid", | |
895 | "system", | |
896 | "exec", | |
897 | "kill", | |
898 | "getppid", | |
899 | "getpgrp", | |
900 | "setpgrp", | |
901 | "getpriority", | |
902 | "setpriority", | |
903 | "time", | |
904 | "times", | |
905 | "localtime", | |
906 | "gmtime", | |
907 | "alarm", | |
908 | "sleep", | |
909 | "shmget", | |
910 | "shmctl", | |
911 | "shmread", | |
912 | "shmwrite", | |
913 | "msgget", | |
914 | "msgctl", | |
915 | "msgsnd", | |
916 | "msgrcv", | |
917 | "semop", | |
918 | "semget", | |
919 | "semctl", | |
920 | "require", | |
921 | "do \"file\"", | |
922 | "eval hints", | |
923 | "eval \"string\"", | |
924 | "eval \"string\" exit", | |
925 | "eval {block}", | |
926 | "eval {block} exit", | |
927 | "gethostbyname", | |
928 | "gethostbyaddr", | |
929 | "gethostent", | |
930 | "getnetbyname", | |
931 | "getnetbyaddr", | |
932 | "getnetent", | |
933 | "getprotobyname", | |
934 | "getprotobynumber", | |
935 | "getprotoent", | |
936 | "getservbyname", | |
937 | "getservbyport", | |
938 | "getservent", | |
939 | "sethostent", | |
940 | "setnetent", | |
941 | "setprotoent", | |
942 | "setservent", | |
943 | "endhostent", | |
944 | "endnetent", | |
945 | "endprotoent", | |
946 | "endservent", | |
947 | "getpwnam", | |
948 | "getpwuid", | |
949 | "getpwent", | |
950 | "setpwent", | |
951 | "endpwent", | |
952 | "getgrnam", | |
953 | "getgrgid", | |
954 | "getgrent", | |
955 | "setgrent", | |
956 | "endgrent", | |
957 | "getlogin", | |
958 | "syscall", | |
959 | "lock", | |
960 | "once", | |
961 | "unknown custom operator", | |
962 | "CORE:: subroutine", | |
963 | "Array/hash switch", | |
964 | "__SUB__", | |
965 | "fc", | |
966 | "private subroutine", | |
967 | "private subroutine", | |
968 | "private subroutine", | |
969 | "list of private variables", | |
970 | "lvalue ref assignment", | |
971 | "lvalue ref assignment", | |
972 | "lvalue ref assignment", | |
973 | "lvalue array reference", | |
974 | "anonymous constant", | |
975 | "derived class test", | |
976 | "comparison chaining", | |
977 | "comparand shuffling", | |
978 | "try {block}", | |
979 | "try {block} exit", | |
980 | "pop try", | |
981 | "catch {} block", | |
982 | "push defer {} block", | |
983 | "boolean type test", | |
984 | "weakref type test", | |
985 | "reference weaken", | |
986 | "reference unweaken", | |
987 | "blessed", | |
988 | "refaddr", | |
989 | "reftype", | |
990 | "ceil", | |
991 | "floor", | |
992 | "is_tainted", | |
993 | "hash element exists or", | |
994 | "method start", | |
995 | "initialise field", | |
63119cca | 996 | "class name", |
4444b686 | 997 | "freed op", |
3c544c1f | 998 | }); |
79072805 | 999 | |
73c4f7a1 GS |
1000 | END_EXTERN_C |
1001 | ||
73c4f7a1 GS |
1002 | START_EXTERN_C |
1003 | ||
27da23d5 | 1004 | EXT Perl_ppaddr_t PL_ppaddr[] /* or perlvars.h */ |
3c544c1f | 1005 | INIT({ |
4444b686 LT |
1006 | Perl_pp_null, |
1007 | Perl_pp_stub, | |
1008 | Perl_pp_scalar, /* implemented by Perl_pp_null */ | |
1009 | Perl_pp_pushmark, | |
1010 | Perl_pp_wantarray, | |
1011 | Perl_pp_const, | |
1012 | Perl_pp_gvsv, | |
1013 | Perl_pp_gv, | |
1014 | Perl_pp_gelem, | |
1015 | Perl_pp_padsv, | |
1016 | Perl_pp_padsv_store, | |
1017 | Perl_pp_padav, | |
1018 | Perl_pp_padhv, | |
1019 | Perl_pp_padany, /* implemented by Perl_unimplemented_op */ | |
1020 | Perl_pp_rv2gv, | |
1021 | Perl_pp_rv2sv, | |
1022 | Perl_pp_av2arylen, | |
1023 | Perl_pp_rv2cv, | |
1024 | Perl_pp_anoncode, | |
1025 | Perl_pp_prototype, | |
1026 | Perl_pp_refgen, | |
1027 | Perl_pp_srefgen, | |
1028 | Perl_pp_ref, | |
1029 | Perl_pp_bless, | |
1030 | Perl_pp_backtick, | |
1031 | Perl_pp_glob, | |
1032 | Perl_pp_readline, | |
1033 | Perl_pp_rcatline, | |
1034 | Perl_pp_regcmaybe, /* implemented by Perl_pp_null */ | |
1035 | Perl_pp_regcreset, | |
1036 | Perl_pp_regcomp, | |
1037 | Perl_pp_match, | |
1038 | Perl_pp_qr, | |
1039 | Perl_pp_subst, | |
1040 | Perl_pp_substcont, | |
1041 | Perl_pp_trans, | |
1042 | Perl_pp_transr, /* implemented by Perl_pp_trans */ | |
1043 | Perl_pp_sassign, | |
1044 | Perl_pp_aassign, | |
1045 | Perl_pp_chop, | |
1046 | Perl_pp_schop, | |
1047 | Perl_pp_chomp, /* implemented by Perl_pp_chop */ | |
1048 | Perl_pp_schomp, /* implemented by Perl_pp_schop */ | |
1049 | Perl_pp_defined, | |
1050 | Perl_pp_undef, | |
1051 | Perl_pp_study, | |
1052 | Perl_pp_pos, | |
1053 | Perl_pp_preinc, | |
1054 | Perl_pp_i_preinc, /* implemented by Perl_pp_preinc */ | |
1055 | Perl_pp_predec, | |
1056 | Perl_pp_i_predec, /* implemented by Perl_pp_predec */ | |
1057 | Perl_pp_postinc, | |
1058 | Perl_pp_i_postinc, /* implemented by Perl_pp_postinc */ | |
1059 | Perl_pp_postdec, | |
1060 | Perl_pp_i_postdec, /* implemented by Perl_pp_postdec */ | |
1061 | Perl_pp_pow, | |
1062 | Perl_pp_multiply, | |
1063 | Perl_pp_i_multiply, | |
1064 | Perl_pp_divide, | |
1065 | Perl_pp_i_divide, | |
1066 | Perl_pp_modulo, | |
1067 | Perl_pp_i_modulo, | |
1068 | Perl_pp_repeat, | |
1069 | Perl_pp_add, | |
1070 | Perl_pp_i_add, | |
1071 | Perl_pp_subtract, | |
1072 | Perl_pp_i_subtract, | |
1073 | Perl_pp_concat, | |
1074 | Perl_pp_multiconcat, | |
1075 | Perl_pp_stringify, | |
1076 | Perl_pp_left_shift, | |
1077 | Perl_pp_right_shift, | |
1078 | Perl_pp_lt, | |
1079 | Perl_pp_i_lt, | |
1080 | Perl_pp_gt, | |
1081 | Perl_pp_i_gt, | |
1082 | Perl_pp_le, | |
1083 | Perl_pp_i_le, | |
1084 | Perl_pp_ge, | |
1085 | Perl_pp_i_ge, | |
1086 | Perl_pp_eq, | |
1087 | Perl_pp_i_eq, | |
1088 | Perl_pp_ne, | |
1089 | Perl_pp_i_ne, | |
1090 | Perl_pp_ncmp, | |
1091 | Perl_pp_i_ncmp, | |
1092 | Perl_pp_slt, /* implemented by Perl_pp_sle */ | |
1093 | Perl_pp_sgt, /* implemented by Perl_pp_sle */ | |
1094 | Perl_pp_sle, | |
1095 | Perl_pp_sge, /* implemented by Perl_pp_sle */ | |
1096 | Perl_pp_seq, | |
1097 | Perl_pp_sne, | |
1098 | Perl_pp_scmp, | |
1099 | Perl_pp_bit_and, | |
1100 | Perl_pp_bit_xor, /* implemented by Perl_pp_bit_or */ | |
1101 | Perl_pp_bit_or, | |
1102 | Perl_pp_nbit_and, | |
1103 | Perl_pp_nbit_xor, /* implemented by Perl_pp_nbit_or */ | |
1104 | Perl_pp_nbit_or, | |
1105 | Perl_pp_sbit_and, | |
1106 | Perl_pp_sbit_xor, /* implemented by Perl_pp_sbit_or */ | |
1107 | Perl_pp_sbit_or, | |
1108 | Perl_pp_negate, | |
1109 | Perl_pp_i_negate, | |
1110 | Perl_pp_not, | |
1111 | Perl_pp_complement, | |
1112 | Perl_pp_ncomplement, | |
1113 | Perl_pp_scomplement, | |
1114 | Perl_pp_smartmatch, | |
1115 | Perl_pp_atan2, | |
1116 | Perl_pp_sin, | |
1117 | Perl_pp_cos, /* implemented by Perl_pp_sin */ | |
1118 | Perl_pp_rand, | |
1119 | Perl_pp_srand, | |
1120 | Perl_pp_exp, /* implemented by Perl_pp_sin */ | |
1121 | Perl_pp_log, /* implemented by Perl_pp_sin */ | |
1122 | Perl_pp_sqrt, /* implemented by Perl_pp_sin */ | |
1123 | Perl_pp_int, | |
1124 | Perl_pp_hex, /* implemented by Perl_pp_oct */ | |
1125 | Perl_pp_oct, | |
1126 | Perl_pp_abs, | |
1127 | Perl_pp_length, | |
1128 | Perl_pp_substr, | |
1129 | Perl_pp_vec, | |
1130 | Perl_pp_index, | |
1131 | Perl_pp_rindex, /* implemented by Perl_pp_index */ | |
1132 | Perl_pp_sprintf, | |
1133 | Perl_pp_formline, | |
1134 | Perl_pp_ord, | |
1135 | Perl_pp_chr, | |
1136 | Perl_pp_crypt, | |
1137 | Perl_pp_ucfirst, | |
1138 | Perl_pp_lcfirst, /* implemented by Perl_pp_ucfirst */ | |
1139 | Perl_pp_uc, | |
1140 | Perl_pp_lc, | |
1141 | Perl_pp_quotemeta, | |
1142 | Perl_pp_rv2av, | |
1143 | Perl_pp_aelemfast, | |
1144 | Perl_pp_aelemfast_lex, /* implemented by Perl_pp_aelemfast */ | |
1145 | Perl_pp_aelemfastlex_store, | |
1146 | Perl_pp_aelem, | |
1147 | Perl_pp_aslice, | |
1148 | Perl_pp_kvaslice, | |
1149 | Perl_pp_aeach, | |
1150 | Perl_pp_avalues, /* implemented by Perl_pp_akeys */ | |
1151 | Perl_pp_akeys, | |
1152 | Perl_pp_each, | |
1153 | Perl_pp_values, /* implemented by Perl_do_kv */ | |
1154 | Perl_pp_keys, /* implemented by Perl_do_kv */ | |
1155 | Perl_pp_delete, | |
1156 | Perl_pp_exists, | |
1157 | Perl_pp_rv2hv, /* implemented by Perl_pp_rv2av */ | |
1158 | Perl_pp_helem, | |
1159 | Perl_pp_hslice, | |
1160 | Perl_pp_kvhslice, | |
1161 | Perl_pp_multideref, | |
1162 | Perl_pp_unpack, | |
1163 | Perl_pp_pack, | |
1164 | Perl_pp_split, | |
1165 | Perl_pp_join, | |
1166 | Perl_pp_list, | |
1167 | Perl_pp_lslice, | |
1168 | Perl_pp_anonlist, | |
1169 | Perl_pp_anonhash, | |
1170 | Perl_pp_emptyavhv, | |
1171 | Perl_pp_splice, | |
1172 | Perl_pp_push, | |
1173 | Perl_pp_pop, /* implemented by Perl_pp_shift */ | |
1174 | Perl_pp_shift, | |
1175 | Perl_pp_unshift, | |
1176 | Perl_pp_sort, | |
1177 | Perl_pp_reverse, | |
1178 | Perl_pp_grepstart, | |
1179 | Perl_pp_grepwhile, | |
1180 | Perl_pp_mapstart, /* implemented by Perl_pp_grepstart */ | |
1181 | Perl_pp_mapwhile, | |
1182 | Perl_pp_range, | |
1183 | Perl_pp_flip, | |
1184 | Perl_pp_flop, | |
1185 | Perl_pp_and, | |
1186 | Perl_pp_or, | |
1187 | Perl_pp_xor, | |
1188 | Perl_pp_dor, /* implemented by Perl_pp_defined */ | |
1189 | Perl_pp_cond_expr, | |
1190 | Perl_pp_andassign, /* implemented by Perl_pp_and */ | |
1191 | Perl_pp_orassign, /* implemented by Perl_pp_or */ | |
1192 | Perl_pp_dorassign, /* implemented by Perl_pp_defined */ | |
1193 | Perl_pp_entersub, | |
1194 | Perl_pp_leavesub, | |
1195 | Perl_pp_leavesublv, | |
1196 | Perl_pp_argcheck, | |
1197 | Perl_pp_argelem, | |
1198 | Perl_pp_argdefelem, | |
1199 | Perl_pp_caller, | |
1200 | Perl_pp_warn, | |
1201 | Perl_pp_die, | |
1202 | Perl_pp_reset, | |
1203 | Perl_pp_lineseq, /* implemented by Perl_pp_null */ | |
1204 | Perl_pp_nextstate, | |
1205 | Perl_pp_dbstate, | |
1206 | Perl_pp_unstack, | |
1207 | Perl_pp_enter, | |
1208 | Perl_pp_leave, | |
1209 | Perl_pp_scope, /* implemented by Perl_pp_null */ | |
1210 | Perl_pp_enteriter, | |
1211 | Perl_pp_iter, | |
1212 | Perl_pp_enterloop, | |
1213 | Perl_pp_leaveloop, | |
1214 | Perl_pp_return, | |
1215 | Perl_pp_last, | |
1216 | Perl_pp_next, | |
1217 | Perl_pp_redo, | |
1218 | Perl_pp_dump, /* implemented by Perl_pp_goto */ | |
1219 | Perl_pp_goto, | |
1220 | Perl_pp_exit, | |
1221 | Perl_pp_method, | |
1222 | Perl_pp_method_named, | |
1223 | Perl_pp_method_super, | |
1224 | Perl_pp_method_redir, | |
1225 | Perl_pp_method_redir_super, | |
1226 | Perl_pp_entergiven, | |
1227 | Perl_pp_leavegiven, | |
1228 | Perl_pp_enterwhen, | |
1229 | Perl_pp_leavewhen, | |
1230 | Perl_pp_break, | |
1231 | Perl_pp_continue, | |
1232 | Perl_pp_open, | |
1233 | Perl_pp_close, | |
1234 | Perl_pp_pipe_op, | |
1235 | Perl_pp_fileno, | |
1236 | Perl_pp_umask, | |
1237 | Perl_pp_binmode, | |
1238 | Perl_pp_tie, | |
1239 | Perl_pp_untie, | |
1240 | Perl_pp_tied, | |
1241 | Perl_pp_dbmopen, | |
1242 | Perl_pp_dbmclose, /* implemented by Perl_pp_untie */ | |
1243 | Perl_pp_sselect, | |
1244 | Perl_pp_select, | |
1245 | Perl_pp_getc, | |
1246 | Perl_pp_read, /* implemented by Perl_pp_sysread */ | |
1247 | Perl_pp_enterwrite, | |
1248 | Perl_pp_leavewrite, | |
1249 | Perl_pp_prtf, | |
1250 | Perl_pp_print, | |
1251 | Perl_pp_say, /* implemented by Perl_pp_print */ | |
1252 | Perl_pp_sysopen, | |
1253 | Perl_pp_sysseek, | |
1254 | Perl_pp_sysread, | |
1255 | Perl_pp_syswrite, | |
1256 | Perl_pp_eof, | |
1257 | Perl_pp_tell, | |
1258 | Perl_pp_seek, /* implemented by Perl_pp_sysseek */ | |
1259 | Perl_pp_truncate, | |
1260 | Perl_pp_fcntl, /* implemented by Perl_pp_ioctl */ | |
1261 | Perl_pp_ioctl, | |
1262 | Perl_pp_flock, | |
1263 | Perl_pp_send, /* implemented by Perl_pp_syswrite */ | |
1264 | Perl_pp_recv, /* implemented by Perl_pp_sysread */ | |
1265 | Perl_pp_socket, | |
1266 | Perl_pp_sockpair, | |
1267 | Perl_pp_bind, | |
1268 | Perl_pp_connect, /* implemented by Perl_pp_bind */ | |
1269 | Perl_pp_listen, | |
1270 | Perl_pp_accept, | |
1271 | Perl_pp_shutdown, | |
1272 | Perl_pp_gsockopt, /* implemented by Perl_pp_ssockopt */ | |
1273 | Perl_pp_ssockopt, | |
1274 | Perl_pp_getsockname, /* implemented by Perl_pp_getpeername */ | |
1275 | Perl_pp_getpeername, | |
1276 | Perl_pp_lstat, /* implemented by Perl_pp_stat */ | |
1277 | Perl_pp_stat, | |
1278 | Perl_pp_ftrread, | |
1279 | Perl_pp_ftrwrite, /* implemented by Perl_pp_ftrread */ | |
1280 | Perl_pp_ftrexec, /* implemented by Perl_pp_ftrread */ | |
1281 | Perl_pp_fteread, /* implemented by Perl_pp_ftrread */ | |
1282 | Perl_pp_ftewrite, /* implemented by Perl_pp_ftrread */ | |
1283 | Perl_pp_fteexec, /* implemented by Perl_pp_ftrread */ | |
1284 | Perl_pp_ftis, | |
1285 | Perl_pp_ftsize, /* implemented by Perl_pp_ftis */ | |
1286 | Perl_pp_ftmtime, /* implemented by Perl_pp_ftis */ | |
1287 | Perl_pp_ftatime, /* implemented by Perl_pp_ftis */ | |
1288 | Perl_pp_ftctime, /* implemented by Perl_pp_ftis */ | |
1289 | Perl_pp_ftrowned, | |
1290 | Perl_pp_fteowned, /* implemented by Perl_pp_ftrowned */ | |
1291 | Perl_pp_ftzero, /* implemented by Perl_pp_ftrowned */ | |
1292 | Perl_pp_ftsock, /* implemented by Perl_pp_ftrowned */ | |
1293 | Perl_pp_ftchr, /* implemented by Perl_pp_ftrowned */ | |
1294 | Perl_pp_ftblk, /* implemented by Perl_pp_ftrowned */ | |
1295 | Perl_pp_ftfile, /* implemented by Perl_pp_ftrowned */ | |
1296 | Perl_pp_ftdir, /* implemented by Perl_pp_ftrowned */ | |
1297 | Perl_pp_ftpipe, /* implemented by Perl_pp_ftrowned */ | |
1298 | Perl_pp_ftsuid, /* implemented by Perl_pp_ftrowned */ | |
1299 | Perl_pp_ftsgid, /* implemented by Perl_pp_ftrowned */ | |
1300 | Perl_pp_ftsvtx, /* implemented by Perl_pp_ftrowned */ | |
1301 | Perl_pp_ftlink, | |
1302 | Perl_pp_fttty, | |
1303 | Perl_pp_fttext, | |
1304 | Perl_pp_ftbinary, /* implemented by Perl_pp_fttext */ | |
1305 | Perl_pp_chdir, | |
1306 | Perl_pp_chown, | |
1307 | Perl_pp_chroot, | |
1308 | Perl_pp_unlink, /* implemented by Perl_pp_chown */ | |
1309 | Perl_pp_chmod, /* implemented by Perl_pp_chown */ | |
1310 | Perl_pp_utime, /* implemented by Perl_pp_chown */ | |
1311 | Perl_pp_rename, | |
1312 | Perl_pp_link, | |
1313 | Perl_pp_symlink, /* implemented by Perl_pp_link */ | |
1314 | Perl_pp_readlink, | |
1315 | Perl_pp_mkdir, | |
1316 | Perl_pp_rmdir, | |
1317 | Perl_pp_open_dir, | |
1318 | Perl_pp_readdir, | |
1319 | Perl_pp_telldir, | |
1320 | Perl_pp_seekdir, | |
1321 | Perl_pp_rewinddir, | |
1322 | Perl_pp_closedir, | |
1323 | Perl_pp_fork, | |
1324 | Perl_pp_wait, | |
1325 | Perl_pp_waitpid, | |
1326 | Perl_pp_system, | |
1327 | Perl_pp_exec, | |
1328 | Perl_pp_kill, /* implemented by Perl_pp_chown */ | |
1329 | Perl_pp_getppid, | |
1330 | Perl_pp_getpgrp, | |
1331 | Perl_pp_setpgrp, | |
1332 | Perl_pp_getpriority, | |
1333 | Perl_pp_setpriority, | |
1334 | Perl_pp_time, | |
1335 | Perl_pp_tms, | |
1336 | Perl_pp_localtime, /* implemented by Perl_pp_gmtime */ | |
1337 | Perl_pp_gmtime, | |
1338 | Perl_pp_alarm, | |
1339 | Perl_pp_sleep, | |
1340 | Perl_pp_shmget, /* implemented by Perl_pp_semget */ | |
1341 | Perl_pp_shmctl, /* implemented by Perl_pp_semctl */ | |
1342 | Perl_pp_shmread, /* implemented by Perl_pp_shmwrite */ | |
1343 | Perl_pp_shmwrite, | |
1344 | Perl_pp_msgget, /* implemented by Perl_pp_semget */ | |
1345 | Perl_pp_msgctl, /* implemented by Perl_pp_semctl */ | |
1346 | Perl_pp_msgsnd, /* implemented by Perl_pp_shmwrite */ | |
1347 | Perl_pp_msgrcv, /* implemented by Perl_pp_shmwrite */ | |
1348 | Perl_pp_semop, /* implemented by Perl_pp_shmwrite */ | |
1349 | Perl_pp_semget, | |
1350 | Perl_pp_semctl, | |
1351 | Perl_pp_require, | |
1352 | Perl_pp_dofile, /* implemented by Perl_pp_require */ | |
1353 | Perl_pp_hintseval, | |
1354 | Perl_pp_entereval, | |
1355 | Perl_pp_leaveeval, | |
1356 | Perl_pp_entertry, | |
1357 | Perl_pp_leavetry, | |
1358 | Perl_pp_ghbyname, /* implemented by Perl_pp_ghostent */ | |
1359 | Perl_pp_ghbyaddr, /* implemented by Perl_pp_ghostent */ | |
1360 | Perl_pp_ghostent, | |
1361 | Perl_pp_gnbyname, /* implemented by Perl_pp_gnetent */ | |
1362 | Perl_pp_gnbyaddr, /* implemented by Perl_pp_gnetent */ | |
1363 | Perl_pp_gnetent, | |
1364 | Perl_pp_gpbyname, /* implemented by Perl_pp_gprotoent */ | |
1365 | Perl_pp_gpbynumber, /* implemented by Perl_pp_gprotoent */ | |
1366 | Perl_pp_gprotoent, | |
1367 | Perl_pp_gsbyname, /* implemented by Perl_pp_gservent */ | |
1368 | Perl_pp_gsbyport, /* implemented by Perl_pp_gservent */ | |
1369 | Perl_pp_gservent, | |
1370 | Perl_pp_shostent, | |
1371 | Perl_pp_snetent, /* implemented by Perl_pp_shostent */ | |
1372 | Perl_pp_sprotoent, /* implemented by Perl_pp_shostent */ | |
1373 | Perl_pp_sservent, /* implemented by Perl_pp_shostent */ | |
1374 | Perl_pp_ehostent, | |
1375 | Perl_pp_enetent, /* implemented by Perl_pp_ehostent */ | |
1376 | Perl_pp_eprotoent, /* implemented by Perl_pp_ehostent */ | |
1377 | Perl_pp_eservent, /* implemented by Perl_pp_ehostent */ | |
1378 | Perl_pp_gpwnam, /* implemented by Perl_pp_gpwent */ | |
1379 | Perl_pp_gpwuid, /* implemented by Perl_pp_gpwent */ | |
1380 | Perl_pp_gpwent, | |
1381 | Perl_pp_spwent, /* implemented by Perl_pp_ehostent */ | |
1382 | Perl_pp_epwent, /* implemented by Perl_pp_ehostent */ | |
1383 | Perl_pp_ggrnam, /* implemented by Perl_pp_ggrent */ | |
1384 | Perl_pp_ggrgid, /* implemented by Perl_pp_ggrent */ | |
1385 | Perl_pp_ggrent, | |
1386 | Perl_pp_sgrent, /* implemented by Perl_pp_ehostent */ | |
1387 | Perl_pp_egrent, /* implemented by Perl_pp_ehostent */ | |
1388 | Perl_pp_getlogin, | |
1389 | Perl_pp_syscall, | |
1390 | Perl_pp_lock, | |
1391 | Perl_pp_once, | |
1392 | Perl_pp_custom, /* implemented by Perl_unimplemented_op */ | |
1393 | Perl_pp_coreargs, | |
1394 | Perl_pp_avhvswitch, | |
1395 | Perl_pp_runcv, | |
1396 | Perl_pp_fc, | |
1397 | Perl_pp_padcv, | |
1398 | Perl_pp_introcv, | |
1399 | Perl_pp_clonecv, | |
1400 | Perl_pp_padrange, | |
1401 | Perl_pp_refassign, | |
1402 | Perl_pp_lvref, | |
1403 | Perl_pp_lvrefslice, | |
1404 | Perl_pp_lvavref, | |
1405 | Perl_pp_anonconst, | |
1406 | Perl_pp_isa, | |
1407 | Perl_pp_cmpchain_and, | |
1408 | Perl_pp_cmpchain_dup, | |
1409 | Perl_pp_entertrycatch, | |
1410 | Perl_pp_leavetrycatch, | |
1411 | Perl_pp_poptry, | |
1412 | Perl_pp_catch, | |
1413 | Perl_pp_pushdefer, | |
1414 | Perl_pp_is_bool, | |
1415 | Perl_pp_is_weak, | |
1416 | Perl_pp_weaken, | |
1417 | Perl_pp_unweaken, | |
1418 | Perl_pp_blessed, | |
1419 | Perl_pp_refaddr, | |
1420 | Perl_pp_reftype, | |
1421 | Perl_pp_ceil, | |
1422 | Perl_pp_floor, | |
1423 | Perl_pp_is_tainted, | |
1424 | Perl_pp_helemexistsor, | |
1425 | Perl_pp_methstart, | |
1426 | Perl_pp_initfield, | |
63119cca | 1427 | Perl_pp_classname, |
3c544c1f | 1428 | }); |
79072805 | 1429 | |
0850138d | 1430 | EXT Perl_check_t PL_check[] /* or perlvars.h */ |
3c544c1f | 1431 | INIT({ |
4444b686 LT |
1432 | Perl_ck_null, /* null */ |
1433 | Perl_ck_null, /* stub */ | |
1434 | Perl_ck_fun, /* scalar */ | |
1435 | Perl_ck_null, /* pushmark */ | |
1436 | Perl_ck_null, /* wantarray */ | |
1437 | Perl_ck_svconst, /* const */ | |
1438 | Perl_ck_null, /* gvsv */ | |
1439 | Perl_ck_null, /* gv */ | |
1440 | Perl_ck_null, /* gelem */ | |
1441 | Perl_ck_null, /* padsv */ | |
1442 | Perl_ck_sassign, /* padsv_store */ | |
1443 | Perl_ck_null, /* padav */ | |
1444 | Perl_ck_null, /* padhv */ | |
1445 | Perl_ck_null, /* padany */ | |
1446 | Perl_ck_rvconst, /* rv2gv */ | |
1447 | Perl_ck_rvconst, /* rv2sv */ | |
1448 | Perl_ck_null, /* av2arylen */ | |
1449 | Perl_ck_rvconst, /* rv2cv */ | |
1450 | Perl_ck_anoncode, /* anoncode */ | |
1451 | Perl_ck_prototype, /* prototype */ | |
1452 | Perl_ck_spair, /* refgen */ | |
1453 | Perl_ck_null, /* srefgen */ | |
1454 | Perl_ck_fun, /* ref */ | |
1455 | Perl_ck_fun, /* bless */ | |
1456 | Perl_ck_backtick, /* backtick */ | |
1457 | Perl_ck_glob, /* glob */ | |
1458 | Perl_ck_readline, /* readline */ | |
1459 | Perl_ck_null, /* rcatline */ | |
1460 | Perl_ck_fun, /* regcmaybe */ | |
1461 | Perl_ck_fun, /* regcreset */ | |
1462 | Perl_ck_null, /* regcomp */ | |
1463 | Perl_ck_match, /* match */ | |
1464 | Perl_ck_match, /* qr */ | |
1465 | Perl_ck_match, /* subst */ | |
1466 | Perl_ck_null, /* substcont */ | |
1467 | Perl_ck_match, /* trans */ | |
1468 | Perl_ck_match, /* transr */ | |
1469 | Perl_ck_sassign, /* sassign */ | |
1470 | Perl_ck_null, /* aassign */ | |
1471 | Perl_ck_spair, /* chop */ | |
1472 | Perl_ck_null, /* schop */ | |
1473 | Perl_ck_spair, /* chomp */ | |
1474 | Perl_ck_null, /* schomp */ | |
1475 | Perl_ck_defined, /* defined */ | |
1476 | Perl_ck_fun, /* undef */ | |
1477 | Perl_ck_fun, /* study */ | |
1478 | Perl_ck_fun, /* pos */ | |
1479 | Perl_ck_lfun, /* preinc */ | |
1480 | Perl_ck_lfun, /* i_preinc */ | |
1481 | Perl_ck_lfun, /* predec */ | |
1482 | Perl_ck_lfun, /* i_predec */ | |
1483 | Perl_ck_lfun, /* postinc */ | |
1484 | Perl_ck_lfun, /* i_postinc */ | |
1485 | Perl_ck_lfun, /* postdec */ | |
1486 | Perl_ck_lfun, /* i_postdec */ | |
1487 | Perl_ck_null, /* pow */ | |
1488 | Perl_ck_null, /* multiply */ | |
1489 | Perl_ck_null, /* i_multiply */ | |
1490 | Perl_ck_null, /* divide */ | |
1491 | Perl_ck_null, /* i_divide */ | |
1492 | Perl_ck_null, /* modulo */ | |
1493 | Perl_ck_null, /* i_modulo */ | |
1494 | Perl_ck_repeat, /* repeat */ | |
1495 | Perl_ck_null, /* add */ | |
1496 | Perl_ck_null, /* i_add */ | |
1497 | Perl_ck_null, /* subtract */ | |
1498 | Perl_ck_null, /* i_subtract */ | |
1499 | Perl_ck_concat, /* concat */ | |
1500 | Perl_ck_null, /* multiconcat */ | |
1501 | Perl_ck_stringify, /* stringify */ | |
1502 | Perl_ck_bitop, /* left_shift */ | |
1503 | Perl_ck_bitop, /* right_shift */ | |
1504 | Perl_ck_cmp, /* lt */ | |
1505 | Perl_ck_cmp, /* i_lt */ | |
1506 | Perl_ck_cmp, /* gt */ | |
1507 | Perl_ck_cmp, /* i_gt */ | |
1508 | Perl_ck_cmp, /* le */ | |
1509 | Perl_ck_cmp, /* i_le */ | |
1510 | Perl_ck_cmp, /* ge */ | |
1511 | Perl_ck_cmp, /* i_ge */ | |
1512 | Perl_ck_cmp, /* eq */ | |
1513 | Perl_ck_cmp, /* i_eq */ | |
1514 | Perl_ck_cmp, /* ne */ | |
1515 | Perl_ck_cmp, /* i_ne */ | |
1516 | Perl_ck_null, /* ncmp */ | |
1517 | Perl_ck_null, /* i_ncmp */ | |
1518 | Perl_ck_null, /* slt */ | |
1519 | Perl_ck_null, /* sgt */ | |
1520 | Perl_ck_null, /* sle */ | |
1521 | Perl_ck_null, /* sge */ | |
1522 | Perl_ck_null, /* seq */ | |
1523 | Perl_ck_null, /* sne */ | |
1524 | Perl_ck_null, /* scmp */ | |
1525 | Perl_ck_bitop, /* bit_and */ | |
1526 | Perl_ck_bitop, /* bit_xor */ | |
1527 | Perl_ck_bitop, /* bit_or */ | |
1528 | Perl_ck_bitop, /* nbit_and */ | |
1529 | Perl_ck_bitop, /* nbit_xor */ | |
1530 | Perl_ck_bitop, /* nbit_or */ | |
1531 | Perl_ck_bitop, /* sbit_and */ | |
1532 | Perl_ck_bitop, /* sbit_xor */ | |
1533 | Perl_ck_bitop, /* sbit_or */ | |
1534 | Perl_ck_null, /* negate */ | |
1535 | Perl_ck_null, /* i_negate */ | |
1536 | Perl_ck_null, /* not */ | |
1537 | Perl_ck_bitop, /* complement */ | |
1538 | Perl_ck_bitop, /* ncomplement */ | |
1539 | Perl_ck_null, /* scomplement */ | |
1540 | Perl_ck_smartmatch, /* smartmatch */ | |
1541 | Perl_ck_fun, /* atan2 */ | |
1542 | Perl_ck_fun, /* sin */ | |
1543 | Perl_ck_fun, /* cos */ | |
1544 | Perl_ck_fun, /* rand */ | |
1545 | Perl_ck_fun, /* srand */ | |
1546 | Perl_ck_fun, /* exp */ | |
1547 | Perl_ck_fun, /* log */ | |
1548 | Perl_ck_fun, /* sqrt */ | |
1549 | Perl_ck_fun, /* int */ | |
1550 | Perl_ck_fun, /* hex */ | |
1551 | Perl_ck_fun, /* oct */ | |
1552 | Perl_ck_fun, /* abs */ | |
1553 | Perl_ck_length, /* length */ | |
1554 | Perl_ck_substr, /* substr */ | |
1555 | Perl_ck_fun, /* vec */ | |
1556 | Perl_ck_index, /* index */ | |
1557 | Perl_ck_index, /* rindex */ | |
1558 | Perl_ck_lfun, /* sprintf */ | |
1559 | Perl_ck_fun, /* formline */ | |
1560 | Perl_ck_fun, /* ord */ | |
1561 | Perl_ck_fun, /* chr */ | |
1562 | Perl_ck_fun, /* crypt */ | |
1563 | Perl_ck_fun, /* ucfirst */ | |
1564 | Perl_ck_fun, /* lcfirst */ | |
1565 | Perl_ck_fun, /* uc */ | |
1566 | Perl_ck_fun, /* lc */ | |
1567 | Perl_ck_fun, /* quotemeta */ | |
1568 | Perl_ck_rvconst, /* rv2av */ | |
1569 | Perl_ck_null, /* aelemfast */ | |
1570 | Perl_ck_null, /* aelemfast_lex */ | |
1571 | Perl_ck_null, /* aelemfastlex_store */ | |
1572 | Perl_ck_null, /* aelem */ | |
1573 | Perl_ck_null, /* aslice */ | |
1574 | Perl_ck_null, /* kvaslice */ | |
1575 | Perl_ck_each, /* aeach */ | |
1576 | Perl_ck_each, /* avalues */ | |
1577 | Perl_ck_each, /* akeys */ | |
1578 | Perl_ck_each, /* each */ | |
1579 | Perl_ck_each, /* values */ | |
1580 | Perl_ck_each, /* keys */ | |
1581 | Perl_ck_delete, /* delete */ | |
1582 | Perl_ck_exists, /* exists */ | |
1583 | Perl_ck_rvconst, /* rv2hv */ | |
1584 | Perl_ck_null, /* helem */ | |
1585 | Perl_ck_null, /* hslice */ | |
1586 | Perl_ck_null, /* kvhslice */ | |
1587 | Perl_ck_null, /* multideref */ | |
1588 | Perl_ck_fun, /* unpack */ | |
1589 | Perl_ck_fun, /* pack */ | |
1590 | Perl_ck_split, /* split */ | |
1591 | Perl_ck_join, /* join */ | |
1592 | Perl_ck_null, /* list */ | |
1593 | Perl_ck_null, /* lslice */ | |
1594 | Perl_ck_fun, /* anonlist */ | |
1595 | Perl_ck_fun, /* anonhash */ | |
1596 | Perl_ck_fun, /* emptyavhv */ | |
1597 | Perl_ck_fun, /* splice */ | |
1598 | Perl_ck_fun, /* push */ | |
1599 | Perl_ck_shift, /* pop */ | |
1600 | Perl_ck_shift, /* shift */ | |
1601 | Perl_ck_fun, /* unshift */ | |
1602 | Perl_ck_sort, /* sort */ | |
1603 | Perl_ck_fun, /* reverse */ | |
1604 | Perl_ck_grep, /* grepstart */ | |
1605 | Perl_ck_null, /* grepwhile */ | |
1606 | Perl_ck_grep, /* mapstart */ | |
1607 | Perl_ck_null, /* mapwhile */ | |
1608 | Perl_ck_null, /* range */ | |
1609 | Perl_ck_null, /* flip */ | |
1610 | Perl_ck_null, /* flop */ | |
1611 | Perl_ck_null, /* and */ | |
1612 | Perl_ck_null, /* or */ | |
1613 | Perl_ck_null, /* xor */ | |
1614 | Perl_ck_null, /* dor */ | |
1615 | Perl_ck_null, /* cond_expr */ | |
1616 | Perl_ck_null, /* andassign */ | |
1617 | Perl_ck_null, /* orassign */ | |
1618 | Perl_ck_null, /* dorassign */ | |
1619 | Perl_ck_subr, /* entersub */ | |
1620 | Perl_ck_null, /* leavesub */ | |
1621 | Perl_ck_null, /* leavesublv */ | |
1622 | Perl_ck_null, /* argcheck */ | |
1623 | Perl_ck_null, /* argelem */ | |
1624 | Perl_ck_null, /* argdefelem */ | |
1625 | Perl_ck_fun, /* caller */ | |
1626 | Perl_ck_fun, /* warn */ | |
1627 | Perl_ck_fun, /* die */ | |
1628 | Perl_ck_fun, /* reset */ | |
1629 | Perl_ck_null, /* lineseq */ | |
1630 | Perl_ck_null, /* nextstate */ | |
1631 | Perl_ck_null, /* dbstate */ | |
1632 | Perl_ck_null, /* unstack */ | |
1633 | Perl_ck_null, /* enter */ | |
1634 | Perl_ck_null, /* leave */ | |
1635 | Perl_ck_null, /* scope */ | |
1636 | Perl_ck_null, /* enteriter */ | |
1637 | Perl_ck_null, /* iter */ | |
1638 | Perl_ck_null, /* enterloop */ | |
1639 | Perl_ck_null, /* leaveloop */ | |
1640 | Perl_ck_return, /* return */ | |
1641 | Perl_ck_null, /* last */ | |
1642 | Perl_ck_null, /* next */ | |
1643 | Perl_ck_null, /* redo */ | |
1644 | Perl_ck_null, /* dump */ | |
1645 | Perl_ck_null, /* goto */ | |
1646 | Perl_ck_fun, /* exit */ | |
1647 | Perl_ck_method, /* method */ | |
1648 | Perl_ck_null, /* method_named */ | |
1649 | Perl_ck_null, /* method_super */ | |
1650 | Perl_ck_null, /* method_redir */ | |
1651 | Perl_ck_null, /* method_redir_super */ | |
1652 | Perl_ck_null, /* entergiven */ | |
1653 | Perl_ck_null, /* leavegiven */ | |
1654 | Perl_ck_null, /* enterwhen */ | |
1655 | Perl_ck_null, /* leavewhen */ | |
1656 | Perl_ck_null, /* break */ | |
1657 | Perl_ck_null, /* continue */ | |
1658 | Perl_ck_open, /* open */ | |
1659 | Perl_ck_fun, /* close */ | |
1660 | Perl_ck_fun, /* pipe_op */ | |
1661 | Perl_ck_fun, /* fileno */ | |
1662 | Perl_ck_fun, /* umask */ | |
1663 | Perl_ck_fun, /* binmode */ | |
1664 | Perl_ck_fun, /* tie */ | |
1665 | Perl_ck_fun, /* untie */ | |
1666 | Perl_ck_fun, /* tied */ | |
1667 | Perl_ck_fun, /* dbmopen */ | |
1668 | Perl_ck_fun, /* dbmclose */ | |
1669 | Perl_ck_select, /* sselect */ | |
1670 | Perl_ck_select, /* select */ | |
1671 | Perl_ck_eof, /* getc */ | |
1672 | Perl_ck_fun, /* read */ | |
1673 | Perl_ck_fun, /* enterwrite */ | |
1674 | Perl_ck_null, /* leavewrite */ | |
1675 | Perl_ck_listiob, /* prtf */ | |
1676 | Perl_ck_listiob, /* print */ | |
1677 | Perl_ck_listiob, /* say */ | |
1678 | Perl_ck_fun, /* sysopen */ | |
1679 | Perl_ck_fun, /* sysseek */ | |
1680 | Perl_ck_fun, /* sysread */ | |
1681 | Perl_ck_fun, /* syswrite */ | |
1682 | Perl_ck_eof, /* eof */ | |
1683 | Perl_ck_tell, /* tell */ | |
1684 | Perl_ck_tell, /* seek */ | |
1685 | Perl_ck_trunc, /* truncate */ | |
1686 | Perl_ck_fun, /* fcntl */ | |
1687 | Perl_ck_fun, /* ioctl */ | |
1688 | Perl_ck_fun, /* flock */ | |
1689 | Perl_ck_fun, /* send */ | |
1690 | Perl_ck_fun, /* recv */ | |
1691 | Perl_ck_fun, /* socket */ | |
1692 | Perl_ck_fun, /* sockpair */ | |
1693 | Perl_ck_fun, /* bind */ | |
1694 | Perl_ck_fun, /* connect */ | |
1695 | Perl_ck_fun, /* listen */ | |
1696 | Perl_ck_fun, /* accept */ | |
1697 | Perl_ck_fun, /* shutdown */ | |
1698 | Perl_ck_fun, /* gsockopt */ | |
1699 | Perl_ck_fun, /* ssockopt */ | |
1700 | Perl_ck_fun, /* getsockname */ | |
1701 | Perl_ck_fun, /* getpeername */ | |
1702 | Perl_ck_ftst, /* lstat */ | |
1703 | Perl_ck_ftst, /* stat */ | |
1704 | Perl_ck_ftst, /* ftrread */ | |
1705 | Perl_ck_ftst, /* ftrwrite */ | |
1706 | Perl_ck_ftst, /* ftrexec */ | |
1707 | Perl_ck_ftst, /* fteread */ | |
1708 | Perl_ck_ftst, /* ftewrite */ | |
1709 | Perl_ck_ftst, /* fteexec */ | |
1710 | Perl_ck_ftst, /* ftis */ | |
1711 | Perl_ck_ftst, /* ftsize */ | |
1712 | Perl_ck_ftst, /* ftmtime */ | |
1713 | Perl_ck_ftst, /* ftatime */ | |
1714 | Perl_ck_ftst, /* ftctime */ | |
1715 | Perl_ck_ftst, /* ftrowned */ | |
1716 | Perl_ck_ftst, /* fteowned */ | |
1717 | Perl_ck_ftst, /* ftzero */ | |
1718 | Perl_ck_ftst, /* ftsock */ | |
1719 | Perl_ck_ftst, /* ftchr */ | |
1720 | Perl_ck_ftst, /* ftblk */ | |
1721 | Perl_ck_ftst, /* ftfile */ | |
1722 | Perl_ck_ftst, /* ftdir */ | |
1723 | Perl_ck_ftst, /* ftpipe */ | |
1724 | Perl_ck_ftst, /* ftsuid */ | |
1725 | Perl_ck_ftst, /* ftsgid */ | |
1726 | Perl_ck_ftst, /* ftsvtx */ | |
1727 | Perl_ck_ftst, /* ftlink */ | |
1728 | Perl_ck_ftst, /* fttty */ | |
1729 | Perl_ck_ftst, /* fttext */ | |
1730 | Perl_ck_ftst, /* ftbinary */ | |
1731 | Perl_ck_trunc, /* chdir */ | |
1732 | Perl_ck_fun, /* chown */ | |
1733 | Perl_ck_fun, /* chroot */ | |
1734 | Perl_ck_fun, /* unlink */ | |
1735 | Perl_ck_fun, /* chmod */ | |
1736 | Perl_ck_fun, /* utime */ | |
1737 | Perl_ck_fun, /* rename */ | |
1738 | Perl_ck_fun, /* link */ | |
1739 | Perl_ck_fun, /* symlink */ | |
1740 | Perl_ck_fun, /* readlink */ | |
1741 | Perl_ck_fun, /* mkdir */ | |
1742 | Perl_ck_fun, /* rmdir */ | |
1743 | Perl_ck_fun, /* open_dir */ | |
1744 | Perl_ck_fun, /* readdir */ | |
1745 | Perl_ck_fun, /* telldir */ | |
1746 | Perl_ck_fun, /* seekdir */ | |
1747 | Perl_ck_fun, /* rewinddir */ | |
1748 | Perl_ck_fun, /* closedir */ | |
1749 | Perl_ck_null, /* fork */ | |
1750 | Perl_ck_null, /* wait */ | |
1751 | Perl_ck_fun, /* waitpid */ | |
1752 | Perl_ck_exec, /* system */ | |
1753 | Perl_ck_exec, /* exec */ | |
1754 | Perl_ck_fun, /* kill */ | |
1755 | Perl_ck_null, /* getppid */ | |
1756 | Perl_ck_fun, /* getpgrp */ | |
1757 | Perl_ck_fun, /* setpgrp */ | |
1758 | Perl_ck_fun, /* getpriority */ | |
1759 | Perl_ck_fun, /* setpriority */ | |
1760 | Perl_ck_null, /* time */ | |
1761 | Perl_ck_null, /* tms */ | |
1762 | Perl_ck_fun, /* localtime */ | |
1763 | Perl_ck_fun, /* gmtime */ | |
1764 | Perl_ck_fun, /* alarm */ | |
1765 | Perl_ck_fun, /* sleep */ | |
1766 | Perl_ck_fun, /* shmget */ | |
1767 | Perl_ck_fun, /* shmctl */ | |
1768 | Perl_ck_fun, /* shmread */ | |
1769 | Perl_ck_fun, /* shmwrite */ | |
1770 | Perl_ck_fun, /* msgget */ | |
1771 | Perl_ck_fun, /* msgctl */ | |
1772 | Perl_ck_fun, /* msgsnd */ | |
1773 | Perl_ck_fun, /* msgrcv */ | |
1774 | Perl_ck_fun, /* semop */ | |
1775 | Perl_ck_fun, /* semget */ | |
1776 | Perl_ck_fun, /* semctl */ | |
1777 | Perl_ck_require, /* require */ | |
1778 | Perl_ck_fun, /* dofile */ | |
1779 | Perl_ck_svconst, /* hintseval */ | |
1780 | Perl_ck_eval, /* entereval */ | |
1781 | Perl_ck_null, /* leaveeval */ | |
1782 | Perl_ck_eval, /* entertry */ | |
1783 | Perl_ck_null, /* leavetry */ | |
1784 | Perl_ck_fun, /* ghbyname */ | |
1785 | Perl_ck_fun, /* ghbyaddr */ | |
1786 | Perl_ck_null, /* ghostent */ | |
1787 | Perl_ck_fun, /* gnbyname */ | |
1788 | Perl_ck_fun, /* gnbyaddr */ | |
1789 | Perl_ck_null, /* gnetent */ | |
1790 | Perl_ck_fun, /* gpbyname */ | |
1791 | Perl_ck_fun, /* gpbynumber */ | |
1792 | Perl_ck_null, /* gprotoent */ | |
1793 | Perl_ck_fun, /* gsbyname */ | |
1794 | Perl_ck_fun, /* gsbyport */ | |
1795 | Perl_ck_null, /* gservent */ | |
1796 | Perl_ck_fun, /* shostent */ | |
1797 | Perl_ck_fun, /* snetent */ | |
1798 | Perl_ck_fun, /* sprotoent */ | |
1799 | Perl_ck_fun, /* sservent */ | |
1800 | Perl_ck_null, /* ehostent */ | |
1801 | Perl_ck_null, /* enetent */ | |
1802 | Perl_ck_null, /* eprotoent */ | |
1803 | Perl_ck_null, /* eservent */ | |
1804 | Perl_ck_fun, /* gpwnam */ | |
1805 | Perl_ck_fun, /* gpwuid */ | |
1806 | Perl_ck_null, /* gpwent */ | |
1807 | Perl_ck_null, /* spwent */ | |
1808 | Perl_ck_null, /* epwent */ | |
1809 | Perl_ck_fun, /* ggrnam */ | |
1810 | Perl_ck_fun, /* ggrgid */ | |
1811 | Perl_ck_null, /* ggrent */ | |
1812 | Perl_ck_null, /* sgrent */ | |
1813 | Perl_ck_null, /* egrent */ | |
1814 | Perl_ck_null, /* getlogin */ | |
1815 | Perl_ck_fun, /* syscall */ | |
1816 | Perl_ck_rfun, /* lock */ | |
1817 | Perl_ck_null, /* once */ | |
1818 | Perl_ck_null, /* custom */ | |
1819 | Perl_ck_null, /* coreargs */ | |
1820 | Perl_ck_null, /* avhvswitch */ | |
1821 | Perl_ck_null, /* runcv */ | |
1822 | Perl_ck_fun, /* fc */ | |
1823 | Perl_ck_null, /* padcv */ | |
1824 | Perl_ck_null, /* introcv */ | |
1825 | Perl_ck_null, /* clonecv */ | |
1826 | Perl_ck_null, /* padrange */ | |
1827 | Perl_ck_refassign, /* refassign */ | |
1828 | Perl_ck_null, /* lvref */ | |
1829 | Perl_ck_null, /* lvrefslice */ | |
1830 | Perl_ck_null, /* lvavref */ | |
1831 | Perl_ck_null, /* anonconst */ | |
1832 | Perl_ck_isa, /* isa */ | |
1833 | Perl_ck_null, /* cmpchain_and */ | |
1834 | Perl_ck_null, /* cmpchain_dup */ | |
1835 | Perl_ck_trycatch, /* entertrycatch */ | |
1836 | Perl_ck_null, /* leavetrycatch */ | |
1837 | Perl_ck_null, /* poptry */ | |
1838 | Perl_ck_null, /* catch */ | |
1839 | Perl_ck_null, /* pushdefer */ | |
1840 | Perl_ck_null, /* is_bool */ | |
1841 | Perl_ck_null, /* is_weak */ | |
1842 | Perl_ck_null, /* weaken */ | |
1843 | Perl_ck_null, /* unweaken */ | |
1844 | Perl_ck_null, /* blessed */ | |
1845 | Perl_ck_null, /* refaddr */ | |
1846 | Perl_ck_null, /* reftype */ | |
1847 | Perl_ck_null, /* ceil */ | |
1848 | Perl_ck_null, /* floor */ | |
1849 | Perl_ck_null, /* is_tainted */ | |
1850 | Perl_ck_helemexistsor, /* helemexistsor */ | |
1851 | Perl_ck_null, /* methstart */ | |
1852 | Perl_ck_null, /* initfield */ | |
63119cca | 1853 | Perl_ck_classname, /* classname */ |
3c544c1f | 1854 | }); |
79072805 | 1855 | |
3c544c1f | 1856 | EXTCONST U32 PL_opargs[] INIT({ |
4444b686 LT |
1857 | 0x00000000, /* null */ |
1858 | 0x00000000, /* stub */ | |
1859 | 0x00001b04, /* scalar */ | |
1860 | 0x00000004, /* pushmark */ | |
1861 | 0x00000004, /* wantarray */ | |
1862 | 0x00000604, /* const */ | |
1863 | 0x00000644, /* gvsv */ | |
1864 | 0x00000644, /* gv */ | |
1865 | 0x00011244, /* gelem */ | |
1866 | 0x00000044, /* padsv */ | |
1867 | 0x00011104, /* padsv_store */ | |
1868 | 0x00000040, /* padav */ | |
1869 | 0x00000040, /* padhv */ | |
1870 | 0x00000040, /* padany */ | |
1871 | 0x00000144, /* rv2gv */ | |
1872 | 0x00000144, /* rv2sv */ | |
1873 | 0x00000104, /* av2arylen */ | |
1874 | 0x00000140, /* rv2cv */ | |
1875 | 0x00000604, /* anoncode */ | |
1876 | 0x00009b84, /* prototype */ | |
1877 | 0x00002101, /* refgen */ | |
1878 | 0x00001106, /* srefgen */ | |
1879 | 0x00009b8c, /* ref */ | |
1880 | 0x00091404, /* bless */ | |
1881 | 0x00009b88, /* backtick */ | |
1882 | 0x00009408, /* glob */ | |
1883 | 0x0000eb08, /* readline */ | |
1884 | 0x00000608, /* rcatline */ | |
1885 | 0x00001104, /* regcmaybe */ | |
1886 | 0x00001104, /* regcreset */ | |
1887 | 0x00001304, /* regcomp */ | |
1888 | 0x00000500, /* match */ | |
1889 | 0x00000504, /* qr */ | |
1890 | 0x00001504, /* subst */ | |
1891 | 0x00000304, /* substcont */ | |
1892 | 0x00001804, /* trans */ | |
1893 | 0x00001804, /* transr */ | |
1894 | 0x00011204, /* sassign */ | |
1895 | 0x00022208, /* aassign */ | |
1896 | 0x00002b0d, /* chop */ | |
1897 | 0x00009b8c, /* schop */ | |
1898 | 0x00002b1d, /* chomp */ | |
1899 | 0x00009b9c, /* schomp */ | |
1900 | 0x00009b84, /* defined */ | |
1901 | 0x0000fb04, /* undef */ | |
1902 | 0x00009b84, /* study */ | |
1903 | 0x0000fb8c, /* pos */ | |
1904 | 0x00001164, /* preinc */ | |
1905 | 0x00001144, /* i_preinc */ | |
1906 | 0x00001164, /* predec */ | |
1907 | 0x00001144, /* i_predec */ | |
1908 | 0x0000112c, /* postinc */ | |
1909 | 0x0000110c, /* i_postinc */ | |
1910 | 0x0000112c, /* postdec */ | |
1911 | 0x0000110c, /* i_postdec */ | |
1912 | 0x0001121e, /* pow */ | |
1913 | 0x0001123e, /* multiply */ | |
1914 | 0x0001121e, /* i_multiply */ | |
1915 | 0x0001123e, /* divide */ | |
1916 | 0x0001121e, /* i_divide */ | |
1917 | 0x0001123e, /* modulo */ | |
1918 | 0x0001121e, /* i_modulo */ | |
1919 | 0x0001220b, /* repeat */ | |
1920 | 0x0001123e, /* add */ | |
1921 | 0x0001121e, /* i_add */ | |
1922 | 0x0001123e, /* subtract */ | |
1923 | 0x0001121e, /* i_subtract */ | |
1924 | 0x0001121e, /* concat */ | |
1925 | 0x00000f1c, /* multiconcat */ | |
1926 | 0x0000141e, /* stringify */ | |
1927 | 0x0001121e, /* left_shift */ | |
1928 | 0x0001121e, /* right_shift */ | |
1929 | 0x00011226, /* lt */ | |
1930 | 0x00011206, /* i_lt */ | |
1931 | 0x00011226, /* gt */ | |
1932 | 0x00011206, /* i_gt */ | |
1933 | 0x00011226, /* le */ | |
1934 | 0x00011206, /* i_le */ | |
1935 | 0x00011226, /* ge */ | |
1936 | 0x00011206, /* i_ge */ | |
1937 | 0x00011226, /* eq */ | |
1938 | 0x00011206, /* i_eq */ | |
1939 | 0x00011226, /* ne */ | |
1940 | 0x00011206, /* i_ne */ | |
1941 | 0x0001122e, /* ncmp */ | |
1942 | 0x0001120e, /* i_ncmp */ | |
1943 | 0x00011206, /* slt */ | |
1944 | 0x00011206, /* sgt */ | |
1945 | 0x00011206, /* sle */ | |
1946 | 0x00011206, /* sge */ | |
1947 | 0x00011206, /* seq */ | |
1948 | 0x00011206, /* sne */ | |
1949 | 0x0001120e, /* scmp */ | |
1950 | 0x0001120e, /* bit_and */ | |
1951 | 0x0001120e, /* bit_xor */ | |
1952 | 0x0001120e, /* bit_or */ | |
1953 | 0x0001121e, /* nbit_and */ | |
1954 | 0x0001121e, /* nbit_xor */ | |
1955 | 0x0001121e, /* nbit_or */ | |
1956 | 0x0001120e, /* sbit_and */ | |
1957 | 0x0001120e, /* sbit_xor */ | |
1958 | 0x0001120e, /* sbit_or */ | |
359c2cd7 RL |
1959 | 0x0000113e, /* negate */ |
1960 | 0x0000111e, /* i_negate */ | |
4444b686 LT |
1961 | 0x00001106, /* not */ |
1962 | 0x0000110e, /* complement */ | |
1963 | 0x0000111e, /* ncomplement */ | |
1964 | 0x0000111e, /* scomplement */ | |
1965 | 0x00000204, /* smartmatch */ | |
1966 | 0x0001141e, /* atan2 */ | |
1967 | 0x00009b9e, /* sin */ | |
1968 | 0x00009b9e, /* cos */ | |
1969 | 0x00009b1c, /* rand */ | |
1970 | 0x00009b1c, /* srand */ | |
1971 | 0x00009b9e, /* exp */ | |
1972 | 0x00009b9e, /* log */ | |
1973 | 0x00009b9e, /* sqrt */ | |
1974 | 0x00009b9e, /* int */ | |
1975 | 0x00009b9e, /* hex */ | |
1976 | 0x00009b9e, /* oct */ | |
1977 | 0x00009b9e, /* abs */ | |
1978 | 0x00009b9e, /* length */ | |
1979 | 0x0991140c, /* substr */ | |
1980 | 0x0011140c, /* vec */ | |
1981 | 0x0091141c, /* index */ | |
1982 | 0x0091141c, /* rindex */ | |
1983 | 0x0002140f, /* sprintf */ | |
1984 | 0x00021405, /* formline */ | |
1985 | 0x00009b9e, /* ord */ | |
1986 | 0x00009b9e, /* chr */ | |
1987 | 0x0001141e, /* crypt */ | |
1988 | 0x00009b8e, /* ucfirst */ | |
1989 | 0x00009b8e, /* lcfirst */ | |
1990 | 0x00009b8e, /* uc */ | |
1991 | 0x00009b8e, /* lc */ | |
1992 | 0x00009b8e, /* quotemeta */ | |
1993 | 0x00000148, /* rv2av */ | |
1994 | 0x00013644, /* aelemfast */ | |
1995 | 0x00013040, /* aelemfast_lex */ | |
1996 | 0x00013140, /* aelemfastlex_store */ | |
1997 | 0x00013204, /* aelem */ | |
1998 | 0x00023401, /* aslice */ | |
1999 | 0x00023401, /* kvaslice */ | |
2000 | 0x00003b40, /* aeach */ | |
2001 | 0x00003b48, /* avalues */ | |
2002 | 0x00003b08, /* akeys */ | |
2003 | 0x00004b40, /* each */ | |
2004 | 0x00004b48, /* values */ | |
2005 | 0x00004b08, /* keys */ | |
2006 | 0x00001b00, /* delete */ | |
2007 | 0x00001b04, /* exists */ | |
2008 | 0x00000148, /* rv2hv */ | |
2009 | 0x00014204, /* helem */ | |
2010 | 0x00024401, /* hslice */ | |
2011 | 0x00024401, /* kvhslice */ | |
2012 | 0x00000f44, /* multideref */ | |
2013 | 0x00091480, /* unpack */ | |
2014 | 0x0002140f, /* pack */ | |
2015 | 0x00111508, /* split */ | |
2016 | 0x0002140f, /* join */ | |
2017 | 0x00002401, /* list */ | |
2018 | 0x00224200, /* lslice */ | |
2019 | 0x00002405, /* anonlist */ | |
2020 | 0x00002405, /* anonhash */ | |
5fa726eb | 2021 | 0x0000001c, /* emptyavhv */ |
4444b686 LT |
2022 | 0x02993401, /* splice */ |
2023 | 0x0002341d, /* push */ | |
2024 | 0x0000bb04, /* pop */ | |
2025 | 0x0000bb04, /* shift */ | |
2026 | 0x0002341d, /* unshift */ | |
2027 | 0x0002d401, /* sort */ | |
2028 | 0x00002409, /* reverse */ | |
2029 | 0x00025401, /* grepstart */ | |
2030 | 0x00000308, /* grepwhile */ | |
2031 | 0x00025401, /* mapstart */ | |
2032 | 0x00000308, /* mapwhile */ | |
2033 | 0x00011300, /* range */ | |
2034 | 0x00011100, /* flip */ | |
2035 | 0x00000100, /* flop */ | |
2036 | 0x00000300, /* and */ | |
2037 | 0x00000300, /* or */ | |
2038 | 0x00011206, /* xor */ | |
2039 | 0x00000300, /* dor */ | |
2040 | 0x00000300, /* cond_expr */ | |
2041 | 0x00000304, /* andassign */ | |
2042 | 0x00000304, /* orassign */ | |
2043 | 0x00000304, /* dorassign */ | |
2044 | 0x00002141, /* entersub */ | |
2045 | 0x00000100, /* leavesub */ | |
2046 | 0x00000100, /* leavesublv */ | |
2047 | 0x00000f00, /* argcheck */ | |
2048 | 0x00000f00, /* argelem */ | |
2049 | 0x00000300, /* argdefelem */ | |
2050 | 0x00009b08, /* caller */ | |
2051 | 0x0000240d, /* warn */ | |
2052 | 0x0000240d, /* die */ | |
2053 | 0x00009b04, /* reset */ | |
2054 | 0x00000400, /* lineseq */ | |
2055 | 0x00000a04, /* nextstate */ | |
2056 | 0x00000a04, /* dbstate */ | |
2057 | 0x00000004, /* unstack */ | |
2058 | 0x00000000, /* enter */ | |
2059 | 0x00000400, /* leave */ | |
2060 | 0x00000400, /* scope */ | |
2061 | 0x00000940, /* enteriter */ | |
2062 | 0x00000000, /* iter */ | |
2063 | 0x00000940, /* enterloop */ | |
2064 | 0x00000200, /* leaveloop */ | |
2065 | 0x00002401, /* return */ | |
2066 | 0x00000d04, /* last */ | |
2067 | 0x00000d04, /* next */ | |
2068 | 0x00000d04, /* redo */ | |
2069 | 0x00000d44, /* dump */ | |
2070 | 0x00000d04, /* goto */ | |
2071 | 0x00009b04, /* exit */ | |
2072 | 0x00000e40, /* method */ | |
2073 | 0x00000e40, /* method_named */ | |
2074 | 0x00000e40, /* method_super */ | |
2075 | 0x00000e40, /* method_redir */ | |
2076 | 0x00000e40, /* method_redir_super */ | |
2077 | 0x00000340, /* entergiven */ | |
2078 | 0x00000100, /* leavegiven */ | |
2079 | 0x00000340, /* enterwhen */ | |
2080 | 0x00000100, /* leavewhen */ | |
2081 | 0x00000000, /* break */ | |
2082 | 0x00000000, /* continue */ | |
2083 | 0x0029640d, /* open */ | |
2084 | 0x0000eb04, /* close */ | |
2085 | 0x00066404, /* pipe_op */ | |
2086 | 0x00006b0c, /* fileno */ | |
2087 | 0x00009b0c, /* umask */ | |
2088 | 0x00096404, /* binmode */ | |
2089 | 0x00217445, /* tie */ | |
2090 | 0x00007b04, /* untie */ | |
2091 | 0x00007b44, /* tied */ | |
2092 | 0x00114404, /* dbmopen */ | |
2093 | 0x00004b04, /* dbmclose */ | |
2094 | 0x01111408, /* sselect */ | |
2095 | 0x0000e40c, /* select */ | |
2096 | 0x0000eb0c, /* getc */ | |
2097 | 0x0917640d, /* read */ | |
2098 | 0x0000eb04, /* enterwrite */ | |
2099 | 0x00000100, /* leavewrite */ | |
2100 | 0x0002e405, /* prtf */ | |
2101 | 0x0002e405, /* print */ | |
2102 | 0x0002e405, /* say */ | |
2103 | 0x09116404, /* sysopen */ | |
2104 | 0x00116404, /* sysseek */ | |
2105 | 0x0917640d, /* sysread */ | |
2106 | 0x0991640d, /* syswrite */ | |
2107 | 0x0000eb04, /* eof */ | |
2108 | 0x0000eb0c, /* tell */ | |
2109 | 0x00116404, /* seek */ | |
2110 | 0x00011404, /* truncate */ | |
2111 | 0x0011640c, /* fcntl */ | |
2112 | 0x0011640c, /* ioctl */ | |
2113 | 0x0001641c, /* flock */ | |
2114 | 0x0911640d, /* send */ | |
2115 | 0x0117640d, /* recv */ | |
2116 | 0x01116404, /* socket */ | |
2117 | 0x11166404, /* sockpair */ | |
2118 | 0x00016404, /* bind */ | |
2119 | 0x00016404, /* connect */ | |
2120 | 0x00016404, /* listen */ | |
2121 | 0x0006640c, /* accept */ | |
2122 | 0x0001640c, /* shutdown */ | |
2123 | 0x00116404, /* gsockopt */ | |
2124 | 0x01116404, /* ssockopt */ | |
2125 | 0x00006b04, /* getsockname */ | |
2126 | 0x00006b04, /* getpeername */ | |
2127 | 0x0000ec80, /* lstat */ | |
2128 | 0x0000ec80, /* stat */ | |
2129 | 0x00006c84, /* ftrread */ | |
2130 | 0x00006c84, /* ftrwrite */ | |
2131 | 0x00006c84, /* ftrexec */ | |
2132 | 0x00006c84, /* fteread */ | |
2133 | 0x00006c84, /* ftewrite */ | |
2134 | 0x00006c84, /* fteexec */ | |
2135 | 0x00006c84, /* ftis */ | |
2136 | 0x00006c8c, /* ftsize */ | |
2137 | 0x00006c8c, /* ftmtime */ | |
2138 | 0x00006c8c, /* ftatime */ | |
2139 | 0x00006c8c, /* ftctime */ | |
2140 | 0x00006c84, /* ftrowned */ | |
2141 | 0x00006c84, /* fteowned */ | |
2142 | 0x00006c84, /* ftzero */ | |
2143 | 0x00006c84, /* ftsock */ | |
2144 | 0x00006c84, /* ftchr */ | |
2145 | 0x00006c84, /* ftblk */ | |
2146 | 0x00006c84, /* ftfile */ | |
2147 | 0x00006c84, /* ftdir */ | |
2148 | 0x00006c84, /* ftpipe */ | |
2149 | 0x00006c84, /* ftsuid */ | |
2150 | 0x00006c84, /* ftsgid */ | |
2151 | 0x00006c84, /* ftsvtx */ | |
2152 | 0x00006c84, /* ftlink */ | |
2153 | 0x00006c04, /* fttty */ | |
2154 | 0x00006c84, /* fttext */ | |
2155 | 0x00006c84, /* ftbinary */ | |
2156 | 0x00009b1c, /* chdir */ | |
2157 | 0x0000241d, /* chown */ | |
2158 | 0x00009b9c, /* chroot */ | |
2159 | 0x0000249d, /* unlink */ | |
2160 | 0x0000241d, /* chmod */ | |
2161 | 0x0000241d, /* utime */ | |
2162 | 0x0001141c, /* rename */ | |
2163 | 0x0001141c, /* link */ | |
2164 | 0x0001141c, /* symlink */ | |
2165 | 0x00009b8c, /* readlink */ | |
2166 | 0x0009949c, /* mkdir */ | |
2167 | 0x00009b9c, /* rmdir */ | |
2168 | 0x00016404, /* open_dir */ | |
2169 | 0x00006b00, /* readdir */ | |
2170 | 0x00006b0c, /* telldir */ | |
2171 | 0x00016404, /* seekdir */ | |
2172 | 0x00006b04, /* rewinddir */ | |
2173 | 0x00006b04, /* closedir */ | |
2174 | 0x0000000c, /* fork */ | |
2175 | 0x0000001c, /* wait */ | |
2176 | 0x0001141c, /* waitpid */ | |
2177 | 0x0002941d, /* system */ | |
2178 | 0x0002941d, /* exec */ | |
2179 | 0x0000241d, /* kill */ | |
2180 | 0x0000001c, /* getppid */ | |
2181 | 0x00009b1c, /* getpgrp */ | |
2182 | 0x0009941c, /* setpgrp */ | |
2183 | 0x0001141c, /* getpriority */ | |
2184 | 0x0011141c, /* setpriority */ | |
2185 | 0x0000001c, /* time */ | |
2186 | 0x00000000, /* tms */ | |
2187 | 0x00009b08, /* localtime */ | |
2188 | 0x00009b08, /* gmtime */ | |
2189 | 0x00009b8c, /* alarm */ | |
2190 | 0x00009b1c, /* sleep */ | |
2191 | 0x0011140d, /* shmget */ | |
2192 | 0x0011140d, /* shmctl */ | |
2193 | 0x0111140d, /* shmread */ | |
2194 | 0x0111140d, /* shmwrite */ | |
2195 | 0x0001140d, /* msgget */ | |
2196 | 0x0011140d, /* msgctl */ | |
2197 | 0x0011140d, /* msgsnd */ | |
2198 | 0x1111140d, /* msgrcv */ | |
2199 | 0x0001140d, /* semop */ | |
2200 | 0x0011140d, /* semget */ | |
2201 | 0x0111140d, /* semctl */ | |
2202 | 0x00009bc4, /* require */ | |
2203 | 0x00001140, /* dofile */ | |
2204 | 0x00000604, /* hintseval */ | |
2205 | 0x00009bc0, /* entereval */ | |
2206 | 0x00001100, /* leaveeval */ | |
2207 | 0x00000340, /* entertry */ | |
2208 | 0x00000400, /* leavetry */ | |
2209 | 0x00001b00, /* ghbyname */ | |
2210 | 0x00011400, /* ghbyaddr */ | |
2211 | 0x00000000, /* ghostent */ | |
2212 | 0x00001b00, /* gnbyname */ | |
2213 | 0x00011400, /* gnbyaddr */ | |
2214 | 0x00000000, /* gnetent */ | |
2215 | 0x00001b00, /* gpbyname */ | |
2216 | 0x00001400, /* gpbynumber */ | |
2217 | 0x00000000, /* gprotoent */ | |
2218 | 0x00011400, /* gsbyname */ | |
2219 | 0x00011400, /* gsbyport */ | |
2220 | 0x00000000, /* gservent */ | |
2221 | 0x00001b04, /* shostent */ | |
2222 | 0x00001b04, /* snetent */ | |
2223 | 0x00001b04, /* sprotoent */ | |
2224 | 0x00001b04, /* sservent */ | |
2225 | 0x00000004, /* ehostent */ | |
2226 | 0x00000004, /* enetent */ | |
2227 | 0x00000004, /* eprotoent */ | |
2228 | 0x00000004, /* eservent */ | |
2229 | 0x00001b00, /* gpwnam */ | |
2230 | 0x00001b00, /* gpwuid */ | |
2231 | 0x00000000, /* gpwent */ | |
2232 | 0x00000004, /* spwent */ | |
2233 | 0x00000004, /* epwent */ | |
2234 | 0x00001b00, /* ggrnam */ | |
2235 | 0x00001b00, /* ggrgid */ | |
2236 | 0x00000000, /* ggrent */ | |
2237 | 0x00000004, /* sgrent */ | |
2238 | 0x00000004, /* egrent */ | |
2239 | 0x0000000c, /* getlogin */ | |
2240 | 0x0002140d, /* syscall */ | |
2241 | 0x00007b04, /* lock */ | |
2242 | 0x00000300, /* once */ | |
2243 | 0x00000000, /* custom */ | |
2244 | 0x00000600, /* coreargs */ | |
2245 | 0x00000108, /* avhvswitch */ | |
2246 | 0x00000004, /* runcv */ | |
2247 | 0x00009b8e, /* fc */ | |
2248 | 0x00000040, /* padcv */ | |
2249 | 0x00000040, /* introcv */ | |
2250 | 0x00000040, /* clonecv */ | |
2251 | 0x00000040, /* padrange */ | |
2252 | 0x00000244, /* refassign */ | |
2253 | 0x00000b40, /* lvref */ | |
2254 | 0x00000440, /* lvrefslice */ | |
2255 | 0x00000b40, /* lvavref */ | |
2256 | 0x00000144, /* anonconst */ | |
2257 | 0x00000204, /* isa */ | |
2258 | 0x00000300, /* cmpchain_and */ | |
2259 | 0x00000100, /* cmpchain_dup */ | |
2260 | 0x00000300, /* entertrycatch */ | |
2261 | 0x00000400, /* leavetrycatch */ | |
2262 | 0x00000400, /* poptry */ | |
2263 | 0x00000300, /* catch */ | |
2264 | 0x00000300, /* pushdefer */ | |
2265 | 0x00000106, /* is_bool */ | |
2266 | 0x00000106, /* is_weak */ | |
2267 | 0x00000100, /* weaken */ | |
2268 | 0x00000100, /* unweaken */ | |
2269 | 0x00000106, /* blessed */ | |
2270 | 0x0000011e, /* refaddr */ | |
2271 | 0x0000011e, /* reftype */ | |
2272 | 0x0000011e, /* ceil */ | |
2273 | 0x0000011e, /* floor */ | |
2274 | 0x00000106, /* is_tainted */ | |
2275 | 0x00011300, /* helemexistsor */ | |
2276 | 0x00000f00, /* methstart */ | |
2277 | 0x00000f00, /* initfield */ | |
63119cca | 2278 | 0x00000008, /* classname */ |
3c544c1f | 2279 | }); |
73c4f7a1 GS |
2280 | |
2281 | END_EXTERN_C | |
27da23d5 | 2282 | |
f3574cc6 | 2283 | |
4fa06845 | 2284 | #define OPpARGELEM_SV 0x00 |
c2380ea1 | 2285 | #define OPpLVREF_SV 0x00 |
f3574cc6 DM |
2286 | #define OPpARG1_MASK 0x01 |
2287 | #define OPpCOREARGS_DEREF1 0x01 | |
2288 | #define OPpENTERSUB_INARGS 0x01 | |
748f2c65 DM |
2289 | #define OPpPADHV_ISKEYS 0x01 |
2290 | #define OPpRV2HV_ISKEYS 0x01 | |
f3574cc6 | 2291 | #define OPpSORT_NUMERIC 0x01 |
6507ac83 | 2292 | #define OPpTRANS_CAN_FORCE_UTF8 0x01 |
4fa06845 | 2293 | #define OPpARGELEM_AV 0x02 |
f3574cc6 DM |
2294 | #define OPpCONST_NOVER 0x02 |
2295 | #define OPpCOREARGS_DEREF2 0x02 | |
2296 | #define OPpEVAL_HAS_HH 0x02 | |
2297 | #define OPpFT_ACCESS 0x02 | |
f3574cc6 | 2298 | #define OPpHINT_STRICT_REFS 0x02 |
054ceeeb | 2299 | #define OPpINITFIELD_AV 0x02 |
93661e56 | 2300 | #define OPpITER_REVERSED 0x02 |
f3574cc6 | 2301 | #define OPpSORT_INTEGER 0x02 |
6507ac83 | 2302 | #define OPpTRANS_USE_SVOP 0x02 |
f3574cc6 | 2303 | #define OPpARG2_MASK 0x03 |
e1e26374 | 2304 | #define OPpAVHVSWITCH_MASK 0x03 |
4fa06845 | 2305 | #define OPpARGELEM_HV 0x04 |
7b394f12 | 2306 | #define OPpASSIGN_TRUEBOOL 0x04 |
f3574cc6 DM |
2307 | #define OPpCONST_SHORTCIRCUIT 0x04 |
2308 | #define OPpDONT_INIT_GV 0x04 | |
2309 | #define OPpENTERSUB_HASTARG 0x04 | |
2310 | #define OPpEVAL_UNICODE 0x04 | |
2311 | #define OPpFT_STACKED 0x04 | |
054ceeeb | 2312 | #define OPpINITFIELD_HV 0x04 |
6102323a | 2313 | #define OPpLVREF_ELEM 0x04 |
f3574cc6 DM |
2314 | #define OPpSLICEWARNING 0x04 |
2315 | #define OPpSORT_REVERSE 0x04 | |
692044df | 2316 | #define OPpSPLIT_IMPLIM 0x04 |
f3574cc6 | 2317 | #define OPpTRANS_IDENTICAL 0x04 |
07a62087 | 2318 | #define OPpUSEINT 0x04 |
4fa06845 | 2319 | #define OPpARGELEM_MASK 0x06 |
f3574cc6 DM |
2320 | #define OPpARG3_MASK 0x07 |
2321 | #define OPpPADRANGE_COUNTSHIFT 0x07 | |
2322 | #define OPpCONST_STRICT 0x08 | |
2323 | #define OPpENTERSUB_AMPER 0x08 | |
2324 | #define OPpEVAL_BYTES 0x08 | |
2325 | #define OPpFT_STACKING 0x08 | |
7896dde7 | 2326 | #define OPpITER_DEF 0x08 |
5a36b2c0 | 2327 | #define OPpLVREF_ITER 0x08 |
f3574cc6 | 2328 | #define OPpMAYBE_LVSUB 0x08 |
e839e6ed | 2329 | #define OPpMULTICONCAT_STRINGIFY 0x08 |
f3574cc6 DM |
2330 | #define OPpREVERSE_INPLACE 0x08 |
2331 | #define OPpSORT_INPLACE 0x08 | |
5012eebe | 2332 | #define OPpSPLIT_LEX 0x08 |
f3574cc6 DM |
2333 | #define OPpTRANS_SQUASH 0x08 |
2334 | #define OPpARG4_MASK 0x0f | |
a5f48505 | 2335 | #define OPpASSIGN_COMMON_AGG 0x10 |
f3574cc6 | 2336 | #define OPpCONST_ENTERED 0x10 |
9e209402 | 2337 | #define OPpDEREF_AV 0x10 |
f3574cc6 DM |
2338 | #define OPpEVAL_COPHH 0x10 |
2339 | #define OPpFT_AFTER_t 0x10 | |
9e209402 FC |
2340 | #define OPpLVREF_AV 0x10 |
2341 | #define OPpMAYBE_TRUEBOOL 0x10 | |
fedf30e1 | 2342 | #define OPpMULTIDEREF_EXISTS 0x10 |
f3574cc6 | 2343 | #define OPpOPEN_IN_RAW 0x10 |
f3574cc6 | 2344 | #define OPpSORT_DESCEND 0x10 |
5012eebe | 2345 | #define OPpSPLIT_ASSIGN 0x10 |
f3574cc6 DM |
2346 | #define OPpSUBSTR_REPL_FIRST 0x10 |
2347 | #define OPpTARGET_MY 0x10 | |
a5f48505 | 2348 | #define OPpASSIGN_COMMON_RC1 0x20 |
9e209402 | 2349 | #define OPpDEREF_HV 0x20 |
f3574cc6 | 2350 | #define OPpEARLY_CV 0x20 |
10a5c913 | 2351 | #define OPpEMPTYAVHV_IS_HV 0x20 |
f3574cc6 DM |
2352 | #define OPpEVAL_RE_REPARSING 0x20 |
2353 | #define OPpHUSH_VMSISH 0x20 | |
cc0776d6 | 2354 | #define OPpKVSLICE 0x20 |
9e209402 FC |
2355 | #define OPpLVREF_HV 0x20 |
2356 | #define OPpMAY_RETURN_CONSTANT 0x20 | |
e839e6ed | 2357 | #define OPpMULTICONCAT_FAKE 0x20 |
fedf30e1 | 2358 | #define OPpMULTIDEREF_DELETE 0x20 |
f3574cc6 | 2359 | #define OPpOPEN_IN_CRLF 0x20 |
f3574cc6 DM |
2360 | #define OPpTRANS_COMPLEMENT 0x20 |
2361 | #define OPpTRUEBOOL 0x20 | |
c74a928a | 2362 | #define OPpUNDEF_KEEP_PV 0x20 |
9e209402 FC |
2363 | #define OPpDEREF 0x30 |
2364 | #define OPpDEREF_SV 0x30 | |
2365 | #define OPpLVREF_CV 0x30 | |
2366 | #define OPpLVREF_TYPE 0x30 | |
2367 | #define OPpALLOW_FAKE 0x40 | |
f17d9825 | 2368 | #define OPpARG_IF_FALSE 0x40 |
f3574cc6 | 2369 | #define OPpASSIGN_BACKWARDS 0x40 |
a5f48505 | 2370 | #define OPpASSIGN_COMMON_SCALAR 0x40 |
d962625f | 2371 | #define OPpCONCAT_NESTED 0x40 |
f3574cc6 DM |
2372 | #define OPpCONST_BARE 0x40 |
2373 | #define OPpCOREARGS_SCALARMOD 0x40 | |
9e209402 | 2374 | #define OPpENTERSUB_DB 0x40 |
fecade69 | 2375 | #define OPpEVAL_EVALSV 0x40 |
f3574cc6 DM |
2376 | #define OPpEXISTS_SUB 0x40 |
2377 | #define OPpFLIP_LINENUM 0x40 | |
7e8d786b | 2378 | #define OPpINDEX_BOOLNEG 0x40 |
f3574cc6 | 2379 | #define OPpLIST_GUESSED 0x40 |
9e209402 | 2380 | #define OPpLVAL_DEFER 0x40 |
e839e6ed | 2381 | #define OPpMULTICONCAT_APPEND 0x40 |
f3574cc6 | 2382 | #define OPpOPEN_OUT_RAW 0x40 |
9e209402 FC |
2383 | #define OPpOUR_INTRO 0x40 |
2384 | #define OPpPAD_STATE 0x40 | |
f3574cc6 DM |
2385 | #define OPpREFCOUNTED 0x40 |
2386 | #define OPpREPEAT_DOLIST 0x40 | |
f3574cc6 | 2387 | #define OPpSLICE 0x40 |
f3574cc6 | 2388 | #define OPpTRANS_GROWS 0x40 |
f3574cc6 | 2389 | #define OPpPADRANGE_COUNTMASK 0x7f |
f17d9825 | 2390 | #define OPpARG_IF_UNDEF 0x80 |
f3574cc6 DM |
2391 | #define OPpASSIGN_CV_TO_GV 0x80 |
2392 | #define OPpCOREARGS_PUSHMARK 0x80 | |
e5e291f5 | 2393 | #define OPpDEFER_FINALLY 0x80 |
f3574cc6 | 2394 | #define OPpENTERSUB_NOPAREN 0x80 |
abf1aa2b | 2395 | #define OPpHELEMEXISTSOR_DELETE 0x80 |
d8b29a34 | 2396 | #define OPpINITFIELDS 0x80 |
f3574cc6 DM |
2397 | #define OPpLVALUE 0x80 |
2398 | #define OPpLVAL_INTRO 0x80 | |
2399 | #define OPpOFFBYONE 0x80 | |
2400 | #define OPpOPEN_OUT_CRLF 0x80 | |
2401 | #define OPpPV_IS_UTF8 0x80 | |
f3574cc6 DM |
2402 | #define OPpTRANS_DELETE 0x80 |
2403 | START_EXTERN_C | |
2404 | ||
8c3a0f6c | 2405 | #ifndef DOINIT |
f3574cc6 DM |
2406 | |
2407 | /* data about the flags in op_private */ | |
2408 | ||
2409 | EXTCONST I16 PL_op_private_bitdef_ix[]; | |
2410 | EXTCONST U16 PL_op_private_bitdefs[]; | |
2411 | EXTCONST char PL_op_private_labels[]; | |
2412 | EXTCONST I16 PL_op_private_bitfields[]; | |
2413 | EXTCONST U8 PL_op_private_valid[]; | |
2414 | ||
8c3a0f6c | 2415 | #else |
f3574cc6 DM |
2416 | |
2417 | ||
2418 | /* PL_op_private_labels[]: the short descriptions of private flags. | |
2419 | * All labels are concatenated into a single char array | |
2420 | * (separated by \0's) for compactness. | |
2421 | */ | |
2422 | ||
2423 | EXTCONST char PL_op_private_labels[] = { | |
2424 | '$','M','O','D','\0', | |
2425 | '+','1','\0', | |
2426 | '-','\0', | |
f3574cc6 | 2427 | 'A','M','P','E','R','\0', |
10a5c913 | 2428 | 'A','N','O','N','H','A','S','H','\0', |
e839e6ed | 2429 | 'A','P','P','E','N','D','\0', |
5012eebe | 2430 | 'A','S','S','I','G','N','\0', |
c2380ea1 | 2431 | 'A','V','\0', |
f3574cc6 DM |
2432 | 'B','A','R','E','\0', |
2433 | 'B','K','W','A','R','D','\0', | |
2434 | 'B','O','O','L','\0', | |
2435 | 'B','O','O','L','?','\0', | |
2436 | 'B','Y','T','E','S','\0', | |
6507ac83 | 2437 | 'C','A','N','_','F','O','R','C','E','_','U','T','F','8','\0', |
f3574cc6 | 2438 | 'C','O','M','P','L','\0', |
a5f48505 DM |
2439 | 'C','O','M','_','A','G','G','\0', |
2440 | 'C','O','M','_','R','C','1','\0', | |
2441 | 'C','O','M','_','S','C','A','L','A','R','\0', | |
f3574cc6 DM |
2442 | 'C','O','N','S','T','\0', |
2443 | 'C','O','P','H','H','\0', | |
c2380ea1 | 2444 | 'C','V','\0', |
f3574cc6 DM |
2445 | 'C','V','2','G','V','\0', |
2446 | 'D','B','G','\0', | |
7896dde7 | 2447 | 'D','E','F','\0', |
f3574cc6 | 2448 | 'D','E','L','\0', |
fedf30e1 | 2449 | 'D','E','L','E','T','E','\0', |
f3574cc6 DM |
2450 | 'D','E','R','E','F','1','\0', |
2451 | 'D','E','R','E','F','2','\0', | |
2452 | 'D','E','S','C','\0', | |
2453 | 'D','O','L','I','S','T','\0', | |
2454 | 'D','R','E','F','A','V','\0', | |
2455 | 'D','R','E','F','H','V','\0', | |
2456 | 'D','R','E','F','S','V','\0', | |
2457 | 'E','A','R','L','Y','C','V','\0', | |
6102323a | 2458 | 'E','L','E','M','\0', |
f3574cc6 | 2459 | 'E','N','T','E','R','E','D','\0', |
fecade69 | 2460 | 'E','V','A','L','S','V','\0', |
fedf30e1 | 2461 | 'E','X','I','S','T','S','\0', |
f3574cc6 | 2462 | 'F','A','K','E','\0', |
e5e291f5 | 2463 | 'F','I','N','A','L','L','Y','\0', |
f3574cc6 DM |
2464 | 'F','T','A','C','C','E','S','S','\0', |
2465 | 'F','T','A','F','T','E','R','t','\0', | |
2466 | 'F','T','S','T','A','C','K','E','D','\0', | |
2467 | 'F','T','S','T','A','C','K','I','N','G','\0', | |
f3574cc6 DM |
2468 | 'G','R','O','W','S','\0', |
2469 | 'G','U','E','S','S','E','D','\0', | |
2470 | 'H','A','S','_','H','H','\0', | |
2471 | 'H','U','S','H','\0', | |
c2380ea1 | 2472 | 'H','V','\0', |
f3574cc6 | 2473 | 'I','D','E','N','T','\0', |
f17d9825 PE |
2474 | 'I','F','_','F','A','L','S','E','\0', |
2475 | 'I','F','_','U','N','D','E','F','\0', | |
f3574cc6 DM |
2476 | 'I','M','P','L','I','M','\0', |
2477 | 'I','N','A','R','G','S','\0', | |
2478 | 'I','N','B','I','N','\0', | |
2479 | 'I','N','C','R','\0', | |
d8b29a34 | 2480 | 'I','N','I','T','F','I','E','L','D','S','\0', |
054ceeeb PE |
2481 | 'I','N','I','T','F','I','E','L','D','_','A','V','\0', |
2482 | 'I','N','I','T','F','I','E','L','D','_','H','V','\0', | |
f3574cc6 DM |
2483 | 'I','N','P','L','A','C','E','\0', |
2484 | 'I','N','T','\0', | |
5a36b2c0 | 2485 | 'I','T','E','R','\0', |
c74a928a | 2486 | 'K','E','E','P','_','P','V','\0', |
748f2c65 | 2487 | 'K','E','Y','S','\0', |
cc0776d6 | 2488 | 'K','V','S','L','I','C','E','\0', |
5012eebe | 2489 | 'L','E','X','\0', |
f3574cc6 DM |
2490 | 'L','I','N','E','N','U','M','\0', |
2491 | 'L','V','\0', | |
2492 | 'L','V','D','E','F','E','R','\0', | |
2493 | 'L','V','I','N','T','R','O','\0', | |
2494 | 'L','V','S','U','B','\0', | |
2495 | 'M','A','R','K','\0', | |
7e8d786b | 2496 | 'N','E','G','\0', |
d962625f | 2497 | 'N','E','S','T','E','D','\0', |
f3574cc6 DM |
2498 | 'N','O','(',')','\0', |
2499 | 'N','O','I','N','I','T','\0', | |
2500 | 'N','O','V','E','R','\0', | |
2501 | 'N','U','M','\0', | |
2502 | 'O','U','R','I','N','T','R','\0', | |
2503 | 'O','U','T','B','I','N','\0', | |
2504 | 'O','U','T','C','R','\0', | |
f3574cc6 | 2505 | 'R','E','F','C','\0', |
c486bd5c | 2506 | 'R','E','P','A','R','S','E','\0', |
f3574cc6 DM |
2507 | 'R','E','P','L','1','S','T','\0', |
2508 | 'R','E','V','\0', | |
2509 | 'R','E','V','E','R','S','E','D','\0', | |
f3574cc6 DM |
2510 | 'S','H','O','R','T','\0', |
2511 | 'S','L','I','C','E','\0', | |
2512 | 'S','L','I','C','E','W','A','R','N','\0', | |
2513 | 'S','Q','U','A','S','H','\0', | |
f3574cc6 DM |
2514 | 'S','T','A','T','E','\0', |
2515 | 'S','T','R','I','C','T','\0', | |
e839e6ed | 2516 | 'S','T','R','I','N','G','I','F','Y','\0', |
f3574cc6 | 2517 | 'S','U','B','\0', |
c2380ea1 | 2518 | 'S','V','\0', |
f3574cc6 DM |
2519 | 'T','A','R','G','\0', |
2520 | 'T','A','R','G','M','Y','\0', | |
2521 | 'U','N','I','\0', | |
07a62087 | 2522 | 'U','S','E','I','N','T','\0', |
6507ac83 | 2523 | 'U','S','E','_','S','V','O','P','\0', |
f3574cc6 | 2524 | 'U','T','F','\0', |
e9fb18e4 | 2525 | 'k','e','y','\0', |
e1e26374 | 2526 | 'o','f','f','s','e','t','\0', |
e9fb18e4 | 2527 | 'r','a','n','g','e','\0', |
f3574cc6 DM |
2528 | |
2529 | }; | |
2530 | ||
2531 | ||
2532 | ||
2533 | /* PL_op_private_bitfields[]: details about each bit field type. | |
ac5b5e2c | 2534 | * Each definition consists of the following list of words: |
f3574cc6 DM |
2535 | * bitmin |
2536 | * label (index into PL_op_private_labels[]; -1 if no label) | |
2537 | * repeat for each enum entry (if any): | |
2538 | * enum value | |
2539 | * enum label (index into PL_op_private_labels[]) | |
2540 | * -1 | |
2541 | */ | |
2542 | ||
2543 | EXTCONST I16 PL_op_private_bitfields[] = { | |
2544 | 0, 8, -1, | |
2545 | 0, 8, -1, | |
fecade69 | 2546 | 0, 675, -1, |
f3574cc6 DM |
2547 | 0, 8, -1, |
2548 | 0, 8, -1, | |
fecade69 DM |
2549 | 0, 682, -1, |
2550 | 0, 671, -1, | |
2551 | 1, -1, 0, 632, 1, 39, 2, 319, -1, | |
10a5c913 | 2552 | 4, -1, 1, 185, 2, 192, 3, 199, -1, |
fecade69 | 2553 | 4, -1, 0, 632, 1, 39, 2, 319, 3, 131, -1, |
f3574cc6 DM |
2554 | |
2555 | }; | |
2556 | ||
2557 | ||
2558 | /* PL_op_private_bitdef_ix[]: map an op number to a starting position | |
2559 | * in PL_op_private_bitdefs. If -1, the op has no bits defined */ | |
2560 | ||
2561 | EXTCONST I16 PL_op_private_bitdef_ix[] = { | |
4444b686 LT |
2562 | -1, /* null */ |
2563 | -1, /* stub */ | |
2564 | 0, /* scalar */ | |
2565 | 1, /* pushmark */ | |
2566 | 3, /* wantarray */ | |
2567 | 4, /* const */ | |
2568 | 9, /* gvsv */ | |
2569 | 11, /* gv */ | |
2570 | 12, /* gelem */ | |
2571 | 13, /* padsv */ | |
2572 | 16, /* padsv_store */ | |
2573 | 19, /* padav */ | |
2574 | 24, /* padhv */ | |
2575 | -1, /* padany */ | |
2576 | 31, /* rv2gv */ | |
2577 | 38, /* rv2sv */ | |
2578 | 43, /* av2arylen */ | |
2579 | 45, /* rv2cv */ | |
2580 | -1, /* anoncode */ | |
2581 | 0, /* prototype */ | |
2582 | 0, /* refgen */ | |
2583 | 0, /* srefgen */ | |
2584 | 52, /* ref */ | |
2585 | 55, /* bless */ | |
2586 | 56, /* backtick */ | |
2587 | 55, /* glob */ | |
2588 | 0, /* readline */ | |
2589 | -1, /* rcatline */ | |
2590 | 0, /* regcmaybe */ | |
2591 | 0, /* regcreset */ | |
2592 | 0, /* regcomp */ | |
2593 | -1, /* match */ | |
2594 | -1, /* qr */ | |
2595 | 61, /* subst */ | |
2596 | 0, /* substcont */ | |
2597 | 62, /* trans */ | |
2598 | 62, /* transr */ | |
2599 | 69, /* sassign */ | |
2600 | 72, /* aassign */ | |
2601 | 0, /* chop */ | |
2602 | 0, /* schop */ | |
2603 | 78, /* chomp */ | |
2604 | 78, /* schomp */ | |
2605 | 0, /* defined */ | |
2606 | 80, /* undef */ | |
2607 | 0, /* study */ | |
2608 | 85, /* pos */ | |
2609 | 0, /* preinc */ | |
2610 | 0, /* i_preinc */ | |
2611 | 0, /* predec */ | |
2612 | 0, /* i_predec */ | |
2613 | 0, /* postinc */ | |
2614 | 0, /* i_postinc */ | |
2615 | 0, /* postdec */ | |
2616 | 0, /* i_postdec */ | |
2617 | 88, /* pow */ | |
2618 | 88, /* multiply */ | |
2619 | 88, /* i_multiply */ | |
2620 | 88, /* divide */ | |
2621 | 88, /* i_divide */ | |
2622 | 88, /* modulo */ | |
2623 | 88, /* i_modulo */ | |
2624 | 90, /* repeat */ | |
2625 | 88, /* add */ | |
2626 | 88, /* i_add */ | |
2627 | 88, /* subtract */ | |
2628 | 88, /* i_subtract */ | |
2629 | 92, /* concat */ | |
2630 | 95, /* multiconcat */ | |
2631 | 101, /* stringify */ | |
2632 | 103, /* left_shift */ | |
2633 | 103, /* right_shift */ | |
2634 | 12, /* lt */ | |
2635 | 12, /* i_lt */ | |
2636 | 12, /* gt */ | |
2637 | 12, /* i_gt */ | |
2638 | 12, /* le */ | |
2639 | 12, /* i_le */ | |
2640 | 12, /* ge */ | |
2641 | 12, /* i_ge */ | |
2642 | 12, /* eq */ | |
2643 | 12, /* i_eq */ | |
2644 | 12, /* ne */ | |
2645 | 12, /* i_ne */ | |
2646 | 12, /* ncmp */ | |
2647 | 12, /* i_ncmp */ | |
2648 | 12, /* slt */ | |
2649 | 12, /* sgt */ | |
2650 | 12, /* sle */ | |
2651 | 12, /* sge */ | |
2652 | 12, /* seq */ | |
2653 | 12, /* sne */ | |
2654 | 12, /* scmp */ | |
2655 | 105, /* bit_and */ | |
2656 | 105, /* bit_xor */ | |
2657 | 105, /* bit_or */ | |
2658 | 103, /* nbit_and */ | |
2659 | 103, /* nbit_xor */ | |
2660 | 103, /* nbit_or */ | |
2661 | 105, /* sbit_and */ | |
2662 | 105, /* sbit_xor */ | |
2663 | 105, /* sbit_or */ | |
359c2cd7 RL |
2664 | 78, /* negate */ |
2665 | 78, /* i_negate */ | |
4444b686 LT |
2666 | 0, /* not */ |
2667 | 105, /* complement */ | |
2668 | 103, /* ncomplement */ | |
2669 | 78, /* scomplement */ | |
2670 | 12, /* smartmatch */ | |
2671 | 101, /* atan2 */ | |
2672 | 78, /* sin */ | |
2673 | 78, /* cos */ | |
2674 | 101, /* rand */ | |
2675 | 101, /* srand */ | |
2676 | 78, /* exp */ | |
2677 | 78, /* log */ | |
2678 | 78, /* sqrt */ | |
2679 | 78, /* int */ | |
2680 | 78, /* hex */ | |
2681 | 78, /* oct */ | |
2682 | 78, /* abs */ | |
2683 | 106, /* length */ | |
2684 | 109, /* substr */ | |
2685 | 112, /* vec */ | |
2686 | 114, /* index */ | |
2687 | 114, /* rindex */ | |
2688 | 55, /* sprintf */ | |
2689 | 55, /* formline */ | |
2690 | 78, /* ord */ | |
2691 | 78, /* chr */ | |
2692 | 101, /* crypt */ | |
2693 | 0, /* ucfirst */ | |
2694 | 0, /* lcfirst */ | |
2695 | 0, /* uc */ | |
2696 | 0, /* lc */ | |
2697 | 0, /* quotemeta */ | |
2698 | 118, /* rv2av */ | |
2699 | 125, /* aelemfast */ | |
2700 | 125, /* aelemfast_lex */ | |
2701 | 125, /* aelemfastlex_store */ | |
2702 | 126, /* aelem */ | |
2703 | 131, /* aslice */ | |
2704 | 134, /* kvaslice */ | |
2705 | 0, /* aeach */ | |
2706 | 0, /* avalues */ | |
2707 | 43, /* akeys */ | |
2708 | 0, /* each */ | |
2709 | 43, /* values */ | |
2710 | 43, /* keys */ | |
2711 | 135, /* delete */ | |
2712 | 139, /* exists */ | |
2713 | 141, /* rv2hv */ | |
2714 | 126, /* helem */ | |
2715 | 131, /* hslice */ | |
2716 | 134, /* kvhslice */ | |
2717 | 149, /* multideref */ | |
2718 | 55, /* unpack */ | |
2719 | 55, /* pack */ | |
2720 | 156, /* split */ | |
2721 | 55, /* join */ | |
2722 | 161, /* list */ | |
2723 | 12, /* lslice */ | |
2724 | 55, /* anonlist */ | |
2725 | 55, /* anonhash */ | |
2726 | 163, /* emptyavhv */ | |
2727 | 55, /* splice */ | |
2728 | 101, /* push */ | |
2729 | 0, /* pop */ | |
2730 | 0, /* shift */ | |
2731 | 101, /* unshift */ | |
2732 | 168, /* sort */ | |
2733 | 173, /* reverse */ | |
2734 | 0, /* grepstart */ | |
2735 | 175, /* grepwhile */ | |
2736 | 0, /* mapstart */ | |
2737 | 0, /* mapwhile */ | |
2738 | 0, /* range */ | |
2739 | 177, /* flip */ | |
2740 | 177, /* flop */ | |
2741 | 0, /* and */ | |
2742 | 0, /* or */ | |
2743 | 12, /* xor */ | |
2744 | 0, /* dor */ | |
2745 | 179, /* cond_expr */ | |
2746 | 0, /* andassign */ | |
2747 | 0, /* orassign */ | |
2748 | 0, /* dorassign */ | |
2749 | 181, /* entersub */ | |
2750 | 188, /* leavesub */ | |
2751 | 188, /* leavesublv */ | |
2752 | 0, /* argcheck */ | |
2753 | 190, /* argelem */ | |
2754 | 192, /* argdefelem */ | |
2755 | 195, /* caller */ | |
2756 | 55, /* warn */ | |
2757 | 55, /* die */ | |
2758 | 55, /* reset */ | |
2759 | -1, /* lineseq */ | |
2760 | 197, /* nextstate */ | |
2761 | 197, /* dbstate */ | |
2762 | -1, /* unstack */ | |
2763 | -1, /* enter */ | |
2764 | 198, /* leave */ | |
2765 | -1, /* scope */ | |
2766 | 200, /* enteriter */ | |
2767 | 204, /* iter */ | |
2768 | -1, /* enterloop */ | |
2769 | 205, /* leaveloop */ | |
2770 | -1, /* return */ | |
2771 | 207, /* last */ | |
2772 | 207, /* next */ | |
2773 | 207, /* redo */ | |
2774 | 207, /* dump */ | |
2775 | 207, /* goto */ | |
2776 | 55, /* exit */ | |
2777 | 0, /* method */ | |
2778 | 0, /* method_named */ | |
2779 | 0, /* method_super */ | |
2780 | 0, /* method_redir */ | |
2781 | 0, /* method_redir_super */ | |
2782 | 0, /* entergiven */ | |
2783 | 0, /* leavegiven */ | |
2784 | 0, /* enterwhen */ | |
2785 | 0, /* leavewhen */ | |
2786 | -1, /* break */ | |
2787 | -1, /* continue */ | |
2788 | 209, /* open */ | |
2789 | 55, /* close */ | |
2790 | 55, /* pipe_op */ | |
2791 | 55, /* fileno */ | |
2792 | 55, /* umask */ | |
2793 | 55, /* binmode */ | |
2794 | 55, /* tie */ | |
2795 | 0, /* untie */ | |
2796 | 0, /* tied */ | |
2797 | 55, /* dbmopen */ | |
2798 | 0, /* dbmclose */ | |
2799 | 55, /* sselect */ | |
2800 | 55, /* select */ | |
2801 | 55, /* getc */ | |
2802 | 55, /* read */ | |
2803 | 55, /* enterwrite */ | |
2804 | 188, /* leavewrite */ | |
2805 | -1, /* prtf */ | |
2806 | -1, /* print */ | |
2807 | -1, /* say */ | |
2808 | 55, /* sysopen */ | |
2809 | 55, /* sysseek */ | |
2810 | 55, /* sysread */ | |
2811 | 55, /* syswrite */ | |
2812 | 55, /* eof */ | |
2813 | 55, /* tell */ | |
2814 | 55, /* seek */ | |
2815 | 55, /* truncate */ | |
2816 | 55, /* fcntl */ | |
2817 | 55, /* ioctl */ | |
2818 | 101, /* flock */ | |
2819 | 55, /* send */ | |
2820 | 55, /* recv */ | |
2821 | 55, /* socket */ | |
2822 | 55, /* sockpair */ | |
2823 | 55, /* bind */ | |
2824 | 55, /* connect */ | |
2825 | 55, /* listen */ | |
2826 | 55, /* accept */ | |
2827 | 55, /* shutdown */ | |
2828 | 55, /* gsockopt */ | |
2829 | 55, /* ssockopt */ | |
2830 | 0, /* getsockname */ | |
2831 | 0, /* getpeername */ | |
2832 | 0, /* lstat */ | |
2833 | 0, /* stat */ | |
2834 | 214, /* ftrread */ | |
2835 | 214, /* ftrwrite */ | |
2836 | 214, /* ftrexec */ | |
2837 | 214, /* fteread */ | |
2838 | 214, /* ftewrite */ | |
2839 | 214, /* fteexec */ | |
2840 | 219, /* ftis */ | |
2841 | 219, /* ftsize */ | |
2842 | 219, /* ftmtime */ | |
2843 | 219, /* ftatime */ | |
2844 | 219, /* ftctime */ | |
2845 | 219, /* ftrowned */ | |
2846 | 219, /* fteowned */ | |
2847 | 219, /* ftzero */ | |
2848 | 219, /* ftsock */ | |
2849 | 219, /* ftchr */ | |
2850 | 219, /* ftblk */ | |
2851 | 219, /* ftfile */ | |
2852 | 219, /* ftdir */ | |
2853 | 219, /* ftpipe */ | |
2854 | 219, /* ftsuid */ | |
2855 | 219, /* ftsgid */ | |
2856 | 219, /* ftsvtx */ | |
2857 | 219, /* ftlink */ | |
2858 | 219, /* fttty */ | |
2859 | 219, /* fttext */ | |
2860 | 219, /* ftbinary */ | |
2861 | 101, /* chdir */ | |
2862 | 101, /* chown */ | |
2863 | 78, /* chroot */ | |
2864 | 101, /* unlink */ | |
2865 | 101, /* chmod */ | |
2866 | 101, /* utime */ | |
2867 | 101, /* rename */ | |
2868 | 101, /* link */ | |
2869 | 101, /* symlink */ | |
2870 | 0, /* readlink */ | |
2871 | 101, /* mkdir */ | |
2872 | 78, /* rmdir */ | |
2873 | 55, /* open_dir */ | |
2874 | 0, /* readdir */ | |
2875 | 0, /* telldir */ | |
2876 | 55, /* seekdir */ | |
2877 | 0, /* rewinddir */ | |
2878 | 0, /* closedir */ | |
2879 | -1, /* fork */ | |
2880 | 223, /* wait */ | |
2881 | 101, /* waitpid */ | |
2882 | 101, /* system */ | |
2883 | 101, /* exec */ | |
2884 | 101, /* kill */ | |
2885 | 223, /* getppid */ | |
2886 | 101, /* getpgrp */ | |
2887 | 101, /* setpgrp */ | |
2888 | 101, /* getpriority */ | |
2889 | 101, /* setpriority */ | |
2890 | 223, /* time */ | |
2891 | -1, /* tms */ | |
2892 | 0, /* localtime */ | |
2893 | 55, /* gmtime */ | |
2894 | 0, /* alarm */ | |
2895 | 101, /* sleep */ | |
2896 | 55, /* shmget */ | |
2897 | 55, /* shmctl */ | |
2898 | 55, /* shmread */ | |
2899 | 55, /* shmwrite */ | |
2900 | 55, /* msgget */ | |
2901 | 55, /* msgctl */ | |
2902 | 55, /* msgsnd */ | |
2903 | 55, /* msgrcv */ | |
2904 | 55, /* semop */ | |
2905 | 55, /* semget */ | |
2906 | 55, /* semctl */ | |
2907 | 0, /* require */ | |
2908 | 0, /* dofile */ | |
2909 | -1, /* hintseval */ | |
2910 | 224, /* entereval */ | |
2911 | 188, /* leaveeval */ | |
2912 | 0, /* entertry */ | |
2913 | -1, /* leavetry */ | |
2914 | 0, /* ghbyname */ | |
2915 | 55, /* ghbyaddr */ | |
2916 | -1, /* ghostent */ | |
2917 | 0, /* gnbyname */ | |
2918 | 55, /* gnbyaddr */ | |
2919 | -1, /* gnetent */ | |
2920 | 0, /* gpbyname */ | |
2921 | 55, /* gpbynumber */ | |
2922 | -1, /* gprotoent */ | |
2923 | 55, /* gsbyname */ | |
2924 | 55, /* gsbyport */ | |
2925 | -1, /* gservent */ | |
2926 | 0, /* shostent */ | |
2927 | 0, /* snetent */ | |
2928 | 0, /* sprotoent */ | |
2929 | 0, /* sservent */ | |
2930 | -1, /* ehostent */ | |
2931 | -1, /* enetent */ | |
2932 | -1, /* eprotoent */ | |
2933 | -1, /* eservent */ | |
2934 | 0, /* gpwnam */ | |
2935 | 0, /* gpwuid */ | |
2936 | -1, /* gpwent */ | |
2937 | -1, /* spwent */ | |
2938 | -1, /* epwent */ | |
2939 | 0, /* ggrnam */ | |
2940 | 0, /* ggrgid */ | |
2941 | -1, /* ggrent */ | |
2942 | -1, /* sgrent */ | |
2943 | -1, /* egrent */ | |
2944 | -1, /* getlogin */ | |
2945 | 55, /* syscall */ | |
2946 | 0, /* lock */ | |
2947 | 0, /* once */ | |
2948 | -1, /* custom */ | |
2949 | 231, /* coreargs */ | |
2950 | 235, /* avhvswitch */ | |
2951 | 3, /* runcv */ | |
2952 | 0, /* fc */ | |
2953 | -1, /* padcv */ | |
2954 | -1, /* introcv */ | |
2955 | -1, /* clonecv */ | |
2956 | 237, /* padrange */ | |
2957 | 239, /* refassign */ | |
2958 | 245, /* lvref */ | |
2959 | 251, /* lvrefslice */ | |
2960 | 16, /* lvavref */ | |
2961 | 0, /* anonconst */ | |
2962 | 12, /* isa */ | |
2963 | 0, /* cmpchain_and */ | |
2964 | 0, /* cmpchain_dup */ | |
2965 | 0, /* entertrycatch */ | |
2966 | -1, /* leavetrycatch */ | |
2967 | -1, /* poptry */ | |
2968 | 0, /* catch */ | |
2969 | 252, /* pushdefer */ | |
2970 | 0, /* is_bool */ | |
2971 | 0, /* is_weak */ | |
2972 | 0, /* weaken */ | |
2973 | 0, /* unweaken */ | |
2974 | 52, /* blessed */ | |
2975 | 78, /* refaddr */ | |
2976 | 78, /* reftype */ | |
2977 | 78, /* ceil */ | |
2978 | 78, /* floor */ | |
2979 | 0, /* is_tainted */ | |
2980 | 254, /* helemexistsor */ | |
2981 | 256, /* methstart */ | |
2982 | 258, /* initfield */ | |
63119cca | 2983 | -1, /* classname */ |
f3574cc6 DM |
2984 | |
2985 | }; | |
2986 | ||
2987 | ||
2988 | ||
2989 | /* PL_op_private_bitdefs[]: given a starting position in this array (as | |
2990 | * supplied by PL_op_private_bitdef_ix[]), each word (until a stop bit is | |
2991 | * seen) defines the meaning of a particular op_private bit for a | |
2992 | * particular op. Each word consists of: | |
2993 | * bit 0: stop bit: this is the last bit def for the current op | |
2994 | * bit 1: bitfield: if set, this defines a bit field rather than a flag | |
2995 | * bits 2..4: unsigned number in the range 0..7 which is the bit number | |
2996 | * bits 5..15: unsigned number in the range 0..2047 which is an index | |
2997 | * into PL_op_private_labels[] (for a flag), or | |
2998 | * into PL_op_private_bitfields[] (for a bit field) | |
2999 | */ | |
3000 | ||
3001 | EXTCONST U16 PL_op_private_bitdefs[] = { | |
359c2cd7 | 3002 | 0x0003, /* scalar, prototype, refgen, srefgen, readline, regcmaybe, regcreset, regcomp, substcont, chop, schop, defined, study, preinc, i_preinc, predec, i_predec, postinc, i_postinc, postdec, i_postdec, not, ucfirst, lcfirst, uc, lc, quotemeta, aeach, avalues, each, pop, shift, grepstart, mapstart, mapwhile, range, and, or, dor, andassign, orassign, dorassign, argcheck, method, method_named, method_super, method_redir, method_redir_super, entergiven, leavegiven, enterwhen, leavewhen, untie, tied, dbmclose, getsockname, getpeername, lstat, stat, readlink, readdir, telldir, rewinddir, closedir, localtime, alarm, require, dofile, entertry, ghbyname, gnbyname, gpbyname, shostent, snetent, sprotoent, sservent, gpwnam, gpwuid, ggrnam, ggrgid, lock, once, fc, anonconst, cmpchain_and, cmpchain_dup, entertrycatch, catch, is_bool, is_weak, weaken, unweaken, is_tainted */ |
fecade69 | 3003 | 0x3abc, 0x4bb9, /* pushmark */ |
dd6eeb56 | 3004 | 0x00bd, /* wantarray, runcv */ |
fecade69 DM |
3005 | 0x0558, 0x1b70, 0x4c6c, 0x4808, 0x3fe5, /* const */ |
3006 | 0x3abc, 0x4139, /* gvsv */ | |
10a5c913 | 3007 | 0x19d5, /* gv */ |
07a62087 | 3008 | 0x0067, /* gelem, lt, i_lt, gt, i_gt, le, i_le, ge, i_ge, eq, i_eq, ne, i_ne, ncmp, i_ncmp, slt, sgt, sle, sge, seq, sne, scmp, smartmatch, lslice, xor, isa */ |
fecade69 DM |
3009 | 0x3abc, 0x4bb8, 0x03d7, /* padsv */ |
3010 | 0x3abc, 0x4bb8, 0x0003, /* padsv_store, lvavref */ | |
3011 | 0x3abc, 0x4bb8, 0x06d4, 0x3bac, 0x4989, /* padav */ | |
3012 | 0x3abc, 0x4bb8, 0x06d4, 0x0770, 0x3bac, 0x4988, 0x3621, /* padhv */ | |
3013 | 0x3abc, 0x1e38, 0x03d6, 0x3bac, 0x3f08, 0x4c64, 0x0003, /* rv2gv */ | |
3014 | 0x3abc, 0x4138, 0x03d6, 0x4c64, 0x0003, /* rv2sv */ | |
3015 | 0x3bac, 0x0003, /* av2arylen, akeys, values, keys */ | |
3016 | 0x3e7c, 0x1198, 0x0ef4, 0x014c, 0x4f68, 0x4c64, 0x0003, /* rv2cv */ | |
10a5c913 | 3017 | 0x06d4, 0x0770, 0x0003, /* ref, blessed */ |
cd642408 | 3018 | 0x018f, /* bless, glob, sprintf, formline, unpack, pack, join, anonlist, anonhash, splice, warn, die, reset, exit, close, pipe_op, fileno, umask, binmode, tie, dbmopen, sselect, select, getc, read, enterwrite, sysopen, sysseek, sysread, syswrite, eof, tell, seek, truncate, fcntl, ioctl, send, recv, socket, sockpair, bind, connect, listen, accept, shutdown, gsockopt, ssockopt, open_dir, seekdir, gmtime, shmget, shmctl, shmread, shmwrite, msgget, msgctl, msgsnd, msgrcv, semop, semget, semctl, ghbyaddr, gnbyaddr, gpbynumber, gsbyname, gsbyport, syscall */ |
fecade69 | 3019 | 0x431c, 0x4238, 0x2dd4, 0x2d10, 0x0003, /* backtick */ |
10a5c913 | 3020 | 0x06d5, /* subst */ |
fecade69 | 3021 | 0x129c, 0x24b8, 0x0ad4, 0x4acc, 0x2848, 0x5244, 0x08e1, /* trans, transr */ |
10a5c913 | 3022 | 0x10dc, 0x05f8, 0x0067, /* sassign */ |
fecade69 | 3023 | 0x0d98, 0x0c94, 0x0b90, 0x3bac, 0x06c8, 0x0067, /* aassign */ |
359c2cd7 | 3024 | 0x5010, 0x0003, /* chomp, schomp, negate, i_negate, scomplement, sin, cos, exp, log, sqrt, int, hex, oct, abs, ord, chr, chroot, rmdir, refaddr, reftype, ceil, floor */ |
fecade69 DM |
3025 | 0x3abc, 0x4bb8, 0x3534, 0x5010, 0x0003, /* undef */ |
3026 | 0x06d4, 0x3bac, 0x0003, /* pos */ | |
3027 | 0x5010, 0x0067, /* pow, multiply, i_multiply, divide, i_divide, modulo, i_modulo, add, i_add, subtract, i_subtract */ | |
10a5c913 | 3028 | 0x1658, 0x0067, /* repeat */ |
fecade69 DM |
3029 | 0x3d98, 0x5010, 0x0067, /* concat */ |
3030 | 0x3abc, 0x0338, 0x1e34, 0x5010, 0x4d4c, 0x0003, /* multiconcat */ | |
3031 | 0x5010, 0x018f, /* stringify, atan2, rand, srand, crypt, push, unshift, flock, chdir, chown, unlink, chmod, utime, rename, link, symlink, mkdir, waitpid, system, exec, kill, getpgrp, setpgrp, getpriority, setpriority, sleep */ | |
3032 | 0x5010, 0x5169, /* left_shift, right_shift, nbit_and, nbit_xor, nbit_or, ncomplement */ | |
3033 | 0x5169, /* bit_and, bit_xor, bit_or, sbit_and, sbit_xor, sbit_or, complement */ | |
3034 | 0x06d4, 0x5010, 0x0003, /* length */ | |
3035 | 0x4570, 0x3bac, 0x012b, /* substr */ | |
3036 | 0x3bac, 0x0067, /* vec */ | |
3037 | 0x3d18, 0x06d4, 0x5010, 0x018f, /* index, rindex */ | |
3038 | 0x3abc, 0x4138, 0x06d4, 0x3bac, 0x4988, 0x4c64, 0x0003, /* rv2av */ | |
aafefcb9 | 3039 | 0x025f, /* aelemfast, aelemfast_lex, aelemfastlex_store */ |
fecade69 DM |
3040 | 0x3abc, 0x39b8, 0x03d6, 0x3bac, 0x0067, /* aelem, helem */ |
3041 | 0x3abc, 0x3bac, 0x4989, /* aslice, hslice */ | |
3042 | 0x3bad, /* kvaslice, kvhslice */ | |
3043 | 0x3abc, 0x48d8, 0x36d4, 0x0003, /* delete */ | |
3044 | 0x4e98, 0x0003, /* exists */ | |
3045 | 0x3abc, 0x4138, 0x06d4, 0x0770, 0x3bac, 0x4988, 0x4c64, 0x3621, /* rv2hv */ | |
3046 | 0x3abc, 0x39b8, 0x1314, 0x1d50, 0x3bac, 0x4c64, 0x0003, /* multideref */ | |
3047 | 0x3abc, 0x4138, 0x0410, 0x37cc, 0x2b49, /* split */ | |
3048 | 0x3abc, 0x2579, /* list */ | |
3049 | 0x3abc, 0x4bb8, 0x0214, 0x5010, 0x018f, /* emptyavhv */ | |
3050 | 0x15b0, 0x330c, 0x4668, 0x3404, 0x40a1, /* sort */ | |
3051 | 0x330c, 0x0003, /* reverse */ | |
10a5c913 | 3052 | 0x06d4, 0x0003, /* grepwhile */ |
fecade69 DM |
3053 | 0x3858, 0x0003, /* flip, flop */ |
3054 | 0x3abc, 0x0003, /* cond_expr */ | |
3055 | 0x3abc, 0x1198, 0x03d6, 0x014c, 0x4f68, 0x4c64, 0x2c21, /* entersub */ | |
3056 | 0x43d8, 0x0003, /* leavesub, leavesublv, leavewrite, leaveeval */ | |
4fa06845 | 3057 | 0x02aa, 0x0003, /* argelem */ |
fecade69 | 3058 | 0x2a3c, 0x2918, 0x0003, /* argdefelem */ |
cd642408 | 3059 | 0x00bc, 0x018f, /* caller */ |
fecade69 DM |
3060 | 0x2755, /* nextstate, dbstate */ |
3061 | 0x395c, 0x43d9, /* leave */ | |
3062 | 0x3abc, 0x4138, 0x120c, 0x46e5, /* enteriter */ | |
3063 | 0x46e5, /* iter */ | |
3064 | 0x395c, 0x0067, /* leaveloop */ | |
3065 | 0x537c, 0x0003, /* last, next, redo, dump, goto */ | |
3066 | 0x431c, 0x4238, 0x2dd4, 0x2d10, 0x018f, /* open */ | |
3067 | 0x20f0, 0x234c, 0x2208, 0x1fc4, 0x0003, /* ftrread, ftrwrite, ftrexec, fteread, ftewrite, fteexec */ | |
3068 | 0x20f0, 0x234c, 0x2208, 0x0003, /* ftis, ftsize, ftmtime, ftatime, ftctime, ftrowned, fteowned, ftzero, ftsock, ftchr, ftblk, ftfile, ftdir, ftpipe, ftsuid, ftsgid, ftsvtx, ftlink, fttty, fttext, ftbinary */ | |
3069 | 0x5011, /* wait, getppid, time */ | |
3070 | 0x1c78, 0x4474, 0x0fb0, 0x082c, 0x50e8, 0x2664, 0x0003, /* entereval */ | |
3071 | 0x3c7c, 0x0018, 0x14c4, 0x13e1, /* coreargs */ | |
3072 | 0x3bac, 0x00c7, /* avhvswitch */ | |
3073 | 0x3abc, 0x01fb, /* padrange */ | |
3074 | 0x3abc, 0x4bb8, 0x04f6, 0x348c, 0x1ac8, 0x0067, /* refassign */ | |
3075 | 0x3abc, 0x4bb8, 0x04f6, 0x348c, 0x1ac8, 0x0003, /* lvref */ | |
3076 | 0x3abd, /* lvrefslice */ | |
3077 | 0x1edc, 0x0003, /* pushdefer */ | |
abf1aa2b | 3078 | 0x131c, 0x0003, /* helemexistsor */ |
fecade69 DM |
3079 | 0x2e7c, 0x0003, /* methstart */ |
3080 | 0x3168, 0x2fc4, 0x0003, /* initfield */ | |
f3574cc6 DM |
3081 | |
3082 | }; | |
3083 | ||
3084 | ||
3085 | /* PL_op_private_valid: for each op, indexed by op_type, indicate which | |
3086 | * flags bits in op_private are legal */ | |
3087 | ||
3088 | EXTCONST U8 PL_op_private_valid[] = { | |
4444b686 LT |
3089 | /* NULL */ (0xff), |
3090 | /* STUB */ (0), | |
3091 | /* SCALAR */ (OPpARG1_MASK), | |
3092 | /* PUSHMARK */ (OPpPAD_STATE|OPpLVAL_INTRO), | |
3093 | /* WANTARRAY */ (OPpOFFBYONE), | |
3094 | /* CONST */ (OPpCONST_NOVER|OPpCONST_SHORTCIRCUIT|OPpCONST_STRICT|OPpCONST_ENTERED|OPpCONST_BARE), | |
3095 | /* GVSV */ (OPpOUR_INTRO|OPpLVAL_INTRO), | |
3096 | /* GV */ (OPpEARLY_CV), | |
3097 | /* GELEM */ (OPpARG2_MASK), | |
3098 | /* PADSV */ (OPpDEREF|OPpPAD_STATE|OPpLVAL_INTRO), | |
3099 | /* PADSV_STORE */ (OPpARG1_MASK|OPpPAD_STATE|OPpLVAL_INTRO), | |
3100 | /* PADAV */ (OPpSLICEWARNING|OPpMAYBE_LVSUB|OPpTRUEBOOL|OPpPAD_STATE|OPpLVAL_INTRO), | |
3101 | /* PADHV */ (OPpPADHV_ISKEYS|OPpSLICEWARNING|OPpMAYBE_LVSUB|OPpMAYBE_TRUEBOOL|OPpTRUEBOOL|OPpPAD_STATE|OPpLVAL_INTRO), | |
3102 | /* PADANY */ (0), | |
3103 | /* RV2GV */ (OPpARG1_MASK|OPpHINT_STRICT_REFS|OPpDONT_INIT_GV|OPpMAYBE_LVSUB|OPpDEREF|OPpALLOW_FAKE|OPpLVAL_INTRO), | |
3104 | /* RV2SV */ (OPpARG1_MASK|OPpHINT_STRICT_REFS|OPpDEREF|OPpOUR_INTRO|OPpLVAL_INTRO), | |
3105 | /* AV2ARYLEN */ (OPpARG1_MASK|OPpMAYBE_LVSUB), | |
3106 | /* RV2CV */ (OPpARG1_MASK|OPpHINT_STRICT_REFS|OPpENTERSUB_HASTARG|OPpENTERSUB_AMPER|OPpMAY_RETURN_CONSTANT|OPpENTERSUB_DB|OPpENTERSUB_NOPAREN), | |
3107 | /* ANONCODE */ (0), | |
3108 | /* PROTOTYPE */ (OPpARG1_MASK), | |
3109 | /* REFGEN */ (OPpARG1_MASK), | |
3110 | /* SREFGEN */ (OPpARG1_MASK), | |
3111 | /* REF */ (OPpARG1_MASK|OPpMAYBE_TRUEBOOL|OPpTRUEBOOL), | |
3112 | /* BLESS */ (OPpARG4_MASK), | |
3113 | /* BACKTICK */ (OPpARG1_MASK|OPpOPEN_IN_RAW|OPpOPEN_IN_CRLF|OPpOPEN_OUT_RAW|OPpOPEN_OUT_CRLF), | |
3114 | /* GLOB */ (OPpARG4_MASK), | |
3115 | /* READLINE */ (OPpARG1_MASK), | |
3116 | /* RCATLINE */ (0), | |
3117 | /* REGCMAYBE */ (OPpARG1_MASK), | |
3118 | /* REGCRESET */ (OPpARG1_MASK), | |
3119 | /* REGCOMP */ (OPpARG1_MASK), | |
3120 | /* MATCH */ (0), | |
3121 | /* QR */ (0), | |
3122 | /* SUBST */ (OPpTRUEBOOL), | |
3123 | /* SUBSTCONT */ (OPpARG1_MASK), | |
3124 | /* TRANS */ (OPpTRANS_CAN_FORCE_UTF8|OPpTRANS_USE_SVOP|OPpTRANS_IDENTICAL|OPpTRANS_SQUASH|OPpTRANS_COMPLEMENT|OPpTRANS_GROWS|OPpTRANS_DELETE), | |
3125 | /* TRANSR */ (OPpTRANS_CAN_FORCE_UTF8|OPpTRANS_USE_SVOP|OPpTRANS_IDENTICAL|OPpTRANS_SQUASH|OPpTRANS_COMPLEMENT|OPpTRANS_GROWS|OPpTRANS_DELETE), | |
3126 | /* SASSIGN */ (OPpARG2_MASK|OPpASSIGN_BACKWARDS|OPpASSIGN_CV_TO_GV), | |
3127 | /* AASSIGN */ (OPpARG2_MASK|OPpASSIGN_TRUEBOOL|OPpMAYBE_LVSUB|OPpASSIGN_COMMON_AGG|OPpASSIGN_COMMON_RC1|OPpASSIGN_COMMON_SCALAR), | |
3128 | /* CHOP */ (OPpARG1_MASK), | |
3129 | /* SCHOP */ (OPpARG1_MASK), | |
3130 | /* CHOMP */ (OPpARG1_MASK|OPpTARGET_MY), | |
3131 | /* SCHOMP */ (OPpARG1_MASK|OPpTARGET_MY), | |
3132 | /* DEFINED */ (OPpARG1_MASK), | |
3133 | /* UNDEF */ (OPpARG1_MASK|OPpTARGET_MY|OPpUNDEF_KEEP_PV|OPpPAD_STATE|OPpLVAL_INTRO), | |
3134 | /* STUDY */ (OPpARG1_MASK), | |
3135 | /* POS */ (OPpARG1_MASK|OPpMAYBE_LVSUB|OPpTRUEBOOL), | |
3136 | /* PREINC */ (OPpARG1_MASK), | |
3137 | /* I_PREINC */ (OPpARG1_MASK), | |
3138 | /* PREDEC */ (OPpARG1_MASK), | |
3139 | /* I_PREDEC */ (OPpARG1_MASK), | |
3140 | /* POSTINC */ (OPpARG1_MASK), | |
3141 | /* I_POSTINC */ (OPpARG1_MASK), | |
3142 | /* POSTDEC */ (OPpARG1_MASK), | |
3143 | /* I_POSTDEC */ (OPpARG1_MASK), | |
3144 | /* POW */ (OPpARG2_MASK|OPpTARGET_MY), | |
3145 | /* MULTIPLY */ (OPpARG2_MASK|OPpTARGET_MY), | |
3146 | /* I_MULTIPLY */ (OPpARG2_MASK|OPpTARGET_MY), | |
3147 | /* DIVIDE */ (OPpARG2_MASK|OPpTARGET_MY), | |
3148 | /* I_DIVIDE */ (OPpARG2_MASK|OPpTARGET_MY), | |
3149 | /* MODULO */ (OPpARG2_MASK|OPpTARGET_MY), | |
3150 | /* I_MODULO */ (OPpARG2_MASK|OPpTARGET_MY), | |
3151 | /* REPEAT */ (OPpARG2_MASK|OPpREPEAT_DOLIST), | |
3152 | /* ADD */ (OPpARG2_MASK|OPpTARGET_MY), | |
3153 | /* I_ADD */ (OPpARG2_MASK|OPpTARGET_MY), | |
3154 | /* SUBTRACT */ (OPpARG2_MASK|OPpTARGET_MY), | |
3155 | /* I_SUBTRACT */ (OPpARG2_MASK|OPpTARGET_MY), | |
3156 | /* CONCAT */ (OPpARG2_MASK|OPpTARGET_MY|OPpCONCAT_NESTED), | |
3157 | /* MULTICONCAT */ (OPpARG1_MASK|OPpMULTICONCAT_STRINGIFY|OPpTARGET_MY|OPpMULTICONCAT_FAKE|OPpMULTICONCAT_APPEND|OPpLVAL_INTRO), | |
3158 | /* STRINGIFY */ (OPpARG4_MASK|OPpTARGET_MY), | |
3159 | /* LEFT_SHIFT */ (OPpUSEINT|OPpTARGET_MY), | |
3160 | /* RIGHT_SHIFT */ (OPpUSEINT|OPpTARGET_MY), | |
3161 | /* LT */ (OPpARG2_MASK), | |
3162 | /* I_LT */ (OPpARG2_MASK), | |
3163 | /* GT */ (OPpARG2_MASK), | |
3164 | /* I_GT */ (OPpARG2_MASK), | |
3165 | /* LE */ (OPpARG2_MASK), | |
3166 | /* I_LE */ (OPpARG2_MASK), | |
3167 | /* GE */ (OPpARG2_MASK), | |
3168 | /* I_GE */ (OPpARG2_MASK), | |
3169 | /* EQ */ (OPpARG2_MASK), | |
3170 | /* I_EQ */ (OPpARG2_MASK), | |
3171 | /* NE */ (OPpARG2_MASK), | |
3172 | /* I_NE */ (OPpARG2_MASK), | |
3173 | /* NCMP */ (OPpARG2_MASK), | |
3174 | /* I_NCMP */ (OPpARG2_MASK), | |
3175 | /* SLT */ (OPpARG2_MASK), | |
3176 | /* SGT */ (OPpARG2_MASK), | |
3177 | /* SLE */ (OPpARG2_MASK), | |
3178 | /* SGE */ (OPpARG2_MASK), | |
3179 | /* SEQ */ (OPpARG2_MASK), | |
3180 | /* SNE */ (OPpARG2_MASK), | |
3181 | /* SCMP */ (OPpARG2_MASK), | |
3182 | /* BIT_AND */ (OPpUSEINT), | |
3183 | /* BIT_XOR */ (OPpUSEINT), | |
3184 | /* BIT_OR */ (OPpUSEINT), | |
3185 | /* NBIT_AND */ (OPpUSEINT|OPpTARGET_MY), | |
3186 | /* NBIT_XOR */ (OPpUSEINT|OPpTARGET_MY), | |
3187 | /* NBIT_OR */ (OPpUSEINT|OPpTARGET_MY), | |
3188 | /* SBIT_AND */ (OPpUSEINT), | |
3189 | /* SBIT_XOR */ (OPpUSEINT), | |
3190 | /* SBIT_OR */ (OPpUSEINT), | |
359c2cd7 RL |
3191 | /* NEGATE */ (OPpARG1_MASK|OPpTARGET_MY), |
3192 | /* I_NEGATE */ (OPpARG1_MASK|OPpTARGET_MY), | |
4444b686 LT |
3193 | /* NOT */ (OPpARG1_MASK), |
3194 | /* COMPLEMENT */ (OPpUSEINT), | |
3195 | /* NCOMPLEMENT */ (OPpUSEINT|OPpTARGET_MY), | |
3196 | /* SCOMPLEMENT */ (OPpARG1_MASK|OPpTARGET_MY), | |
3197 | /* SMARTMATCH */ (OPpARG2_MASK), | |
3198 | /* ATAN2 */ (OPpARG4_MASK|OPpTARGET_MY), | |
3199 | /* SIN */ (OPpARG1_MASK|OPpTARGET_MY), | |
3200 | /* COS */ (OPpARG1_MASK|OPpTARGET_MY), | |
3201 | /* RAND */ (OPpARG4_MASK|OPpTARGET_MY), | |
3202 | /* SRAND */ (OPpARG4_MASK|OPpTARGET_MY), | |
3203 | /* EXP */ (OPpARG1_MASK|OPpTARGET_MY), | |
3204 | /* LOG */ (OPpARG1_MASK|OPpTARGET_MY), | |
3205 | /* SQRT */ (OPpARG1_MASK|OPpTARGET_MY), | |
3206 | /* INT */ (OPpARG1_MASK|OPpTARGET_MY), | |
3207 | /* HEX */ (OPpARG1_MASK|OPpTARGET_MY), | |
3208 | /* OCT */ (OPpARG1_MASK|OPpTARGET_MY), | |
3209 | /* ABS */ (OPpARG1_MASK|OPpTARGET_MY), | |
3210 | /* LENGTH */ (OPpARG1_MASK|OPpTARGET_MY|OPpTRUEBOOL), | |
3211 | /* SUBSTR */ (OPpARG3_MASK|OPpMAYBE_LVSUB|OPpSUBSTR_REPL_FIRST), | |
3212 | /* VEC */ (OPpARG2_MASK|OPpMAYBE_LVSUB), | |
3213 | /* INDEX */ (OPpARG4_MASK|OPpTARGET_MY|OPpTRUEBOOL|OPpINDEX_BOOLNEG), | |
3214 | /* RINDEX */ (OPpARG4_MASK|OPpTARGET_MY|OPpTRUEBOOL|OPpINDEX_BOOLNEG), | |
3215 | /* SPRINTF */ (OPpARG4_MASK), | |
3216 | /* FORMLINE */ (OPpARG4_MASK), | |
3217 | /* ORD */ (OPpARG1_MASK|OPpTARGET_MY), | |
3218 | /* CHR */ (OPpARG1_MASK|OPpTARGET_MY), | |
3219 | /* CRYPT */ (OPpARG4_MASK|OPpTARGET_MY), | |
3220 | /* UCFIRST */ (OPpARG1_MASK), | |
3221 | /* LCFIRST */ (OPpARG1_MASK), | |
3222 | /* UC */ (OPpARG1_MASK), | |
3223 | /* LC */ (OPpARG1_MASK), | |
3224 | /* QUOTEMETA */ (OPpARG1_MASK), | |
3225 | /* RV2AV */ (OPpARG1_MASK|OPpHINT_STRICT_REFS|OPpSLICEWARNING|OPpMAYBE_LVSUB|OPpTRUEBOOL|OPpOUR_INTRO|OPpLVAL_INTRO), | |
3226 | /* AELEMFAST */ (255), | |
3227 | /* AELEMFAST_LEX */ (255), | |
3228 | /* AELEMFASTLEX_STORE */ (255), | |
3229 | /* AELEM */ (OPpARG2_MASK|OPpMAYBE_LVSUB|OPpDEREF|OPpLVAL_DEFER|OPpLVAL_INTRO), | |
3230 | /* ASLICE */ (OPpSLICEWARNING|OPpMAYBE_LVSUB|OPpLVAL_INTRO), | |
3231 | /* KVASLICE */ (OPpMAYBE_LVSUB), | |
3232 | /* AEACH */ (OPpARG1_MASK), | |
3233 | /* AVALUES */ (OPpARG1_MASK), | |
3234 | /* AKEYS */ (OPpARG1_MASK|OPpMAYBE_LVSUB), | |
3235 | /* EACH */ (OPpARG1_MASK), | |
3236 | /* VALUES */ (OPpARG1_MASK|OPpMAYBE_LVSUB), | |
3237 | /* KEYS */ (OPpARG1_MASK|OPpMAYBE_LVSUB), | |
3238 | /* DELETE */ (OPpARG1_MASK|OPpKVSLICE|OPpSLICE|OPpLVAL_INTRO), | |
3239 | /* EXISTS */ (OPpARG1_MASK|OPpEXISTS_SUB), | |
3240 | /* RV2HV */ (OPpRV2HV_ISKEYS|OPpHINT_STRICT_REFS|OPpSLICEWARNING|OPpMAYBE_LVSUB|OPpMAYBE_TRUEBOOL|OPpTRUEBOOL|OPpOUR_INTRO|OPpLVAL_INTRO), | |
3241 | /* HELEM */ (OPpARG2_MASK|OPpMAYBE_LVSUB|OPpDEREF|OPpLVAL_DEFER|OPpLVAL_INTRO), | |
3242 | /* HSLICE */ (OPpSLICEWARNING|OPpMAYBE_LVSUB|OPpLVAL_INTRO), | |
3243 | /* KVHSLICE */ (OPpMAYBE_LVSUB), | |
3244 | /* MULTIDEREF */ (OPpARG1_MASK|OPpHINT_STRICT_REFS|OPpMAYBE_LVSUB|OPpMULTIDEREF_EXISTS|OPpMULTIDEREF_DELETE|OPpLVAL_DEFER|OPpLVAL_INTRO), | |
3245 | /* UNPACK */ (OPpARG4_MASK), | |
3246 | /* PACK */ (OPpARG4_MASK), | |
3247 | /* SPLIT */ (OPpSPLIT_IMPLIM|OPpSPLIT_LEX|OPpSPLIT_ASSIGN|OPpOUR_INTRO|OPpLVAL_INTRO), | |
3248 | /* JOIN */ (OPpARG4_MASK), | |
3249 | /* LIST */ (OPpLIST_GUESSED|OPpLVAL_INTRO), | |
3250 | /* LSLICE */ (OPpARG2_MASK), | |
3251 | /* ANONLIST */ (OPpARG4_MASK), | |
3252 | /* ANONHASH */ (OPpARG4_MASK), | |
3253 | /* EMPTYAVHV */ (OPpARG4_MASK|OPpTARGET_MY|OPpEMPTYAVHV_IS_HV|OPpPAD_STATE|OPpLVAL_INTRO), | |
3254 | /* SPLICE */ (OPpARG4_MASK), | |
3255 | /* PUSH */ (OPpARG4_MASK|OPpTARGET_MY), | |
3256 | /* POP */ (OPpARG1_MASK), | |
3257 | /* SHIFT */ (OPpARG1_MASK), | |
3258 | /* UNSHIFT */ (OPpARG4_MASK|OPpTARGET_MY), | |
3259 | /* SORT */ (OPpSORT_NUMERIC|OPpSORT_INTEGER|OPpSORT_REVERSE|OPpSORT_INPLACE|OPpSORT_DESCEND), | |
3260 | /* REVERSE */ (OPpARG1_MASK|OPpREVERSE_INPLACE), | |
3261 | /* GREPSTART */ (OPpARG1_MASK), | |
3262 | /* GREPWHILE */ (OPpARG1_MASK|OPpTRUEBOOL), | |
3263 | /* MAPSTART */ (OPpARG1_MASK), | |
3264 | /* MAPWHILE */ (OPpARG1_MASK), | |
3265 | /* RANGE */ (OPpARG1_MASK), | |
3266 | /* FLIP */ (OPpARG1_MASK|OPpFLIP_LINENUM), | |
3267 | /* FLOP */ (OPpARG1_MASK|OPpFLIP_LINENUM), | |
3268 | /* AND */ (OPpARG1_MASK), | |
3269 | /* OR */ (OPpARG1_MASK), | |
3270 | /* XOR */ (OPpARG2_MASK), | |
3271 | /* DOR */ (OPpARG1_MASK), | |
3272 | /* COND_EXPR */ (OPpARG1_MASK|OPpLVAL_INTRO), | |
3273 | /* ANDASSIGN */ (OPpARG1_MASK), | |
3274 | /* ORASSIGN */ (OPpARG1_MASK), | |
3275 | /* DORASSIGN */ (OPpARG1_MASK), | |
3276 | /* ENTERSUB */ (OPpENTERSUB_INARGS|OPpHINT_STRICT_REFS|OPpENTERSUB_HASTARG|OPpENTERSUB_AMPER|OPpDEREF|OPpENTERSUB_DB|OPpLVAL_INTRO), | |
3277 | /* LEAVESUB */ (OPpARG1_MASK|OPpREFCOUNTED), | |
3278 | /* LEAVESUBLV */ (OPpARG1_MASK|OPpREFCOUNTED), | |
3279 | /* ARGCHECK */ (OPpARG1_MASK), | |
3280 | /* ARGELEM */ (OPpARG1_MASK|OPpARGELEM_MASK), | |
3281 | /* ARGDEFELEM */ (OPpARG1_MASK|OPpARG_IF_FALSE|OPpARG_IF_UNDEF), | |
3282 | /* CALLER */ (OPpARG4_MASK|OPpOFFBYONE), | |
3283 | /* WARN */ (OPpARG4_MASK), | |
3284 | /* DIE */ (OPpARG4_MASK), | |
3285 | /* RESET */ (OPpARG4_MASK), | |
3286 | /* LINESEQ */ (0), | |
3287 | /* NEXTSTATE */ (OPpHUSH_VMSISH), | |
3288 | /* DBSTATE */ (OPpHUSH_VMSISH), | |
3289 | /* UNSTACK */ (0), | |
3290 | /* ENTER */ (0), | |
3291 | /* LEAVE */ (OPpREFCOUNTED|OPpLVALUE), | |
3292 | /* SCOPE */ (0), | |
3293 | /* ENTERITER */ (OPpITER_REVERSED|OPpITER_DEF|OPpOUR_INTRO|OPpLVAL_INTRO), | |
3294 | /* ITER */ (OPpITER_REVERSED), | |
3295 | /* ENTERLOOP */ (0), | |
3296 | /* LEAVELOOP */ (OPpARG2_MASK|OPpLVALUE), | |
3297 | /* RETURN */ (0), | |
3298 | /* LAST */ (OPpARG1_MASK|OPpPV_IS_UTF8), | |
3299 | /* NEXT */ (OPpARG1_MASK|OPpPV_IS_UTF8), | |
3300 | /* REDO */ (OPpARG1_MASK|OPpPV_IS_UTF8), | |
3301 | /* DUMP */ (OPpARG1_MASK|OPpPV_IS_UTF8), | |
3302 | /* GOTO */ (OPpARG1_MASK|OPpPV_IS_UTF8), | |
3303 | /* EXIT */ (OPpARG4_MASK), | |
3304 | /* METHOD */ (OPpARG1_MASK), | |
3305 | /* METHOD_NAMED */ (OPpARG1_MASK), | |
3306 | /* METHOD_SUPER */ (OPpARG1_MASK), | |
3307 | /* METHOD_REDIR */ (OPpARG1_MASK), | |
3308 | /* METHOD_REDIR_SUPER */ (OPpARG1_MASK), | |
3309 | /* ENTERGIVEN */ (OPpARG1_MASK), | |
3310 | /* LEAVEGIVEN */ (OPpARG1_MASK), | |
3311 | /* ENTERWHEN */ (OPpARG1_MASK), | |
3312 | /* LEAVEWHEN */ (OPpARG1_MASK), | |
3313 | /* BREAK */ (0), | |
3314 | /* CONTINUE */ (0), | |
3315 | /* OPEN */ (OPpARG4_MASK|OPpOPEN_IN_RAW|OPpOPEN_IN_CRLF|OPpOPEN_OUT_RAW|OPpOPEN_OUT_CRLF), | |
3316 | /* CLOSE */ (OPpARG4_MASK), | |
3317 | /* PIPE_OP */ (OPpARG4_MASK), | |
3318 | /* FILENO */ (OPpARG4_MASK), | |
3319 | /* UMASK */ (OPpARG4_MASK), | |
3320 | /* BINMODE */ (OPpARG4_MASK), | |
3321 | /* TIE */ (OPpARG4_MASK), | |
3322 | /* UNTIE */ (OPpARG1_MASK), | |
3323 | /* TIED */ (OPpARG1_MASK), | |
3324 | /* DBMOPEN */ (OPpARG4_MASK), | |
3325 | /* DBMCLOSE */ (OPpARG1_MASK), | |
3326 | /* SSELECT */ (OPpARG4_MASK), | |
3327 | /* SELECT */ (OPpARG4_MASK), | |
3328 | /* GETC */ (OPpARG4_MASK), | |
3329 | /* READ */ (OPpARG4_MASK), | |
3330 | /* ENTERWRITE */ (OPpARG4_MASK), | |
3331 | /* LEAVEWRITE */ (OPpARG1_MASK|OPpREFCOUNTED), | |
3332 | /* PRTF */ (0), | |
3333 | /* PRINT */ (0), | |
3334 | /* SAY */ (0), | |
3335 | /* SYSOPEN */ (OPpARG4_MASK), | |
3336 | /* SYSSEEK */ (OPpARG4_MASK), | |
3337 | /* SYSREAD */ (OPpARG4_MASK), | |
3338 | /* SYSWRITE */ (OPpARG4_MASK), | |
3339 | /* EOF */ (OPpARG4_MASK), | |
3340 | /* TELL */ (OPpARG4_MASK), | |
3341 | /* SEEK */ (OPpARG4_MASK), | |
3342 | /* TRUNCATE */ (OPpARG4_MASK), | |
3343 | /* FCNTL */ (OPpARG4_MASK), | |
3344 | /* IOCTL */ (OPpARG4_MASK), | |
3345 | /* FLOCK */ (OPpARG4_MASK|OPpTARGET_MY), | |
3346 | /* SEND */ (OPpARG4_MASK), | |
3347 | /* RECV */ (OPpARG4_MASK), | |
3348 | /* SOCKET */ (OPpARG4_MASK), | |
3349 | /* SOCKPAIR */ (OPpARG4_MASK), | |
3350 | /* BIND */ (OPpARG4_MASK), | |
3351 | /* CONNECT */ (OPpARG4_MASK), | |
3352 | /* LISTEN */ (OPpARG4_MASK), | |
3353 | /* ACCEPT */ (OPpARG4_MASK), | |
3354 | /* SHUTDOWN */ (OPpARG4_MASK), | |
3355 | /* GSOCKOPT */ (OPpARG4_MASK), | |
3356 | /* SSOCKOPT */ (OPpARG4_MASK), | |
3357 | /* GETSOCKNAME */ (OPpARG1_MASK), | |
3358 | /* GETPEERNAME */ (OPpARG1_MASK), | |
3359 | /* LSTAT */ (OPpARG1_MASK), | |
3360 | /* STAT */ (OPpARG1_MASK), | |
3361 | /* FTRREAD */ (OPpARG1_MASK|OPpFT_ACCESS|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t), | |
3362 | /* FTRWRITE */ (OPpARG1_MASK|OPpFT_ACCESS|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t), | |
3363 | /* FTREXEC */ (OPpARG1_MASK|OPpFT_ACCESS|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t), | |
3364 | /* FTEREAD */ (OPpARG1_MASK|OPpFT_ACCESS|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t), | |
3365 | /* FTEWRITE */ (OPpARG1_MASK|OPpFT_ACCESS|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t), | |
3366 | /* FTEEXEC */ (OPpARG1_MASK|OPpFT_ACCESS|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t), | |
3367 | /* FTIS */ (OPpARG1_MASK|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t), | |
3368 | /* FTSIZE */ (OPpARG1_MASK|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t), | |
3369 | /* FTMTIME */ (OPpARG1_MASK|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t), | |
3370 | /* FTATIME */ (OPpARG1_MASK|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t), | |
3371 | /* FTCTIME */ (OPpARG1_MASK|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t), | |
3372 | /* FTROWNED */ (OPpARG1_MASK|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t), | |
3373 | /* FTEOWNED */ (OPpARG1_MASK|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t), | |
3374 | /* FTZERO */ (OPpARG1_MASK|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t), | |
3375 | /* FTSOCK */ (OPpARG1_MASK|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t), | |
3376 | /* FTCHR */ (OPpARG1_MASK|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t), | |
3377 | /* FTBLK */ (OPpARG1_MASK|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t), | |
3378 | /* FTFILE */ (OPpARG1_MASK|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t), | |
3379 | /* FTDIR */ (OPpARG1_MASK|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t), | |
3380 | /* FTPIPE */ (OPpARG1_MASK|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t), | |
3381 | /* FTSUID */ (OPpARG1_MASK|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t), | |
3382 | /* FTSGID */ (OPpARG1_MASK|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t), | |
3383 | /* FTSVTX */ (OPpARG1_MASK|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t), | |
3384 | /* FTLINK */ (OPpARG1_MASK|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t), | |
3385 | /* FTTTY */ (OPpARG1_MASK|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t), | |
3386 | /* FTTEXT */ (OPpARG1_MASK|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t), | |
3387 | /* FTBINARY */ (OPpARG1_MASK|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t), | |
3388 | /* CHDIR */ (OPpARG4_MASK|OPpTARGET_MY), | |
3389 | /* CHOWN */ (OPpARG4_MASK|OPpTARGET_MY), | |
3390 | /* CHROOT */ (OPpARG1_MASK|OPpTARGET_MY), | |
3391 | /* UNLINK */ (OPpARG4_MASK|OPpTARGET_MY), | |
3392 | /* CHMOD */ (OPpARG4_MASK|OPpTARGET_MY), | |
3393 | /* UTIME */ (OPpARG4_MASK|OPpTARGET_MY), | |
3394 | /* RENAME */ (OPpARG4_MASK|OPpTARGET_MY), | |
3395 | /* LINK */ (OPpARG4_MASK|OPpTARGET_MY), | |
3396 | /* SYMLINK */ (OPpARG4_MASK|OPpTARGET_MY), | |
3397 | /* READLINK */ (OPpARG1_MASK), | |
3398 | /* MKDIR */ (OPpARG4_MASK|OPpTARGET_MY), | |
3399 | /* RMDIR */ (OPpARG1_MASK|OPpTARGET_MY), | |
3400 | /* OPEN_DIR */ (OPpARG4_MASK), | |
3401 | /* READDIR */ (OPpARG1_MASK), | |
3402 | /* TELLDIR */ (OPpARG1_MASK), | |
3403 | /* SEEKDIR */ (OPpARG4_MASK), | |
3404 | /* REWINDDIR */ (OPpARG1_MASK), | |
3405 | /* CLOSEDIR */ (OPpARG1_MASK), | |
3406 | /* FORK */ (0), | |
3407 | /* WAIT */ (OPpTARGET_MY), | |
3408 | /* WAITPID */ (OPpARG4_MASK|OPpTARGET_MY), | |
3409 | /* SYSTEM */ (OPpARG4_MASK|OPpTARGET_MY), | |
3410 | /* EXEC */ (OPpARG4_MASK|OPpTARGET_MY), | |
3411 | /* KILL */ (OPpARG4_MASK|OPpTARGET_MY), | |
3412 | /* GETPPID */ (OPpTARGET_MY), | |
3413 | /* GETPGRP */ (OPpARG4_MASK|OPpTARGET_MY), | |
3414 | /* SETPGRP */ (OPpARG4_MASK|OPpTARGET_MY), | |
3415 | /* GETPRIORITY */ (OPpARG4_MASK|OPpTARGET_MY), | |
3416 | /* SETPRIORITY */ (OPpARG4_MASK|OPpTARGET_MY), | |
3417 | /* TIME */ (OPpTARGET_MY), | |
3418 | /* TMS */ (0), | |
3419 | /* LOCALTIME */ (OPpARG1_MASK), | |
3420 | /* GMTIME */ (OPpARG4_MASK), | |
3421 | /* ALARM */ (OPpARG1_MASK), | |
3422 | /* SLEEP */ (OPpARG4_MASK|OPpTARGET_MY), | |
3423 | /* SHMGET */ (OPpARG4_MASK), | |
3424 | /* SHMCTL */ (OPpARG4_MASK), | |
3425 | /* SHMREAD */ (OPpARG4_MASK), | |
3426 | /* SHMWRITE */ (OPpARG4_MASK), | |
3427 | /* MSGGET */ (OPpARG4_MASK), | |
3428 | /* MSGCTL */ (OPpARG4_MASK), | |
3429 | /* MSGSND */ (OPpARG4_MASK), | |
3430 | /* MSGRCV */ (OPpARG4_MASK), | |
3431 | /* SEMOP */ (OPpARG4_MASK), | |
3432 | /* SEMGET */ (OPpARG4_MASK), | |
3433 | /* SEMCTL */ (OPpARG4_MASK), | |
3434 | /* REQUIRE */ (OPpARG1_MASK), | |
3435 | /* DOFILE */ (OPpARG1_MASK), | |
3436 | /* HINTSEVAL */ (0), | |
3437 | /* ENTEREVAL */ (OPpARG1_MASK|OPpEVAL_HAS_HH|OPpEVAL_UNICODE|OPpEVAL_BYTES|OPpEVAL_COPHH|OPpEVAL_RE_REPARSING|OPpEVAL_EVALSV), | |
3438 | /* LEAVEEVAL */ (OPpARG1_MASK|OPpREFCOUNTED), | |
3439 | /* ENTERTRY */ (OPpARG1_MASK), | |
3440 | /* LEAVETRY */ (0), | |
3441 | /* GHBYNAME */ (OPpARG1_MASK), | |
3442 | /* GHBYADDR */ (OPpARG4_MASK), | |
3443 | /* GHOSTENT */ (0), | |
3444 | /* GNBYNAME */ (OPpARG1_MASK), | |
3445 | /* GNBYADDR */ (OPpARG4_MASK), | |
3446 | /* GNETENT */ (0), | |
3447 | /* GPBYNAME */ (OPpARG1_MASK), | |
3448 | /* GPBYNUMBER */ (OPpARG4_MASK), | |
3449 | /* GPROTOENT */ (0), | |
3450 | /* GSBYNAME */ (OPpARG4_MASK), | |
3451 | /* GSBYPORT */ (OPpARG4_MASK), | |
3452 | /* GSERVENT */ (0), | |
3453 | /* SHOSTENT */ (OPpARG1_MASK), | |
3454 | /* SNETENT */ (OPpARG1_MASK), | |
3455 | /* SPROTOENT */ (OPpARG1_MASK), | |
3456 | /* SSERVENT */ (OPpARG1_MASK), | |
3457 | /* EHOSTENT */ (0), | |
3458 | /* ENETENT */ (0), | |
3459 | /* EPROTOENT */ (0), | |
3460 | /* ESERVENT */ (0), | |
3461 | /* GPWNAM */ (OPpARG1_MASK), | |
3462 | /* GPWUID */ (OPpARG1_MASK), | |
3463 | /* GPWENT */ (0), | |
3464 | /* SPWENT */ (0), | |
3465 | /* EPWENT */ (0), | |
3466 | /* GGRNAM */ (OPpARG1_MASK), | |
3467 | /* GGRGID */ (OPpARG1_MASK), | |
3468 | /* GGRENT */ (0), | |
3469 | /* SGRENT */ (0), | |
3470 | /* EGRENT */ (0), | |
3471 | /* GETLOGIN */ (0), | |
3472 | /* SYSCALL */ (OPpARG4_MASK), | |
3473 | /* LOCK */ (OPpARG1_MASK), | |
3474 | /* ONCE */ (OPpARG1_MASK), | |
3475 | /* CUSTOM */ (0xff), | |
3476 | /* COREARGS */ (OPpCOREARGS_DEREF1|OPpCOREARGS_DEREF2|OPpCOREARGS_SCALARMOD|OPpCOREARGS_PUSHMARK), | |
3477 | /* AVHVSWITCH */ (OPpAVHVSWITCH_MASK|OPpMAYBE_LVSUB), | |
3478 | /* RUNCV */ (OPpOFFBYONE), | |
3479 | /* FC */ (OPpARG1_MASK), | |
3480 | /* PADCV */ (0), | |
3481 | /* INTROCV */ (0), | |
3482 | /* CLONECV */ (0), | |
3483 | /* PADRANGE */ (OPpPADRANGE_COUNTMASK|OPpLVAL_INTRO), | |
3484 | /* REFASSIGN */ (OPpARG2_MASK|OPpLVREF_ELEM|OPpLVREF_ITER|OPpLVREF_TYPE|OPpPAD_STATE|OPpLVAL_INTRO), | |
3485 | /* LVREF */ (OPpARG1_MASK|OPpLVREF_ELEM|OPpLVREF_ITER|OPpLVREF_TYPE|OPpPAD_STATE|OPpLVAL_INTRO), | |
3486 | /* LVREFSLICE */ (OPpLVAL_INTRO), | |
3487 | /* LVAVREF */ (OPpARG1_MASK|OPpPAD_STATE|OPpLVAL_INTRO), | |
3488 | /* ANONCONST */ (OPpARG1_MASK), | |
3489 | /* ISA */ (OPpARG2_MASK), | |
3490 | /* CMPCHAIN_AND */ (OPpARG1_MASK), | |
3491 | /* CMPCHAIN_DUP */ (OPpARG1_MASK), | |
3492 | /* ENTERTRYCATCH */ (OPpARG1_MASK), | |
3493 | /* LEAVETRYCATCH */ (0), | |
3494 | /* POPTRY */ (0), | |
3495 | /* CATCH */ (OPpARG1_MASK), | |
3496 | /* PUSHDEFER */ (OPpARG1_MASK|OPpDEFER_FINALLY), | |
3497 | /* IS_BOOL */ (OPpARG1_MASK), | |
3498 | /* IS_WEAK */ (OPpARG1_MASK), | |
3499 | /* WEAKEN */ (OPpARG1_MASK), | |
3500 | /* UNWEAKEN */ (OPpARG1_MASK), | |
3501 | /* BLESSED */ (OPpARG1_MASK|OPpMAYBE_TRUEBOOL|OPpTRUEBOOL), | |
3502 | /* REFADDR */ (OPpARG1_MASK|OPpTARGET_MY), | |
3503 | /* REFTYPE */ (OPpARG1_MASK|OPpTARGET_MY), | |
3504 | /* CEIL */ (OPpARG1_MASK|OPpTARGET_MY), | |
3505 | /* FLOOR */ (OPpARG1_MASK|OPpTARGET_MY), | |
3506 | /* IS_TAINTED */ (OPpARG1_MASK), | |
3507 | /* HELEMEXISTSOR */ (OPpARG1_MASK|OPpHELEMEXISTSOR_DELETE), | |
3508 | /* METHSTART */ (OPpARG1_MASK|OPpINITFIELDS), | |
3509 | /* INITFIELD */ (OPpARG1_MASK|OPpINITFIELD_AV|OPpINITFIELD_HV), | |
63119cca | 3510 | /* CLASSNAME */ (0), |
f3574cc6 DM |
3511 | |
3512 | }; | |
3513 | ||
8c3a0f6c | 3514 | #endif /* !DOINIT */ |
f3574cc6 DM |
3515 | |
3516 | END_EXTERN_C | |
3517 | ||
3518 | ||
3519 | ||
b7eedb08 | 3520 | /* ex: set ro ft=c: */ |