This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
opcode.pl -> regen/opcode.pl
[perl5.git] / opcode.h
CommitLineData
37442d52
RGS
1/* -*- buffer-read-only: t -*-
2 *
d6376244
JH
3 * opcode.h
4 *
5b9081af
NC
5 * Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
6 * 2001, 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 !!!!!!!
d006332c
FC
12 * This file is built by regen/opcode.pl from its data. Any changes made
13 * here will be lost!
d6376244 14 */
a27f85b3 15
27da23d5
JH
16#ifndef PERL_GLOBAL_STRUCT_INIT
17
864dbfa3
GS
18#define Perl_pp_i_preinc Perl_pp_preinc
19#define Perl_pp_i_predec Perl_pp_predec
20#define Perl_pp_i_postinc Perl_pp_postinc
21#define Perl_pp_i_postdec Perl_pp_postdec
748a9306 22
65bca31a
NC
23PERL_PPDEF(Perl_unimplemented_op)
24
73c4f7a1
GS
25START_EXTERN_C
26
4a36906c
RGS
27#define OP_NAME(o) ((o)->op_type == OP_CUSTOM ? custom_op_name(o) : \
28 PL_op_name[(o)->op_type])
29#define OP_DESC(o) ((o)->op_type == OP_CUSTOM ? custom_op_desc(o) : \
30 PL_op_desc[(o)->op_type])
438c221d 31
79072805 32#ifndef DOINIT
27da23d5 33EXTCONST char* const PL_op_name[];
79072805 34#else
27da23d5 35EXTCONST char* const PL_op_name[] = {
c07a80fd
PP
36 "null",
37 "stub",
38 "scalar",
39 "pushmark",
40 "wantarray",
41 "const",
42 "gvsv",
43 "gv",
44 "gelem",
45 "padsv",
46 "padav",
47 "padhv",
48 "padany",
49 "pushre",
50 "rv2gv",
51 "rv2sv",
52 "av2arylen",
53 "rv2cv",
54 "anoncode",
55 "prototype",
56 "refgen",
57 "srefgen",
58 "ref",
59 "bless",
60 "backtick",
61 "glob",
62 "readline",
63 "rcatline",
64 "regcmaybe",
2cd61cdb 65 "regcreset",
c07a80fd
PP
66 "regcomp",
67 "match",
8782bef2 68 "qr",
c07a80fd
PP
69 "subst",
70 "substcont",
71 "trans",
72 "sassign",
73 "aassign",
74 "chop",
75 "schop",
76 "chomp",
77 "schomp",
78 "defined",
79 "undef",
80 "study",
81 "pos",
82 "preinc",
83 "i_preinc",
84 "predec",
85 "i_predec",
86 "postinc",
87 "i_postinc",
88 "postdec",
89 "i_postdec",
90 "pow",
91 "multiply",
92 "i_multiply",
93 "divide",
94 "i_divide",
95 "modulo",
96 "i_modulo",
97 "repeat",
98 "add",
99 "i_add",
100 "subtract",
101 "i_subtract",
102 "concat",
103 "stringify",
104 "left_shift",
105 "right_shift",
106 "lt",
107 "i_lt",
108 "gt",
109 "i_gt",
110 "le",
111 "i_le",
112 "ge",
113 "i_ge",
114 "eq",
115 "i_eq",
116 "ne",
117 "i_ne",
118 "ncmp",
119 "i_ncmp",
120 "slt",
121 "sgt",
122 "sle",
123 "sge",
124 "seq",
125 "sne",
126 "scmp",
127 "bit_and",
128 "bit_xor",
129 "bit_or",
130 "negate",
131 "i_negate",
132 "not",
133 "complement",
fdecdb95 134 "smartmatch",
c07a80fd
PP
135 "atan2",
136 "sin",
137 "cos",
138 "rand",
139 "srand",
140 "exp",
141 "log",
142 "sqrt",
143 "int",
144 "hex",
145 "oct",
146 "abs",
147 "length",
148 "substr",
149 "vec",
150 "index",
151 "rindex",
152 "sprintf",
153 "formline",
154 "ord",
155 "chr",
156 "crypt",
157 "ucfirst",
158 "lcfirst",
159 "uc",
160 "lc",
161 "quotemeta",
162 "rv2av",
163 "aelemfast",
164 "aelem",
165 "aslice",
878d132a
NC
166 "aeach",
167 "akeys",
168 "avalues",
c07a80fd
PP
169 "each",
170 "values",
171 "keys",
172 "delete",
173 "exists",
174 "rv2hv",
175 "helem",
176 "hslice",
2e0eeeaa 177 "boolkeys",
c07a80fd
PP
178 "unpack",
179 "pack",
180 "split",
181 "join",
182 "list",
183 "lslice",
184 "anonlist",
185 "anonhash",
186 "splice",
187 "push",
188 "pop",
189 "shift",
190 "unshift",
191 "sort",
192 "reverse",
193 "grepstart",
194 "grepwhile",
195 "mapstart",
196 "mapwhile",
197 "range",
198 "flip",
199 "flop",
200 "and",
201 "or",
202 "xor",
fdecdb95 203 "dor",
c07a80fd
PP
204 "cond_expr",
205 "andassign",
206 "orassign",
fdecdb95 207 "dorassign",
c07a80fd
PP
208 "method",
209 "entersub",
210 "leavesub",
cd06dffe 211 "leavesublv",
c07a80fd
PP
212 "caller",
213 "warn",
214 "die",
215 "reset",
216 "lineseq",
217 "nextstate",
218 "dbstate",
219 "unstack",
220 "enter",
221 "leave",
222 "scope",
223 "enteriter",
224 "iter",
225 "enterloop",
226 "leaveloop",
227 "return",
228 "last",
229 "next",
230 "redo",
231 "dump",
232 "goto",
233 "exit",
fdecdb95
NC
234 "method_named",
235 "entergiven",
236 "leavegiven",
237 "enterwhen",
238 "leavewhen",
239 "break",
240 "continue",
c07a80fd
PP
241 "open",
242 "close",
243 "pipe_op",
244 "fileno",
245 "umask",
246 "binmode",
247 "tie",
248 "untie",
249 "tied",
250 "dbmopen",
251 "dbmclose",
252 "sselect",
253 "select",
254 "getc",
255 "read",
256 "enterwrite",
257 "leavewrite",
258 "prtf",
259 "print",
fdecdb95 260 "say",
c07a80fd 261 "sysopen",
137443ea 262 "sysseek",
c07a80fd
PP
263 "sysread",
264 "syswrite",
c07a80fd
PP
265 "eof",
266 "tell",
267 "seek",
268 "truncate",
269 "fcntl",
270 "ioctl",
271 "flock",
e71197e2
JC
272 "send",
273 "recv",
c07a80fd
PP
274 "socket",
275 "sockpair",
276 "bind",
277 "connect",
278 "listen",
279 "accept",
280 "shutdown",
281 "gsockopt",
282 "ssockopt",
283 "getsockname",
284 "getpeername",
285 "lstat",
286 "stat",
287 "ftrread",
288 "ftrwrite",
289 "ftrexec",
290 "fteread",
291 "ftewrite",
292 "fteexec",
293 "ftis",
c07a80fd
PP
294 "ftsize",
295 "ftmtime",
296 "ftatime",
297 "ftctime",
7834bb7e
NC
298 "ftrowned",
299 "fteowned",
300 "ftzero",
c07a80fd
PP
301 "ftsock",
302 "ftchr",
303 "ftblk",
304 "ftfile",
305 "ftdir",
306 "ftpipe",
c07a80fd
PP
307 "ftsuid",
308 "ftsgid",
309 "ftsvtx",
7834bb7e 310 "ftlink",
c07a80fd
PP
311 "fttty",
312 "fttext",
313 "ftbinary",
314 "chdir",
315 "chown",
316 "chroot",
317 "unlink",
318 "chmod",
319 "utime",
320 "rename",
321 "link",
322 "symlink",
323 "readlink",
324 "mkdir",
325 "rmdir",
326 "open_dir",
327 "readdir",
328 "telldir",
329 "seekdir",
330 "rewinddir",
331 "closedir",
332 "fork",
333 "wait",
334 "waitpid",
335 "system",
336 "exec",
337 "kill",
338 "getppid",
339 "getpgrp",
340 "setpgrp",
341 "getpriority",
342 "setpriority",
343 "time",
344 "tms",
345 "localtime",
346 "gmtime",
347 "alarm",
348 "sleep",
349 "shmget",
350 "shmctl",
351 "shmread",
352 "shmwrite",
353 "msgget",
354 "msgctl",
355 "msgsnd",
356 "msgrcv",
7834bb7e 357 "semop",
c07a80fd
PP
358 "semget",
359 "semctl",
c07a80fd
PP
360 "require",
361 "dofile",
996c9baa 362 "hintseval",
c07a80fd
PP
363 "entereval",
364 "leaveeval",
365 "entertry",
366 "leavetry",
367 "ghbyname",
368 "ghbyaddr",
369 "ghostent",
370 "gnbyname",
371 "gnbyaddr",
372 "gnetent",
373 "gpbyname",
374 "gpbynumber",
375 "gprotoent",
376 "gsbyname",
377 "gsbyport",
378 "gservent",
379 "shostent",
380 "snetent",
381 "sprotoent",
382 "sservent",
383 "ehostent",
384 "enetent",
385 "eprotoent",
386 "eservent",
387 "gpwnam",
388 "gpwuid",
389 "gpwent",
390 "spwent",
391 "epwent",
392 "ggrnam",
393 "ggrgid",
394 "ggrent",
395 "sgrent",
396 "egrent",
397 "getlogin",
398 "syscall",
c0329465 399 "lock",
c5917253 400 "once",
438c221d 401 "custom",
c07a80fd
PP
402};
403#endif
404
405#ifndef DOINIT
27da23d5 406EXTCONST char* const PL_op_desc[];
c07a80fd 407#else
27da23d5 408EXTCONST char* const PL_op_desc[] = {
79072805 409 "null operation",
93a17b20
LW
410 "stub",
411 "scalar",
79072805
LW
412 "pushmark",
413 "wantarray",
79072805 414 "constant item",
79072805
LW
415 "scalar variable",
416 "glob value",
c07a80fd 417 "glob elem",
93a17b20
LW
418 "private variable",
419 "private array",
420 "private hash",
f1612b5c 421 "private value",
79072805
LW
422 "push regexp",
423 "ref-to-glob cast",
b89fed5f 424 "scalar dereference",
79072805 425 "array length",
b89fed5f 426 "subroutine dereference",
a0d0e21e 427 "anonymous subroutine",
c07a80fd 428 "subroutine prototype",
8990e307 429 "reference constructor",
dfa0f641 430 "single ref constructor",
79072805
LW
431 "reference-type operator",
432 "bless",
b3f4d674 433 "quoted execution (``, qx)",
79072805
LW
434 "glob",
435 "<HANDLE>",
436 "append I/O operator",
f1612b5c
GS
437 "regexp internal guard",
438 "regexp internal reset",
79072805 439 "regexp compilation",
42d38218
MS
440 "pattern match (m//)",
441 "pattern quote (qr//)",
442 "substitution (s///)",
f1612b5c
GS
443 "substitution iterator",
444 "transliteration (tr///)",
79072805
LW
445 "scalar assignment",
446 "list assignment",
79072805 447 "chop",
a0d0e21e 448 "scalar chop",
f1612b5c
GS
449 "chomp",
450 "scalar chomp",
79072805
LW
451 "defined operator",
452 "undef operator",
453 "study",
a0d0e21e 454 "match position",
42d38218
MS
455 "preincrement (++)",
456 "integer preincrement (++)",
457 "predecrement (--)",
458 "integer predecrement (--)",
459 "postincrement (++)",
460 "integer postincrement (++)",
461 "postdecrement (--)",
462 "integer postdecrement (--)",
463 "exponentiation (**)",
464 "multiplication (*)",
465 "integer multiplication (*)",
466 "division (/)",
467 "integer division (/)",
468 "modulus (%)",
469 "integer modulus (%)",
470 "repeat (x)",
471 "addition (+)",
472 "integer addition (+)",
473 "subtraction (-)",
474 "integer subtraction (-)",
297b36dc 475 "concatenation (.) or string",
a0d0e21e 476 "string",
42d38218
MS
477 "left bitshift (<<)",
478 "right bitshift (>>)",
479 "numeric lt (<)",
480 "integer lt (<)",
481 "numeric gt (>)",
482 "integer gt (>)",
483 "numeric le (<=)",
484 "integer le (<=)",
485 "numeric ge (>=)",
486 "integer ge (>=)",
487 "numeric eq (==)",
488 "integer eq (==)",
489 "numeric ne (!=)",
490 "integer ne (!=)",
491 "numeric comparison (<=>)",
492 "integer comparison (<=>)",
79072805
LW
493 "string lt",
494 "string gt",
495 "string le",
496 "string ge",
497 "string eq",
498 "string ne",
42d38218
MS
499 "string comparison (cmp)",
500 "bitwise and (&)",
501 "bitwise xor (^)",
502 "bitwise or (|)",
f1612b5c
GS
503 "negation (-)",
504 "integer negation (-)",
79072805 505 "not",
42d38218 506 "1's complement (~)",
fdecdb95 507 "smart match",
79072805
LW
508 "atan2",
509 "sin",
510 "cos",
511 "rand",
512 "srand",
513 "exp",
514 "log",
515 "sqrt",
516 "int",
517 "hex",
518 "oct",
463ee0b2 519 "abs",
79072805
LW
520 "length",
521 "substr",
522 "vec",
523 "index",
524 "rindex",
525 "sprintf",
526 "formline",
527 "ord",
463ee0b2 528 "chr",
79072805 529 "crypt",
42d38218
MS
530 "ucfirst",
531 "lcfirst",
532 "uc",
533 "lc",
534 "quotemeta",
f1612b5c
GS
535 "array dereference",
536 "constant array element",
79072805
LW
537 "array element",
538 "array slice",
878d132a
NC
539 "each on array",
540 "keys on array",
541 "values on array",
79072805
LW
542 "each",
543 "values",
544 "keys",
545 "delete",
42d38218 546 "exists",
f1612b5c
GS
547 "hash dereference",
548 "hash element",
aa689395 549 "hash slice",
2e0eeeaa 550 "boolkeys",
79072805
LW
551 "unpack",
552 "pack",
553 "split",
297b36dc 554 "join or string",
79072805
LW
555 "list",
556 "list slice",
42d38218
MS
557 "anonymous list ([])",
558 "anonymous hash ({})",
79072805
LW
559 "splice",
560 "push",
561 "pop",
562 "shift",
563 "unshift",
564 "sort",
565 "reverse",
566 "grep",
567 "grep iterator",
a0d0e21e
LW
568 "map",
569 "map iterator",
79072805
LW
570 "flipflop",
571 "range (or flip)",
572 "range (or flop)",
42d38218
MS
573 "logical and (&&)",
574 "logical or (||)",
a0d0e21e 575 "logical xor",
fdecdb95 576 "defined or (//)",
f1612b5c 577 "conditional expression",
42d38218
MS
578 "logical and assignment (&&=)",
579 "logical or assignment (||=)",
fdecdb95 580 "defined or assignment (//=)",
79072805
LW
581 "method lookup",
582 "subroutine entry",
583 "subroutine exit",
78f9721b 584 "lvalue subroutine return",
79072805
LW
585 "caller",
586 "warn",
587 "die",
f1612b5c 588 "symbol reset",
79072805
LW
589 "line sequence",
590 "next statement",
93a17b20 591 "debug next statement",
e9c54c90 592 "iteration finalizer",
79072805
LW
593 "block entry",
594 "block exit",
463ee0b2 595 "block",
79072805
LW
596 "foreach loop entry",
597 "foreach loop iterator",
598 "loop entry",
599 "loop exit",
600 "return",
601 "last",
602 "next",
603 "redo",
604 "dump",
605 "goto",
606 "exit",
fdecdb95
NC
607 "method with known name",
608 "given()",
609 "leave given block",
610 "when()",
611 "leave when block",
612 "break",
613 "continue",
79072805
LW
614 "open",
615 "close",
616 "pipe",
617 "fileno",
618 "umask",
619 "binmode",
463ee0b2
LW
620 "tie",
621 "untie",
c07a80fd 622 "tied",
79072805
LW
623 "dbmopen",
624 "dbmclose",
625 "select system call",
626 "select",
627 "getc",
628 "read",
629 "write",
630 "write exit",
463ee0b2 631 "printf",
79072805 632 "print",
fdecdb95 633 "say",
c07a80fd 634 "sysopen",
137443ea 635 "sysseek",
79072805
LW
636 "sysread",
637 "syswrite",
79072805
LW
638 "eof",
639 "tell",
640 "seek",
641 "truncate",
642 "fcntl",
643 "ioctl",
644 "flock",
e71197e2
JC
645 "send",
646 "recv",
79072805
LW
647 "socket",
648 "socketpair",
649 "bind",
650 "connect",
651 "listen",
652 "accept",
653 "shutdown",
654 "getsockopt",
655 "setsockopt",
656 "getsockname",
657 "getpeername",
658 "lstat",
659 "stat",
660 "-R",
661 "-W",
662 "-X",
663 "-r",
664 "-w",
665 "-x",
666 "-e",
79072805
LW
667 "-s",
668 "-M",
669 "-A",
670 "-C",
7834bb7e
NC
671 "-O",
672 "-o",
673 "-z",
79072805
LW
674 "-S",
675 "-c",
676 "-b",
677 "-f",
678 "-d",
679 "-p",
79072805
LW
680 "-u",
681 "-g",
682 "-k",
7834bb7e 683 "-l",
79072805
LW
684 "-t",
685 "-T",
686 "-B",
687 "chdir",
688 "chown",
689 "chroot",
690 "unlink",
691 "chmod",
692 "utime",
693 "rename",
694 "link",
695 "symlink",
696 "readlink",
697 "mkdir",
698 "rmdir",
699 "opendir",
700 "readdir",
701 "telldir",
702 "seekdir",
703 "rewinddir",
704 "closedir",
705 "fork",
706 "wait",
707 "waitpid",
708 "system",
709 "exec",
710 "kill",
711 "getppid",
712 "getpgrp",
713 "setpgrp",
714 "getpriority",
715 "setpriority",
716 "time",
717 "times",
718 "localtime",
719 "gmtime",
720 "alarm",
721 "sleep",
722 "shmget",
723 "shmctl",
724 "shmread",
725 "shmwrite",
726 "msgget",
727 "msgctl",
728 "msgsnd",
729 "msgrcv",
7834bb7e 730 "semop",
79072805
LW
731 "semget",
732 "semctl",
79072805 733 "require",
b3f4d674 734 "do \"file\"",
996c9baa 735 "eval hints",
b3f4d674
GS
736 "eval \"string\"",
737 "eval \"string\" exit",
42d38218 738 "eval {block}",
f1612b5c 739 "eval {block} exit",
79072805
LW
740 "gethostbyname",
741 "gethostbyaddr",
742 "gethostent",
743 "getnetbyname",
744 "getnetbyaddr",
745 "getnetent",
746 "getprotobyname",
747 "getprotobynumber",
748 "getprotoent",
749 "getservbyname",
750 "getservbyport",
751 "getservent",
752 "sethostent",
753 "setnetent",
754 "setprotoent",
755 "setservent",
756 "endhostent",
757 "endnetent",
758 "endprotoent",
759 "endservent",
760 "getpwnam",
761 "getpwuid",
762 "getpwent",
763 "setpwent",
764 "endpwent",
765 "getgrnam",
766 "getgrgid",
767 "getgrent",
768 "setgrent",
769 "endgrent",
770 "getlogin",
771 "syscall",
c0329465 772 "lock",
c5917253 773 "once",
438c221d 774 "unknown custom operator",
79072805
LW
775};
776#endif
777
73c4f7a1
GS
778END_EXTERN_C
779
27da23d5
JH
780#endif /* !PERL_GLOBAL_STRUCT_INIT */
781
73c4f7a1
GS
782START_EXTERN_C
783
27da23d5 784#ifdef PERL_GLOBAL_STRUCT_INIT
97aff369 785# define PERL_PPADDR_INITED
27da23d5 786static const Perl_ppaddr_t Gppaddr[]
79072805 787#else
27da23d5 788# ifndef PERL_GLOBAL_STRUCT
97aff369 789# define PERL_PPADDR_INITED
27da23d5
JH
790EXT Perl_ppaddr_t PL_ppaddr[] /* or perlvars.h */
791# endif
792#endif /* PERL_GLOBAL_STRUCT */
793#if (defined(DOINIT) && !defined(PERL_GLOBAL_STRUCT)) || defined(PERL_GLOBAL_STRUCT_INIT)
97aff369 794# define PERL_PPADDR_INITED
27da23d5 795= {
ef69c8fc
BM
796 Perl_pp_null,
797 Perl_pp_stub,
798 Perl_pp_null, /* Perl_pp_scalar */
799 Perl_pp_pushmark,
800 Perl_pp_wantarray,
801 Perl_pp_const,
802 Perl_pp_gvsv,
803 Perl_pp_gv,
804 Perl_pp_gelem,
805 Perl_pp_padsv,
806 Perl_pp_padav,
807 Perl_pp_padhv,
808 Perl_unimplemented_op, /* Perl_pp_padany */
809 Perl_pp_pushre,
810 Perl_pp_rv2gv,
811 Perl_pp_rv2sv,
812 Perl_pp_av2arylen,
813 Perl_pp_rv2cv,
814 Perl_pp_anoncode,
815 Perl_pp_prototype,
816 Perl_pp_refgen,
817 Perl_pp_srefgen,
818 Perl_pp_ref,
819 Perl_pp_bless,
820 Perl_pp_backtick,
821 Perl_pp_glob,
822 Perl_pp_readline,
823 Perl_pp_rcatline,
824 Perl_pp_null, /* Perl_pp_regcmaybe */
825 Perl_pp_regcreset,
826 Perl_pp_regcomp,
827 Perl_pp_match,
828 Perl_pp_qr,
829 Perl_pp_subst,
830 Perl_pp_substcont,
831 Perl_pp_trans,
832 Perl_pp_sassign,
833 Perl_pp_aassign,
834 Perl_pp_chop,
835 Perl_pp_schop,
836 Perl_pp_chomp,
837 Perl_pp_schomp,
838 Perl_pp_defined,
839 Perl_pp_undef,
840 Perl_pp_study,
841 Perl_pp_pos,
842 Perl_pp_preinc,
843 Perl_pp_i_preinc,
844 Perl_pp_predec,
845 Perl_pp_i_predec,
846 Perl_pp_postinc,
847 Perl_pp_i_postinc,
848 Perl_pp_postdec,
849 Perl_pp_i_postdec,
850 Perl_pp_pow,
851 Perl_pp_multiply,
852 Perl_pp_i_multiply,
853 Perl_pp_divide,
854 Perl_pp_i_divide,
855 Perl_pp_modulo,
856 Perl_pp_i_modulo,
857 Perl_pp_repeat,
858 Perl_pp_add,
859 Perl_pp_i_add,
860 Perl_pp_subtract,
861 Perl_pp_i_subtract,
862 Perl_pp_concat,
863 Perl_pp_stringify,
864 Perl_pp_left_shift,
865 Perl_pp_right_shift,
866 Perl_pp_lt,
867 Perl_pp_i_lt,
868 Perl_pp_gt,
869 Perl_pp_i_gt,
870 Perl_pp_le,
871 Perl_pp_i_le,
872 Perl_pp_ge,
873 Perl_pp_i_ge,
874 Perl_pp_eq,
875 Perl_pp_i_eq,
876 Perl_pp_ne,
877 Perl_pp_i_ne,
878 Perl_pp_ncmp,
879 Perl_pp_i_ncmp,
880 Perl_pp_sle, /* Perl_pp_slt */
881 Perl_pp_sle, /* Perl_pp_sgt */
882 Perl_pp_sle,
883 Perl_pp_sle, /* Perl_pp_sge */
884 Perl_pp_seq,
885 Perl_pp_sne,
886 Perl_pp_scmp,
887 Perl_pp_bit_and,
888 Perl_pp_bit_or, /* Perl_pp_bit_xor */
889 Perl_pp_bit_or,
890 Perl_pp_negate,
891 Perl_pp_i_negate,
892 Perl_pp_not,
893 Perl_pp_complement,
894 Perl_pp_smartmatch,
895 Perl_pp_atan2,
896 Perl_pp_sin,
897 Perl_pp_sin, /* Perl_pp_cos */
898 Perl_pp_rand,
899 Perl_pp_srand,
900 Perl_pp_sin, /* Perl_pp_exp */
901 Perl_pp_sin, /* Perl_pp_log */
902 Perl_pp_sin, /* Perl_pp_sqrt */
903 Perl_pp_int,
904 Perl_pp_oct, /* Perl_pp_hex */
905 Perl_pp_oct,
906 Perl_pp_abs,
907 Perl_pp_length,
908 Perl_pp_substr,
909 Perl_pp_vec,
910 Perl_pp_index,
911 Perl_pp_index, /* Perl_pp_rindex */
912 Perl_pp_sprintf,
913 Perl_pp_formline,
914 Perl_pp_ord,
915 Perl_pp_chr,
916 Perl_pp_crypt,
917 Perl_pp_ucfirst,
918 Perl_pp_ucfirst, /* Perl_pp_lcfirst */
919 Perl_pp_uc,
920 Perl_pp_lc,
921 Perl_pp_quotemeta,
922 Perl_pp_rv2av,
923 Perl_pp_aelemfast,
924 Perl_pp_aelem,
925 Perl_pp_aslice,
926 Perl_pp_aeach,
927 Perl_pp_akeys,
928 Perl_pp_akeys, /* Perl_pp_avalues */
929 Perl_pp_each,
930 Perl_do_kv, /* Perl_pp_values */
931 Perl_do_kv, /* Perl_pp_keys */
932 Perl_pp_delete,
933 Perl_pp_exists,
934 Perl_pp_rv2av, /* Perl_pp_rv2hv */
935 Perl_pp_helem,
936 Perl_pp_hslice,
937 Perl_pp_boolkeys,
938 Perl_pp_unpack,
939 Perl_pp_pack,
940 Perl_pp_split,
941 Perl_pp_join,
942 Perl_pp_list,
943 Perl_pp_lslice,
944 Perl_pp_anonlist,
945 Perl_pp_anonhash,
946 Perl_pp_splice,
947 Perl_pp_push,
948 Perl_pp_shift, /* Perl_pp_pop */
949 Perl_pp_shift,
950 Perl_pp_unshift,
951 Perl_pp_sort,
952 Perl_pp_reverse,
953 Perl_pp_grepstart,
954 Perl_pp_grepwhile,
955 Perl_unimplemented_op, /* Perl_pp_mapstart */
956 Perl_pp_mapwhile,
957 Perl_pp_range,
958 Perl_pp_flip,
959 Perl_pp_flop,
960 Perl_pp_and,
961 Perl_pp_or,
962 Perl_pp_xor,
963 Perl_pp_defined, /* Perl_pp_dor */
964 Perl_pp_cond_expr,
965 Perl_pp_and, /* Perl_pp_andassign */
966 Perl_pp_or, /* Perl_pp_orassign */
967 Perl_pp_defined, /* Perl_pp_dorassign */
968 Perl_pp_method,
969 Perl_pp_entersub,
970 Perl_pp_leavesub,
971 Perl_pp_leavesublv,
972 Perl_pp_caller,
973 Perl_pp_warn,
974 Perl_pp_die,
975 Perl_pp_reset,
976 Perl_pp_null, /* Perl_pp_lineseq */
977 Perl_pp_nextstate,
978 Perl_pp_dbstate,
979 Perl_pp_unstack,
980 Perl_pp_enter,
981 Perl_pp_leave,
982 Perl_pp_null, /* Perl_pp_scope */
983 Perl_pp_enteriter,
984 Perl_pp_iter,
985 Perl_pp_enterloop,
986 Perl_pp_leaveloop,
987 Perl_pp_return,
988 Perl_pp_last,
989 Perl_pp_next,
990 Perl_pp_redo,
991 Perl_pp_goto, /* Perl_pp_dump */
992 Perl_pp_goto,
993 Perl_pp_exit,
994 Perl_pp_method_named,
995 Perl_pp_entergiven,
996 Perl_pp_leavegiven,
997 Perl_pp_enterwhen,
998 Perl_pp_leavewhen,
999 Perl_pp_break,
1000 Perl_pp_continue,
1001 Perl_pp_open,
1002 Perl_pp_close,
1003 Perl_pp_pipe_op,
1004 Perl_pp_fileno,
1005 Perl_pp_umask,
1006 Perl_pp_binmode,
1007 Perl_pp_tie,
1008 Perl_pp_untie,
1009 Perl_pp_tied,
1010 Perl_pp_dbmopen,
1011 Perl_pp_untie, /* Perl_pp_dbmclose */
1012 Perl_pp_sselect,
1013 Perl_pp_select,
1014 Perl_pp_getc,
1015 Perl_pp_sysread, /* Perl_pp_read */
1016 Perl_pp_enterwrite,
1017 Perl_pp_leavewrite,
1018 Perl_pp_prtf,
1019 Perl_pp_print,
1020 Perl_pp_print, /* Perl_pp_say */
1021 Perl_pp_sysopen,
1022 Perl_pp_sysseek,
1023 Perl_pp_sysread,
1024 Perl_pp_send, /* Perl_pp_syswrite */
1025 Perl_pp_eof,
1026 Perl_pp_tell,
1027 Perl_pp_sysseek, /* Perl_pp_seek */
1028 Perl_pp_truncate,
1029 Perl_pp_ioctl, /* Perl_pp_fcntl */
1030 Perl_pp_ioctl,
1031 Perl_pp_flock,
1032 Perl_pp_send,
1033 Perl_pp_sysread, /* Perl_pp_recv */
1034 Perl_pp_socket,
1035 Perl_pp_sockpair,
1036 Perl_pp_bind,
1037 Perl_pp_connect,
1038 Perl_pp_listen,
1039 Perl_pp_accept,
1040 Perl_pp_shutdown,
1041 Perl_pp_ssockopt, /* Perl_pp_gsockopt */
1042 Perl_pp_ssockopt,
1043 Perl_pp_getpeername, /* Perl_pp_getsockname */
1044 Perl_pp_getpeername,
1045 Perl_pp_stat, /* Perl_pp_lstat */
1046 Perl_pp_stat,
1047 Perl_pp_ftrread,
1048 Perl_pp_ftrread, /* Perl_pp_ftrwrite */
1049 Perl_pp_ftrread, /* Perl_pp_ftrexec */
1050 Perl_pp_ftrread, /* Perl_pp_fteread */
1051 Perl_pp_ftrread, /* Perl_pp_ftewrite */
1052 Perl_pp_ftrread, /* Perl_pp_fteexec */
1053 Perl_pp_ftis,
1054 Perl_pp_ftis, /* Perl_pp_ftsize */
1055 Perl_pp_ftis, /* Perl_pp_ftmtime */
1056 Perl_pp_ftis, /* Perl_pp_ftatime */
1057 Perl_pp_ftis, /* Perl_pp_ftctime */
1058 Perl_pp_ftrowned,
1059 Perl_pp_ftrowned, /* Perl_pp_fteowned */
1060 Perl_pp_ftrowned, /* Perl_pp_ftzero */
1061 Perl_pp_ftrowned, /* Perl_pp_ftsock */
1062 Perl_pp_ftrowned, /* Perl_pp_ftchr */
1063 Perl_pp_ftrowned, /* Perl_pp_ftblk */
1064 Perl_pp_ftrowned, /* Perl_pp_ftfile */
1065 Perl_pp_ftrowned, /* Perl_pp_ftdir */
1066 Perl_pp_ftrowned, /* Perl_pp_ftpipe */
1067 Perl_pp_ftrowned, /* Perl_pp_ftsuid */
1068 Perl_pp_ftrowned, /* Perl_pp_ftsgid */
1069 Perl_pp_ftrowned, /* Perl_pp_ftsvtx */
1070 Perl_pp_ftlink,
1071 Perl_pp_fttty,
1072 Perl_pp_fttext,
1073 Perl_pp_fttext, /* Perl_pp_ftbinary */
1074 Perl_pp_chdir,
1075 Perl_pp_chown,
1076 Perl_pp_chroot,
1077 Perl_pp_chown, /* Perl_pp_unlink */
1078 Perl_pp_chown, /* Perl_pp_chmod */
1079 Perl_pp_chown, /* Perl_pp_utime */
1080 Perl_pp_rename,
1081 Perl_pp_link,
1082 Perl_pp_link, /* Perl_pp_symlink */
1083 Perl_pp_readlink,
1084 Perl_pp_mkdir,
1085 Perl_pp_rmdir,
1086 Perl_pp_open_dir,
1087 Perl_pp_readdir,
1088 Perl_pp_telldir,
1089 Perl_pp_seekdir,
1090 Perl_pp_rewinddir,
1091 Perl_pp_closedir,
1092 Perl_pp_fork,
1093 Perl_pp_wait,
1094 Perl_pp_waitpid,
1095 Perl_pp_system,
1096 Perl_pp_exec,
1097 Perl_pp_chown, /* Perl_pp_kill */
1098 Perl_pp_getppid,
1099 Perl_pp_getpgrp,
1100 Perl_pp_setpgrp,
1101 Perl_pp_getpriority,
1102 Perl_pp_setpriority,
1103 Perl_pp_time,
1104 Perl_pp_tms,
1105 Perl_pp_gmtime, /* Perl_pp_localtime */
1106 Perl_pp_gmtime,
1107 Perl_pp_alarm,
1108 Perl_pp_sleep,
1109 Perl_pp_semget, /* Perl_pp_shmget */
1110 Perl_pp_semctl, /* Perl_pp_shmctl */
1111 Perl_pp_shmwrite, /* Perl_pp_shmread */
1112 Perl_pp_shmwrite,
1113 Perl_pp_semget, /* Perl_pp_msgget */
1114 Perl_pp_semctl, /* Perl_pp_msgctl */
1115 Perl_pp_shmwrite, /* Perl_pp_msgsnd */
1116 Perl_pp_shmwrite, /* Perl_pp_msgrcv */
1117 Perl_pp_shmwrite, /* Perl_pp_semop */
1118 Perl_pp_semget,
1119 Perl_pp_semctl,
1120 Perl_pp_require,
1121 Perl_pp_require, /* Perl_pp_dofile */
1122 Perl_pp_hintseval,
1123 Perl_pp_entereval,
1124 Perl_pp_leaveeval,
1125 Perl_pp_entertry,
1126 Perl_pp_leavetry,
1127 Perl_pp_ghostent, /* Perl_pp_ghbyname */
1128 Perl_pp_ghostent, /* Perl_pp_ghbyaddr */
1129 Perl_pp_ghostent,
1130 Perl_pp_gnetent, /* Perl_pp_gnbyname */
1131 Perl_pp_gnetent, /* Perl_pp_gnbyaddr */
1132 Perl_pp_gnetent,
1133 Perl_pp_gprotoent, /* Perl_pp_gpbyname */
1134 Perl_pp_gprotoent, /* Perl_pp_gpbynumber */
1135 Perl_pp_gprotoent,
1136 Perl_pp_gservent, /* Perl_pp_gsbyname */
1137 Perl_pp_gservent, /* Perl_pp_gsbyport */
1138 Perl_pp_gservent,
1139 Perl_pp_shostent,
1140 Perl_pp_snetent,
1141 Perl_pp_sprotoent,
1142 Perl_pp_sservent,
1143 Perl_pp_ehostent,
1144 Perl_pp_enetent,
1145 Perl_pp_eprotoent,
1146 Perl_pp_eservent,
1147 Perl_pp_gpwent, /* Perl_pp_gpwnam */
1148 Perl_pp_gpwent, /* Perl_pp_gpwuid */
1149 Perl_pp_gpwent,
1150 Perl_pp_spwent,
1151 Perl_pp_epwent,
1152 Perl_pp_ggrent, /* Perl_pp_ggrnam */
1153 Perl_pp_ggrent, /* Perl_pp_ggrgid */
1154 Perl_pp_ggrent,
1155 Perl_pp_sgrent,
1156 Perl_pp_egrent,
1157 Perl_pp_getlogin,
1158 Perl_pp_syscall,
1159 Perl_pp_lock,
1160 Perl_pp_once,
1161 Perl_unimplemented_op, /* Perl_pp_custom */
27da23d5 1162}
79072805 1163#endif
97aff369 1164#ifdef PERL_PPADDR_INITED
27da23d5 1165;
97aff369 1166#endif
79072805 1167
27da23d5 1168#ifdef PERL_GLOBAL_STRUCT_INIT
97aff369 1169# define PERL_CHECK_INITED
27da23d5 1170static const Perl_check_t Gcheck[]
79072805 1171#else
27da23d5 1172# ifndef PERL_GLOBAL_STRUCT
97aff369 1173# define PERL_CHECK_INITED
27da23d5
JH
1174EXT Perl_check_t PL_check[] /* or perlvars.h */
1175# endif
1176#endif
1177#if (defined(DOINIT) && !defined(PERL_GLOBAL_STRUCT)) || defined(PERL_GLOBAL_STRUCT_INIT)
97aff369 1178# define PERL_CHECK_INITED
27da23d5 1179= {
ef69c8fc
BM
1180 Perl_ck_null, /* null */
1181 Perl_ck_null, /* stub */
1182 Perl_ck_fun, /* scalar */
1183 Perl_ck_null, /* pushmark */
1184 Perl_ck_null, /* wantarray */
1185 Perl_ck_svconst, /* const */
1186 Perl_ck_null, /* gvsv */
1187 Perl_ck_null, /* gv */
1188 Perl_ck_null, /* gelem */
1189 Perl_ck_null, /* padsv */
1190 Perl_ck_null, /* padav */
1191 Perl_ck_null, /* padhv */
1192 Perl_ck_null, /* padany */
1193 Perl_ck_null, /* pushre */
1194 Perl_ck_rvconst, /* rv2gv */
1195 Perl_ck_rvconst, /* rv2sv */
1196 Perl_ck_null, /* av2arylen */
1197 Perl_ck_rvconst, /* rv2cv */
1198 Perl_ck_anoncode, /* anoncode */
1199 Perl_ck_null, /* prototype */
1200 Perl_ck_spair, /* refgen */
1201 Perl_ck_null, /* srefgen */
1202 Perl_ck_fun, /* ref */
1203 Perl_ck_fun, /* bless */
1204 Perl_ck_open, /* backtick */
1205 Perl_ck_glob, /* glob */
1206 Perl_ck_readline, /* readline */
1207 Perl_ck_null, /* rcatline */
1208 Perl_ck_fun, /* regcmaybe */
1209 Perl_ck_fun, /* regcreset */
1210 Perl_ck_null, /* regcomp */
1211 Perl_ck_match, /* match */
1212 Perl_ck_match, /* qr */
1213 Perl_ck_match, /* subst */
1214 Perl_ck_null, /* substcont */
1215 Perl_ck_match, /* trans */
1216 Perl_ck_sassign, /* sassign */
1217 Perl_ck_null, /* aassign */
1218 Perl_ck_spair, /* chop */
1219 Perl_ck_null, /* schop */
1220 Perl_ck_spair, /* chomp */
1221 Perl_ck_null, /* schomp */
1222 Perl_ck_defined, /* defined */
1223 Perl_ck_lfun, /* undef */
1224 Perl_ck_fun, /* study */
1225 Perl_ck_lfun, /* pos */
1226 Perl_ck_lfun, /* preinc */
1227 Perl_ck_lfun, /* i_preinc */
1228 Perl_ck_lfun, /* predec */
1229 Perl_ck_lfun, /* i_predec */
1230 Perl_ck_lfun, /* postinc */
1231 Perl_ck_lfun, /* i_postinc */
1232 Perl_ck_lfun, /* postdec */
1233 Perl_ck_lfun, /* i_postdec */
1234 Perl_ck_null, /* pow */
1235 Perl_ck_null, /* multiply */
1236 Perl_ck_null, /* i_multiply */
1237 Perl_ck_null, /* divide */
1238 Perl_ck_null, /* i_divide */
1239 Perl_ck_null, /* modulo */
1240 Perl_ck_null, /* i_modulo */
1241 Perl_ck_repeat, /* repeat */
1242 Perl_ck_null, /* add */
1243 Perl_ck_null, /* i_add */
1244 Perl_ck_null, /* subtract */
1245 Perl_ck_null, /* i_subtract */
1246 Perl_ck_concat, /* concat */
1247 Perl_ck_fun, /* stringify */
1248 Perl_ck_bitop, /* left_shift */
1249 Perl_ck_bitop, /* right_shift */
1250 Perl_ck_null, /* lt */
1251 Perl_ck_null, /* i_lt */
1252 Perl_ck_null, /* gt */
1253 Perl_ck_null, /* i_gt */
1254 Perl_ck_null, /* le */
1255 Perl_ck_null, /* i_le */
1256 Perl_ck_null, /* ge */
1257 Perl_ck_null, /* i_ge */
1258 Perl_ck_null, /* eq */
1259 Perl_ck_null, /* i_eq */
1260 Perl_ck_null, /* ne */
1261 Perl_ck_null, /* i_ne */
1262 Perl_ck_null, /* ncmp */
1263 Perl_ck_null, /* i_ncmp */
1264 Perl_ck_null, /* slt */
1265 Perl_ck_null, /* sgt */
1266 Perl_ck_null, /* sle */
1267 Perl_ck_null, /* sge */
1268 Perl_ck_null, /* seq */
1269 Perl_ck_null, /* sne */
1270 Perl_ck_null, /* scmp */
1271 Perl_ck_bitop, /* bit_and */
1272 Perl_ck_bitop, /* bit_xor */
1273 Perl_ck_bitop, /* bit_or */
1274 Perl_ck_null, /* negate */
1275 Perl_ck_null, /* i_negate */
1276 Perl_ck_null, /* not */
1277 Perl_ck_bitop, /* complement */
1278 Perl_ck_smartmatch, /* smartmatch */
1279 Perl_ck_fun, /* atan2 */
1280 Perl_ck_fun, /* sin */
1281 Perl_ck_fun, /* cos */
1282 Perl_ck_fun, /* rand */
1283 Perl_ck_fun, /* srand */
1284 Perl_ck_fun, /* exp */
1285 Perl_ck_fun, /* log */
1286 Perl_ck_fun, /* sqrt */
1287 Perl_ck_fun, /* int */
1288 Perl_ck_fun, /* hex */
1289 Perl_ck_fun, /* oct */
1290 Perl_ck_fun, /* abs */
1291 Perl_ck_fun, /* length */
1292 Perl_ck_substr, /* substr */
1293 Perl_ck_fun, /* vec */
1294 Perl_ck_index, /* index */
1295 Perl_ck_index, /* rindex */
1296 Perl_ck_fun, /* sprintf */
1297 Perl_ck_fun, /* formline */
1298 Perl_ck_fun, /* ord */
1299 Perl_ck_fun, /* chr */
1300 Perl_ck_fun, /* crypt */
1301 Perl_ck_fun, /* ucfirst */
1302 Perl_ck_fun, /* lcfirst */
1303 Perl_ck_fun, /* uc */
1304 Perl_ck_fun, /* lc */
1305 Perl_ck_fun, /* quotemeta */
1306 Perl_ck_rvconst, /* rv2av */
1307 Perl_ck_null, /* aelemfast */
1308 Perl_ck_null, /* aelem */
1309 Perl_ck_null, /* aslice */
1310 Perl_ck_each, /* aeach */
1311 Perl_ck_each, /* akeys */
1312 Perl_ck_each, /* avalues */
1313 Perl_ck_each, /* each */
1314 Perl_ck_each, /* values */
1315 Perl_ck_each, /* keys */
1316 Perl_ck_delete, /* delete */
1317 Perl_ck_exists, /* exists */
1318 Perl_ck_rvconst, /* rv2hv */
1319 Perl_ck_null, /* helem */
1320 Perl_ck_null, /* hslice */
1321 Perl_ck_fun, /* boolkeys */
1322 Perl_ck_unpack, /* unpack */
1323 Perl_ck_fun, /* pack */
1324 Perl_ck_split, /* split */
1325 Perl_ck_join, /* join */
1326 Perl_ck_null, /* list */
1327 Perl_ck_null, /* lslice */
1328 Perl_ck_fun, /* anonlist */
1329 Perl_ck_fun, /* anonhash */
1330 Perl_ck_fun, /* splice */
1331 Perl_ck_fun, /* push */
1332 Perl_ck_shift, /* pop */
1333 Perl_ck_shift, /* shift */
1334 Perl_ck_fun, /* unshift */
1335 Perl_ck_sort, /* sort */
1336 Perl_ck_fun, /* reverse */
1337 Perl_ck_grep, /* grepstart */
1338 Perl_ck_null, /* grepwhile */
1339 Perl_ck_grep, /* mapstart */
1340 Perl_ck_null, /* mapwhile */
1341 Perl_ck_null, /* range */
1342 Perl_ck_null, /* flip */
1343 Perl_ck_null, /* flop */
1344 Perl_ck_null, /* and */
1345 Perl_ck_null, /* or */
1346 Perl_ck_null, /* xor */
1347 Perl_ck_null, /* dor */
1348 Perl_ck_null, /* cond_expr */
1349 Perl_ck_null, /* andassign */
1350 Perl_ck_null, /* orassign */
1351 Perl_ck_null, /* dorassign */
1352 Perl_ck_method, /* method */
1353 Perl_ck_subr, /* entersub */
1354 Perl_ck_null, /* leavesub */
1355 Perl_ck_null, /* leavesublv */
1356 Perl_ck_fun, /* caller */
1357 Perl_ck_fun, /* warn */
1358 Perl_ck_die, /* die */
1359 Perl_ck_fun, /* reset */
1360 Perl_ck_null, /* lineseq */
1361 Perl_ck_null, /* nextstate */
1362 Perl_ck_null, /* dbstate */
1363 Perl_ck_null, /* unstack */
1364 Perl_ck_null, /* enter */
1365 Perl_ck_null, /* leave */
1366 Perl_ck_null, /* scope */
1367 Perl_ck_null, /* enteriter */
1368 Perl_ck_null, /* iter */
1369 Perl_ck_null, /* enterloop */
1370 Perl_ck_null, /* leaveloop */
1371 Perl_ck_return, /* return */
1372 Perl_ck_null, /* last */
1373 Perl_ck_null, /* next */
1374 Perl_ck_null, /* redo */
1375 Perl_ck_null, /* dump */
1376 Perl_ck_null, /* goto */
1377 Perl_ck_exit, /* exit */
1378 Perl_ck_null, /* method_named */
1379 Perl_ck_null, /* entergiven */
1380 Perl_ck_null, /* leavegiven */
1381 Perl_ck_null, /* enterwhen */
1382 Perl_ck_null, /* leavewhen */
1383 Perl_ck_null, /* break */
1384 Perl_ck_null, /* continue */
1385 Perl_ck_open, /* open */
1386 Perl_ck_fun, /* close */
1387 Perl_ck_fun, /* pipe_op */
1388 Perl_ck_fun, /* fileno */
1389 Perl_ck_fun, /* umask */
1390 Perl_ck_fun, /* binmode */
1391 Perl_ck_fun, /* tie */
1392 Perl_ck_fun, /* untie */
1393 Perl_ck_fun, /* tied */
1394 Perl_ck_fun, /* dbmopen */
1395 Perl_ck_fun, /* dbmclose */
1396 Perl_ck_select, /* sselect */
1397 Perl_ck_select, /* select */
1398 Perl_ck_eof, /* getc */
1399 Perl_ck_fun, /* read */
1400 Perl_ck_fun, /* enterwrite */
1401 Perl_ck_null, /* leavewrite */
1402 Perl_ck_listiob, /* prtf */
1403 Perl_ck_listiob, /* print */
1404 Perl_ck_listiob, /* say */
1405 Perl_ck_fun, /* sysopen */
1406 Perl_ck_fun, /* sysseek */
1407 Perl_ck_fun, /* sysread */
1408 Perl_ck_fun, /* syswrite */
1409 Perl_ck_eof, /* eof */
1410 Perl_ck_fun, /* tell */
1411 Perl_ck_fun, /* seek */
1412 Perl_ck_trunc, /* truncate */
1413 Perl_ck_fun, /* fcntl */
1414 Perl_ck_fun, /* ioctl */
1415 Perl_ck_fun, /* flock */
1416 Perl_ck_fun, /* send */
1417 Perl_ck_fun, /* recv */
1418 Perl_ck_fun, /* socket */
1419 Perl_ck_fun, /* sockpair */
1420 Perl_ck_fun, /* bind */
1421 Perl_ck_fun, /* connect */
1422 Perl_ck_fun, /* listen */
1423 Perl_ck_fun, /* accept */
1424 Perl_ck_fun, /* shutdown */
1425 Perl_ck_fun, /* gsockopt */
1426 Perl_ck_fun, /* ssockopt */
1427 Perl_ck_fun, /* getsockname */
1428 Perl_ck_fun, /* getpeername */
1429 Perl_ck_ftst, /* lstat */
1430 Perl_ck_ftst, /* stat */
1431 Perl_ck_ftst, /* ftrread */
1432 Perl_ck_ftst, /* ftrwrite */
1433 Perl_ck_ftst, /* ftrexec */
1434 Perl_ck_ftst, /* fteread */
1435 Perl_ck_ftst, /* ftewrite */
1436 Perl_ck_ftst, /* fteexec */
1437 Perl_ck_ftst, /* ftis */
1438 Perl_ck_ftst, /* ftsize */
1439 Perl_ck_ftst, /* ftmtime */
1440 Perl_ck_ftst, /* ftatime */
1441 Perl_ck_ftst, /* ftctime */
1442 Perl_ck_ftst, /* ftrowned */
1443 Perl_ck_ftst, /* fteowned */
1444 Perl_ck_ftst, /* ftzero */
1445 Perl_ck_ftst, /* ftsock */
1446 Perl_ck_ftst, /* ftchr */
1447 Perl_ck_ftst, /* ftblk */
1448 Perl_ck_ftst, /* ftfile */
1449 Perl_ck_ftst, /* ftdir */
1450 Perl_ck_ftst, /* ftpipe */
1451 Perl_ck_ftst, /* ftsuid */
1452 Perl_ck_ftst, /* ftsgid */
1453 Perl_ck_ftst, /* ftsvtx */
1454 Perl_ck_ftst, /* ftlink */
1455 Perl_ck_ftst, /* fttty */
1456 Perl_ck_ftst, /* fttext */
1457 Perl_ck_ftst, /* ftbinary */
1458 Perl_ck_chdir, /* chdir */
1459 Perl_ck_fun, /* chown */
1460 Perl_ck_fun, /* chroot */
1461 Perl_ck_fun, /* unlink */
1462 Perl_ck_fun, /* chmod */
1463 Perl_ck_fun, /* utime */
1464 Perl_ck_fun, /* rename */
1465 Perl_ck_fun, /* link */
1466 Perl_ck_fun, /* symlink */
1467 Perl_ck_fun, /* readlink */
1468 Perl_ck_fun, /* mkdir */
1469 Perl_ck_fun, /* rmdir */
1470 Perl_ck_fun, /* open_dir */
1471 Perl_ck_fun, /* readdir */
1472 Perl_ck_fun, /* telldir */
1473 Perl_ck_fun, /* seekdir */
1474 Perl_ck_fun, /* rewinddir */
1475 Perl_ck_fun, /* closedir */
1476 Perl_ck_null, /* fork */
1477 Perl_ck_null, /* wait */
1478 Perl_ck_fun, /* waitpid */
1479 Perl_ck_exec, /* system */
1480 Perl_ck_exec, /* exec */
1481 Perl_ck_fun, /* kill */
1482 Perl_ck_null, /* getppid */
1483 Perl_ck_fun, /* getpgrp */
1484 Perl_ck_fun, /* setpgrp */
1485 Perl_ck_fun, /* getpriority */
1486 Perl_ck_fun, /* setpriority */
1487 Perl_ck_null, /* time */
1488 Perl_ck_null, /* tms */
1489 Perl_ck_fun, /* localtime */
1490 Perl_ck_fun, /* gmtime */
1491 Perl_ck_fun, /* alarm */
1492 Perl_ck_fun, /* sleep */
1493 Perl_ck_fun, /* shmget */
1494 Perl_ck_fun, /* shmctl */
1495 Perl_ck_fun, /* shmread */
1496 Perl_ck_fun, /* shmwrite */
1497 Perl_ck_fun, /* msgget */
1498 Perl_ck_fun, /* msgctl */
1499 Perl_ck_fun, /* msgsnd */
1500 Perl_ck_fun, /* msgrcv */
1501 Perl_ck_fun, /* semop */
1502 Perl_ck_fun, /* semget */
1503 Perl_ck_fun, /* semctl */
1504 Perl_ck_require, /* require */
1505 Perl_ck_fun, /* dofile */
1506 Perl_ck_svconst, /* hintseval */
1507 Perl_ck_eval, /* entereval */
1508 Perl_ck_null, /* leaveeval */
1509 Perl_ck_eval, /* entertry */
1510 Perl_ck_null, /* leavetry */
1511 Perl_ck_fun, /* ghbyname */
1512 Perl_ck_fun, /* ghbyaddr */
1513 Perl_ck_null, /* ghostent */
1514 Perl_ck_fun, /* gnbyname */
1515 Perl_ck_fun, /* gnbyaddr */
1516 Perl_ck_null, /* gnetent */
1517 Perl_ck_fun, /* gpbyname */
1518 Perl_ck_fun, /* gpbynumber */
1519 Perl_ck_null, /* gprotoent */
1520 Perl_ck_fun, /* gsbyname */
1521 Perl_ck_fun, /* gsbyport */
1522 Perl_ck_null, /* gservent */
1523 Perl_ck_fun, /* shostent */
1524 Perl_ck_fun, /* snetent */
1525 Perl_ck_fun, /* sprotoent */
1526 Perl_ck_fun, /* sservent */
1527 Perl_ck_null, /* ehostent */
1528 Perl_ck_null, /* enetent */
1529 Perl_ck_null, /* eprotoent */
1530 Perl_ck_null, /* eservent */
1531 Perl_ck_fun, /* gpwnam */
1532 Perl_ck_fun, /* gpwuid */
1533 Perl_ck_null, /* gpwent */
1534 Perl_ck_null, /* spwent */
1535 Perl_ck_null, /* epwent */
1536 Perl_ck_fun, /* ggrnam */
1537 Perl_ck_fun, /* ggrgid */
1538 Perl_ck_null, /* ggrent */
1539 Perl_ck_null, /* sgrent */
1540 Perl_ck_null, /* egrent */
1541 Perl_ck_null, /* getlogin */
1542 Perl_ck_fun, /* syscall */
1543 Perl_ck_rfun, /* lock */
1544 Perl_ck_null, /* once */
1545 Perl_ck_null, /* custom */
27da23d5 1546}
79072805 1547#endif
97aff369 1548#ifdef PERL_CHECK_INITED
27da23d5 1549;
97aff369 1550#endif /* #ifdef PERL_CHECK_INITED */
27da23d5
JH
1551
1552#ifndef PERL_GLOBAL_STRUCT_INIT
79072805
LW
1553
1554#ifndef DOINIT
1ccb7c8d 1555EXTCONST U32 PL_opargs[];
79072805 1556#else
1ccb7c8d 1557EXTCONST U32 PL_opargs[] = {
79072805 1558 0x00000000, /* null */
93a17b20 1559 0x00000000, /* stub */
903fd87c 1560 0x00001b04, /* scalar */
79072805 1561 0x00000004, /* pushmark */
903fd87c
NC
1562 0x00000004, /* wantarray */
1563 0x00000604, /* const */
1564 0x00000644, /* gvsv */
1565 0x00000644, /* gv */
1566 0x00011240, /* gelem */
748a9306
LW
1567 0x00000044, /* padsv */
1568 0x00000040, /* padav */
1569 0x00000040, /* padhv */
1570 0x00000040, /* padany */
903fd87c
NC
1571 0x00000540, /* pushre */
1572 0x00000144, /* rv2gv */
1573 0x00000144, /* rv2sv */
1574 0x00000104, /* av2arylen */
1575 0x00000140, /* rv2cv */
1576 0x00000600, /* anoncode */
1577 0x00001b04, /* prototype */
1578 0x00002101, /* refgen */
1579 0x00001106, /* srefgen */
1580 0x00009b8c, /* ref */
1581 0x00091404, /* bless */
1582 0x00009b88, /* backtick */
1583 0x00009408, /* glob */
1584 0x0000eb08, /* readline */
1585 0x00000608, /* rcatline */
1586 0x00001104, /* regcmaybe */
1587 0x00001104, /* regcreset */
1588 0x00001304, /* regcomp */
1589 0x00000540, /* match */
1590 0x00000504, /* qr */
1591 0x00001544, /* subst */
1592 0x00000344, /* substcont */
1593 0x00001804, /* trans */
79072805 1594 0x00000004, /* sassign */
903fd87c
NC
1595 0x00022208, /* aassign */
1596 0x00002b0d, /* chop */
1597 0x00009b8c, /* schop */
1598 0x00002b1d, /* chomp */
1599 0x00009b9c, /* schomp */
1600 0x00009b84, /* defined */
1601 0x00009b04, /* undef */
1602 0x00009b84, /* study */
1603 0x00009b8c, /* pos */
1604 0x00001164, /* preinc */
1605 0x00001144, /* i_preinc */
1606 0x00001164, /* predec */
1607 0x00001144, /* i_predec */
1608 0x0000116c, /* postinc */
1609 0x0000115c, /* i_postinc */
1610 0x0000116c, /* postdec */
1611 0x0000115c, /* i_postdec */
1612 0x0001121e, /* pow */
1613 0x0001123e, /* multiply */
1614 0x0001121e, /* i_multiply */
1615 0x0001123e, /* divide */
1616 0x0001121e, /* i_divide */
1617 0x0001123e, /* modulo */
1618 0x0001121e, /* i_modulo */
1619 0x00012209, /* repeat */
1620 0x0001123e, /* add */
1621 0x0001121e, /* i_add */
1622 0x0001123e, /* subtract */
1623 0x0001121e, /* i_subtract */
1624 0x0001121e, /* concat */
1625 0x0000141e, /* stringify */
1626 0x0001121e, /* left_shift */
1627 0x0001121e, /* right_shift */
1628 0x00011226, /* lt */
1629 0x00011206, /* i_lt */
1630 0x00011226, /* gt */
1631 0x00011206, /* i_gt */
1632 0x00011226, /* le */
1633 0x00011206, /* i_le */
1634 0x00011226, /* ge */
1635 0x00011206, /* i_ge */
1636 0x00011226, /* eq */
1637 0x00011206, /* i_eq */
1638 0x00011226, /* ne */
1639 0x00011206, /* i_ne */
1640 0x0001122e, /* ncmp */
1641 0x0001120e, /* i_ncmp */
1642 0x00011206, /* slt */
1643 0x00011206, /* sgt */
1644 0x00011206, /* sle */
1645 0x00011206, /* sge */
1646 0x00011206, /* seq */
1647 0x00011206, /* sne */
1648 0x0001120e, /* scmp */
1649 0x0001120e, /* bit_and */
1650 0x0001120e, /* bit_xor */
1651 0x0001120e, /* bit_or */
1652 0x0000112e, /* negate */
1653 0x0000111e, /* i_negate */
1654 0x00001106, /* not */
1655 0x0000110e, /* complement */
1656 0x00000204, /* smartmatch */
1657 0x0001141e, /* atan2 */
1658 0x00009b9e, /* sin */
1659 0x00009b9e, /* cos */
1660 0x00009b1c, /* rand */
1661 0x00009b1c, /* srand */
1662 0x00009b9e, /* exp */
1663 0x00009b9e, /* log */
1664 0x00009b9e, /* sqrt */
1665 0x00009b9e, /* int */
1666 0x00009b9e, /* hex */
1667 0x00009b9e, /* oct */
1668 0x00009b9e, /* abs */
1669 0x00009b9e, /* length */
1670 0x0991140c, /* substr */
1671 0x0011140c, /* vec */
1672 0x0091141c, /* index */
1673 0x0091141c, /* rindex */
1674 0x0002140f, /* sprintf */
1675 0x00021405, /* formline */
1676 0x00009b9e, /* ord */
1677 0x00009b9e, /* chr */
1678 0x0001141e, /* crypt */
1679 0x00009b8e, /* ucfirst */
1680 0x00009b8e, /* lcfirst */
1681 0x00009b8e, /* uc */
1682 0x00009b8e, /* lc */
1683 0x00009b8e, /* quotemeta */
1684 0x00000148, /* rv2av */
1685 0x00013604, /* aelemfast */
1686 0x00013204, /* aelem */
1687 0x00023401, /* aslice */
1688 0x00003b00, /* aeach */
1689 0x00003b08, /* akeys */
1690 0x00003b08, /* avalues */
1691 0x00004b00, /* each */
1692 0x00004b08, /* values */
1693 0x00004b08, /* keys */
1694 0x00001b00, /* delete */
1695 0x00001b04, /* exists */
1696 0x00000148, /* rv2hv */
1697 0x00014204, /* helem */
1698 0x00024401, /* hslice */
1699 0x00004b00, /* boolkeys */
1700 0x00091400, /* unpack */
1701 0x0002140d, /* pack */
1702 0x00111408, /* split */
1703 0x0002140d, /* join */
1704 0x00002401, /* list */
1705 0x00224200, /* lslice */
1706 0x00002405, /* anonlist */
1707 0x00002405, /* anonhash */
1708 0x02993401, /* splice */
1709 0x0002341d, /* push */
1710 0x0000bb04, /* pop */
1711 0x0000bb04, /* shift */
1712 0x0002341d, /* unshift */
1713 0x0002d441, /* sort */
1714 0x00002409, /* reverse */
1715 0x00025441, /* grepstart */
1716 0x00000348, /* grepwhile */
1717 0x00025441, /* mapstart */
1718 0x00000348, /* mapwhile */
1719 0x00011300, /* range */
1720 0x00011100, /* flip */
1721 0x00000100, /* flop */
1722 0x00000300, /* and */
1723 0x00000300, /* or */
1724 0x00011206, /* xor */
1725 0x00000300, /* dor */
1726 0x00000340, /* cond_expr */
1727 0x00000304, /* andassign */
1728 0x00000304, /* orassign */
1729 0x00000304, /* dorassign */
1730 0x00000140, /* method */
1731 0x00002149, /* entersub */
1732 0x00000100, /* leavesub */
1733 0x00000100, /* leavesublv */
1734 0x00009b08, /* caller */
1735 0x0000240d, /* warn */
1736 0x0000244d, /* die */
1737 0x00009b04, /* reset */
1738 0x00000400, /* lineseq */
1739 0x00000a04, /* nextstate */
1740 0x00000a04, /* dbstate */
79072805
LW
1741 0x00000004, /* unstack */
1742 0x00000000, /* enter */
903fd87c
NC
1743 0x00000400, /* leave */
1744 0x00000400, /* scope */
1745 0x00000940, /* enteriter */
79072805 1746 0x00000000, /* iter */
903fd87c
NC
1747 0x00000940, /* enterloop */
1748 0x00000200, /* leaveloop */
1749 0x00002441, /* return */
1750 0x00000d44, /* last */
1751 0x00000d44, /* next */
1752 0x00000d44, /* redo */
1753 0x00000d44, /* dump */
1754 0x00000d44, /* goto */
1755 0x00009b44, /* exit */
1756 0x00000640, /* method_named */
1757 0x00000340, /* entergiven */
1758 0x00000100, /* leavegiven */
1759 0x00000340, /* enterwhen */
1760 0x00000100, /* leavewhen */
fdecdb95
NC
1761 0x00000000, /* break */
1762 0x00000000, /* continue */
903fd87c
NC
1763 0x0029640d, /* open */
1764 0x0000eb04, /* close */
1765 0x00066404, /* pipe_op */
1766 0x00006b0c, /* fileno */
1767 0x00009b0c, /* umask */
1768 0x00096404, /* binmode */
1769 0x00217445, /* tie */
1770 0x00007b04, /* untie */
1771 0x00007b04, /* tied */
1772 0x00114404, /* dbmopen */
1773 0x00004b04, /* dbmclose */
1774 0x01111408, /* sselect */
1775 0x0000e40c, /* select */
1776 0x0000eb0c, /* getc */
1777 0x0917640d, /* read */
1778 0x0000eb44, /* enterwrite */
1779 0x00000100, /* leavewrite */
1780 0x0002e405, /* prtf */
1781 0x0002e405, /* print */
1782 0x0002e405, /* say */
1783 0x09116404, /* sysopen */
1784 0x00116404, /* sysseek */
1785 0x0917640d, /* sysread */
1786 0x0991640d, /* syswrite */
1787 0x0000eb04, /* eof */
1788 0x0000eb0c, /* tell */
1789 0x00116404, /* seek */
1790 0x00011404, /* truncate */
1791 0x0011640c, /* fcntl */
1792 0x0011640c, /* ioctl */
1793 0x0001641c, /* flock */
1794 0x0911640d, /* send */
1795 0x0117640d, /* recv */
1796 0x01116404, /* socket */
1797 0x11166404, /* sockpair */
1798 0x00016404, /* bind */
1799 0x00016404, /* connect */
1800 0x00016404, /* listen */
1801 0x0006640c, /* accept */
1802 0x0001640c, /* shutdown */
1803 0x00116404, /* gsockopt */
1804 0x01116404, /* ssockopt */
1805 0x00006b04, /* getsockname */
1806 0x00006b04, /* getpeername */
1807 0x00006c80, /* lstat */
1808 0x00006c80, /* stat */
1809 0x00006c84, /* ftrread */
1810 0x00006c84, /* ftrwrite */
1811 0x00006c84, /* ftrexec */
1812 0x00006c84, /* fteread */
1813 0x00006c84, /* ftewrite */
1814 0x00006c84, /* fteexec */
1815 0x00006c84, /* ftis */
1816 0x00006c8c, /* ftsize */
1817 0x00006c8c, /* ftmtime */
1818 0x00006c8c, /* ftatime */
1819 0x00006c8c, /* ftctime */
1820 0x00006c84, /* ftrowned */
1821 0x00006c84, /* fteowned */
1822 0x00006c84, /* ftzero */
1823 0x00006c84, /* ftsock */
1824 0x00006c84, /* ftchr */
1825 0x00006c84, /* ftblk */
1826 0x00006c84, /* ftfile */
1827 0x00006c84, /* ftdir */
1828 0x00006c84, /* ftpipe */
1829 0x00006c84, /* ftsuid */
1830 0x00006c84, /* ftsgid */
1831 0x00006c84, /* ftsvtx */
1832 0x00006c84, /* ftlink */
1833 0x00006c04, /* fttty */
1834 0x00006c84, /* fttext */
1835 0x00006c84, /* ftbinary */
1836 0x00009b1c, /* chdir */
1837 0x0000241d, /* chown */
1838 0x00009b9c, /* chroot */
1839 0x0000249d, /* unlink */
1840 0x0000241d, /* chmod */
1841 0x0000241d, /* utime */
1842 0x0001141c, /* rename */
1843 0x0001141c, /* link */
1844 0x0001141c, /* symlink */
1845 0x00009b8c, /* readlink */
1846 0x0009949c, /* mkdir */
1847 0x00009b9c, /* rmdir */
1848 0x00016404, /* open_dir */
1849 0x00006b00, /* readdir */
1850 0x00006b0c, /* telldir */
1851 0x00016404, /* seekdir */
1852 0x00006b04, /* rewinddir */
1853 0x00006b04, /* closedir */
1854 0x0000000c, /* fork */
1855 0x0000001c, /* wait */
1856 0x0001141c, /* waitpid */
1857 0x0002941d, /* system */
1858 0x0002945d, /* exec */
1859 0x0000245d, /* kill */
1860 0x0000001c, /* getppid */
1861 0x00009b1c, /* getpgrp */
1862 0x0009941c, /* setpgrp */
1863 0x0001141c, /* getpriority */
1864 0x0011141c, /* setpriority */
1865 0x0000001c, /* time */
79072805 1866 0x00000000, /* tms */
903fd87c
NC
1867 0x00009b08, /* localtime */
1868 0x00009b08, /* gmtime */
1869 0x00009b8c, /* alarm */
1870 0x00009b1c, /* sleep */
1871 0x0011140d, /* shmget */
1872 0x0011140d, /* shmctl */
1873 0x0111140d, /* shmread */
1874 0x0111140d, /* shmwrite */
1875 0x0001140d, /* msgget */
1876 0x0011140d, /* msgctl */
1877 0x0011140d, /* msgsnd */
1878 0x1111140d, /* msgrcv */
1879 0x0001140d, /* semop */
1880 0x0011140d, /* semget */
1881 0x0111140d, /* semctl */
1882 0x00009bc0, /* require */
1883 0x00001140, /* dofile */
1884 0x00000604, /* hintseval */
1885 0x00001b40, /* entereval */
1886 0x00001100, /* leaveeval */
1887 0x00000b40, /* entertry */
1888 0x00000400, /* leavetry */
1889 0x00001b00, /* ghbyname */
1890 0x00011400, /* ghbyaddr */
79072805 1891 0x00000000, /* ghostent */
903fd87c
NC
1892 0x00001b00, /* gnbyname */
1893 0x00011400, /* gnbyaddr */
79072805 1894 0x00000000, /* gnetent */
903fd87c
NC
1895 0x00001b00, /* gpbyname */
1896 0x00001400, /* gpbynumber */
79072805 1897 0x00000000, /* gprotoent */
903fd87c
NC
1898 0x00011400, /* gsbyname */
1899 0x00011400, /* gsbyport */
79072805 1900 0x00000000, /* gservent */
903fd87c
NC
1901 0x00001b04, /* shostent */
1902 0x00001b04, /* snetent */
1903 0x00001b04, /* sprotoent */
1904 0x00001b04, /* sservent */
1905 0x00000004, /* ehostent */
1906 0x00000004, /* enetent */
1907 0x00000004, /* eprotoent */
1908 0x00000004, /* eservent */
1909 0x00001b00, /* gpwnam */
1910 0x00001b00, /* gpwuid */
79072805 1911 0x00000000, /* gpwent */
903fd87c
NC
1912 0x00000004, /* spwent */
1913 0x00000004, /* epwent */
1914 0x00001b00, /* ggrnam */
1915 0x00001b00, /* ggrgid */
79072805 1916 0x00000000, /* ggrent */
903fd87c
NC
1917 0x00000004, /* sgrent */
1918 0x00000004, /* egrent */
79072805 1919 0x0000000c, /* getlogin */
903fd87c
NC
1920 0x0002140d, /* syscall */
1921 0x00007b04, /* lock */
1922 0x00000300, /* once */
438c221d 1923 0x00000000, /* custom */
79072805
LW
1924};
1925#endif
73c4f7a1 1926
bae1192d
JH
1927#endif /* !PERL_GLOBAL_STRUCT_INIT */
1928
73c4f7a1 1929END_EXTERN_C
27da23d5 1930
37442d52 1931/* ex: set ro: */