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