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