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