This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
"goto must have label" message for C<goto ''>
[perl5.git] / opcode.h
1 #define pp_i_preinc pp_preinc
2 #define pp_i_predec pp_predec
3 #define pp_i_postinc pp_postinc
4 #define pp_i_postdec pp_postdec
5
6 typedef enum {
7         OP_NULL,        /* 0 */
8         OP_STUB,        /* 1 */
9         OP_SCALAR,      /* 2 */
10         OP_PUSHMARK,    /* 3 */
11         OP_WANTARRAY,   /* 4 */
12         OP_CONST,       /* 5 */
13         OP_GVSV,        /* 6 */
14         OP_GV,          /* 7 */
15         OP_GELEM,       /* 8 */
16         OP_PADSV,       /* 9 */
17         OP_PADAV,       /* 10 */
18         OP_PADHV,       /* 11 */
19         OP_PADANY,      /* 12 */
20         OP_PUSHRE,      /* 13 */
21         OP_RV2GV,       /* 14 */
22         OP_RV2SV,       /* 15 */
23         OP_AV2ARYLEN,   /* 16 */
24         OP_RV2CV,       /* 17 */
25         OP_ANONCODE,    /* 18 */
26         OP_PROTOTYPE,   /* 19 */
27         OP_REFGEN,      /* 20 */
28         OP_SREFGEN,     /* 21 */
29         OP_REF,         /* 22 */
30         OP_BLESS,       /* 23 */
31         OP_BACKTICK,    /* 24 */
32         OP_GLOB,        /* 25 */
33         OP_READLINE,    /* 26 */
34         OP_RCATLINE,    /* 27 */
35         OP_REGCMAYBE,   /* 28 */
36         OP_REGCRESET,   /* 29 */
37         OP_REGCOMP,     /* 30 */
38         OP_MATCH,       /* 31 */
39         OP_QR,          /* 32 */
40         OP_SUBST,       /* 33 */
41         OP_SUBSTCONT,   /* 34 */
42         OP_TRANS,       /* 35 */
43         OP_SASSIGN,     /* 36 */
44         OP_AASSIGN,     /* 37 */
45         OP_CHOP,        /* 38 */
46         OP_SCHOP,       /* 39 */
47         OP_CHOMP,       /* 40 */
48         OP_SCHOMP,      /* 41 */
49         OP_DEFINED,     /* 42 */
50         OP_UNDEF,       /* 43 */
51         OP_STUDY,       /* 44 */
52         OP_POS,         /* 45 */
53         OP_PREINC,      /* 46 */
54         OP_I_PREINC,    /* 47 */
55         OP_PREDEC,      /* 48 */
56         OP_I_PREDEC,    /* 49 */
57         OP_POSTINC,     /* 50 */
58         OP_I_POSTINC,   /* 51 */
59         OP_POSTDEC,     /* 52 */
60         OP_I_POSTDEC,   /* 53 */
61         OP_POW,         /* 54 */
62         OP_MULTIPLY,    /* 55 */
63         OP_I_MULTIPLY,  /* 56 */
64         OP_DIVIDE,      /* 57 */
65         OP_I_DIVIDE,    /* 58 */
66         OP_MODULO,      /* 59 */
67         OP_I_MODULO,    /* 60 */
68         OP_REPEAT,      /* 61 */
69         OP_ADD,         /* 62 */
70         OP_I_ADD,       /* 63 */
71         OP_SUBTRACT,    /* 64 */
72         OP_I_SUBTRACT,  /* 65 */
73         OP_CONCAT,      /* 66 */
74         OP_STRINGIFY,   /* 67 */
75         OP_LEFT_SHIFT,  /* 68 */
76         OP_RIGHT_SHIFT, /* 69 */
77         OP_LT,          /* 70 */
78         OP_I_LT,        /* 71 */
79         OP_GT,          /* 72 */
80         OP_I_GT,        /* 73 */
81         OP_LE,          /* 74 */
82         OP_I_LE,        /* 75 */
83         OP_GE,          /* 76 */
84         OP_I_GE,        /* 77 */
85         OP_EQ,          /* 78 */
86         OP_I_EQ,        /* 79 */
87         OP_NE,          /* 80 */
88         OP_I_NE,        /* 81 */
89         OP_NCMP,        /* 82 */
90         OP_I_NCMP,      /* 83 */
91         OP_SLT,         /* 84 */
92         OP_SGT,         /* 85 */
93         OP_SLE,         /* 86 */
94         OP_SGE,         /* 87 */
95         OP_SEQ,         /* 88 */
96         OP_SNE,         /* 89 */
97         OP_SCMP,        /* 90 */
98         OP_BIT_AND,     /* 91 */
99         OP_BIT_XOR,     /* 92 */
100         OP_BIT_OR,      /* 93 */
101         OP_NEGATE,      /* 94 */
102         OP_I_NEGATE,    /* 95 */
103         OP_NOT,         /* 96 */
104         OP_COMPLEMENT,  /* 97 */
105         OP_ATAN2,       /* 98 */
106         OP_SIN,         /* 99 */
107         OP_COS,         /* 100 */
108         OP_RAND,        /* 101 */
109         OP_SRAND,       /* 102 */
110         OP_EXP,         /* 103 */
111         OP_LOG,         /* 104 */
112         OP_SQRT,        /* 105 */
113         OP_INT,         /* 106 */
114         OP_HEX,         /* 107 */
115         OP_OCT,         /* 108 */
116         OP_ABS,         /* 109 */
117         OP_LENGTH,      /* 110 */
118         OP_SUBSTR,      /* 111 */
119         OP_VEC,         /* 112 */
120         OP_INDEX,       /* 113 */
121         OP_RINDEX,      /* 114 */
122         OP_SPRINTF,     /* 115 */
123         OP_FORMLINE,    /* 116 */
124         OP_ORD,         /* 117 */
125         OP_CHR,         /* 118 */
126         OP_CRYPT,       /* 119 */
127         OP_UCFIRST,     /* 120 */
128         OP_LCFIRST,     /* 121 */
129         OP_UC,          /* 122 */
130         OP_LC,          /* 123 */
131         OP_QUOTEMETA,   /* 124 */
132         OP_RV2AV,       /* 125 */
133         OP_AELEMFAST,   /* 126 */
134         OP_AELEM,       /* 127 */
135         OP_ASLICE,      /* 128 */
136         OP_EACH,        /* 129 */
137         OP_VALUES,      /* 130 */
138         OP_KEYS,        /* 131 */
139         OP_DELETE,      /* 132 */
140         OP_EXISTS,      /* 133 */
141         OP_RV2HV,       /* 134 */
142         OP_HELEM,       /* 135 */
143         OP_HSLICE,      /* 136 */
144         OP_UNPACK,      /* 137 */
145         OP_PACK,        /* 138 */
146         OP_SPLIT,       /* 139 */
147         OP_JOIN,        /* 140 */
148         OP_LIST,        /* 141 */
149         OP_LSLICE,      /* 142 */
150         OP_ANONLIST,    /* 143 */
151         OP_ANONHASH,    /* 144 */
152         OP_SPLICE,      /* 145 */
153         OP_PUSH,        /* 146 */
154         OP_POP,         /* 147 */
155         OP_SHIFT,       /* 148 */
156         OP_UNSHIFT,     /* 149 */
157         OP_SORT,        /* 150 */
158         OP_REVERSE,     /* 151 */
159         OP_GREPSTART,   /* 152 */
160         OP_GREPWHILE,   /* 153 */
161         OP_MAPSTART,    /* 154 */
162         OP_MAPWHILE,    /* 155 */
163         OP_RANGE,       /* 156 */
164         OP_FLIP,        /* 157 */
165         OP_FLOP,        /* 158 */
166         OP_AND,         /* 159 */
167         OP_OR,          /* 160 */
168         OP_XOR,         /* 161 */
169         OP_COND_EXPR,   /* 162 */
170         OP_ANDASSIGN,   /* 163 */
171         OP_ORASSIGN,    /* 164 */
172         OP_METHOD,      /* 165 */
173         OP_ENTERSUB,    /* 166 */
174         OP_LEAVESUB,    /* 167 */
175         OP_CALLER,      /* 168 */
176         OP_WARN,        /* 169 */
177         OP_DIE,         /* 170 */
178         OP_RESET,       /* 171 */
179         OP_LINESEQ,     /* 172 */
180         OP_NEXTSTATE,   /* 173 */
181         OP_DBSTATE,     /* 174 */
182         OP_UNSTACK,     /* 175 */
183         OP_ENTER,       /* 176 */
184         OP_LEAVE,       /* 177 */
185         OP_SCOPE,       /* 178 */
186         OP_ENTERITER,   /* 179 */
187         OP_ITER,        /* 180 */
188         OP_ENTERLOOP,   /* 181 */
189         OP_LEAVELOOP,   /* 182 */
190         OP_RETURN,      /* 183 */
191         OP_LAST,        /* 184 */
192         OP_NEXT,        /* 185 */
193         OP_REDO,        /* 186 */
194         OP_DUMP,        /* 187 */
195         OP_GOTO,        /* 188 */
196         OP_EXIT,        /* 189 */
197         OP_OPEN,        /* 190 */
198         OP_CLOSE,       /* 191 */
199         OP_PIPE_OP,     /* 192 */
200         OP_FILENO,      /* 193 */
201         OP_UMASK,       /* 194 */
202         OP_BINMODE,     /* 195 */
203         OP_TIE,         /* 196 */
204         OP_UNTIE,       /* 197 */
205         OP_TIED,        /* 198 */
206         OP_DBMOPEN,     /* 199 */
207         OP_DBMCLOSE,    /* 200 */
208         OP_SSELECT,     /* 201 */
209         OP_SELECT,      /* 202 */
210         OP_GETC,        /* 203 */
211         OP_READ,        /* 204 */
212         OP_ENTERWRITE,  /* 205 */
213         OP_LEAVEWRITE,  /* 206 */
214         OP_PRTF,        /* 207 */
215         OP_PRINT,       /* 208 */
216         OP_SYSOPEN,     /* 209 */
217         OP_SYSSEEK,     /* 210 */
218         OP_SYSREAD,     /* 211 */
219         OP_SYSWRITE,    /* 212 */
220         OP_SEND,        /* 213 */
221         OP_RECV,        /* 214 */
222         OP_EOF,         /* 215 */
223         OP_TELL,        /* 216 */
224         OP_SEEK,        /* 217 */
225         OP_TRUNCATE,    /* 218 */
226         OP_FCNTL,       /* 219 */
227         OP_IOCTL,       /* 220 */
228         OP_FLOCK,       /* 221 */
229         OP_SOCKET,      /* 222 */
230         OP_SOCKPAIR,    /* 223 */
231         OP_BIND,        /* 224 */
232         OP_CONNECT,     /* 225 */
233         OP_LISTEN,      /* 226 */
234         OP_ACCEPT,      /* 227 */
235         OP_SHUTDOWN,    /* 228 */
236         OP_GSOCKOPT,    /* 229 */
237         OP_SSOCKOPT,    /* 230 */
238         OP_GETSOCKNAME, /* 231 */
239         OP_GETPEERNAME, /* 232 */
240         OP_LSTAT,       /* 233 */
241         OP_STAT,        /* 234 */
242         OP_FTRREAD,     /* 235 */
243         OP_FTRWRITE,    /* 236 */
244         OP_FTREXEC,     /* 237 */
245         OP_FTEREAD,     /* 238 */
246         OP_FTEWRITE,    /* 239 */
247         OP_FTEEXEC,     /* 240 */
248         OP_FTIS,        /* 241 */
249         OP_FTEOWNED,    /* 242 */
250         OP_FTROWNED,    /* 243 */
251         OP_FTZERO,      /* 244 */
252         OP_FTSIZE,      /* 245 */
253         OP_FTMTIME,     /* 246 */
254         OP_FTATIME,     /* 247 */
255         OP_FTCTIME,     /* 248 */
256         OP_FTSOCK,      /* 249 */
257         OP_FTCHR,       /* 250 */
258         OP_FTBLK,       /* 251 */
259         OP_FTFILE,      /* 252 */
260         OP_FTDIR,       /* 253 */
261         OP_FTPIPE,      /* 254 */
262         OP_FTLINK,      /* 255 */
263         OP_FTSUID,      /* 256 */
264         OP_FTSGID,      /* 257 */
265         OP_FTSVTX,      /* 258 */
266         OP_FTTTY,       /* 259 */
267         OP_FTTEXT,      /* 260 */
268         OP_FTBINARY,    /* 261 */
269         OP_CHDIR,       /* 262 */
270         OP_CHOWN,       /* 263 */
271         OP_CHROOT,      /* 264 */
272         OP_UNLINK,      /* 265 */
273         OP_CHMOD,       /* 266 */
274         OP_UTIME,       /* 267 */
275         OP_RENAME,      /* 268 */
276         OP_LINK,        /* 269 */
277         OP_SYMLINK,     /* 270 */
278         OP_READLINK,    /* 271 */
279         OP_MKDIR,       /* 272 */
280         OP_RMDIR,       /* 273 */
281         OP_OPEN_DIR,    /* 274 */
282         OP_READDIR,     /* 275 */
283         OP_TELLDIR,     /* 276 */
284         OP_SEEKDIR,     /* 277 */
285         OP_REWINDDIR,   /* 278 */
286         OP_CLOSEDIR,    /* 279 */
287         OP_FORK,        /* 280 */
288         OP_WAIT,        /* 281 */
289         OP_WAITPID,     /* 282 */
290         OP_SYSTEM,      /* 283 */
291         OP_EXEC,        /* 284 */
292         OP_KILL,        /* 285 */
293         OP_GETPPID,     /* 286 */
294         OP_GETPGRP,     /* 287 */
295         OP_SETPGRP,     /* 288 */
296         OP_GETPRIORITY, /* 289 */
297         OP_SETPRIORITY, /* 290 */
298         OP_TIME,        /* 291 */
299         OP_TMS,         /* 292 */
300         OP_LOCALTIME,   /* 293 */
301         OP_GMTIME,      /* 294 */
302         OP_ALARM,       /* 295 */
303         OP_SLEEP,       /* 296 */
304         OP_SHMGET,      /* 297 */
305         OP_SHMCTL,      /* 298 */
306         OP_SHMREAD,     /* 299 */
307         OP_SHMWRITE,    /* 300 */
308         OP_MSGGET,      /* 301 */
309         OP_MSGCTL,      /* 302 */
310         OP_MSGSND,      /* 303 */
311         OP_MSGRCV,      /* 304 */
312         OP_SEMGET,      /* 305 */
313         OP_SEMCTL,      /* 306 */
314         OP_SEMOP,       /* 307 */
315         OP_REQUIRE,     /* 308 */
316         OP_DOFILE,      /* 309 */
317         OP_ENTEREVAL,   /* 310 */
318         OP_LEAVEEVAL,   /* 311 */
319         OP_ENTERTRY,    /* 312 */
320         OP_LEAVETRY,    /* 313 */
321         OP_GHBYNAME,    /* 314 */
322         OP_GHBYADDR,    /* 315 */
323         OP_GHOSTENT,    /* 316 */
324         OP_GNBYNAME,    /* 317 */
325         OP_GNBYADDR,    /* 318 */
326         OP_GNETENT,     /* 319 */
327         OP_GPBYNAME,    /* 320 */
328         OP_GPBYNUMBER,  /* 321 */
329         OP_GPROTOENT,   /* 322 */
330         OP_GSBYNAME,    /* 323 */
331         OP_GSBYPORT,    /* 324 */
332         OP_GSERVENT,    /* 325 */
333         OP_SHOSTENT,    /* 326 */
334         OP_SNETENT,     /* 327 */
335         OP_SPROTOENT,   /* 328 */
336         OP_SSERVENT,    /* 329 */
337         OP_EHOSTENT,    /* 330 */
338         OP_ENETENT,     /* 331 */
339         OP_EPROTOENT,   /* 332 */
340         OP_ESERVENT,    /* 333 */
341         OP_GPWNAM,      /* 334 */
342         OP_GPWUID,      /* 335 */
343         OP_GPWENT,      /* 336 */
344         OP_SPWENT,      /* 337 */
345         OP_EPWENT,      /* 338 */
346         OP_GGRNAM,      /* 339 */
347         OP_GGRGID,      /* 340 */
348         OP_GGRENT,      /* 341 */
349         OP_SGRENT,      /* 342 */
350         OP_EGRENT,      /* 343 */
351         OP_GETLOGIN,    /* 344 */
352         OP_SYSCALL,     /* 345 */
353         OP_LOCK,        /* 346 */
354         OP_THREADSV,    /* 347 */
355         OP_max          
356 } opcode;
357
358 #define MAXO 348
359
360 #ifndef DOINIT
361 EXT char *PL_op_name[];
362 #else
363 EXT char *PL_op_name[] = {
364         "null",
365         "stub",
366         "scalar",
367         "pushmark",
368         "wantarray",
369         "const",
370         "gvsv",
371         "gv",
372         "gelem",
373         "padsv",
374         "padav",
375         "padhv",
376         "padany",
377         "pushre",
378         "rv2gv",
379         "rv2sv",
380         "av2arylen",
381         "rv2cv",
382         "anoncode",
383         "prototype",
384         "refgen",
385         "srefgen",
386         "ref",
387         "bless",
388         "backtick",
389         "glob",
390         "readline",
391         "rcatline",
392         "regcmaybe",
393         "regcreset",
394         "regcomp",
395         "match",
396         "qr",
397         "subst",
398         "substcont",
399         "trans",
400         "sassign",
401         "aassign",
402         "chop",
403         "schop",
404         "chomp",
405         "schomp",
406         "defined",
407         "undef",
408         "study",
409         "pos",
410         "preinc",
411         "i_preinc",
412         "predec",
413         "i_predec",
414         "postinc",
415         "i_postinc",
416         "postdec",
417         "i_postdec",
418         "pow",
419         "multiply",
420         "i_multiply",
421         "divide",
422         "i_divide",
423         "modulo",
424         "i_modulo",
425         "repeat",
426         "add",
427         "i_add",
428         "subtract",
429         "i_subtract",
430         "concat",
431         "stringify",
432         "left_shift",
433         "right_shift",
434         "lt",
435         "i_lt",
436         "gt",
437         "i_gt",
438         "le",
439         "i_le",
440         "ge",
441         "i_ge",
442         "eq",
443         "i_eq",
444         "ne",
445         "i_ne",
446         "ncmp",
447         "i_ncmp",
448         "slt",
449         "sgt",
450         "sle",
451         "sge",
452         "seq",
453         "sne",
454         "scmp",
455         "bit_and",
456         "bit_xor",
457         "bit_or",
458         "negate",
459         "i_negate",
460         "not",
461         "complement",
462         "atan2",
463         "sin",
464         "cos",
465         "rand",
466         "srand",
467         "exp",
468         "log",
469         "sqrt",
470         "int",
471         "hex",
472         "oct",
473         "abs",
474         "length",
475         "substr",
476         "vec",
477         "index",
478         "rindex",
479         "sprintf",
480         "formline",
481         "ord",
482         "chr",
483         "crypt",
484         "ucfirst",
485         "lcfirst",
486         "uc",
487         "lc",
488         "quotemeta",
489         "rv2av",
490         "aelemfast",
491         "aelem",
492         "aslice",
493         "each",
494         "values",
495         "keys",
496         "delete",
497         "exists",
498         "rv2hv",
499         "helem",
500         "hslice",
501         "unpack",
502         "pack",
503         "split",
504         "join",
505         "list",
506         "lslice",
507         "anonlist",
508         "anonhash",
509         "splice",
510         "push",
511         "pop",
512         "shift",
513         "unshift",
514         "sort",
515         "reverse",
516         "grepstart",
517         "grepwhile",
518         "mapstart",
519         "mapwhile",
520         "range",
521         "flip",
522         "flop",
523         "and",
524         "or",
525         "xor",
526         "cond_expr",
527         "andassign",
528         "orassign",
529         "method",
530         "entersub",
531         "leavesub",
532         "caller",
533         "warn",
534         "die",
535         "reset",
536         "lineseq",
537         "nextstate",
538         "dbstate",
539         "unstack",
540         "enter",
541         "leave",
542         "scope",
543         "enteriter",
544         "iter",
545         "enterloop",
546         "leaveloop",
547         "return",
548         "last",
549         "next",
550         "redo",
551         "dump",
552         "goto",
553         "exit",
554         "open",
555         "close",
556         "pipe_op",
557         "fileno",
558         "umask",
559         "binmode",
560         "tie",
561         "untie",
562         "tied",
563         "dbmopen",
564         "dbmclose",
565         "sselect",
566         "select",
567         "getc",
568         "read",
569         "enterwrite",
570         "leavewrite",
571         "prtf",
572         "print",
573         "sysopen",
574         "sysseek",
575         "sysread",
576         "syswrite",
577         "send",
578         "recv",
579         "eof",
580         "tell",
581         "seek",
582         "truncate",
583         "fcntl",
584         "ioctl",
585         "flock",
586         "socket",
587         "sockpair",
588         "bind",
589         "connect",
590         "listen",
591         "accept",
592         "shutdown",
593         "gsockopt",
594         "ssockopt",
595         "getsockname",
596         "getpeername",
597         "lstat",
598         "stat",
599         "ftrread",
600         "ftrwrite",
601         "ftrexec",
602         "fteread",
603         "ftewrite",
604         "fteexec",
605         "ftis",
606         "fteowned",
607         "ftrowned",
608         "ftzero",
609         "ftsize",
610         "ftmtime",
611         "ftatime",
612         "ftctime",
613         "ftsock",
614         "ftchr",
615         "ftblk",
616         "ftfile",
617         "ftdir",
618         "ftpipe",
619         "ftlink",
620         "ftsuid",
621         "ftsgid",
622         "ftsvtx",
623         "fttty",
624         "fttext",
625         "ftbinary",
626         "chdir",
627         "chown",
628         "chroot",
629         "unlink",
630         "chmod",
631         "utime",
632         "rename",
633         "link",
634         "symlink",
635         "readlink",
636         "mkdir",
637         "rmdir",
638         "open_dir",
639         "readdir",
640         "telldir",
641         "seekdir",
642         "rewinddir",
643         "closedir",
644         "fork",
645         "wait",
646         "waitpid",
647         "system",
648         "exec",
649         "kill",
650         "getppid",
651         "getpgrp",
652         "setpgrp",
653         "getpriority",
654         "setpriority",
655         "time",
656         "tms",
657         "localtime",
658         "gmtime",
659         "alarm",
660         "sleep",
661         "shmget",
662         "shmctl",
663         "shmread",
664         "shmwrite",
665         "msgget",
666         "msgctl",
667         "msgsnd",
668         "msgrcv",
669         "semget",
670         "semctl",
671         "semop",
672         "require",
673         "dofile",
674         "entereval",
675         "leaveeval",
676         "entertry",
677         "leavetry",
678         "ghbyname",
679         "ghbyaddr",
680         "ghostent",
681         "gnbyname",
682         "gnbyaddr",
683         "gnetent",
684         "gpbyname",
685         "gpbynumber",
686         "gprotoent",
687         "gsbyname",
688         "gsbyport",
689         "gservent",
690         "shostent",
691         "snetent",
692         "sprotoent",
693         "sservent",
694         "ehostent",
695         "enetent",
696         "eprotoent",
697         "eservent",
698         "gpwnam",
699         "gpwuid",
700         "gpwent",
701         "spwent",
702         "epwent",
703         "ggrnam",
704         "ggrgid",
705         "ggrent",
706         "sgrent",
707         "egrent",
708         "getlogin",
709         "syscall",
710         "lock",
711         "threadsv",
712 };
713 #endif
714
715 #ifndef DOINIT
716 EXT char *PL_op_desc[];
717 #else
718 EXT char *PL_op_desc[] = {
719         "null operation",
720         "stub",
721         "scalar",
722         "pushmark",
723         "wantarray",
724         "constant item",
725         "scalar variable",
726         "glob value",
727         "glob elem",
728         "private variable",
729         "private array",
730         "private hash",
731         "private something",
732         "push regexp",
733         "ref-to-glob cast",
734         "scalar deref",
735         "array length",
736         "subroutine deref",
737         "anonymous subroutine",
738         "subroutine prototype",
739         "reference constructor",
740         "scalar ref constructor",
741         "reference-type operator",
742         "bless",
743         "backticks",
744         "glob",
745         "<HANDLE>",
746         "append I/O operator",
747         "regexp comp once",
748         "regexp reset interpolation flag",
749         "regexp compilation",
750         "pattern match",
751         "pattern quote",
752         "substitution",
753         "substitution cont",
754         "character translation",
755         "scalar assignment",
756         "list assignment",
757         "chop",
758         "scalar chop",
759         "safe chop",
760         "scalar safe chop",
761         "defined operator",
762         "undef operator",
763         "study",
764         "match position",
765         "preincrement",
766         "integer preincrement",
767         "predecrement",
768         "integer predecrement",
769         "postincrement",
770         "integer postincrement",
771         "postdecrement",
772         "integer postdecrement",
773         "exponentiation",
774         "multiplication",
775         "integer multiplication",
776         "division",
777         "integer division",
778         "modulus",
779         "integer modulus",
780         "repeat",
781         "addition",
782         "integer addition",
783         "subtraction",
784         "integer subtraction",
785         "concatenation",
786         "string",
787         "left bitshift",
788         "right bitshift",
789         "numeric lt",
790         "integer lt",
791         "numeric gt",
792         "integer gt",
793         "numeric le",
794         "integer le",
795         "numeric ge",
796         "integer ge",
797         "numeric eq",
798         "integer eq",
799         "numeric ne",
800         "integer ne",
801         "spaceship operator",
802         "integer spaceship",
803         "string lt",
804         "string gt",
805         "string le",
806         "string ge",
807         "string eq",
808         "string ne",
809         "string comparison",
810         "bitwise and",
811         "bitwise xor",
812         "bitwise or",
813         "negate",
814         "integer negate",
815         "not",
816         "1's complement",
817         "atan2",
818         "sin",
819         "cos",
820         "rand",
821         "srand",
822         "exp",
823         "log",
824         "sqrt",
825         "int",
826         "hex",
827         "oct",
828         "abs",
829         "length",
830         "substr",
831         "vec",
832         "index",
833         "rindex",
834         "sprintf",
835         "formline",
836         "ord",
837         "chr",
838         "crypt",
839         "upper case first",
840         "lower case first",
841         "upper case",
842         "lower case",
843         "quote metachars",
844         "array deref",
845         "known array element",
846         "array element",
847         "array slice",
848         "each",
849         "values",
850         "keys",
851         "delete",
852         "exists operator",
853         "hash deref",
854         "hash elem",
855         "hash slice",
856         "unpack",
857         "pack",
858         "split",
859         "join",
860         "list",
861         "list slice",
862         "anonymous list",
863         "anonymous hash",
864         "splice",
865         "push",
866         "pop",
867         "shift",
868         "unshift",
869         "sort",
870         "reverse",
871         "grep",
872         "grep iterator",
873         "map",
874         "map iterator",
875         "flipflop",
876         "range (or flip)",
877         "range (or flop)",
878         "logical and",
879         "logical or",
880         "logical xor",
881         "conditional expression",
882         "logical and assignment",
883         "logical or assignment",
884         "method lookup",
885         "subroutine entry",
886         "subroutine exit",
887         "caller",
888         "warn",
889         "die",
890         "reset",
891         "line sequence",
892         "next statement",
893         "debug next statement",
894         "unstack",
895         "block entry",
896         "block exit",
897         "block",
898         "foreach loop entry",
899         "foreach loop iterator",
900         "loop entry",
901         "loop exit",
902         "return",
903         "last",
904         "next",
905         "redo",
906         "dump",
907         "goto",
908         "exit",
909         "open",
910         "close",
911         "pipe",
912         "fileno",
913         "umask",
914         "binmode",
915         "tie",
916         "untie",
917         "tied",
918         "dbmopen",
919         "dbmclose",
920         "select system call",
921         "select",
922         "getc",
923         "read",
924         "write",
925         "write exit",
926         "printf",
927         "print",
928         "sysopen",
929         "sysseek",
930         "sysread",
931         "syswrite",
932         "send",
933         "recv",
934         "eof",
935         "tell",
936         "seek",
937         "truncate",
938         "fcntl",
939         "ioctl",
940         "flock",
941         "socket",
942         "socketpair",
943         "bind",
944         "connect",
945         "listen",
946         "accept",
947         "shutdown",
948         "getsockopt",
949         "setsockopt",
950         "getsockname",
951         "getpeername",
952         "lstat",
953         "stat",
954         "-R",
955         "-W",
956         "-X",
957         "-r",
958         "-w",
959         "-x",
960         "-e",
961         "-O",
962         "-o",
963         "-z",
964         "-s",
965         "-M",
966         "-A",
967         "-C",
968         "-S",
969         "-c",
970         "-b",
971         "-f",
972         "-d",
973         "-p",
974         "-l",
975         "-u",
976         "-g",
977         "-k",
978         "-t",
979         "-T",
980         "-B",
981         "chdir",
982         "chown",
983         "chroot",
984         "unlink",
985         "chmod",
986         "utime",
987         "rename",
988         "link",
989         "symlink",
990         "readlink",
991         "mkdir",
992         "rmdir",
993         "opendir",
994         "readdir",
995         "telldir",
996         "seekdir",
997         "rewinddir",
998         "closedir",
999         "fork",
1000         "wait",
1001         "waitpid",
1002         "system",
1003         "exec",
1004         "kill",
1005         "getppid",
1006         "getpgrp",
1007         "setpgrp",
1008         "getpriority",
1009         "setpriority",
1010         "time",
1011         "times",
1012         "localtime",
1013         "gmtime",
1014         "alarm",
1015         "sleep",
1016         "shmget",
1017         "shmctl",
1018         "shmread",
1019         "shmwrite",
1020         "msgget",
1021         "msgctl",
1022         "msgsnd",
1023         "msgrcv",
1024         "semget",
1025         "semctl",
1026         "semop",
1027         "require",
1028         "do 'file'",
1029         "eval string",
1030         "eval exit",
1031         "eval block",
1032         "eval block exit",
1033         "gethostbyname",
1034         "gethostbyaddr",
1035         "gethostent",
1036         "getnetbyname",
1037         "getnetbyaddr",
1038         "getnetent",
1039         "getprotobyname",
1040         "getprotobynumber",
1041         "getprotoent",
1042         "getservbyname",
1043         "getservbyport",
1044         "getservent",
1045         "sethostent",
1046         "setnetent",
1047         "setprotoent",
1048         "setservent",
1049         "endhostent",
1050         "endnetent",
1051         "endprotoent",
1052         "endservent",
1053         "getpwnam",
1054         "getpwuid",
1055         "getpwent",
1056         "setpwent",
1057         "endpwent",
1058         "getgrnam",
1059         "getgrgid",
1060         "getgrent",
1061         "setgrent",
1062         "endgrent",
1063         "getlogin",
1064         "syscall",
1065         "lock",
1066         "per-thread variable",
1067 };
1068 #endif
1069
1070 #ifndef PERL_OBJECT
1071 START_EXTERN_C
1072
1073 #undef PERL_CKDEF
1074 #undef PERL_PPDEF
1075 #define PERL_CKDEF(s) OP *s _((OP *o));
1076 #define PERL_PPDEF(s) OP *s _((ARGSproto));
1077
1078 #include "pp_proto.h"
1079
1080
1081 END_EXTERN_C
1082 #endif  /* PERL_OBJECT */
1083
1084 #ifndef DOINIT
1085 EXT OP * (CPERLscope(*PL_ppaddr)[])(ARGSproto);
1086 #else
1087 EXT OP * (CPERLscope(*PL_ppaddr)[])(ARGSproto) = {
1088         pp_null,
1089         pp_stub,
1090         pp_scalar,
1091         pp_pushmark,
1092         pp_wantarray,
1093         pp_const,
1094         pp_gvsv,
1095         pp_gv,
1096         pp_gelem,
1097         pp_padsv,
1098         pp_padav,
1099         pp_padhv,
1100         pp_padany,
1101         pp_pushre,
1102         pp_rv2gv,
1103         pp_rv2sv,
1104         pp_av2arylen,
1105         pp_rv2cv,
1106         pp_anoncode,
1107         pp_prototype,
1108         pp_refgen,
1109         pp_srefgen,
1110         pp_ref,
1111         pp_bless,
1112         pp_backtick,
1113         pp_glob,
1114         pp_readline,
1115         pp_rcatline,
1116         pp_regcmaybe,
1117         pp_regcreset,
1118         pp_regcomp,
1119         pp_match,
1120         pp_qr,
1121         pp_subst,
1122         pp_substcont,
1123         pp_trans,
1124         pp_sassign,
1125         pp_aassign,
1126         pp_chop,
1127         pp_schop,
1128         pp_chomp,
1129         pp_schomp,
1130         pp_defined,
1131         pp_undef,
1132         pp_study,
1133         pp_pos,
1134         pp_preinc,
1135         pp_i_preinc,
1136         pp_predec,
1137         pp_i_predec,
1138         pp_postinc,
1139         pp_i_postinc,
1140         pp_postdec,
1141         pp_i_postdec,
1142         pp_pow,
1143         pp_multiply,
1144         pp_i_multiply,
1145         pp_divide,
1146         pp_i_divide,
1147         pp_modulo,
1148         pp_i_modulo,
1149         pp_repeat,
1150         pp_add,
1151         pp_i_add,
1152         pp_subtract,
1153         pp_i_subtract,
1154         pp_concat,
1155         pp_stringify,
1156         pp_left_shift,
1157         pp_right_shift,
1158         pp_lt,
1159         pp_i_lt,
1160         pp_gt,
1161         pp_i_gt,
1162         pp_le,
1163         pp_i_le,
1164         pp_ge,
1165         pp_i_ge,
1166         pp_eq,
1167         pp_i_eq,
1168         pp_ne,
1169         pp_i_ne,
1170         pp_ncmp,
1171         pp_i_ncmp,
1172         pp_slt,
1173         pp_sgt,
1174         pp_sle,
1175         pp_sge,
1176         pp_seq,
1177         pp_sne,
1178         pp_scmp,
1179         pp_bit_and,
1180         pp_bit_xor,
1181         pp_bit_or,
1182         pp_negate,
1183         pp_i_negate,
1184         pp_not,
1185         pp_complement,
1186         pp_atan2,
1187         pp_sin,
1188         pp_cos,
1189         pp_rand,
1190         pp_srand,
1191         pp_exp,
1192         pp_log,
1193         pp_sqrt,
1194         pp_int,
1195         pp_hex,
1196         pp_oct,
1197         pp_abs,
1198         pp_length,
1199         pp_substr,
1200         pp_vec,
1201         pp_index,
1202         pp_rindex,
1203         pp_sprintf,
1204         pp_formline,
1205         pp_ord,
1206         pp_chr,
1207         pp_crypt,
1208         pp_ucfirst,
1209         pp_lcfirst,
1210         pp_uc,
1211         pp_lc,
1212         pp_quotemeta,
1213         pp_rv2av,
1214         pp_aelemfast,
1215         pp_aelem,
1216         pp_aslice,
1217         pp_each,
1218         pp_values,
1219         pp_keys,
1220         pp_delete,
1221         pp_exists,
1222         pp_rv2hv,
1223         pp_helem,
1224         pp_hslice,
1225         pp_unpack,
1226         pp_pack,
1227         pp_split,
1228         pp_join,
1229         pp_list,
1230         pp_lslice,
1231         pp_anonlist,
1232         pp_anonhash,
1233         pp_splice,
1234         pp_push,
1235         pp_pop,
1236         pp_shift,
1237         pp_unshift,
1238         pp_sort,
1239         pp_reverse,
1240         pp_grepstart,
1241         pp_grepwhile,
1242         pp_mapstart,
1243         pp_mapwhile,
1244         pp_range,
1245         pp_flip,
1246         pp_flop,
1247         pp_and,
1248         pp_or,
1249         pp_xor,
1250         pp_cond_expr,
1251         pp_andassign,
1252         pp_orassign,
1253         pp_method,
1254         pp_entersub,
1255         pp_leavesub,
1256         pp_caller,
1257         pp_warn,
1258         pp_die,
1259         pp_reset,
1260         pp_lineseq,
1261         pp_nextstate,
1262         pp_dbstate,
1263         pp_unstack,
1264         pp_enter,
1265         pp_leave,
1266         pp_scope,
1267         pp_enteriter,
1268         pp_iter,
1269         pp_enterloop,
1270         pp_leaveloop,
1271         pp_return,
1272         pp_last,
1273         pp_next,
1274         pp_redo,
1275         pp_dump,
1276         pp_goto,
1277         pp_exit,
1278         pp_open,
1279         pp_close,
1280         pp_pipe_op,
1281         pp_fileno,
1282         pp_umask,
1283         pp_binmode,
1284         pp_tie,
1285         pp_untie,
1286         pp_tied,
1287         pp_dbmopen,
1288         pp_dbmclose,
1289         pp_sselect,
1290         pp_select,
1291         pp_getc,
1292         pp_read,
1293         pp_enterwrite,
1294         pp_leavewrite,
1295         pp_prtf,
1296         pp_print,
1297         pp_sysopen,
1298         pp_sysseek,
1299         pp_sysread,
1300         pp_syswrite,
1301         pp_send,
1302         pp_recv,
1303         pp_eof,
1304         pp_tell,
1305         pp_seek,
1306         pp_truncate,
1307         pp_fcntl,
1308         pp_ioctl,
1309         pp_flock,
1310         pp_socket,
1311         pp_sockpair,
1312         pp_bind,
1313         pp_connect,
1314         pp_listen,
1315         pp_accept,
1316         pp_shutdown,
1317         pp_gsockopt,
1318         pp_ssockopt,
1319         pp_getsockname,
1320         pp_getpeername,
1321         pp_lstat,
1322         pp_stat,
1323         pp_ftrread,
1324         pp_ftrwrite,
1325         pp_ftrexec,
1326         pp_fteread,
1327         pp_ftewrite,
1328         pp_fteexec,
1329         pp_ftis,
1330         pp_fteowned,
1331         pp_ftrowned,
1332         pp_ftzero,
1333         pp_ftsize,
1334         pp_ftmtime,
1335         pp_ftatime,
1336         pp_ftctime,
1337         pp_ftsock,
1338         pp_ftchr,
1339         pp_ftblk,
1340         pp_ftfile,
1341         pp_ftdir,
1342         pp_ftpipe,
1343         pp_ftlink,
1344         pp_ftsuid,
1345         pp_ftsgid,
1346         pp_ftsvtx,
1347         pp_fttty,
1348         pp_fttext,
1349         pp_ftbinary,
1350         pp_chdir,
1351         pp_chown,
1352         pp_chroot,
1353         pp_unlink,
1354         pp_chmod,
1355         pp_utime,
1356         pp_rename,
1357         pp_link,
1358         pp_symlink,
1359         pp_readlink,
1360         pp_mkdir,
1361         pp_rmdir,
1362         pp_open_dir,
1363         pp_readdir,
1364         pp_telldir,
1365         pp_seekdir,
1366         pp_rewinddir,
1367         pp_closedir,
1368         pp_fork,
1369         pp_wait,
1370         pp_waitpid,
1371         pp_system,
1372         pp_exec,
1373         pp_kill,
1374         pp_getppid,
1375         pp_getpgrp,
1376         pp_setpgrp,
1377         pp_getpriority,
1378         pp_setpriority,
1379         pp_time,
1380         pp_tms,
1381         pp_localtime,
1382         pp_gmtime,
1383         pp_alarm,
1384         pp_sleep,
1385         pp_shmget,
1386         pp_shmctl,
1387         pp_shmread,
1388         pp_shmwrite,
1389         pp_msgget,
1390         pp_msgctl,
1391         pp_msgsnd,
1392         pp_msgrcv,
1393         pp_semget,
1394         pp_semctl,
1395         pp_semop,
1396         pp_require,
1397         pp_dofile,
1398         pp_entereval,
1399         pp_leaveeval,
1400         pp_entertry,
1401         pp_leavetry,
1402         pp_ghbyname,
1403         pp_ghbyaddr,
1404         pp_ghostent,
1405         pp_gnbyname,
1406         pp_gnbyaddr,
1407         pp_gnetent,
1408         pp_gpbyname,
1409         pp_gpbynumber,
1410         pp_gprotoent,
1411         pp_gsbyname,
1412         pp_gsbyport,
1413         pp_gservent,
1414         pp_shostent,
1415         pp_snetent,
1416         pp_sprotoent,
1417         pp_sservent,
1418         pp_ehostent,
1419         pp_enetent,
1420         pp_eprotoent,
1421         pp_eservent,
1422         pp_gpwnam,
1423         pp_gpwuid,
1424         pp_gpwent,
1425         pp_spwent,
1426         pp_epwent,
1427         pp_ggrnam,
1428         pp_ggrgid,
1429         pp_ggrent,
1430         pp_sgrent,
1431         pp_egrent,
1432         pp_getlogin,
1433         pp_syscall,
1434         pp_lock,
1435         pp_threadsv,
1436 };
1437 #endif
1438
1439 #ifndef DOINIT
1440 EXT OP * (CPERLscope(*PL_check)[]) _((OP *op));
1441 #else
1442 EXT OP * (CPERLscope(*PL_check)[]) _((OP *op)) = {
1443         ck_null,        /* null */
1444         ck_null,        /* stub */
1445         ck_fun,         /* scalar */
1446         ck_null,        /* pushmark */
1447         ck_null,        /* wantarray */
1448         ck_svconst,     /* const */
1449         ck_null,        /* gvsv */
1450         ck_null,        /* gv */
1451         ck_null,        /* gelem */
1452         ck_null,        /* padsv */
1453         ck_null,        /* padav */
1454         ck_null,        /* padhv */
1455         ck_null,        /* padany */
1456         ck_null,        /* pushre */
1457         ck_rvconst,     /* rv2gv */
1458         ck_rvconst,     /* rv2sv */
1459         ck_null,        /* av2arylen */
1460         ck_rvconst,     /* rv2cv */
1461         ck_anoncode,    /* anoncode */
1462         ck_null,        /* prototype */
1463         ck_spair,       /* refgen */
1464         ck_null,        /* srefgen */
1465         ck_fun,         /* ref */
1466         ck_fun,         /* bless */
1467         ck_null,        /* backtick */
1468         ck_glob,        /* glob */
1469         ck_null,        /* readline */
1470         ck_null,        /* rcatline */
1471         ck_fun,         /* regcmaybe */
1472         ck_fun,         /* regcreset */
1473         ck_null,        /* regcomp */
1474         ck_match,       /* match */
1475         ck_match,       /* qr */
1476         ck_null,        /* subst */
1477         ck_null,        /* substcont */
1478         ck_null,        /* trans */
1479         ck_null,        /* sassign */
1480         ck_null,        /* aassign */
1481         ck_spair,       /* chop */
1482         ck_null,        /* schop */
1483         ck_spair,       /* chomp */
1484         ck_null,        /* schomp */
1485         ck_rfun,        /* defined */
1486         ck_lfun,        /* undef */
1487         ck_fun,         /* study */
1488         ck_lfun,        /* pos */
1489         ck_lfun,        /* preinc */
1490         ck_lfun,        /* i_preinc */
1491         ck_lfun,        /* predec */
1492         ck_lfun,        /* i_predec */
1493         ck_lfun,        /* postinc */
1494         ck_lfun,        /* i_postinc */
1495         ck_lfun,        /* postdec */
1496         ck_lfun,        /* i_postdec */
1497         ck_null,        /* pow */
1498         ck_null,        /* multiply */
1499         ck_null,        /* i_multiply */
1500         ck_null,        /* divide */
1501         ck_null,        /* i_divide */
1502         ck_null,        /* modulo */
1503         ck_null,        /* i_modulo */
1504         ck_repeat,      /* repeat */
1505         ck_null,        /* add */
1506         ck_null,        /* i_add */
1507         ck_null,        /* subtract */
1508         ck_null,        /* i_subtract */
1509         ck_concat,      /* concat */
1510         ck_fun,         /* stringify */
1511         ck_bitop,       /* left_shift */
1512         ck_bitop,       /* right_shift */
1513         ck_null,        /* lt */
1514         ck_null,        /* i_lt */
1515         ck_null,        /* gt */
1516         ck_null,        /* i_gt */
1517         ck_null,        /* le */
1518         ck_null,        /* i_le */
1519         ck_null,        /* ge */
1520         ck_null,        /* i_ge */
1521         ck_null,        /* eq */
1522         ck_null,        /* i_eq */
1523         ck_null,        /* ne */
1524         ck_null,        /* i_ne */
1525         ck_null,        /* ncmp */
1526         ck_null,        /* i_ncmp */
1527         ck_scmp,        /* slt */
1528         ck_scmp,        /* sgt */
1529         ck_scmp,        /* sle */
1530         ck_scmp,        /* sge */
1531         ck_null,        /* seq */
1532         ck_null,        /* sne */
1533         ck_scmp,        /* scmp */
1534         ck_bitop,       /* bit_and */
1535         ck_bitop,       /* bit_xor */
1536         ck_bitop,       /* bit_or */
1537         ck_null,        /* negate */
1538         ck_null,        /* i_negate */
1539         ck_null,        /* not */
1540         ck_bitop,       /* complement */
1541         ck_fun,         /* atan2 */
1542         ck_fun,         /* sin */
1543         ck_fun,         /* cos */
1544         ck_fun,         /* rand */
1545         ck_fun,         /* srand */
1546         ck_fun,         /* exp */
1547         ck_fun,         /* log */
1548         ck_fun,         /* sqrt */
1549         ck_fun,         /* int */
1550         ck_fun,         /* hex */
1551         ck_fun,         /* oct */
1552         ck_fun,         /* abs */
1553         ck_lengthconst, /* length */
1554         ck_fun,         /* substr */
1555         ck_fun,         /* vec */
1556         ck_index,       /* index */
1557         ck_index,       /* rindex */
1558         ck_fun_locale,  /* sprintf */
1559         ck_fun,         /* formline */
1560         ck_fun,         /* ord */
1561         ck_fun,         /* chr */
1562         ck_fun,         /* crypt */
1563         ck_fun_locale,  /* ucfirst */
1564         ck_fun_locale,  /* lcfirst */
1565         ck_fun_locale,  /* uc */
1566         ck_fun_locale,  /* lc */
1567         ck_fun,         /* quotemeta */
1568         ck_rvconst,     /* rv2av */
1569         ck_null,        /* aelemfast */
1570         ck_null,        /* aelem */
1571         ck_null,        /* aslice */
1572         ck_fun,         /* each */
1573         ck_fun,         /* values */
1574         ck_fun,         /* keys */
1575         ck_delete,      /* delete */
1576         ck_exists,      /* exists */
1577         ck_rvconst,     /* rv2hv */
1578         ck_null,        /* helem */
1579         ck_null,        /* hslice */
1580         ck_fun,         /* unpack */
1581         ck_fun,         /* pack */
1582         ck_split,       /* split */
1583         ck_fun,         /* join */
1584         ck_null,        /* list */
1585         ck_null,        /* lslice */
1586         ck_fun,         /* anonlist */
1587         ck_fun,         /* anonhash */
1588         ck_fun,         /* splice */
1589         ck_fun,         /* push */
1590         ck_shift,       /* pop */
1591         ck_shift,       /* shift */
1592         ck_fun,         /* unshift */
1593         ck_sort,        /* sort */
1594         ck_fun,         /* reverse */
1595         ck_grep,        /* grepstart */
1596         ck_null,        /* grepwhile */
1597         ck_grep,        /* mapstart */
1598         ck_null,        /* mapwhile */
1599         ck_null,        /* range */
1600         ck_null,        /* flip */
1601         ck_null,        /* flop */
1602         ck_null,        /* and */
1603         ck_null,        /* or */
1604         ck_null,        /* xor */
1605         ck_null,        /* cond_expr */
1606         ck_null,        /* andassign */
1607         ck_null,        /* orassign */
1608         ck_null,        /* method */
1609         ck_subr,        /* entersub */
1610         ck_null,        /* leavesub */
1611         ck_fun,         /* caller */
1612         ck_fun,         /* warn */
1613         ck_fun,         /* die */
1614         ck_fun,         /* reset */
1615         ck_null,        /* lineseq */
1616         ck_null,        /* nextstate */
1617         ck_null,        /* dbstate */
1618         ck_null,        /* unstack */
1619         ck_null,        /* enter */
1620         ck_null,        /* leave */
1621         ck_null,        /* scope */
1622         ck_null,        /* enteriter */
1623         ck_null,        /* iter */
1624         ck_null,        /* enterloop */
1625         ck_null,        /* leaveloop */
1626         ck_null,        /* return */
1627         ck_null,        /* last */
1628         ck_null,        /* next */
1629         ck_null,        /* redo */
1630         ck_null,        /* dump */
1631         ck_null,        /* goto */
1632         ck_fun,         /* exit */
1633         ck_fun,         /* open */
1634         ck_fun,         /* close */
1635         ck_fun,         /* pipe_op */
1636         ck_fun,         /* fileno */
1637         ck_fun,         /* umask */
1638         ck_fun,         /* binmode */
1639         ck_fun,         /* tie */
1640         ck_fun,         /* untie */
1641         ck_fun,         /* tied */
1642         ck_fun,         /* dbmopen */
1643         ck_fun,         /* dbmclose */
1644         ck_select,      /* sselect */
1645         ck_select,      /* select */
1646         ck_eof,         /* getc */
1647         ck_fun,         /* read */
1648         ck_fun,         /* enterwrite */
1649         ck_null,        /* leavewrite */
1650         ck_listiob,     /* prtf */
1651         ck_listiob,     /* print */
1652         ck_fun,         /* sysopen */
1653         ck_fun,         /* sysseek */
1654         ck_fun,         /* sysread */
1655         ck_fun,         /* syswrite */
1656         ck_fun,         /* send */
1657         ck_fun,         /* recv */
1658         ck_eof,         /* eof */
1659         ck_fun,         /* tell */
1660         ck_fun,         /* seek */
1661         ck_trunc,       /* truncate */
1662         ck_fun,         /* fcntl */
1663         ck_fun,         /* ioctl */
1664         ck_fun,         /* flock */
1665         ck_fun,         /* socket */
1666         ck_fun,         /* sockpair */
1667         ck_fun,         /* bind */
1668         ck_fun,         /* connect */
1669         ck_fun,         /* listen */
1670         ck_fun,         /* accept */
1671         ck_fun,         /* shutdown */
1672         ck_fun,         /* gsockopt */
1673         ck_fun,         /* ssockopt */
1674         ck_fun,         /* getsockname */
1675         ck_fun,         /* getpeername */
1676         ck_ftst,        /* lstat */
1677         ck_ftst,        /* stat */
1678         ck_ftst,        /* ftrread */
1679         ck_ftst,        /* ftrwrite */
1680         ck_ftst,        /* ftrexec */
1681         ck_ftst,        /* fteread */
1682         ck_ftst,        /* ftewrite */
1683         ck_ftst,        /* fteexec */
1684         ck_ftst,        /* ftis */
1685         ck_ftst,        /* fteowned */
1686         ck_ftst,        /* ftrowned */
1687         ck_ftst,        /* ftzero */
1688         ck_ftst,        /* ftsize */
1689         ck_ftst,        /* ftmtime */
1690         ck_ftst,        /* ftatime */
1691         ck_ftst,        /* ftctime */
1692         ck_ftst,        /* ftsock */
1693         ck_ftst,        /* ftchr */
1694         ck_ftst,        /* ftblk */
1695         ck_ftst,        /* ftfile */
1696         ck_ftst,        /* ftdir */
1697         ck_ftst,        /* ftpipe */
1698         ck_ftst,        /* ftlink */
1699         ck_ftst,        /* ftsuid */
1700         ck_ftst,        /* ftsgid */
1701         ck_ftst,        /* ftsvtx */
1702         ck_ftst,        /* fttty */
1703         ck_ftst,        /* fttext */
1704         ck_ftst,        /* ftbinary */
1705         ck_fun,         /* chdir */
1706         ck_fun,         /* chown */
1707         ck_fun,         /* chroot */
1708         ck_fun,         /* unlink */
1709         ck_fun,         /* chmod */
1710         ck_fun,         /* utime */
1711         ck_fun,         /* rename */
1712         ck_fun,         /* link */
1713         ck_fun,         /* symlink */
1714         ck_fun,         /* readlink */
1715         ck_fun,         /* mkdir */
1716         ck_fun,         /* rmdir */
1717         ck_fun,         /* open_dir */
1718         ck_fun,         /* readdir */
1719         ck_fun,         /* telldir */
1720         ck_fun,         /* seekdir */
1721         ck_fun,         /* rewinddir */
1722         ck_fun,         /* closedir */
1723         ck_null,        /* fork */
1724         ck_null,        /* wait */
1725         ck_fun,         /* waitpid */
1726         ck_exec,        /* system */
1727         ck_exec,        /* exec */
1728         ck_fun,         /* kill */
1729         ck_null,        /* getppid */
1730         ck_fun,         /* getpgrp */
1731         ck_fun,         /* setpgrp */
1732         ck_fun,         /* getpriority */
1733         ck_fun,         /* setpriority */
1734         ck_null,        /* time */
1735         ck_null,        /* tms */
1736         ck_fun,         /* localtime */
1737         ck_fun,         /* gmtime */
1738         ck_fun,         /* alarm */
1739         ck_fun,         /* sleep */
1740         ck_fun,         /* shmget */
1741         ck_fun,         /* shmctl */
1742         ck_fun,         /* shmread */
1743         ck_fun,         /* shmwrite */
1744         ck_fun,         /* msgget */
1745         ck_fun,         /* msgctl */
1746         ck_fun,         /* msgsnd */
1747         ck_fun,         /* msgrcv */
1748         ck_fun,         /* semget */
1749         ck_fun,         /* semctl */
1750         ck_fun,         /* semop */
1751         ck_require,     /* require */
1752         ck_fun,         /* dofile */
1753         ck_eval,        /* entereval */
1754         ck_null,        /* leaveeval */
1755         ck_null,        /* entertry */
1756         ck_null,        /* leavetry */
1757         ck_fun,         /* ghbyname */
1758         ck_fun,         /* ghbyaddr */
1759         ck_null,        /* ghostent */
1760         ck_fun,         /* gnbyname */
1761         ck_fun,         /* gnbyaddr */
1762         ck_null,        /* gnetent */
1763         ck_fun,         /* gpbyname */
1764         ck_fun,         /* gpbynumber */
1765         ck_null,        /* gprotoent */
1766         ck_fun,         /* gsbyname */
1767         ck_fun,         /* gsbyport */
1768         ck_null,        /* gservent */
1769         ck_fun,         /* shostent */
1770         ck_fun,         /* snetent */
1771         ck_fun,         /* sprotoent */
1772         ck_fun,         /* sservent */
1773         ck_null,        /* ehostent */
1774         ck_null,        /* enetent */
1775         ck_null,        /* eprotoent */
1776         ck_null,        /* eservent */
1777         ck_fun,         /* gpwnam */
1778         ck_fun,         /* gpwuid */
1779         ck_null,        /* gpwent */
1780         ck_null,        /* spwent */
1781         ck_null,        /* epwent */
1782         ck_fun,         /* ggrnam */
1783         ck_fun,         /* ggrgid */
1784         ck_null,        /* ggrent */
1785         ck_null,        /* sgrent */
1786         ck_null,        /* egrent */
1787         ck_null,        /* getlogin */
1788         ck_fun,         /* syscall */
1789         ck_rfun,        /* lock */
1790         ck_null,        /* threadsv */
1791 };
1792 #endif
1793
1794 #ifndef DOINIT
1795 EXT U32 PL_opargs[];
1796 #else
1797 EXT U32 PL_opargs[] = {
1798         0x00000000,     /* null */
1799         0x00000000,     /* stub */
1800         0x00001c04,     /* scalar */
1801         0x00000004,     /* pushmark */
1802         0x00000014,     /* wantarray */
1803         0x00000704,     /* const */
1804         0x00000844,     /* gvsv */
1805         0x00000844,     /* gv */
1806         0x00011240,     /* gelem */
1807         0x00000044,     /* padsv */
1808         0x00000040,     /* padav */
1809         0x00000040,     /* padhv */
1810         0x00000040,     /* padany */
1811         0x00000640,     /* pushre */
1812         0x00000144,     /* rv2gv */
1813         0x00000144,     /* rv2sv */
1814         0x00000114,     /* av2arylen */
1815         0x00000140,     /* rv2cv */
1816         0x00000700,     /* anoncode */
1817         0x00001c04,     /* prototype */
1818         0x00002101,     /* refgen */
1819         0x00001106,     /* srefgen */
1820         0x00009c8c,     /* ref */
1821         0x00091504,     /* bless */
1822         0x00000c08,     /* backtick */
1823         0x00099508,     /* glob */
1824         0x00000c08,     /* readline */
1825         0x00000c08,     /* rcatline */
1826         0x00001104,     /* regcmaybe */
1827         0x00001104,     /* regcreset */
1828         0x00001304,     /* regcomp */
1829         0x00000640,     /* match */
1830         0x00000604,     /* qr */
1831         0x00001654,     /* subst */
1832         0x00000354,     /* substcont */
1833         0x00001914,     /* trans */
1834         0x00000004,     /* sassign */
1835         0x00022208,     /* aassign */
1836         0x00002c0d,     /* chop */
1837         0x00009c8c,     /* schop */
1838         0x00002c0d,     /* chomp */
1839         0x00009c8c,     /* schomp */
1840         0x00009c94,     /* defined */
1841         0x00009c04,     /* undef */
1842         0x00009c84,     /* study */
1843         0x00009c8c,     /* pos */
1844         0x00001164,     /* preinc */
1845         0x00001154,     /* i_preinc */
1846         0x00001164,     /* predec */
1847         0x00001154,     /* i_predec */
1848         0x0000116c,     /* postinc */
1849         0x0000115c,     /* i_postinc */
1850         0x0000116c,     /* postdec */
1851         0x0000115c,     /* i_postdec */
1852         0x0001120e,     /* pow */
1853         0x0001122e,     /* multiply */
1854         0x0001121e,     /* i_multiply */
1855         0x0001122e,     /* divide */
1856         0x0001121e,     /* i_divide */
1857         0x0001123e,     /* modulo */
1858         0x0001121e,     /* i_modulo */
1859         0x00012209,     /* repeat */
1860         0x0001122e,     /* add */
1861         0x0001121e,     /* i_add */
1862         0x0001122e,     /* subtract */
1863         0x0001121e,     /* i_subtract */
1864         0x0001120e,     /* concat */
1865         0x0000150e,     /* stringify */
1866         0x0001120e,     /* left_shift */
1867         0x0001120e,     /* right_shift */
1868         0x00011236,     /* lt */
1869         0x00011216,     /* i_lt */
1870         0x00011236,     /* gt */
1871         0x00011216,     /* i_gt */
1872         0x00011236,     /* le */
1873         0x00011216,     /* i_le */
1874         0x00011236,     /* ge */
1875         0x00011216,     /* i_ge */
1876         0x00011236,     /* eq */
1877         0x00011216,     /* i_eq */
1878         0x00011236,     /* ne */
1879         0x00011216,     /* i_ne */
1880         0x0001123e,     /* ncmp */
1881         0x0001121e,     /* i_ncmp */
1882         0x00011216,     /* slt */
1883         0x00011216,     /* sgt */
1884         0x00011216,     /* sle */
1885         0x00011216,     /* sge */
1886         0x00011216,     /* seq */
1887         0x00011216,     /* sne */
1888         0x0001121e,     /* scmp */
1889         0x0001120e,     /* bit_and */
1890         0x0001120e,     /* bit_xor */
1891         0x0001120e,     /* bit_or */
1892         0x0000112e,     /* negate */
1893         0x0000111e,     /* i_negate */
1894         0x00001116,     /* not */
1895         0x0000110e,     /* complement */
1896         0x0001150e,     /* atan2 */
1897         0x00009c8e,     /* sin */
1898         0x00009c8e,     /* cos */
1899         0x00009c0c,     /* rand */
1900         0x00009c04,     /* srand */
1901         0x00009c8e,     /* exp */
1902         0x00009c8e,     /* log */
1903         0x00009c8e,     /* sqrt */
1904         0x00009c8e,     /* int */
1905         0x00009c8e,     /* hex */
1906         0x00009c8e,     /* oct */
1907         0x00009c8e,     /* abs */
1908         0x00009c9c,     /* length */
1909         0x0991150c,     /* substr */
1910         0x0011151c,     /* vec */
1911         0x0091151c,     /* index */
1912         0x0091151c,     /* rindex */
1913         0x0002150f,     /* sprintf */
1914         0x00021505,     /* formline */
1915         0x00009c9e,     /* ord */
1916         0x00009c8e,     /* chr */
1917         0x0001150e,     /* crypt */
1918         0x00009c8e,     /* ucfirst */
1919         0x00009c8e,     /* lcfirst */
1920         0x00009c8e,     /* uc */
1921         0x00009c8e,     /* lc */
1922         0x00009c8e,     /* quotemeta */
1923         0x00000148,     /* rv2av */
1924         0x00013804,     /* aelemfast */
1925         0x00013204,     /* aelem */
1926         0x00023501,     /* aslice */
1927         0x00004c08,     /* each */
1928         0x00004c08,     /* values */
1929         0x00004c08,     /* keys */
1930         0x00001c00,     /* delete */
1931         0x00001c14,     /* exists */
1932         0x00000148,     /* rv2hv */
1933         0x00014204,     /* helem */
1934         0x00024501,     /* hslice */
1935         0x00011500,     /* unpack */
1936         0x0002150d,     /* pack */
1937         0x00111508,     /* split */
1938         0x0002150d,     /* join */
1939         0x00002501,     /* list */
1940         0x00224200,     /* lslice */
1941         0x00002505,     /* anonlist */
1942         0x00002505,     /* anonhash */
1943         0x02993501,     /* splice */
1944         0x0002351d,     /* push */
1945         0x00003c04,     /* pop */
1946         0x00003c04,     /* shift */
1947         0x0002351d,     /* unshift */
1948         0x0002d501,     /* sort */
1949         0x00002509,     /* reverse */
1950         0x00025541,     /* grepstart */
1951         0x00000348,     /* grepwhile */
1952         0x00025541,     /* mapstart */
1953         0x00000348,     /* mapwhile */
1954         0x00011400,     /* range */
1955         0x00011100,     /* flip */
1956         0x00000100,     /* flop */
1957         0x00000300,     /* and */
1958         0x00000300,     /* or */
1959         0x00011306,     /* xor */
1960         0x00000440,     /* cond_expr */
1961         0x00000304,     /* andassign */
1962         0x00000304,     /* orassign */
1963         0x00000140,     /* method */
1964         0x00002149,     /* entersub */
1965         0x00000100,     /* leavesub */
1966         0x00009c08,     /* caller */
1967         0x0000251d,     /* warn */
1968         0x0000255d,     /* die */
1969         0x00009c14,     /* reset */
1970         0x00000500,     /* lineseq */
1971         0x00000b04,     /* nextstate */
1972         0x00000b04,     /* dbstate */
1973         0x00000004,     /* unstack */
1974         0x00000000,     /* enter */
1975         0x00000500,     /* leave */
1976         0x00000500,     /* scope */
1977         0x00000a40,     /* enteriter */
1978         0x00000000,     /* iter */
1979         0x00000a40,     /* enterloop */
1980         0x00000200,     /* leaveloop */
1981         0x00002541,     /* return */
1982         0x00000e44,     /* last */
1983         0x00000e44,     /* next */
1984         0x00000e44,     /* redo */
1985         0x00000e44,     /* dump */
1986         0x00000e44,     /* goto */
1987         0x00009c44,     /* exit */
1988         0x0009651c,     /* open */
1989         0x0000ec14,     /* close */
1990         0x00066514,     /* pipe_op */
1991         0x00006c1c,     /* fileno */
1992         0x00009c1c,     /* umask */
1993         0x00006c04,     /* binmode */
1994         0x00217555,     /* tie */
1995         0x00007c14,     /* untie */
1996         0x00007c04,     /* tied */
1997         0x00114514,     /* dbmopen */
1998         0x00004c14,     /* dbmclose */
1999         0x01111508,     /* sselect */
2000         0x0000e50c,     /* select */
2001         0x0000ec0c,     /* getc */
2002         0x0917651d,     /* read */
2003         0x0000ec54,     /* enterwrite */
2004         0x00000100,     /* leavewrite */
2005         0x0002e515,     /* prtf */
2006         0x0002e515,     /* print */
2007         0x09116504,     /* sysopen */
2008         0x00116504,     /* sysseek */
2009         0x0917651d,     /* sysread */
2010         0x0991651d,     /* syswrite */
2011         0x0911651d,     /* send */
2012         0x0117651d,     /* recv */
2013         0x0000ec14,     /* eof */
2014         0x0000ec0c,     /* tell */
2015         0x00116504,     /* seek */
2016         0x00011514,     /* truncate */
2017         0x0011650c,     /* fcntl */
2018         0x0011650c,     /* ioctl */
2019         0x0001651c,     /* flock */
2020         0x01116514,     /* socket */
2021         0x11166514,     /* sockpair */
2022         0x00016514,     /* bind */
2023         0x00016514,     /* connect */
2024         0x00016514,     /* listen */
2025         0x0006651c,     /* accept */
2026         0x0001651c,     /* shutdown */
2027         0x00116514,     /* gsockopt */
2028         0x01116514,     /* ssockopt */
2029         0x00006c14,     /* getsockname */
2030         0x00006c14,     /* getpeername */
2031         0x00006d80,     /* lstat */
2032         0x00006d80,     /* stat */
2033         0x00006d94,     /* ftrread */
2034         0x00006d94,     /* ftrwrite */
2035         0x00006d94,     /* ftrexec */
2036         0x00006d94,     /* fteread */
2037         0x00006d94,     /* ftewrite */
2038         0x00006d94,     /* fteexec */
2039         0x00006d94,     /* ftis */
2040         0x00006d94,     /* fteowned */
2041         0x00006d94,     /* ftrowned */
2042         0x00006d94,     /* ftzero */
2043         0x00006d9c,     /* ftsize */
2044         0x00006d8c,     /* ftmtime */
2045         0x00006d8c,     /* ftatime */
2046         0x00006d8c,     /* ftctime */
2047         0x00006d94,     /* ftsock */
2048         0x00006d94,     /* ftchr */
2049         0x00006d94,     /* ftblk */
2050         0x00006d94,     /* ftfile */
2051         0x00006d94,     /* ftdir */
2052         0x00006d94,     /* ftpipe */
2053         0x00006d94,     /* ftlink */
2054         0x00006d94,     /* ftsuid */
2055         0x00006d94,     /* ftsgid */
2056         0x00006d94,     /* ftsvtx */
2057         0x00006d14,     /* fttty */
2058         0x00006d94,     /* fttext */
2059         0x00006d94,     /* ftbinary */
2060         0x00009c1c,     /* chdir */
2061         0x0000251d,     /* chown */
2062         0x00009c9c,     /* chroot */
2063         0x0000259d,     /* unlink */
2064         0x0000251d,     /* chmod */
2065         0x0000251d,     /* utime */
2066         0x0001151c,     /* rename */
2067         0x0001151c,     /* link */
2068         0x0001151c,     /* symlink */
2069         0x00009c8c,     /* readlink */
2070         0x0001151c,     /* mkdir */
2071         0x00009c9c,     /* rmdir */
2072         0x00016514,     /* open_dir */
2073         0x00006c00,     /* readdir */
2074         0x00006c0c,     /* telldir */
2075         0x00016504,     /* seekdir */
2076         0x00006c04,     /* rewinddir */
2077         0x00006c14,     /* closedir */
2078         0x0000001c,     /* fork */
2079         0x0000001c,     /* wait */
2080         0x0001151c,     /* waitpid */
2081         0x0002951d,     /* system */
2082         0x0002955d,     /* exec */
2083         0x0000255d,     /* kill */
2084         0x0000001c,     /* getppid */
2085         0x00009c1c,     /* getpgrp */
2086         0x0009951c,     /* setpgrp */
2087         0x0001151c,     /* getpriority */
2088         0x0011151c,     /* setpriority */
2089         0x0000001c,     /* time */
2090         0x00000000,     /* tms */
2091         0x00009c08,     /* localtime */
2092         0x00009c08,     /* gmtime */
2093         0x00009c9c,     /* alarm */
2094         0x00009c1c,     /* sleep */
2095         0x0011151d,     /* shmget */
2096         0x0011151d,     /* shmctl */
2097         0x0111151d,     /* shmread */
2098         0x0111151d,     /* shmwrite */
2099         0x0001151d,     /* msgget */
2100         0x0011151d,     /* msgctl */
2101         0x0011151d,     /* msgsnd */
2102         0x1111151d,     /* msgrcv */
2103         0x0011151d,     /* semget */
2104         0x0111151d,     /* semctl */
2105         0x0001151d,     /* semop */
2106         0x00009cc0,     /* require */
2107         0x00001140,     /* dofile */
2108         0x00001c40,     /* entereval */
2109         0x00001100,     /* leaveeval */
2110         0x00000300,     /* entertry */
2111         0x00000500,     /* leavetry */
2112         0x00001c00,     /* ghbyname */
2113         0x00011500,     /* ghbyaddr */
2114         0x00000000,     /* ghostent */
2115         0x00001c00,     /* gnbyname */
2116         0x00011500,     /* gnbyaddr */
2117         0x00000000,     /* gnetent */
2118         0x00001c00,     /* gpbyname */
2119         0x00001500,     /* gpbynumber */
2120         0x00000000,     /* gprotoent */
2121         0x00011500,     /* gsbyname */
2122         0x00011500,     /* gsbyport */
2123         0x00000000,     /* gservent */
2124         0x00001c14,     /* shostent */
2125         0x00001c14,     /* snetent */
2126         0x00001c14,     /* sprotoent */
2127         0x00001c14,     /* sservent */
2128         0x00000014,     /* ehostent */
2129         0x00000014,     /* enetent */
2130         0x00000014,     /* eprotoent */
2131         0x00000014,     /* eservent */
2132         0x00001c00,     /* gpwnam */
2133         0x00001c00,     /* gpwuid */
2134         0x00000000,     /* gpwent */
2135         0x00000014,     /* spwent */
2136         0x00000014,     /* epwent */
2137         0x00001c00,     /* ggrnam */
2138         0x00001c00,     /* ggrgid */
2139         0x00000000,     /* ggrent */
2140         0x00000014,     /* sgrent */
2141         0x00000014,     /* egrent */
2142         0x0000000c,     /* getlogin */
2143         0x0002151d,     /* syscall */
2144         0x00001c04,     /* lock */
2145         0x00000044,     /* threadsv */
2146 };
2147 #endif