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