This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
avoid empty rm -f in MM_Unix.pm
[perl5.git] / opcode.h
index e9bbcca..a33e500 100644 (file)
--- a/opcode.h
+++ b/opcode.h
@@ -1,3 +1,8 @@
+#define pp_i_preinc pp_preinc
+#define pp_i_predec pp_predec
+#define pp_i_postinc pp_postinc
+#define pp_i_postdec pp_postdec
+
 typedef enum {
        OP_NULL,        /* 0 */
        OP_STUB,        /* 1 */
@@ -5,345 +10,734 @@ typedef enum {
        OP_PUSHMARK,    /* 3 */
        OP_WANTARRAY,   /* 4 */
        OP_CONST,       /* 5 */
-       OP_INTERP,      /* 6 */
-       OP_GVSV,        /* 7 */
-       OP_GV,          /* 8 */
+       OP_GVSV,        /* 6 */
+       OP_GV,          /* 7 */
+       OP_GELEM,       /* 8 */
        OP_PADSV,       /* 9 */
        OP_PADAV,       /* 10 */
        OP_PADHV,       /* 11 */
        OP_PADANY,      /* 12 */
        OP_PUSHRE,      /* 13 */
        OP_RV2GV,       /* 14 */
-       OP_SV2LEN,      /* 15 */
-       OP_RV2SV,       /* 16 */
-       OP_AV2ARYLEN,   /* 17 */
-       OP_RV2CV,       /* 18 */
-       OP_REFGEN,      /* 19 */
-       OP_REF,         /* 20 */
-       OP_BLESS,       /* 21 */
-       OP_BACKTICK,    /* 22 */
-       OP_GLOB,        /* 23 */
-       OP_READLINE,    /* 24 */
-       OP_RCATLINE,    /* 25 */
-       OP_REGCMAYBE,   /* 26 */
-       OP_REGCOMP,     /* 27 */
-       OP_MATCH,       /* 28 */
-       OP_SUBST,       /* 29 */
-       OP_SUBSTCONT,   /* 30 */
-       OP_TRANS,       /* 31 */
-       OP_SASSIGN,     /* 32 */
-       OP_AASSIGN,     /* 33 */
-       OP_SCHOP,       /* 34 */
-       OP_CHOP,        /* 35 */
-       OP_DEFINED,     /* 36 */
-       OP_UNDEF,       /* 37 */
-       OP_STUDY,       /* 38 */
-       OP_PREINC,      /* 39 */
-       OP_PREDEC,      /* 40 */
-       OP_POSTINC,     /* 41 */
-       OP_POSTDEC,     /* 42 */
-       OP_POW,         /* 43 */
-       OP_MULTIPLY,    /* 44 */
-       OP_DIVIDE,      /* 45 */
-       OP_MODULO,      /* 46 */
-       OP_REPEAT,      /* 47 */
-       OP_ADD,         /* 48 */
-       OP_INTADD,      /* 49 */
-       OP_SUBTRACT,    /* 50 */
-       OP_CONCAT,      /* 51 */
-       OP_LEFT_SHIFT,  /* 52 */
-       OP_RIGHT_SHIFT, /* 53 */
-       OP_LT,          /* 54 */
-       OP_GT,          /* 55 */
-       OP_LE,          /* 56 */
-       OP_GE,          /* 57 */
-       OP_EQ,          /* 58 */
-       OP_NE,          /* 59 */
-       OP_NCMP,        /* 60 */
-       OP_SLT,         /* 61 */
-       OP_SGT,         /* 62 */
-       OP_SLE,         /* 63 */
-       OP_SGE,         /* 64 */
-       OP_SEQ,         /* 65 */
-       OP_SNE,         /* 66 */
-       OP_SCMP,        /* 67 */
-       OP_BIT_AND,     /* 68 */
-       OP_XOR,         /* 69 */
-       OP_BIT_OR,      /* 70 */
-       OP_NEGATE,      /* 71 */
-       OP_NOT,         /* 72 */
-       OP_COMPLEMENT,  /* 73 */
-       OP_ATAN2,       /* 74 */
-       OP_SIN,         /* 75 */
-       OP_COS,         /* 76 */
-       OP_RAND,        /* 77 */
-       OP_SRAND,       /* 78 */
-       OP_EXP,         /* 79 */
-       OP_LOG,         /* 80 */
-       OP_SQRT,        /* 81 */
-       OP_INT,         /* 82 */
-       OP_HEX,         /* 83 */
-       OP_OCT,         /* 84 */
-       OP_ABS,         /* 85 */
-       OP_LENGTH,      /* 86 */
-       OP_SUBSTR,      /* 87 */
-       OP_VEC,         /* 88 */
-       OP_INDEX,       /* 89 */
-       OP_RINDEX,      /* 90 */
-       OP_SPRINTF,     /* 91 */
-       OP_FORMLINE,    /* 92 */
-       OP_ORD,         /* 93 */
-       OP_CHR,         /* 94 */
-       OP_CRYPT,       /* 95 */
-       OP_UCFIRST,     /* 96 */
-       OP_LCFIRST,     /* 97 */
-       OP_UC,          /* 98 */
-       OP_LC,          /* 99 */
-       OP_RV2AV,       /* 100 */
-       OP_AELEMFAST,   /* 101 */
-       OP_AELEM,       /* 102 */
-       OP_ASLICE,      /* 103 */
-       OP_EACH,        /* 104 */
-       OP_VALUES,      /* 105 */
-       OP_KEYS,        /* 106 */
-       OP_DELETE,      /* 107 */
-       OP_RV2HV,       /* 108 */
-       OP_HELEM,       /* 109 */
-       OP_HSLICE,      /* 110 */
-       OP_UNPACK,      /* 111 */
-       OP_PACK,        /* 112 */
-       OP_SPLIT,       /* 113 */
-       OP_JOIN,        /* 114 */
-       OP_LIST,        /* 115 */
-       OP_LSLICE,      /* 116 */
-       OP_ANONLIST,    /* 117 */
-       OP_ANONHASH,    /* 118 */
-       OP_SPLICE,      /* 119 */
-       OP_PUSH,        /* 120 */
-       OP_POP,         /* 121 */
-       OP_SHIFT,       /* 122 */
-       OP_UNSHIFT,     /* 123 */
-       OP_SORT,        /* 124 */
-       OP_REVERSE,     /* 125 */
-       OP_GREPSTART,   /* 126 */
-       OP_GREPWHILE,   /* 127 */
-       OP_RANGE,       /* 128 */
-       OP_FLIP,        /* 129 */
-       OP_FLOP,        /* 130 */
-       OP_AND,         /* 131 */
-       OP_OR,          /* 132 */
-       OP_COND_EXPR,   /* 133 */
-       OP_ANDASSIGN,   /* 134 */
-       OP_ORASSIGN,    /* 135 */
-       OP_METHOD,      /* 136 */
-       OP_ENTERSUBR,   /* 137 */
-       OP_LEAVESUBR,   /* 138 */
-       OP_CALLER,      /* 139 */
-       OP_WARN,        /* 140 */
-       OP_DIE,         /* 141 */
-       OP_RESET,       /* 142 */
-       OP_LINESEQ,     /* 143 */
-       OP_NEXTSTATE,   /* 144 */
-       OP_DBSTATE,     /* 145 */
-       OP_UNSTACK,     /* 146 */
-       OP_ENTER,       /* 147 */
-       OP_LEAVE,       /* 148 */
-       OP_SCOPE,       /* 149 */
-       OP_ENTERITER,   /* 150 */
-       OP_ITER,        /* 151 */
-       OP_ENTERLOOP,   /* 152 */
-       OP_LEAVELOOP,   /* 153 */
-       OP_RETURN,      /* 154 */
-       OP_LAST,        /* 155 */
-       OP_NEXT,        /* 156 */
-       OP_REDO,        /* 157 */
-       OP_DUMP,        /* 158 */
-       OP_GOTO,        /* 159 */
-       OP_EXIT,        /* 160 */
-       OP_NSWITCH,     /* 161 */
-       OP_CSWITCH,     /* 162 */
-       OP_OPEN,        /* 163 */
-       OP_CLOSE,       /* 164 */
-       OP_PIPE_OP,     /* 165 */
-       OP_FILENO,      /* 166 */
-       OP_UMASK,       /* 167 */
-       OP_BINMODE,     /* 168 */
-       OP_TIE,         /* 169 */
-       OP_UNTIE,       /* 170 */
-       OP_DBMOPEN,     /* 171 */
-       OP_DBMCLOSE,    /* 172 */
-       OP_SSELECT,     /* 173 */
-       OP_SELECT,      /* 174 */
-       OP_GETC,        /* 175 */
-       OP_READ,        /* 176 */
-       OP_ENTERWRITE,  /* 177 */
-       OP_LEAVEWRITE,  /* 178 */
-       OP_PRTF,        /* 179 */
-       OP_PRINT,       /* 180 */
-       OP_SYSREAD,     /* 181 */
-       OP_SYSWRITE,    /* 182 */
-       OP_SEND,        /* 183 */
-       OP_RECV,        /* 184 */
-       OP_EOF,         /* 185 */
-       OP_TELL,        /* 186 */
-       OP_SEEK,        /* 187 */
-       OP_TRUNCATE,    /* 188 */
-       OP_FCNTL,       /* 189 */
-       OP_IOCTL,       /* 190 */
-       OP_FLOCK,       /* 191 */
-       OP_SOCKET,      /* 192 */
-       OP_SOCKPAIR,    /* 193 */
-       OP_BIND,        /* 194 */
-       OP_CONNECT,     /* 195 */
-       OP_LISTEN,      /* 196 */
-       OP_ACCEPT,      /* 197 */
-       OP_SHUTDOWN,    /* 198 */
-       OP_GSOCKOPT,    /* 199 */
-       OP_SSOCKOPT,    /* 200 */
-       OP_GETSOCKNAME, /* 201 */
-       OP_GETPEERNAME, /* 202 */
-       OP_LSTAT,       /* 203 */
-       OP_STAT,        /* 204 */
-       OP_FTRREAD,     /* 205 */
-       OP_FTRWRITE,    /* 206 */
-       OP_FTREXEC,     /* 207 */
-       OP_FTEREAD,     /* 208 */
-       OP_FTEWRITE,    /* 209 */
-       OP_FTEEXEC,     /* 210 */
-       OP_FTIS,        /* 211 */
-       OP_FTEOWNED,    /* 212 */
-       OP_FTROWNED,    /* 213 */
-       OP_FTZERO,      /* 214 */
-       OP_FTSIZE,      /* 215 */
-       OP_FTMTIME,     /* 216 */
-       OP_FTATIME,     /* 217 */
-       OP_FTCTIME,     /* 218 */
-       OP_FTSOCK,      /* 219 */
-       OP_FTCHR,       /* 220 */
-       OP_FTBLK,       /* 221 */
-       OP_FTFILE,      /* 222 */
-       OP_FTDIR,       /* 223 */
-       OP_FTPIPE,      /* 224 */
-       OP_FTLINK,      /* 225 */
-       OP_FTSUID,      /* 226 */
-       OP_FTSGID,      /* 227 */
-       OP_FTSVTX,      /* 228 */
-       OP_FTTTY,       /* 229 */
-       OP_FTTEXT,      /* 230 */
-       OP_FTBINARY,    /* 231 */
-       OP_CHDIR,       /* 232 */
-       OP_CHOWN,       /* 233 */
-       OP_CHROOT,      /* 234 */
-       OP_UNLINK,      /* 235 */
-       OP_CHMOD,       /* 236 */
-       OP_UTIME,       /* 237 */
-       OP_RENAME,      /* 238 */
-       OP_LINK,        /* 239 */
-       OP_SYMLINK,     /* 240 */
-       OP_READLINK,    /* 241 */
-       OP_MKDIR,       /* 242 */
-       OP_RMDIR,       /* 243 */
-       OP_OPEN_DIR,    /* 244 */
-       OP_READDIR,     /* 245 */
-       OP_TELLDIR,     /* 246 */
-       OP_SEEKDIR,     /* 247 */
-       OP_REWINDDIR,   /* 248 */
-       OP_CLOSEDIR,    /* 249 */
-       OP_FORK,        /* 250 */
-       OP_WAIT,        /* 251 */
-       OP_WAITPID,     /* 252 */
-       OP_SYSTEM,      /* 253 */
-       OP_EXEC,        /* 254 */
-       OP_KILL,        /* 255 */
-       OP_GETPPID,     /* 256 */
-       OP_GETPGRP,     /* 257 */
-       OP_SETPGRP,     /* 258 */
-       OP_GETPRIORITY, /* 259 */
-       OP_SETPRIORITY, /* 260 */
-       OP_TIME,        /* 261 */
-       OP_TMS,         /* 262 */
-       OP_LOCALTIME,   /* 263 */
-       OP_GMTIME,      /* 264 */
-       OP_ALARM,       /* 265 */
-       OP_SLEEP,       /* 266 */
-       OP_SHMGET,      /* 267 */
-       OP_SHMCTL,      /* 268 */
-       OP_SHMREAD,     /* 269 */
-       OP_SHMWRITE,    /* 270 */
-       OP_MSGGET,      /* 271 */
-       OP_MSGCTL,      /* 272 */
-       OP_MSGSND,      /* 273 */
-       OP_MSGRCV,      /* 274 */
-       OP_SEMGET,      /* 275 */
-       OP_SEMCTL,      /* 276 */
-       OP_SEMOP,       /* 277 */
-       OP_REQUIRE,     /* 278 */
-       OP_DOFILE,      /* 279 */
-       OP_ENTEREVAL,   /* 280 */
-       OP_LEAVEEVAL,   /* 281 */
-       OP_EVALONCE,    /* 282 */
-       OP_ENTERTRY,    /* 283 */
-       OP_LEAVETRY,    /* 284 */
-       OP_GHBYNAME,    /* 285 */
-       OP_GHBYADDR,    /* 286 */
-       OP_GHOSTENT,    /* 287 */
-       OP_GNBYNAME,    /* 288 */
-       OP_GNBYADDR,    /* 289 */
-       OP_GNETENT,     /* 290 */
-       OP_GPBYNAME,    /* 291 */
-       OP_GPBYNUMBER,  /* 292 */
-       OP_GPROTOENT,   /* 293 */
-       OP_GSBYNAME,    /* 294 */
-       OP_GSBYPORT,    /* 295 */
-       OP_GSERVENT,    /* 296 */
-       OP_SHOSTENT,    /* 297 */
-       OP_SNETENT,     /* 298 */
-       OP_SPROTOENT,   /* 299 */
-       OP_SSERVENT,    /* 300 */
-       OP_EHOSTENT,    /* 301 */
-       OP_ENETENT,     /* 302 */
-       OP_EPROTOENT,   /* 303 */
-       OP_ESERVENT,    /* 304 */
-       OP_GPWNAM,      /* 305 */
-       OP_GPWUID,      /* 306 */
-       OP_GPWENT,      /* 307 */
-       OP_SPWENT,      /* 308 */
-       OP_EPWENT,      /* 309 */
-       OP_GGRNAM,      /* 310 */
-       OP_GGRGID,      /* 311 */
-       OP_GGRENT,      /* 312 */
-       OP_SGRENT,      /* 313 */
-       OP_EGRENT,      /* 314 */
-       OP_GETLOGIN,    /* 315 */
-       OP_SYSCALL,     /* 316 */
+       OP_RV2SV,       /* 15 */
+       OP_AV2ARYLEN,   /* 16 */
+       OP_RV2CV,       /* 17 */
+       OP_ANONCODE,    /* 18 */
+       OP_PROTOTYPE,   /* 19 */
+       OP_REFGEN,      /* 20 */
+       OP_SREFGEN,     /* 21 */
+       OP_REF,         /* 22 */
+       OP_BLESS,       /* 23 */
+       OP_BACKTICK,    /* 24 */
+       OP_GLOB,        /* 25 */
+       OP_READLINE,    /* 26 */
+       OP_RCATLINE,    /* 27 */
+       OP_REGCMAYBE,   /* 28 */
+       OP_REGCRESET,   /* 29 */
+       OP_REGCOMP,     /* 30 */
+       OP_MATCH,       /* 31 */
+       OP_QR,          /* 32 */
+       OP_SUBST,       /* 33 */
+       OP_SUBSTCONT,   /* 34 */
+       OP_TRANS,       /* 35 */
+       OP_SASSIGN,     /* 36 */
+       OP_AASSIGN,     /* 37 */
+       OP_CHOP,        /* 38 */
+       OP_SCHOP,       /* 39 */
+       OP_CHOMP,       /* 40 */
+       OP_SCHOMP,      /* 41 */
+       OP_DEFINED,     /* 42 */
+       OP_UNDEF,       /* 43 */
+       OP_STUDY,       /* 44 */
+       OP_POS,         /* 45 */
+       OP_PREINC,      /* 46 */
+       OP_I_PREINC,    /* 47 */
+       OP_PREDEC,      /* 48 */
+       OP_I_PREDEC,    /* 49 */
+       OP_POSTINC,     /* 50 */
+       OP_I_POSTINC,   /* 51 */
+       OP_POSTDEC,     /* 52 */
+       OP_I_POSTDEC,   /* 53 */
+       OP_POW,         /* 54 */
+       OP_MULTIPLY,    /* 55 */
+       OP_I_MULTIPLY,  /* 56 */
+       OP_DIVIDE,      /* 57 */
+       OP_I_DIVIDE,    /* 58 */
+       OP_MODULO,      /* 59 */
+       OP_I_MODULO,    /* 60 */
+       OP_REPEAT,      /* 61 */
+       OP_ADD,         /* 62 */
+       OP_I_ADD,       /* 63 */
+       OP_SUBTRACT,    /* 64 */
+       OP_I_SUBTRACT,  /* 65 */
+       OP_CONCAT,      /* 66 */
+       OP_STRINGIFY,   /* 67 */
+       OP_LEFT_SHIFT,  /* 68 */
+       OP_RIGHT_SHIFT, /* 69 */
+       OP_LT,          /* 70 */
+       OP_I_LT,        /* 71 */
+       OP_GT,          /* 72 */
+       OP_I_GT,        /* 73 */
+       OP_LE,          /* 74 */
+       OP_I_LE,        /* 75 */
+       OP_GE,          /* 76 */
+       OP_I_GE,        /* 77 */
+       OP_EQ,          /* 78 */
+       OP_I_EQ,        /* 79 */
+       OP_NE,          /* 80 */
+       OP_I_NE,        /* 81 */
+       OP_NCMP,        /* 82 */
+       OP_I_NCMP,      /* 83 */
+       OP_SLT,         /* 84 */
+       OP_SGT,         /* 85 */
+       OP_SLE,         /* 86 */
+       OP_SGE,         /* 87 */
+       OP_SEQ,         /* 88 */
+       OP_SNE,         /* 89 */
+       OP_SCMP,        /* 90 */
+       OP_BIT_AND,     /* 91 */
+       OP_BIT_XOR,     /* 92 */
+       OP_BIT_OR,      /* 93 */
+       OP_NEGATE,      /* 94 */
+       OP_I_NEGATE,    /* 95 */
+       OP_NOT,         /* 96 */
+       OP_COMPLEMENT,  /* 97 */
+       OP_ATAN2,       /* 98 */
+       OP_SIN,         /* 99 */
+       OP_COS,         /* 100 */
+       OP_RAND,        /* 101 */
+       OP_SRAND,       /* 102 */
+       OP_EXP,         /* 103 */
+       OP_LOG,         /* 104 */
+       OP_SQRT,        /* 105 */
+       OP_INT,         /* 106 */
+       OP_HEX,         /* 107 */
+       OP_OCT,         /* 108 */
+       OP_ABS,         /* 109 */
+       OP_LENGTH,      /* 110 */
+       OP_SUBSTR,      /* 111 */
+       OP_VEC,         /* 112 */
+       OP_INDEX,       /* 113 */
+       OP_RINDEX,      /* 114 */
+       OP_SPRINTF,     /* 115 */
+       OP_FORMLINE,    /* 116 */
+       OP_ORD,         /* 117 */
+       OP_CHR,         /* 118 */
+       OP_CRYPT,       /* 119 */
+       OP_UCFIRST,     /* 120 */
+       OP_LCFIRST,     /* 121 */
+       OP_UC,          /* 122 */
+       OP_LC,          /* 123 */
+       OP_QUOTEMETA,   /* 124 */
+       OP_RV2AV,       /* 125 */
+       OP_AELEMFAST,   /* 126 */
+       OP_AELEM,       /* 127 */
+       OP_ASLICE,      /* 128 */
+       OP_EACH,        /* 129 */
+       OP_VALUES,      /* 130 */
+       OP_KEYS,        /* 131 */
+       OP_DELETE,      /* 132 */
+       OP_EXISTS,      /* 133 */
+       OP_RV2HV,       /* 134 */
+       OP_HELEM,       /* 135 */
+       OP_HSLICE,      /* 136 */
+       OP_UNPACK,      /* 137 */
+       OP_PACK,        /* 138 */
+       OP_SPLIT,       /* 139 */
+       OP_JOIN,        /* 140 */
+       OP_LIST,        /* 141 */
+       OP_LSLICE,      /* 142 */
+       OP_ANONLIST,    /* 143 */
+       OP_ANONHASH,    /* 144 */
+       OP_SPLICE,      /* 145 */
+       OP_PUSH,        /* 146 */
+       OP_POP,         /* 147 */
+       OP_SHIFT,       /* 148 */
+       OP_UNSHIFT,     /* 149 */
+       OP_SORT,        /* 150 */
+       OP_REVERSE,     /* 151 */
+       OP_GREPSTART,   /* 152 */
+       OP_GREPWHILE,   /* 153 */
+       OP_MAPSTART,    /* 154 */
+       OP_MAPWHILE,    /* 155 */
+       OP_RANGE,       /* 156 */
+       OP_FLIP,        /* 157 */
+       OP_FLOP,        /* 158 */
+       OP_AND,         /* 159 */
+       OP_OR,          /* 160 */
+       OP_XOR,         /* 161 */
+       OP_COND_EXPR,   /* 162 */
+       OP_ANDASSIGN,   /* 163 */
+       OP_ORASSIGN,    /* 164 */
+       OP_METHOD,      /* 165 */
+       OP_ENTERSUB,    /* 166 */
+       OP_LEAVESUB,    /* 167 */
+       OP_CALLER,      /* 168 */
+       OP_WARN,        /* 169 */
+       OP_DIE,         /* 170 */
+       OP_RESET,       /* 171 */
+       OP_LINESEQ,     /* 172 */
+       OP_NEXTSTATE,   /* 173 */
+       OP_DBSTATE,     /* 174 */
+       OP_UNSTACK,     /* 175 */
+       OP_ENTER,       /* 176 */
+       OP_LEAVE,       /* 177 */
+       OP_SCOPE,       /* 178 */
+       OP_ENTERITER,   /* 179 */
+       OP_ITER,        /* 180 */
+       OP_ENTERLOOP,   /* 181 */
+       OP_LEAVELOOP,   /* 182 */
+       OP_RETURN,      /* 183 */
+       OP_LAST,        /* 184 */
+       OP_NEXT,        /* 185 */
+       OP_REDO,        /* 186 */
+       OP_DUMP,        /* 187 */
+       OP_GOTO,        /* 188 */
+       OP_EXIT,        /* 189 */
+       OP_OPEN,        /* 190 */
+       OP_CLOSE,       /* 191 */
+       OP_PIPE_OP,     /* 192 */
+       OP_FILENO,      /* 193 */
+       OP_UMASK,       /* 194 */
+       OP_BINMODE,     /* 195 */
+       OP_TIE,         /* 196 */
+       OP_UNTIE,       /* 197 */
+       OP_TIED,        /* 198 */
+       OP_DBMOPEN,     /* 199 */
+       OP_DBMCLOSE,    /* 200 */
+       OP_SSELECT,     /* 201 */
+       OP_SELECT,      /* 202 */
+       OP_GETC,        /* 203 */
+       OP_READ,        /* 204 */
+       OP_ENTERWRITE,  /* 205 */
+       OP_LEAVEWRITE,  /* 206 */
+       OP_PRTF,        /* 207 */
+       OP_PRINT,       /* 208 */
+       OP_SYSOPEN,     /* 209 */
+       OP_SYSSEEK,     /* 210 */
+       OP_SYSREAD,     /* 211 */
+       OP_SYSWRITE,    /* 212 */
+       OP_SEND,        /* 213 */
+       OP_RECV,        /* 214 */
+       OP_EOF,         /* 215 */
+       OP_TELL,        /* 216 */
+       OP_SEEK,        /* 217 */
+       OP_TRUNCATE,    /* 218 */
+       OP_FCNTL,       /* 219 */
+       OP_IOCTL,       /* 220 */
+       OP_FLOCK,       /* 221 */
+       OP_SOCKET,      /* 222 */
+       OP_SOCKPAIR,    /* 223 */
+       OP_BIND,        /* 224 */
+       OP_CONNECT,     /* 225 */
+       OP_LISTEN,      /* 226 */
+       OP_ACCEPT,      /* 227 */
+       OP_SHUTDOWN,    /* 228 */
+       OP_GSOCKOPT,    /* 229 */
+       OP_SSOCKOPT,    /* 230 */
+       OP_GETSOCKNAME, /* 231 */
+       OP_GETPEERNAME, /* 232 */
+       OP_LSTAT,       /* 233 */
+       OP_STAT,        /* 234 */
+       OP_FTRREAD,     /* 235 */
+       OP_FTRWRITE,    /* 236 */
+       OP_FTREXEC,     /* 237 */
+       OP_FTEREAD,     /* 238 */
+       OP_FTEWRITE,    /* 239 */
+       OP_FTEEXEC,     /* 240 */
+       OP_FTIS,        /* 241 */
+       OP_FTEOWNED,    /* 242 */
+       OP_FTROWNED,    /* 243 */
+       OP_FTZERO,      /* 244 */
+       OP_FTSIZE,      /* 245 */
+       OP_FTMTIME,     /* 246 */
+       OP_FTATIME,     /* 247 */
+       OP_FTCTIME,     /* 248 */
+       OP_FTSOCK,      /* 249 */
+       OP_FTCHR,       /* 250 */
+       OP_FTBLK,       /* 251 */
+       OP_FTFILE,      /* 252 */
+       OP_FTDIR,       /* 253 */
+       OP_FTPIPE,      /* 254 */
+       OP_FTLINK,      /* 255 */
+       OP_FTSUID,      /* 256 */
+       OP_FTSGID,      /* 257 */
+       OP_FTSVTX,      /* 258 */
+       OP_FTTTY,       /* 259 */
+       OP_FTTEXT,      /* 260 */
+       OP_FTBINARY,    /* 261 */
+       OP_CHDIR,       /* 262 */
+       OP_CHOWN,       /* 263 */
+       OP_CHROOT,      /* 264 */
+       OP_UNLINK,      /* 265 */
+       OP_CHMOD,       /* 266 */
+       OP_UTIME,       /* 267 */
+       OP_RENAME,      /* 268 */
+       OP_LINK,        /* 269 */
+       OP_SYMLINK,     /* 270 */
+       OP_READLINK,    /* 271 */
+       OP_MKDIR,       /* 272 */
+       OP_RMDIR,       /* 273 */
+       OP_OPEN_DIR,    /* 274 */
+       OP_READDIR,     /* 275 */
+       OP_TELLDIR,     /* 276 */
+       OP_SEEKDIR,     /* 277 */
+       OP_REWINDDIR,   /* 278 */
+       OP_CLOSEDIR,    /* 279 */
+       OP_FORK,        /* 280 */
+       OP_WAIT,        /* 281 */
+       OP_WAITPID,     /* 282 */
+       OP_SYSTEM,      /* 283 */
+       OP_EXEC,        /* 284 */
+       OP_KILL,        /* 285 */
+       OP_GETPPID,     /* 286 */
+       OP_GETPGRP,     /* 287 */
+       OP_SETPGRP,     /* 288 */
+       OP_GETPRIORITY, /* 289 */
+       OP_SETPRIORITY, /* 290 */
+       OP_TIME,        /* 291 */
+       OP_TMS,         /* 292 */
+       OP_LOCALTIME,   /* 293 */
+       OP_GMTIME,      /* 294 */
+       OP_ALARM,       /* 295 */
+       OP_SLEEP,       /* 296 */
+       OP_SHMGET,      /* 297 */
+       OP_SHMCTL,      /* 298 */
+       OP_SHMREAD,     /* 299 */
+       OP_SHMWRITE,    /* 300 */
+       OP_MSGGET,      /* 301 */
+       OP_MSGCTL,      /* 302 */
+       OP_MSGSND,      /* 303 */
+       OP_MSGRCV,      /* 304 */
+       OP_SEMGET,      /* 305 */
+       OP_SEMCTL,      /* 306 */
+       OP_SEMOP,       /* 307 */
+       OP_REQUIRE,     /* 308 */
+       OP_DOFILE,      /* 309 */
+       OP_ENTEREVAL,   /* 310 */
+       OP_LEAVEEVAL,   /* 311 */
+       OP_ENTERTRY,    /* 312 */
+       OP_LEAVETRY,    /* 313 */
+       OP_GHBYNAME,    /* 314 */
+       OP_GHBYADDR,    /* 315 */
+       OP_GHOSTENT,    /* 316 */
+       OP_GNBYNAME,    /* 317 */
+       OP_GNBYADDR,    /* 318 */
+       OP_GNETENT,     /* 319 */
+       OP_GPBYNAME,    /* 320 */
+       OP_GPBYNUMBER,  /* 321 */
+       OP_GPROTOENT,   /* 322 */
+       OP_GSBYNAME,    /* 323 */
+       OP_GSBYPORT,    /* 324 */
+       OP_GSERVENT,    /* 325 */
+       OP_SHOSTENT,    /* 326 */
+       OP_SNETENT,     /* 327 */
+       OP_SPROTOENT,   /* 328 */
+       OP_SSERVENT,    /* 329 */
+       OP_EHOSTENT,    /* 330 */
+       OP_ENETENT,     /* 331 */
+       OP_EPROTOENT,   /* 332 */
+       OP_ESERVENT,    /* 333 */
+       OP_GPWNAM,      /* 334 */
+       OP_GPWUID,      /* 335 */
+       OP_GPWENT,      /* 336 */
+       OP_SPWENT,      /* 337 */
+       OP_EPWENT,      /* 338 */
+       OP_GGRNAM,      /* 339 */
+       OP_GGRGID,      /* 340 */
+       OP_GGRENT,      /* 341 */
+       OP_SGRENT,      /* 342 */
+       OP_EGRENT,      /* 343 */
+       OP_GETLOGIN,    /* 344 */
+       OP_SYSCALL,     /* 345 */
+       OP_LOCK,        /* 346 */
+       OP_THREADSV,    /* 347 */
+       OP_max          
 } opcode;
 
-#define MAXO 317
+#define MAXO 348
+
+#ifndef DOINIT
+EXT char *op_name[];
+#else
+EXT char *op_name[] = {
+       "null",
+       "stub",
+       "scalar",
+       "pushmark",
+       "wantarray",
+       "const",
+       "gvsv",
+       "gv",
+       "gelem",
+       "padsv",
+       "padav",
+       "padhv",
+       "padany",
+       "pushre",
+       "rv2gv",
+       "rv2sv",
+       "av2arylen",
+       "rv2cv",
+       "anoncode",
+       "prototype",
+       "refgen",
+       "srefgen",
+       "ref",
+       "bless",
+       "backtick",
+       "glob",
+       "readline",
+       "rcatline",
+       "regcmaybe",
+       "regcreset",
+       "regcomp",
+       "match",
+       "qr",
+       "subst",
+       "substcont",
+       "trans",
+       "sassign",
+       "aassign",
+       "chop",
+       "schop",
+       "chomp",
+       "schomp",
+       "defined",
+       "undef",
+       "study",
+       "pos",
+       "preinc",
+       "i_preinc",
+       "predec",
+       "i_predec",
+       "postinc",
+       "i_postinc",
+       "postdec",
+       "i_postdec",
+       "pow",
+       "multiply",
+       "i_multiply",
+       "divide",
+       "i_divide",
+       "modulo",
+       "i_modulo",
+       "repeat",
+       "add",
+       "i_add",
+       "subtract",
+       "i_subtract",
+       "concat",
+       "stringify",
+       "left_shift",
+       "right_shift",
+       "lt",
+       "i_lt",
+       "gt",
+       "i_gt",
+       "le",
+       "i_le",
+       "ge",
+       "i_ge",
+       "eq",
+       "i_eq",
+       "ne",
+       "i_ne",
+       "ncmp",
+       "i_ncmp",
+       "slt",
+       "sgt",
+       "sle",
+       "sge",
+       "seq",
+       "sne",
+       "scmp",
+       "bit_and",
+       "bit_xor",
+       "bit_or",
+       "negate",
+       "i_negate",
+       "not",
+       "complement",
+       "atan2",
+       "sin",
+       "cos",
+       "rand",
+       "srand",
+       "exp",
+       "log",
+       "sqrt",
+       "int",
+       "hex",
+       "oct",
+       "abs",
+       "length",
+       "substr",
+       "vec",
+       "index",
+       "rindex",
+       "sprintf",
+       "formline",
+       "ord",
+       "chr",
+       "crypt",
+       "ucfirst",
+       "lcfirst",
+       "uc",
+       "lc",
+       "quotemeta",
+       "rv2av",
+       "aelemfast",
+       "aelem",
+       "aslice",
+       "each",
+       "values",
+       "keys",
+       "delete",
+       "exists",
+       "rv2hv",
+       "helem",
+       "hslice",
+       "unpack",
+       "pack",
+       "split",
+       "join",
+       "list",
+       "lslice",
+       "anonlist",
+       "anonhash",
+       "splice",
+       "push",
+       "pop",
+       "shift",
+       "unshift",
+       "sort",
+       "reverse",
+       "grepstart",
+       "grepwhile",
+       "mapstart",
+       "mapwhile",
+       "range",
+       "flip",
+       "flop",
+       "and",
+       "or",
+       "xor",
+       "cond_expr",
+       "andassign",
+       "orassign",
+       "method",
+       "entersub",
+       "leavesub",
+       "caller",
+       "warn",
+       "die",
+       "reset",
+       "lineseq",
+       "nextstate",
+       "dbstate",
+       "unstack",
+       "enter",
+       "leave",
+       "scope",
+       "enteriter",
+       "iter",
+       "enterloop",
+       "leaveloop",
+       "return",
+       "last",
+       "next",
+       "redo",
+       "dump",
+       "goto",
+       "exit",
+       "open",
+       "close",
+       "pipe_op",
+       "fileno",
+       "umask",
+       "binmode",
+       "tie",
+       "untie",
+       "tied",
+       "dbmopen",
+       "dbmclose",
+       "sselect",
+       "select",
+       "getc",
+       "read",
+       "enterwrite",
+       "leavewrite",
+       "prtf",
+       "print",
+       "sysopen",
+       "sysseek",
+       "sysread",
+       "syswrite",
+       "send",
+       "recv",
+       "eof",
+       "tell",
+       "seek",
+       "truncate",
+       "fcntl",
+       "ioctl",
+       "flock",
+       "socket",
+       "sockpair",
+       "bind",
+       "connect",
+       "listen",
+       "accept",
+       "shutdown",
+       "gsockopt",
+       "ssockopt",
+       "getsockname",
+       "getpeername",
+       "lstat",
+       "stat",
+       "ftrread",
+       "ftrwrite",
+       "ftrexec",
+       "fteread",
+       "ftewrite",
+       "fteexec",
+       "ftis",
+       "fteowned",
+       "ftrowned",
+       "ftzero",
+       "ftsize",
+       "ftmtime",
+       "ftatime",
+       "ftctime",
+       "ftsock",
+       "ftchr",
+       "ftblk",
+       "ftfile",
+       "ftdir",
+       "ftpipe",
+       "ftlink",
+       "ftsuid",
+       "ftsgid",
+       "ftsvtx",
+       "fttty",
+       "fttext",
+       "ftbinary",
+       "chdir",
+       "chown",
+       "chroot",
+       "unlink",
+       "chmod",
+       "utime",
+       "rename",
+       "link",
+       "symlink",
+       "readlink",
+       "mkdir",
+       "rmdir",
+       "open_dir",
+       "readdir",
+       "telldir",
+       "seekdir",
+       "rewinddir",
+       "closedir",
+       "fork",
+       "wait",
+       "waitpid",
+       "system",
+       "exec",
+       "kill",
+       "getppid",
+       "getpgrp",
+       "setpgrp",
+       "getpriority",
+       "setpriority",
+       "time",
+       "tms",
+       "localtime",
+       "gmtime",
+       "alarm",
+       "sleep",
+       "shmget",
+       "shmctl",
+       "shmread",
+       "shmwrite",
+       "msgget",
+       "msgctl",
+       "msgsnd",
+       "msgrcv",
+       "semget",
+       "semctl",
+       "semop",
+       "require",
+       "dofile",
+       "entereval",
+       "leaveeval",
+       "entertry",
+       "leavetry",
+       "ghbyname",
+       "ghbyaddr",
+       "ghostent",
+       "gnbyname",
+       "gnbyaddr",
+       "gnetent",
+       "gpbyname",
+       "gpbynumber",
+       "gprotoent",
+       "gsbyname",
+       "gsbyport",
+       "gservent",
+       "shostent",
+       "snetent",
+       "sprotoent",
+       "sservent",
+       "ehostent",
+       "enetent",
+       "eprotoent",
+       "eservent",
+       "gpwnam",
+       "gpwuid",
+       "gpwent",
+       "spwent",
+       "epwent",
+       "ggrnam",
+       "ggrgid",
+       "ggrent",
+       "sgrent",
+       "egrent",
+       "getlogin",
+       "syscall",
+       "lock",
+       "threadsv",
+};
+#endif
 
 #ifndef DOINIT
-extern char *op_name[];
+EXT char *op_desc[];
 #else
-char *op_name[] = {
+EXT char *op_desc[] = {
        "null operation",
        "stub",
        "scalar",
        "pushmark",
        "wantarray",
        "constant item",
-       "interpreted string",
        "scalar variable",
        "glob value",
+       "glob elem",
        "private variable",
        "private array",
        "private hash",
        "private something",
        "push regexp",
        "ref-to-glob cast",
-       "scalar value length",
-       "ref-to-scalar cast",
+       "scalar deref",
        "array length",
-       "subroutine reference",
-       "backslash reference",
+       "subroutine deref",
+       "anonymous subroutine",
+       "subroutine prototype",
+       "reference constructor",
+       "scalar ref constructor",
        "reference-type operator",
        "bless",
        "backticks",
@@ -351,40 +745,61 @@ char *op_name[] = {
        "<HANDLE>",
        "append I/O operator",
        "regexp comp once",
+       "regexp reset interpolation flag",
        "regexp compilation",
        "pattern match",
+       "pattern quote",
        "substitution",
        "substitution cont",
        "character translation",
        "scalar assignment",
        "list assignment",
-       "scalar chop",
        "chop",
+       "scalar chop",
+       "safe chop",
+       "scalar safe chop",
        "defined operator",
        "undef operator",
        "study",
+       "match position",
        "preincrement",
+       "integer preincrement",
        "predecrement",
+       "integer predecrement",
        "postincrement",
+       "integer postincrement",
        "postdecrement",
+       "integer postdecrement",
        "exponentiation",
        "multiplication",
+       "integer multiplication",
        "division",
+       "integer division",
        "modulus",
+       "integer modulus",
        "repeat",
        "addition",
        "integer addition",
        "subtraction",
+       "integer subtraction",
        "concatenation",
+       "string",
        "left bitshift",
        "right bitshift",
        "numeric lt",
+       "integer lt",
        "numeric gt",
+       "integer gt",
        "numeric le",
+       "integer le",
        "numeric ge",
+       "integer ge",
        "numeric eq",
+       "integer eq",
        "numeric ne",
-       "spaceship",
+       "integer ne",
+       "spaceship operator",
+       "integer spaceship",
        "string lt",
        "string gt",
        "string le",
@@ -392,10 +807,11 @@ char *op_name[] = {
        "string eq",
        "string ne",
        "string comparison",
-       "bit and",
-       "xor",
-       "bit or",
+       "bitwise and",
+       "bitwise xor",
+       "bitwise or",
        "negate",
+       "integer negate",
        "not",
        "1's complement",
        "atan2",
@@ -424,6 +840,7 @@ char *op_name[] = {
        "lower case first",
        "upper case",
        "lower case",
+       "quote metachars",
        "array deref",
        "known array element",
        "array element",
@@ -432,9 +849,10 @@ char *op_name[] = {
        "values",
        "keys",
        "delete",
-       "associative array deref",
-       "associative array elem",
-       "associative array slice",
+       "exists operator",
+       "hash deref",
+       "hash elem",
+       "hash slice",
        "unpack",
        "pack",
        "split",
@@ -452,11 +870,14 @@ char *op_name[] = {
        "reverse",
        "grep",
        "grep iterator",
+       "map",
+       "map iterator",
        "flipflop",
        "range (or flip)",
        "range (or flop)",
        "logical and",
        "logical or",
+       "logical xor",
        "conditional expression",
        "logical and assignment",
        "logical or assignment",
@@ -485,8 +906,6 @@ char *op_name[] = {
        "dump",
        "goto",
        "exit",
-       "numeric switch",
-       "character switch",
        "open",
        "close",
        "pipe",
@@ -495,6 +914,7 @@ char *op_name[] = {
        "binmode",
        "tie",
        "untie",
+       "tied",
        "dbmopen",
        "dbmclose",
        "select system call",
@@ -505,6 +925,8 @@ char *op_name[] = {
        "write exit",
        "printf",
        "print",
+       "sysopen",
+       "sysseek",
        "sysread",
        "syswrite",
        "send",
@@ -606,7 +1028,6 @@ char *op_name[] = {
        "do 'file'",
        "eval string",
        "eval exit",
-       "eval constant string",
        "eval block",
        "eval block exit",
        "gethostbyname",
@@ -641,377 +1062,426 @@ char *op_name[] = {
        "endgrent",
        "getlogin",
        "syscall",
+       "lock",
+       "per-thread variable",
 };
 #endif
 
-OP *   ck_aelem        P((OP* op));
-OP *   ck_chop         P((OP* op));
-OP *   ck_concat       P((OP* op));
-OP *   ck_eof          P((OP* op));
-OP *   ck_eval         P((OP* op));
-OP *   ck_exec         P((OP* op));
-OP *   ck_formline     P((OP* op));
-OP *   ck_ftst         P((OP* op));
-OP *   ck_fun          P((OP* op));
-OP *   ck_glob         P((OP* op));
-OP *   ck_grep         P((OP* op));
-OP *   ck_index        P((OP* op));
-OP *   ck_lengthconst  P((OP* op));
-OP *   ck_lfun         P((OP* op));
-OP *   ck_listiob      P((OP* op));
-OP *   ck_match        P((OP* op));
-OP *   ck_null         P((OP* op));
-OP *   ck_repeat       P((OP* op));
-OP *   ck_rvconst      P((OP* op));
-OP *   ck_select       P((OP* op));
-OP *   ck_shift        P((OP* op));
-OP *   ck_sort         P((OP* op));
-OP *   ck_split        P((OP* op));
-OP *   ck_subr         P((OP* op));
-OP *   ck_trunc        P((OP* op));
+#ifndef PERL_OBJECT
+START_EXTERN_C
+
+OP *   ck_anoncode     _((OP* o));
+OP *   ck_bitop        _((OP* o));
+OP *   ck_concat       _((OP* o));
+OP *   ck_delete       _((OP* o));
+OP *   ck_eof          _((OP* o));
+OP *   ck_eval         _((OP* o));
+OP *   ck_exec         _((OP* o));
+OP *   ck_exists       _((OP* o));
+OP *   ck_ftst         _((OP* o));
+OP *   ck_fun          _((OP* o));
+OP *   ck_fun_locale   _((OP* o));
+OP *   ck_glob         _((OP* o));
+OP *   ck_grep         _((OP* o));
+OP *   ck_index        _((OP* o));
+OP *   ck_lengthconst  _((OP* o));
+OP *   ck_lfun         _((OP* o));
+OP *   ck_listiob      _((OP* o));
+OP *   ck_match        _((OP* o));
+OP *   ck_null         _((OP* o));
+OP *   ck_repeat       _((OP* o));
+OP *   ck_require      _((OP* o));
+OP *   ck_rfun         _((OP* o));
+OP *   ck_rvconst      _((OP* o));
+OP *   ck_scmp         _((OP* o));
+OP *   ck_select       _((OP* o));
+OP *   ck_shift        _((OP* o));
+OP *   ck_sort         _((OP* o));
+OP *   ck_spair        _((OP* o));
+OP *   ck_split        _((OP* o));
+OP *   ck_subr         _((OP* o));
+OP *   ck_svconst      _((OP* o));
+OP *   ck_trunc        _((OP* o));
 
-OP *   pp_null         P((void));
-OP *   pp_stub         P((void));
-OP *   pp_scalar       P((void));
-OP *   pp_pushmark     P((void));
-OP *   pp_wantarray    P((void));
-OP *   pp_const        P((void));
-OP *   pp_interp       P((void));
-OP *   pp_gvsv         P((void));
-OP *   pp_gv           P((void));
-OP *   pp_padsv        P((void));
-OP *   pp_padav        P((void));
-OP *   pp_padhv        P((void));
-OP *   pp_padany       P((void));
-OP *   pp_pushre       P((void));
-OP *   pp_rv2gv        P((void));
-OP *   pp_sv2len       P((void));
-OP *   pp_rv2sv        P((void));
-OP *   pp_av2arylen    P((void));
-OP *   pp_rv2cv        P((void));
-OP *   pp_refgen       P((void));
-OP *   pp_ref          P((void));
-OP *   pp_bless        P((void));
-OP *   pp_backtick     P((void));
-OP *   pp_glob         P((void));
-OP *   pp_readline     P((void));
-OP *   pp_rcatline     P((void));
-OP *   pp_regcmaybe    P((void));
-OP *   pp_regcomp      P((void));
-OP *   pp_match        P((void));
-OP *   pp_subst        P((void));
-OP *   pp_substcont    P((void));
-OP *   pp_trans        P((void));
-OP *   pp_sassign      P((void));
-OP *   pp_aassign      P((void));
-OP *   pp_schop        P((void));
-OP *   pp_chop         P((void));
-OP *   pp_defined      P((void));
-OP *   pp_undef        P((void));
-OP *   pp_study        P((void));
-OP *   pp_preinc       P((void));
-OP *   pp_predec       P((void));
-OP *   pp_postinc      P((void));
-OP *   pp_postdec      P((void));
-OP *   pp_pow          P((void));
-OP *   pp_multiply     P((void));
-OP *   pp_divide       P((void));
-OP *   pp_modulo       P((void));
-OP *   pp_repeat       P((void));
-OP *   pp_add          P((void));
-OP *   pp_intadd       P((void));
-OP *   pp_subtract     P((void));
-OP *   pp_concat       P((void));
-OP *   pp_left_shift   P((void));
-OP *   pp_right_shift  P((void));
-OP *   pp_lt           P((void));
-OP *   pp_gt           P((void));
-OP *   pp_le           P((void));
-OP *   pp_ge           P((void));
-OP *   pp_eq           P((void));
-OP *   pp_ne           P((void));
-OP *   pp_ncmp         P((void));
-OP *   pp_slt          P((void));
-OP *   pp_sgt          P((void));
-OP *   pp_sle          P((void));
-OP *   pp_sge          P((void));
-OP *   pp_seq          P((void));
-OP *   pp_sne          P((void));
-OP *   pp_scmp         P((void));
-OP *   pp_bit_and      P((void));
-OP *   pp_xor          P((void));
-OP *   pp_bit_or       P((void));
-OP *   pp_negate       P((void));
-OP *   pp_not          P((void));
-OP *   pp_complement   P((void));
-OP *   pp_atan2        P((void));
-OP *   pp_sin          P((void));
-OP *   pp_cos          P((void));
-OP *   pp_rand         P((void));
-OP *   pp_srand        P((void));
-OP *   pp_exp          P((void));
-OP *   pp_log          P((void));
-OP *   pp_sqrt         P((void));
-OP *   pp_int          P((void));
-OP *   pp_hex          P((void));
-OP *   pp_oct          P((void));
-OP *   pp_abs          P((void));
-OP *   pp_length       P((void));
-OP *   pp_substr       P((void));
-OP *   pp_vec          P((void));
-OP *   pp_index        P((void));
-OP *   pp_rindex       P((void));
-OP *   pp_sprintf      P((void));
-OP *   pp_formline     P((void));
-OP *   pp_ord          P((void));
-OP *   pp_chr          P((void));
-OP *   pp_crypt        P((void));
-OP *   pp_ucfirst      P((void));
-OP *   pp_lcfirst      P((void));
-OP *   pp_uc           P((void));
-OP *   pp_lc           P((void));
-OP *   pp_rv2av        P((void));
-OP *   pp_aelemfast    P((void));
-OP *   pp_aelem        P((void));
-OP *   pp_aslice       P((void));
-OP *   pp_each         P((void));
-OP *   pp_values       P((void));
-OP *   pp_keys         P((void));
-OP *   pp_delete       P((void));
-OP *   pp_rv2hv        P((void));
-OP *   pp_helem        P((void));
-OP *   pp_hslice       P((void));
-OP *   pp_unpack       P((void));
-OP *   pp_pack         P((void));
-OP *   pp_split        P((void));
-OP *   pp_join         P((void));
-OP *   pp_list         P((void));
-OP *   pp_lslice       P((void));
-OP *   pp_anonlist     P((void));
-OP *   pp_anonhash     P((void));
-OP *   pp_splice       P((void));
-OP *   pp_push         P((void));
-OP *   pp_pop          P((void));
-OP *   pp_shift        P((void));
-OP *   pp_unshift      P((void));
-OP *   pp_sort         P((void));
-OP *   pp_reverse      P((void));
-OP *   pp_grepstart    P((void));
-OP *   pp_grepwhile    P((void));
-OP *   pp_range        P((void));
-OP *   pp_flip         P((void));
-OP *   pp_flop         P((void));
-OP *   pp_and          P((void));
-OP *   pp_or           P((void));
-OP *   pp_cond_expr    P((void));
-OP *   pp_andassign    P((void));
-OP *   pp_orassign     P((void));
-OP *   pp_method       P((void));
-OP *   pp_entersubr    P((void));
-OP *   pp_leavesubr    P((void));
-OP *   pp_caller       P((void));
-OP *   pp_warn         P((void));
-OP *   pp_die          P((void));
-OP *   pp_reset        P((void));
-OP *   pp_lineseq      P((void));
-OP *   pp_nextstate    P((void));
-OP *   pp_dbstate      P((void));
-OP *   pp_unstack      P((void));
-OP *   pp_enter        P((void));
-OP *   pp_leave        P((void));
-OP *   pp_scope        P((void));
-OP *   pp_enteriter    P((void));
-OP *   pp_iter         P((void));
-OP *   pp_enterloop    P((void));
-OP *   pp_leaveloop    P((void));
-OP *   pp_return       P((void));
-OP *   pp_last         P((void));
-OP *   pp_next         P((void));
-OP *   pp_redo         P((void));
-OP *   pp_dump         P((void));
-OP *   pp_goto         P((void));
-OP *   pp_exit         P((void));
-OP *   pp_nswitch      P((void));
-OP *   pp_cswitch      P((void));
-OP *   pp_open         P((void));
-OP *   pp_close        P((void));
-OP *   pp_pipe_op      P((void));
-OP *   pp_fileno       P((void));
-OP *   pp_umask        P((void));
-OP *   pp_binmode      P((void));
-OP *   pp_tie          P((void));
-OP *   pp_untie        P((void));
-OP *   pp_dbmopen      P((void));
-OP *   pp_dbmclose     P((void));
-OP *   pp_sselect      P((void));
-OP *   pp_select       P((void));
-OP *   pp_getc         P((void));
-OP *   pp_read         P((void));
-OP *   pp_enterwrite   P((void));
-OP *   pp_leavewrite   P((void));
-OP *   pp_prtf         P((void));
-OP *   pp_print        P((void));
-OP *   pp_sysread      P((void));
-OP *   pp_syswrite     P((void));
-OP *   pp_send         P((void));
-OP *   pp_recv         P((void));
-OP *   pp_eof          P((void));
-OP *   pp_tell         P((void));
-OP *   pp_seek         P((void));
-OP *   pp_truncate     P((void));
-OP *   pp_fcntl        P((void));
-OP *   pp_ioctl        P((void));
-OP *   pp_flock        P((void));
-OP *   pp_socket       P((void));
-OP *   pp_sockpair     P((void));
-OP *   pp_bind         P((void));
-OP *   pp_connect      P((void));
-OP *   pp_listen       P((void));
-OP *   pp_accept       P((void));
-OP *   pp_shutdown     P((void));
-OP *   pp_gsockopt     P((void));
-OP *   pp_ssockopt     P((void));
-OP *   pp_getsockname  P((void));
-OP *   pp_getpeername  P((void));
-OP *   pp_lstat        P((void));
-OP *   pp_stat         P((void));
-OP *   pp_ftrread      P((void));
-OP *   pp_ftrwrite     P((void));
-OP *   pp_ftrexec      P((void));
-OP *   pp_fteread      P((void));
-OP *   pp_ftewrite     P((void));
-OP *   pp_fteexec      P((void));
-OP *   pp_ftis         P((void));
-OP *   pp_fteowned     P((void));
-OP *   pp_ftrowned     P((void));
-OP *   pp_ftzero       P((void));
-OP *   pp_ftsize       P((void));
-OP *   pp_ftmtime      P((void));
-OP *   pp_ftatime      P((void));
-OP *   pp_ftctime      P((void));
-OP *   pp_ftsock       P((void));
-OP *   pp_ftchr        P((void));
-OP *   pp_ftblk        P((void));
-OP *   pp_ftfile       P((void));
-OP *   pp_ftdir        P((void));
-OP *   pp_ftpipe       P((void));
-OP *   pp_ftlink       P((void));
-OP *   pp_ftsuid       P((void));
-OP *   pp_ftsgid       P((void));
-OP *   pp_ftsvtx       P((void));
-OP *   pp_fttty        P((void));
-OP *   pp_fttext       P((void));
-OP *   pp_ftbinary     P((void));
-OP *   pp_chdir        P((void));
-OP *   pp_chown        P((void));
-OP *   pp_chroot       P((void));
-OP *   pp_unlink       P((void));
-OP *   pp_chmod        P((void));
-OP *   pp_utime        P((void));
-OP *   pp_rename       P((void));
-OP *   pp_link         P((void));
-OP *   pp_symlink      P((void));
-OP *   pp_readlink     P((void));
-OP *   pp_mkdir        P((void));
-OP *   pp_rmdir        P((void));
-OP *   pp_open_dir     P((void));
-OP *   pp_readdir      P((void));
-OP *   pp_telldir      P((void));
-OP *   pp_seekdir      P((void));
-OP *   pp_rewinddir    P((void));
-OP *   pp_closedir     P((void));
-OP *   pp_fork         P((void));
-OP *   pp_wait         P((void));
-OP *   pp_waitpid      P((void));
-OP *   pp_system       P((void));
-OP *   pp_exec         P((void));
-OP *   pp_kill         P((void));
-OP *   pp_getppid      P((void));
-OP *   pp_getpgrp      P((void));
-OP *   pp_setpgrp      P((void));
-OP *   pp_getpriority  P((void));
-OP *   pp_setpriority  P((void));
-OP *   pp_time         P((void));
-OP *   pp_tms          P((void));
-OP *   pp_localtime    P((void));
-OP *   pp_gmtime       P((void));
-OP *   pp_alarm        P((void));
-OP *   pp_sleep        P((void));
-OP *   pp_shmget       P((void));
-OP *   pp_shmctl       P((void));
-OP *   pp_shmread      P((void));
-OP *   pp_shmwrite     P((void));
-OP *   pp_msgget       P((void));
-OP *   pp_msgctl       P((void));
-OP *   pp_msgsnd       P((void));
-OP *   pp_msgrcv       P((void));
-OP *   pp_semget       P((void));
-OP *   pp_semctl       P((void));
-OP *   pp_semop        P((void));
-OP *   pp_require      P((void));
-OP *   pp_dofile       P((void));
-OP *   pp_entereval    P((void));
-OP *   pp_leaveeval    P((void));
-OP *   pp_evalonce     P((void));
-OP *   pp_entertry     P((void));
-OP *   pp_leavetry     P((void));
-OP *   pp_ghbyname     P((void));
-OP *   pp_ghbyaddr     P((void));
-OP *   pp_ghostent     P((void));
-OP *   pp_gnbyname     P((void));
-OP *   pp_gnbyaddr     P((void));
-OP *   pp_gnetent      P((void));
-OP *   pp_gpbyname     P((void));
-OP *   pp_gpbynumber   P((void));
-OP *   pp_gprotoent    P((void));
-OP *   pp_gsbyname     P((void));
-OP *   pp_gsbyport     P((void));
-OP *   pp_gservent     P((void));
-OP *   pp_shostent     P((void));
-OP *   pp_snetent      P((void));
-OP *   pp_sprotoent    P((void));
-OP *   pp_sservent     P((void));
-OP *   pp_ehostent     P((void));
-OP *   pp_enetent      P((void));
-OP *   pp_eprotoent    P((void));
-OP *   pp_eservent     P((void));
-OP *   pp_gpwnam       P((void));
-OP *   pp_gpwuid       P((void));
-OP *   pp_gpwent       P((void));
-OP *   pp_spwent       P((void));
-OP *   pp_epwent       P((void));
-OP *   pp_ggrnam       P((void));
-OP *   pp_ggrgid       P((void));
-OP *   pp_ggrent       P((void));
-OP *   pp_sgrent       P((void));
-OP *   pp_egrent       P((void));
-OP *   pp_getlogin     P((void));
-OP *   pp_syscall      P((void));
+OP *   pp_null         _((ARGSproto));
+OP *   pp_stub         _((ARGSproto));
+OP *   pp_scalar       _((ARGSproto));
+OP *   pp_pushmark     _((ARGSproto));
+OP *   pp_wantarray    _((ARGSproto));
+OP *   pp_const        _((ARGSproto));
+OP *   pp_gvsv         _((ARGSproto));
+OP *   pp_gv           _((ARGSproto));
+OP *   pp_gelem        _((ARGSproto));
+OP *   pp_padsv        _((ARGSproto));
+OP *   pp_padav        _((ARGSproto));
+OP *   pp_padhv        _((ARGSproto));
+OP *   pp_padany       _((ARGSproto));
+OP *   pp_pushre       _((ARGSproto));
+OP *   pp_rv2gv        _((ARGSproto));
+OP *   pp_rv2sv        _((ARGSproto));
+OP *   pp_av2arylen    _((ARGSproto));
+OP *   pp_rv2cv        _((ARGSproto));
+OP *   pp_anoncode     _((ARGSproto));
+OP *   pp_prototype    _((ARGSproto));
+OP *   pp_refgen       _((ARGSproto));
+OP *   pp_srefgen      _((ARGSproto));
+OP *   pp_ref          _((ARGSproto));
+OP *   pp_bless        _((ARGSproto));
+OP *   pp_backtick     _((ARGSproto));
+OP *   pp_glob         _((ARGSproto));
+OP *   pp_readline     _((ARGSproto));
+OP *   pp_rcatline     _((ARGSproto));
+OP *   pp_regcmaybe    _((ARGSproto));
+OP *   pp_regcreset    _((ARGSproto));
+OP *   pp_regcomp      _((ARGSproto));
+OP *   pp_match        _((ARGSproto));
+OP *   pp_qr           _((ARGSproto));
+OP *   pp_subst        _((ARGSproto));
+OP *   pp_substcont    _((ARGSproto));
+OP *   pp_trans        _((ARGSproto));
+OP *   pp_sassign      _((ARGSproto));
+OP *   pp_aassign      _((ARGSproto));
+OP *   pp_chop         _((ARGSproto));
+OP *   pp_schop        _((ARGSproto));
+OP *   pp_chomp        _((ARGSproto));
+OP *   pp_schomp       _((ARGSproto));
+OP *   pp_defined      _((ARGSproto));
+OP *   pp_undef        _((ARGSproto));
+OP *   pp_study        _((ARGSproto));
+OP *   pp_pos          _((ARGSproto));
+OP *   pp_preinc       _((ARGSproto));
+OP *   pp_i_preinc     _((ARGSproto));
+OP *   pp_predec       _((ARGSproto));
+OP *   pp_i_predec     _((ARGSproto));
+OP *   pp_postinc      _((ARGSproto));
+OP *   pp_i_postinc    _((ARGSproto));
+OP *   pp_postdec      _((ARGSproto));
+OP *   pp_i_postdec    _((ARGSproto));
+OP *   pp_pow          _((ARGSproto));
+OP *   pp_multiply     _((ARGSproto));
+OP *   pp_i_multiply   _((ARGSproto));
+OP *   pp_divide       _((ARGSproto));
+OP *   pp_i_divide     _((ARGSproto));
+OP *   pp_modulo       _((ARGSproto));
+OP *   pp_i_modulo     _((ARGSproto));
+OP *   pp_repeat       _((ARGSproto));
+OP *   pp_add          _((ARGSproto));
+OP *   pp_i_add        _((ARGSproto));
+OP *   pp_subtract     _((ARGSproto));
+OP *   pp_i_subtract   _((ARGSproto));
+OP *   pp_concat       _((ARGSproto));
+OP *   pp_stringify    _((ARGSproto));
+OP *   pp_left_shift   _((ARGSproto));
+OP *   pp_right_shift  _((ARGSproto));
+OP *   pp_lt           _((ARGSproto));
+OP *   pp_i_lt         _((ARGSproto));
+OP *   pp_gt           _((ARGSproto));
+OP *   pp_i_gt         _((ARGSproto));
+OP *   pp_le           _((ARGSproto));
+OP *   pp_i_le         _((ARGSproto));
+OP *   pp_ge           _((ARGSproto));
+OP *   pp_i_ge         _((ARGSproto));
+OP *   pp_eq           _((ARGSproto));
+OP *   pp_i_eq         _((ARGSproto));
+OP *   pp_ne           _((ARGSproto));
+OP *   pp_i_ne         _((ARGSproto));
+OP *   pp_ncmp         _((ARGSproto));
+OP *   pp_i_ncmp       _((ARGSproto));
+OP *   pp_slt          _((ARGSproto));
+OP *   pp_sgt          _((ARGSproto));
+OP *   pp_sle          _((ARGSproto));
+OP *   pp_sge          _((ARGSproto));
+OP *   pp_seq          _((ARGSproto));
+OP *   pp_sne          _((ARGSproto));
+OP *   pp_scmp         _((ARGSproto));
+OP *   pp_bit_and      _((ARGSproto));
+OP *   pp_bit_xor      _((ARGSproto));
+OP *   pp_bit_or       _((ARGSproto));
+OP *   pp_negate       _((ARGSproto));
+OP *   pp_i_negate     _((ARGSproto));
+OP *   pp_not          _((ARGSproto));
+OP *   pp_complement   _((ARGSproto));
+OP *   pp_atan2        _((ARGSproto));
+OP *   pp_sin          _((ARGSproto));
+OP *   pp_cos          _((ARGSproto));
+OP *   pp_rand         _((ARGSproto));
+OP *   pp_srand        _((ARGSproto));
+OP *   pp_exp          _((ARGSproto));
+OP *   pp_log          _((ARGSproto));
+OP *   pp_sqrt         _((ARGSproto));
+OP *   pp_int          _((ARGSproto));
+OP *   pp_hex          _((ARGSproto));
+OP *   pp_oct          _((ARGSproto));
+OP *   pp_abs          _((ARGSproto));
+OP *   pp_length       _((ARGSproto));
+OP *   pp_substr       _((ARGSproto));
+OP *   pp_vec          _((ARGSproto));
+OP *   pp_index        _((ARGSproto));
+OP *   pp_rindex       _((ARGSproto));
+OP *   pp_sprintf      _((ARGSproto));
+OP *   pp_formline     _((ARGSproto));
+OP *   pp_ord          _((ARGSproto));
+OP *   pp_chr          _((ARGSproto));
+OP *   pp_crypt        _((ARGSproto));
+OP *   pp_ucfirst      _((ARGSproto));
+OP *   pp_lcfirst      _((ARGSproto));
+OP *   pp_uc           _((ARGSproto));
+OP *   pp_lc           _((ARGSproto));
+OP *   pp_quotemeta    _((ARGSproto));
+OP *   pp_rv2av        _((ARGSproto));
+OP *   pp_aelemfast    _((ARGSproto));
+OP *   pp_aelem        _((ARGSproto));
+OP *   pp_aslice       _((ARGSproto));
+OP *   pp_each         _((ARGSproto));
+OP *   pp_values       _((ARGSproto));
+OP *   pp_keys         _((ARGSproto));
+OP *   pp_delete       _((ARGSproto));
+OP *   pp_exists       _((ARGSproto));
+OP *   pp_rv2hv        _((ARGSproto));
+OP *   pp_helem        _((ARGSproto));
+OP *   pp_hslice       _((ARGSproto));
+OP *   pp_unpack       _((ARGSproto));
+OP *   pp_pack         _((ARGSproto));
+OP *   pp_split        _((ARGSproto));
+OP *   pp_join         _((ARGSproto));
+OP *   pp_list         _((ARGSproto));
+OP *   pp_lslice       _((ARGSproto));
+OP *   pp_anonlist     _((ARGSproto));
+OP *   pp_anonhash     _((ARGSproto));
+OP *   pp_splice       _((ARGSproto));
+OP *   pp_push         _((ARGSproto));
+OP *   pp_pop          _((ARGSproto));
+OP *   pp_shift        _((ARGSproto));
+OP *   pp_unshift      _((ARGSproto));
+OP *   pp_sort         _((ARGSproto));
+OP *   pp_reverse      _((ARGSproto));
+OP *   pp_grepstart    _((ARGSproto));
+OP *   pp_grepwhile    _((ARGSproto));
+OP *   pp_mapstart     _((ARGSproto));
+OP *   pp_mapwhile     _((ARGSproto));
+OP *   pp_range        _((ARGSproto));
+OP *   pp_flip         _((ARGSproto));
+OP *   pp_flop         _((ARGSproto));
+OP *   pp_and          _((ARGSproto));
+OP *   pp_or           _((ARGSproto));
+OP *   pp_xor          _((ARGSproto));
+OP *   pp_cond_expr    _((ARGSproto));
+OP *   pp_andassign    _((ARGSproto));
+OP *   pp_orassign     _((ARGSproto));
+OP *   pp_method       _((ARGSproto));
+OP *   pp_entersub     _((ARGSproto));
+OP *   pp_leavesub     _((ARGSproto));
+OP *   pp_caller       _((ARGSproto));
+OP *   pp_warn         _((ARGSproto));
+OP *   pp_die          _((ARGSproto));
+OP *   pp_reset        _((ARGSproto));
+OP *   pp_lineseq      _((ARGSproto));
+OP *   pp_nextstate    _((ARGSproto));
+OP *   pp_dbstate      _((ARGSproto));
+OP *   pp_unstack      _((ARGSproto));
+OP *   pp_enter        _((ARGSproto));
+OP *   pp_leave        _((ARGSproto));
+OP *   pp_scope        _((ARGSproto));
+OP *   pp_enteriter    _((ARGSproto));
+OP *   pp_iter         _((ARGSproto));
+OP *   pp_enterloop    _((ARGSproto));
+OP *   pp_leaveloop    _((ARGSproto));
+OP *   pp_return       _((ARGSproto));
+OP *   pp_last         _((ARGSproto));
+OP *   pp_next         _((ARGSproto));
+OP *   pp_redo         _((ARGSproto));
+OP *   pp_dump         _((ARGSproto));
+OP *   pp_goto         _((ARGSproto));
+OP *   pp_exit         _((ARGSproto));
+OP *   pp_open         _((ARGSproto));
+OP *   pp_close        _((ARGSproto));
+OP *   pp_pipe_op      _((ARGSproto));
+OP *   pp_fileno       _((ARGSproto));
+OP *   pp_umask        _((ARGSproto));
+OP *   pp_binmode      _((ARGSproto));
+OP *   pp_tie          _((ARGSproto));
+OP *   pp_untie        _((ARGSproto));
+OP *   pp_tied         _((ARGSproto));
+OP *   pp_dbmopen      _((ARGSproto));
+OP *   pp_dbmclose     _((ARGSproto));
+OP *   pp_sselect      _((ARGSproto));
+OP *   pp_select       _((ARGSproto));
+OP *   pp_getc         _((ARGSproto));
+OP *   pp_read         _((ARGSproto));
+OP *   pp_enterwrite   _((ARGSproto));
+OP *   pp_leavewrite   _((ARGSproto));
+OP *   pp_prtf         _((ARGSproto));
+OP *   pp_print        _((ARGSproto));
+OP *   pp_sysopen      _((ARGSproto));
+OP *   pp_sysseek      _((ARGSproto));
+OP *   pp_sysread      _((ARGSproto));
+OP *   pp_syswrite     _((ARGSproto));
+OP *   pp_send         _((ARGSproto));
+OP *   pp_recv         _((ARGSproto));
+OP *   pp_eof          _((ARGSproto));
+OP *   pp_tell         _((ARGSproto));
+OP *   pp_seek         _((ARGSproto));
+OP *   pp_truncate     _((ARGSproto));
+OP *   pp_fcntl        _((ARGSproto));
+OP *   pp_ioctl        _((ARGSproto));
+OP *   pp_flock        _((ARGSproto));
+OP *   pp_socket       _((ARGSproto));
+OP *   pp_sockpair     _((ARGSproto));
+OP *   pp_bind         _((ARGSproto));
+OP *   pp_connect      _((ARGSproto));
+OP *   pp_listen       _((ARGSproto));
+OP *   pp_accept       _((ARGSproto));
+OP *   pp_shutdown     _((ARGSproto));
+OP *   pp_gsockopt     _((ARGSproto));
+OP *   pp_ssockopt     _((ARGSproto));
+OP *   pp_getsockname  _((ARGSproto));
+OP *   pp_getpeername  _((ARGSproto));
+OP *   pp_lstat        _((ARGSproto));
+OP *   pp_stat         _((ARGSproto));
+OP *   pp_ftrread      _((ARGSproto));
+OP *   pp_ftrwrite     _((ARGSproto));
+OP *   pp_ftrexec      _((ARGSproto));
+OP *   pp_fteread      _((ARGSproto));
+OP *   pp_ftewrite     _((ARGSproto));
+OP *   pp_fteexec      _((ARGSproto));
+OP *   pp_ftis         _((ARGSproto));
+OP *   pp_fteowned     _((ARGSproto));
+OP *   pp_ftrowned     _((ARGSproto));
+OP *   pp_ftzero       _((ARGSproto));
+OP *   pp_ftsize       _((ARGSproto));
+OP *   pp_ftmtime      _((ARGSproto));
+OP *   pp_ftatime      _((ARGSproto));
+OP *   pp_ftctime      _((ARGSproto));
+OP *   pp_ftsock       _((ARGSproto));
+OP *   pp_ftchr        _((ARGSproto));
+OP *   pp_ftblk        _((ARGSproto));
+OP *   pp_ftfile       _((ARGSproto));
+OP *   pp_ftdir        _((ARGSproto));
+OP *   pp_ftpipe       _((ARGSproto));
+OP *   pp_ftlink       _((ARGSproto));
+OP *   pp_ftsuid       _((ARGSproto));
+OP *   pp_ftsgid       _((ARGSproto));
+OP *   pp_ftsvtx       _((ARGSproto));
+OP *   pp_fttty        _((ARGSproto));
+OP *   pp_fttext       _((ARGSproto));
+OP *   pp_ftbinary     _((ARGSproto));
+OP *   pp_chdir        _((ARGSproto));
+OP *   pp_chown        _((ARGSproto));
+OP *   pp_chroot       _((ARGSproto));
+OP *   pp_unlink       _((ARGSproto));
+OP *   pp_chmod        _((ARGSproto));
+OP *   pp_utime        _((ARGSproto));
+OP *   pp_rename       _((ARGSproto));
+OP *   pp_link         _((ARGSproto));
+OP *   pp_symlink      _((ARGSproto));
+OP *   pp_readlink     _((ARGSproto));
+OP *   pp_mkdir        _((ARGSproto));
+OP *   pp_rmdir        _((ARGSproto));
+OP *   pp_open_dir     _((ARGSproto));
+OP *   pp_readdir      _((ARGSproto));
+OP *   pp_telldir      _((ARGSproto));
+OP *   pp_seekdir      _((ARGSproto));
+OP *   pp_rewinddir    _((ARGSproto));
+OP *   pp_closedir     _((ARGSproto));
+OP *   pp_fork         _((ARGSproto));
+OP *   pp_wait         _((ARGSproto));
+OP *   pp_waitpid      _((ARGSproto));
+OP *   pp_system       _((ARGSproto));
+OP *   pp_exec         _((ARGSproto));
+OP *   pp_kill         _((ARGSproto));
+OP *   pp_getppid      _((ARGSproto));
+OP *   pp_getpgrp      _((ARGSproto));
+OP *   pp_setpgrp      _((ARGSproto));
+OP *   pp_getpriority  _((ARGSproto));
+OP *   pp_setpriority  _((ARGSproto));
+OP *   pp_time         _((ARGSproto));
+OP *   pp_tms          _((ARGSproto));
+OP *   pp_localtime    _((ARGSproto));
+OP *   pp_gmtime       _((ARGSproto));
+OP *   pp_alarm        _((ARGSproto));
+OP *   pp_sleep        _((ARGSproto));
+OP *   pp_shmget       _((ARGSproto));
+OP *   pp_shmctl       _((ARGSproto));
+OP *   pp_shmread      _((ARGSproto));
+OP *   pp_shmwrite     _((ARGSproto));
+OP *   pp_msgget       _((ARGSproto));
+OP *   pp_msgctl       _((ARGSproto));
+OP *   pp_msgsnd       _((ARGSproto));
+OP *   pp_msgrcv       _((ARGSproto));
+OP *   pp_semget       _((ARGSproto));
+OP *   pp_semctl       _((ARGSproto));
+OP *   pp_semop        _((ARGSproto));
+OP *   pp_require      _((ARGSproto));
+OP *   pp_dofile       _((ARGSproto));
+OP *   pp_entereval    _((ARGSproto));
+OP *   pp_leaveeval    _((ARGSproto));
+OP *   pp_entertry     _((ARGSproto));
+OP *   pp_leavetry     _((ARGSproto));
+OP *   pp_ghbyname     _((ARGSproto));
+OP *   pp_ghbyaddr     _((ARGSproto));
+OP *   pp_ghostent     _((ARGSproto));
+OP *   pp_gnbyname     _((ARGSproto));
+OP *   pp_gnbyaddr     _((ARGSproto));
+OP *   pp_gnetent      _((ARGSproto));
+OP *   pp_gpbyname     _((ARGSproto));
+OP *   pp_gpbynumber   _((ARGSproto));
+OP *   pp_gprotoent    _((ARGSproto));
+OP *   pp_gsbyname     _((ARGSproto));
+OP *   pp_gsbyport     _((ARGSproto));
+OP *   pp_gservent     _((ARGSproto));
+OP *   pp_shostent     _((ARGSproto));
+OP *   pp_snetent      _((ARGSproto));
+OP *   pp_sprotoent    _((ARGSproto));
+OP *   pp_sservent     _((ARGSproto));
+OP *   pp_ehostent     _((ARGSproto));
+OP *   pp_enetent      _((ARGSproto));
+OP *   pp_eprotoent    _((ARGSproto));
+OP *   pp_eservent     _((ARGSproto));
+OP *   pp_gpwnam       _((ARGSproto));
+OP *   pp_gpwuid       _((ARGSproto));
+OP *   pp_gpwent       _((ARGSproto));
+OP *   pp_spwent       _((ARGSproto));
+OP *   pp_epwent       _((ARGSproto));
+OP *   pp_ggrnam       _((ARGSproto));
+OP *   pp_ggrgid       _((ARGSproto));
+OP *   pp_ggrent       _((ARGSproto));
+OP *   pp_sgrent       _((ARGSproto));
+OP *   pp_egrent       _((ARGSproto));
+OP *   pp_getlogin     _((ARGSproto));
+OP *   pp_syscall      _((ARGSproto));
+OP *   pp_lock         _((ARGSproto));
+OP *   pp_threadsv     _((ARGSproto));
+
+END_EXTERN_C
+#endif /* PERL_OBJECT */
 
 #ifndef DOINIT
-extern OP * (*ppaddr[])();
+EXT OP * (CPERLscope(*ppaddr)[])(ARGSproto);
 #else
-OP * (*ppaddr[])() = {
+#ifndef PERL_OBJECT
+EXT OP * (CPERLscope(*ppaddr)[])(ARGSproto) = {
        pp_null,
        pp_stub,
        pp_scalar,
        pp_pushmark,
        pp_wantarray,
        pp_const,
-       pp_interp,
        pp_gvsv,
        pp_gv,
+       pp_gelem,
        pp_padsv,
        pp_padav,
        pp_padhv,
        pp_padany,
        pp_pushre,
        pp_rv2gv,
-       pp_sv2len,
        pp_rv2sv,
        pp_av2arylen,
        pp_rv2cv,
+       pp_anoncode,
+       pp_prototype,
        pp_refgen,
+       pp_srefgen,
        pp_ref,
        pp_bless,
        pp_backtick,
@@ -1019,40 +1489,61 @@ OP * (*ppaddr[])() = {
        pp_readline,
        pp_rcatline,
        pp_regcmaybe,
+       pp_regcreset,
        pp_regcomp,
        pp_match,
+       pp_qr,
        pp_subst,
        pp_substcont,
        pp_trans,
        pp_sassign,
        pp_aassign,
-       pp_schop,
        pp_chop,
+       pp_schop,
+       pp_chomp,
+       pp_schomp,
        pp_defined,
        pp_undef,
        pp_study,
+       pp_pos,
        pp_preinc,
+       pp_i_preinc,
        pp_predec,
+       pp_i_predec,
        pp_postinc,
+       pp_i_postinc,
        pp_postdec,
+       pp_i_postdec,
        pp_pow,
        pp_multiply,
+       pp_i_multiply,
        pp_divide,
+       pp_i_divide,
        pp_modulo,
+       pp_i_modulo,
        pp_repeat,
        pp_add,
-       pp_intadd,
+       pp_i_add,
        pp_subtract,
+       pp_i_subtract,
        pp_concat,
+       pp_stringify,
        pp_left_shift,
        pp_right_shift,
        pp_lt,
+       pp_i_lt,
        pp_gt,
+       pp_i_gt,
        pp_le,
+       pp_i_le,
        pp_ge,
+       pp_i_ge,
        pp_eq,
+       pp_i_eq,
        pp_ne,
+       pp_i_ne,
        pp_ncmp,
+       pp_i_ncmp,
        pp_slt,
        pp_sgt,
        pp_sle,
@@ -1061,9 +1552,10 @@ OP * (*ppaddr[])() = {
        pp_sne,
        pp_scmp,
        pp_bit_and,
-       pp_xor,
+       pp_bit_xor,
        pp_bit_or,
        pp_negate,
+       pp_i_negate,
        pp_not,
        pp_complement,
        pp_atan2,
@@ -1092,6 +1584,7 @@ OP * (*ppaddr[])() = {
        pp_lcfirst,
        pp_uc,
        pp_lc,
+       pp_quotemeta,
        pp_rv2av,
        pp_aelemfast,
        pp_aelem,
@@ -1100,6 +1593,7 @@ OP * (*ppaddr[])() = {
        pp_values,
        pp_keys,
        pp_delete,
+       pp_exists,
        pp_rv2hv,
        pp_helem,
        pp_hslice,
@@ -1120,17 +1614,20 @@ OP * (*ppaddr[])() = {
        pp_reverse,
        pp_grepstart,
        pp_grepwhile,
+       pp_mapstart,
+       pp_mapwhile,
        pp_range,
        pp_flip,
        pp_flop,
        pp_and,
        pp_or,
+       pp_xor,
        pp_cond_expr,
        pp_andassign,
        pp_orassign,
        pp_method,
-       pp_entersubr,
-       pp_leavesubr,
+       pp_entersub,
+       pp_leavesub,
        pp_caller,
        pp_warn,
        pp_die,
@@ -1153,8 +1650,6 @@ OP * (*ppaddr[])() = {
        pp_dump,
        pp_goto,
        pp_exit,
-       pp_nswitch,
-       pp_cswitch,
        pp_open,
        pp_close,
        pp_pipe_op,
@@ -1163,6 +1658,7 @@ OP * (*ppaddr[])() = {
        pp_binmode,
        pp_tie,
        pp_untie,
+       pp_tied,
        pp_dbmopen,
        pp_dbmclose,
        pp_sselect,
@@ -1173,6 +1669,8 @@ OP * (*ppaddr[])() = {
        pp_leavewrite,
        pp_prtf,
        pp_print,
+       pp_sysopen,
+       pp_sysseek,
        pp_sysread,
        pp_syswrite,
        pp_send,
@@ -1274,7 +1772,6 @@ OP * (*ppaddr[])() = {
        pp_dofile,
        pp_entereval,
        pp_leaveeval,
-       pp_evalonce,
        pp_entertry,
        pp_leavetry,
        pp_ghbyname,
@@ -1309,33 +1806,39 @@ OP * (*ppaddr[])() = {
        pp_egrent,
        pp_getlogin,
        pp_syscall,
+       pp_lock,
+       pp_threadsv,
 };
+#endif /* PERL_OBJECT */
 #endif
 
 #ifndef DOINIT
-extern OP * (*check[])();
+EXT OP * (CPERLscope(*check)[]) _((OP *op));
 #else
-OP * (*check[])() = {
+#ifndef PERL_OBJECT
+EXT OP * (CPERLscope(*check)[]) _((OP *op)) = {
        ck_null,        /* null */
        ck_null,        /* stub */
        ck_fun,         /* scalar */
        ck_null,        /* pushmark */
        ck_null,        /* wantarray */
-       ck_null,        /* const */
-       ck_null,        /* interp */
+       ck_svconst,     /* const */
        ck_null,        /* gvsv */
        ck_null,        /* gv */
+       ck_null,        /* gelem */
        ck_null,        /* padsv */
        ck_null,        /* padav */
        ck_null,        /* padhv */
        ck_null,        /* padany */
        ck_null,        /* pushre */
        ck_rvconst,     /* rv2gv */
-       ck_null,        /* sv2len */
        ck_rvconst,     /* rv2sv */
        ck_null,        /* av2arylen */
        ck_rvconst,     /* rv2cv */
-       ck_null,        /* refgen */
+       ck_anoncode,    /* anoncode */
+       ck_null,        /* prototype */
+       ck_spair,       /* refgen */
+       ck_null,        /* srefgen */
        ck_fun,         /* ref */
        ck_fun,         /* bless */
        ck_null,        /* backtick */
@@ -1343,53 +1846,75 @@ OP * (*check[])() = {
        ck_null,        /* readline */
        ck_null,        /* rcatline */
        ck_fun,         /* regcmaybe */
+       ck_fun,         /* regcreset */
        ck_null,        /* regcomp */
        ck_match,       /* match */
+       ck_match,       /* qr */
        ck_null,        /* subst */
        ck_null,        /* substcont */
        ck_null,        /* trans */
        ck_null,        /* sassign */
        ck_null,        /* aassign */
+       ck_spair,       /* chop */
        ck_null,        /* schop */
-       ck_chop,        /* chop */
-       ck_lfun,        /* defined */
+       ck_spair,       /* chomp */
+       ck_null,        /* schomp */
+       ck_rfun,        /* defined */
        ck_lfun,        /* undef */
        ck_fun,         /* study */
+       ck_lfun,        /* pos */
        ck_lfun,        /* preinc */
+       ck_lfun,        /* i_preinc */
        ck_lfun,        /* predec */
+       ck_lfun,        /* i_predec */
        ck_lfun,        /* postinc */
+       ck_lfun,        /* i_postinc */
        ck_lfun,        /* postdec */
+       ck_lfun,        /* i_postdec */
        ck_null,        /* pow */
        ck_null,        /* multiply */
+       ck_null,        /* i_multiply */
        ck_null,        /* divide */
+       ck_null,        /* i_divide */
        ck_null,        /* modulo */
+       ck_null,        /* i_modulo */
        ck_repeat,      /* repeat */
        ck_null,        /* add */
-       ck_null,        /* intadd */
+       ck_null,        /* i_add */
        ck_null,        /* subtract */
+       ck_null,        /* i_subtract */
        ck_concat,      /* concat */
-       ck_null,        /* left_shift */
-       ck_null,        /* right_shift */
+       ck_fun,         /* stringify */
+       ck_bitop,       /* left_shift */
+       ck_bitop,       /* right_shift */
        ck_null,        /* lt */
+       ck_null,        /* i_lt */
        ck_null,        /* gt */
+       ck_null,        /* i_gt */
        ck_null,        /* le */
+       ck_null,        /* i_le */
        ck_null,        /* ge */
+       ck_null,        /* i_ge */
        ck_null,        /* eq */
+       ck_null,        /* i_eq */
        ck_null,        /* ne */
+       ck_null,        /* i_ne */
        ck_null,        /* ncmp */
-       ck_null,        /* slt */
-       ck_null,        /* sgt */
-       ck_null,        /* sle */
-       ck_null,        /* sge */
+       ck_null,        /* i_ncmp */
+       ck_scmp,        /* slt */
+       ck_scmp,        /* sgt */
+       ck_scmp,        /* sle */
+       ck_scmp,        /* sge */
        ck_null,        /* seq */
        ck_null,        /* sne */
-       ck_null,        /* scmp */
-       ck_null,        /* bit_and */
-       ck_null,        /* xor */
-       ck_null,        /* bit_or */
+       ck_scmp,        /* scmp */
+       ck_bitop,       /* bit_and */
+       ck_bitop,       /* bit_xor */
+       ck_bitop,       /* bit_or */
        ck_null,        /* negate */
+       ck_null,        /* i_negate */
        ck_null,        /* not */
-       ck_null,        /* complement */
+       ck_bitop,       /* complement */
        ck_fun,         /* atan2 */
        ck_fun,         /* sin */
        ck_fun,         /* cos */
@@ -1407,23 +1932,25 @@ OP * (*check[])() = {
        ck_fun,         /* vec */
        ck_index,       /* index */
        ck_index,       /* rindex */
-       ck_fun,         /* sprintf */
-       ck_formline,    /* formline */
+       ck_fun_locale,  /* sprintf */
+       ck_fun,         /* formline */
        ck_fun,         /* ord */
        ck_fun,         /* chr */
        ck_fun,         /* crypt */
-       ck_fun,         /* ucfirst */
-       ck_fun,         /* lcfirst */
-       ck_fun,         /* uc */
-       ck_fun,         /* lc */
+       ck_fun_locale,  /* ucfirst */
+       ck_fun_locale,  /* lcfirst */
+       ck_fun_locale,  /* uc */
+       ck_fun_locale,  /* lc */
+       ck_fun,         /* quotemeta */
        ck_rvconst,     /* rv2av */
        ck_null,        /* aelemfast */
-       ck_aelem,       /* aelem */
+       ck_null,        /* aelem */
        ck_null,        /* aslice */
        ck_fun,         /* each */
        ck_fun,         /* values */
        ck_fun,         /* keys */
-       ck_null,        /* delete */
+       ck_delete,      /* delete */
+       ck_exists,      /* exists */
        ck_rvconst,     /* rv2hv */
        ck_null,        /* helem */
        ck_null,        /* hslice */
@@ -1433,8 +1960,8 @@ OP * (*check[])() = {
        ck_fun,         /* join */
        ck_null,        /* list */
        ck_null,        /* lslice */
-       ck_null,        /* anonlist */
-       ck_null,        /* anonhash */
+       ck_fun,         /* anonlist */
+       ck_fun,         /* anonhash */
        ck_fun,         /* splice */
        ck_fun,         /* push */
        ck_shift,       /* pop */
@@ -1444,17 +1971,20 @@ OP * (*check[])() = {
        ck_fun,         /* reverse */
        ck_grep,        /* grepstart */
        ck_null,        /* grepwhile */
+       ck_grep,        /* mapstart */
+       ck_null,        /* mapwhile */
        ck_null,        /* range */
        ck_null,        /* flip */
        ck_null,        /* flop */
        ck_null,        /* and */
        ck_null,        /* or */
+       ck_null,        /* xor */
        ck_null,        /* cond_expr */
        ck_null,        /* andassign */
        ck_null,        /* orassign */
        ck_null,        /* method */
-       ck_subr,        /* entersubr */
-       ck_null,        /* leavesubr */
+       ck_subr,        /* entersub */
+       ck_null,        /* leavesub */
        ck_fun,         /* caller */
        ck_fun,         /* warn */
        ck_fun,         /* die */
@@ -1470,15 +2000,13 @@ OP * (*check[])() = {
        ck_null,        /* iter */
        ck_null,        /* enterloop */
        ck_null,        /* leaveloop */
-       ck_fun,         /* return */
+       ck_null,        /* return */
        ck_null,        /* last */
        ck_null,        /* next */
        ck_null,        /* redo */
        ck_null,        /* dump */
        ck_null,        /* goto */
        ck_fun,         /* exit */
-       ck_null,        /* nswitch */
-       ck_null,        /* cswitch */
        ck_fun,         /* open */
        ck_fun,         /* close */
        ck_fun,         /* pipe_op */
@@ -1487,6 +2015,7 @@ OP * (*check[])() = {
        ck_fun,         /* binmode */
        ck_fun,         /* tie */
        ck_fun,         /* untie */
+       ck_fun,         /* tied */
        ck_fun,         /* dbmopen */
        ck_fun,         /* dbmclose */
        ck_select,      /* sselect */
@@ -1497,6 +2026,8 @@ OP * (*check[])() = {
        ck_null,        /* leavewrite */
        ck_listiob,     /* prtf */
        ck_listiob,     /* print */
+       ck_fun,         /* sysopen */
+       ck_fun,         /* sysseek */
        ck_fun,         /* sysread */
        ck_fun,         /* syswrite */
        ck_fun,         /* send */
@@ -1594,11 +2125,10 @@ OP * (*check[])() = {
        ck_fun,         /* semget */
        ck_fun,         /* semctl */
        ck_fun,         /* semop */
-       ck_fun,         /* require */
+       ck_require,     /* require */
        ck_fun,         /* dofile */
        ck_eval,        /* entereval */
        ck_null,        /* leaveeval */
-       ck_null,        /* evalonce */
        ck_null,        /* entertry */
        ck_null,        /* leavetry */
        ck_fun,         /* ghbyname */
@@ -1633,329 +2163,363 @@ OP * (*check[])() = {
        ck_null,        /* egrent */
        ck_null,        /* getlogin */
        ck_fun,         /* syscall */
+       ck_rfun,        /* lock */
+       ck_null,        /* threadsv */
 };
+#endif /* PERL_OBJECT */
 #endif
 
 #ifndef DOINIT
 EXT U32 opargs[];
 #else
-U32 opargs[] = {
+EXT U32 opargs[] = {
        0x00000000,     /* null */
        0x00000000,     /* stub */
-       0x00000104,     /* scalar */
+       0x00001c04,     /* scalar */
        0x00000004,     /* pushmark */
        0x00000014,     /* wantarray */
-       0x00000004,     /* const */
-       0x00000000,     /* interp */
-       0x00000044,     /* gvsv */
-       0x00000044,     /* gv */
-       0x00000000,     /* padsv */
-       0x00000000,     /* padav */
-       0x00000000,     /* padhv */
-       0x00000000,     /* padany */
-       0x00000000,     /* pushre */
-       0x00000044,     /* rv2gv */
-       0x0000001c,     /* sv2len */
-       0x00000044,     /* rv2sv */
-       0x00000014,     /* av2arylen */
-       0x00000040,     /* rv2cv */
-       0x0000020e,     /* refgen */
-       0x0000090c,     /* ref */
-       0x00009104,     /* bless */
-       0x00000008,     /* backtick */
-       0x00000008,     /* glob */
-       0x00000008,     /* readline */
-       0x00000008,     /* rcatline */
-       0x00000104,     /* regcmaybe */
-       0x00000104,     /* regcomp */
-       0x00000040,     /* match */
-       0x00000154,     /* subst */
-       0x00000054,     /* substcont */
-       0x00000114,     /* trans */
+       0x00000704,     /* const */
+       0x00000844,     /* gvsv */
+       0x00000844,     /* gv */
+       0x00011240,     /* gelem */
+       0x00000044,     /* padsv */
+       0x00000040,     /* padav */
+       0x00000040,     /* padhv */
+       0x00000040,     /* padany */
+       0x00000640,     /* pushre */
+       0x00000144,     /* rv2gv */
+       0x00000144,     /* rv2sv */
+       0x00000114,     /* av2arylen */
+       0x00000140,     /* rv2cv */
+       0x00000700,     /* anoncode */
+       0x00001c04,     /* prototype */
+       0x00002101,     /* refgen */
+       0x00001106,     /* srefgen */
+       0x00009c8c,     /* ref */
+       0x00091504,     /* bless */
+       0x00000c08,     /* backtick */
+       0x00099508,     /* glob */
+       0x00000c08,     /* readline */
+       0x00000c08,     /* rcatline */
+       0x00001104,     /* regcmaybe */
+       0x00001104,     /* regcreset */
+       0x00001304,     /* regcomp */
+       0x00000640,     /* match */
+       0x00000004,     /* qr */
+       0x00001654,     /* subst */
+       0x00000354,     /* substcont */
+       0x00001914,     /* trans */
        0x00000004,     /* sassign */
-       0x00002208,     /* aassign */
-       0x00000008,     /* schop */
-       0x00000209,     /* chop */
-       0x00000914,     /* defined */
-       0x00000904,     /* undef */
-       0x0000090c,     /* study */
-       0x00000104,     /* preinc */
-       0x00000104,     /* predec */
-       0x0000010c,     /* postinc */
-       0x0000010c,     /* postdec */
-       0x0000110e,     /* pow */
-       0x0000110e,     /* multiply */
-       0x0000110e,     /* divide */
-       0x0000111e,     /* modulo */
-       0x00001209,     /* repeat */
-       0x0000112e,     /* add */
-       0x0000111e,     /* intadd */
-       0x0000110e,     /* subtract */
-       0x0000110e,     /* concat */
-       0x0000111e,     /* left_shift */
-       0x0000111e,     /* right_shift */
-       0x00001116,     /* lt */
-       0x00001116,     /* gt */
-       0x00001116,     /* le */
-       0x00001116,     /* ge */
-       0x00001116,     /* eq */
-       0x00001116,     /* ne */
-       0x0000111e,     /* ncmp */
-       0x00001116,     /* slt */
-       0x00001116,     /* sgt */
-       0x00001116,     /* sle */
-       0x00001116,     /* sge */
-       0x00001116,     /* seq */
-       0x00001116,     /* sne */
-       0x0000111e,     /* scmp */
-       0x0000110e,     /* bit_and */
-       0x0000110e,     /* xor */
-       0x0000110e,     /* bit_or */
-       0x0000010e,     /* negate */
-       0x00000116,     /* not */
-       0x0000010e,     /* complement */
-       0x0000110e,     /* atan2 */
-       0x0000090e,     /* sin */
-       0x0000090e,     /* cos */
-       0x0000090c,     /* rand */
-       0x00000904,     /* srand */
-       0x0000090e,     /* exp */
-       0x0000090e,     /* log */
-       0x0000090e,     /* sqrt */
-       0x0000090e,     /* int */
-       0x0000091c,     /* hex */
-       0x0000091c,     /* oct */
-       0x0000090e,     /* abs */
-       0x0000011c,     /* length */
-       0x0009110c,     /* substr */
-       0x0001111c,     /* vec */
-       0x0009111c,     /* index */
-       0x0009111c,     /* rindex */
-       0x0000210d,     /* sprintf */
-       0x00002105,     /* formline */
-       0x0000091e,     /* ord */
-       0x0000090e,     /* chr */
-       0x0000110e,     /* crypt */
-       0x0000010a,     /* ucfirst */
-       0x0000010a,     /* lcfirst */
-       0x0000010a,     /* uc */
-       0x0000010a,     /* lc */
-       0x00000048,     /* rv2av */
-       0x00001304,     /* aelemfast */
-       0x00001304,     /* aelem */
-       0x00002301,     /* aslice */
-       0x00000408,     /* each */
-       0x00000408,     /* values */
-       0x00000408,     /* keys */
-       0x00001404,     /* delete */
-       0x00000048,     /* rv2hv */
-       0x00001404,     /* helem */
-       0x00002401,     /* hslice */
-       0x00001100,     /* unpack */
-       0x0000210d,     /* pack */
-       0x00011108,     /* split */
-       0x0000210d,     /* join */
-       0x00000201,     /* list */
-       0x00022400,     /* lslice */
-       0x00000201,     /* anonlist */
-       0x00000201,     /* anonhash */
-       0x00291301,     /* splice */
-       0x0000231d,     /* push */
-       0x00000304,     /* pop */
-       0x00000304,     /* shift */
-       0x0000231d,     /* unshift */
-       0x00002d01,     /* sort */
-       0x00000209,     /* reverse */
-       0x00002541,     /* grepstart */
-       0x00000048,     /* grepwhile */
-       0x00001100,     /* range */
-       0x00001100,     /* flip */
-       0x00000000,     /* flop */
-       0x00000000,     /* and */
-       0x00000000,     /* or */
-       0x00000000,     /* cond_expr */
-       0x00000004,     /* andassign */
-       0x00000004,     /* orassign */
-       0x00000040,     /* method */
-       0x00000241,     /* entersubr */
-       0x00000000,     /* leavesubr */
-       0x00000908,     /* caller */
-       0x0000021d,     /* warn */
-       0x0000025d,     /* die */
-       0x00000914,     /* reset */
-       0x00000000,     /* lineseq */
-       0x00000004,     /* nextstate */
-       0x00000004,     /* dbstate */
+       0x00022208,     /* aassign */
+       0x00002c0d,     /* chop */
+       0x00009c8c,     /* schop */
+       0x00002c0d,     /* chomp */
+       0x00009c8c,     /* schomp */
+       0x00009c94,     /* defined */
+       0x00009c04,     /* undef */
+       0x00009c84,     /* study */
+       0x00009c8c,     /* pos */
+       0x00001164,     /* preinc */
+       0x00001154,     /* i_preinc */
+       0x00001164,     /* predec */
+       0x00001154,     /* i_predec */
+       0x0000116c,     /* postinc */
+       0x0000115c,     /* i_postinc */
+       0x0000116c,     /* postdec */
+       0x0000115c,     /* i_postdec */
+       0x0001120e,     /* pow */
+       0x0001122e,     /* multiply */
+       0x0001121e,     /* i_multiply */
+       0x0001122e,     /* divide */
+       0x0001121e,     /* i_divide */
+       0x0001123e,     /* modulo */
+       0x0001121e,     /* i_modulo */
+       0x00012209,     /* repeat */
+       0x0001122e,     /* add */
+       0x0001121e,     /* i_add */
+       0x0001122e,     /* subtract */
+       0x0001121e,     /* i_subtract */
+       0x0001120e,     /* concat */
+       0x0000150e,     /* stringify */
+       0x0001120e,     /* left_shift */
+       0x0001120e,     /* right_shift */
+       0x00011236,     /* lt */
+       0x00011216,     /* i_lt */
+       0x00011236,     /* gt */
+       0x00011216,     /* i_gt */
+       0x00011236,     /* le */
+       0x00011216,     /* i_le */
+       0x00011236,     /* ge */
+       0x00011216,     /* i_ge */
+       0x00011236,     /* eq */
+       0x00011216,     /* i_eq */
+       0x00011236,     /* ne */
+       0x00011216,     /* i_ne */
+       0x0001123e,     /* ncmp */
+       0x0001121e,     /* i_ncmp */
+       0x00011216,     /* slt */
+       0x00011216,     /* sgt */
+       0x00011216,     /* sle */
+       0x00011216,     /* sge */
+       0x00011216,     /* seq */
+       0x00011216,     /* sne */
+       0x0001121e,     /* scmp */
+       0x0001120e,     /* bit_and */
+       0x0001120e,     /* bit_xor */
+       0x0001120e,     /* bit_or */
+       0x0000112e,     /* negate */
+       0x0000111e,     /* i_negate */
+       0x00001116,     /* not */
+       0x0000110e,     /* complement */
+       0x0001150e,     /* atan2 */
+       0x00009c8e,     /* sin */
+       0x00009c8e,     /* cos */
+       0x00009c0c,     /* rand */
+       0x00009c04,     /* srand */
+       0x00009c8e,     /* exp */
+       0x00009c8e,     /* log */
+       0x00009c8e,     /* sqrt */
+       0x00009c8e,     /* int */
+       0x00009c8e,     /* hex */
+       0x00009c8e,     /* oct */
+       0x00009c8e,     /* abs */
+       0x00009c9c,     /* length */
+       0x0991150c,     /* substr */
+       0x0011151c,     /* vec */
+       0x0091151c,     /* index */
+       0x0091151c,     /* rindex */
+       0x0002150f,     /* sprintf */
+       0x00021505,     /* formline */
+       0x00009c9e,     /* ord */
+       0x00009c8e,     /* chr */
+       0x0001150e,     /* crypt */
+       0x00009c8e,     /* ucfirst */
+       0x00009c8e,     /* lcfirst */
+       0x00009c8e,     /* uc */
+       0x00009c8e,     /* lc */
+       0x00009c8e,     /* quotemeta */
+       0x00000148,     /* rv2av */
+       0x00013804,     /* aelemfast */
+       0x00013204,     /* aelem */
+       0x00023501,     /* aslice */
+       0x00004c08,     /* each */
+       0x00004c08,     /* values */
+       0x00004c08,     /* keys */
+       0x00001c00,     /* delete */
+       0x00001c14,     /* exists */
+       0x00000148,     /* rv2hv */
+       0x00014204,     /* helem */
+       0x00024501,     /* hslice */
+       0x00011500,     /* unpack */
+       0x0002150d,     /* pack */
+       0x00111508,     /* split */
+       0x0002150d,     /* join */
+       0x00002501,     /* list */
+       0x00224200,     /* lslice */
+       0x00002505,     /* anonlist */
+       0x00002505,     /* anonhash */
+       0x02993501,     /* splice */
+       0x0002351d,     /* push */
+       0x00003c14,     /* pop */
+       0x00003c04,     /* shift */
+       0x0002351d,     /* unshift */
+       0x0002d501,     /* sort */
+       0x00002509,     /* reverse */
+       0x00025541,     /* grepstart */
+       0x00000348,     /* grepwhile */
+       0x00025541,     /* mapstart */
+       0x00000348,     /* mapwhile */
+       0x00011400,     /* range */
+       0x00011100,     /* flip */
+       0x00000100,     /* flop */
+       0x00000300,     /* and */
+       0x00000300,     /* or */
+       0x00011306,     /* xor */
+       0x00000440,     /* cond_expr */
+       0x00000304,     /* andassign */
+       0x00000304,     /* orassign */
+       0x00000140,     /* method */
+       0x00002149,     /* entersub */
+       0x00000100,     /* leavesub */
+       0x00009c08,     /* caller */
+       0x0000251d,     /* warn */
+       0x0000255d,     /* die */
+       0x00009c14,     /* reset */
+       0x00000500,     /* lineseq */
+       0x00000b04,     /* nextstate */
+       0x00000b04,     /* dbstate */
        0x00000004,     /* unstack */
        0x00000000,     /* enter */
-       0x00000000,     /* leave */
-       0x00000000,     /* scope */
-       0x00000040,     /* enteriter */
+       0x00000500,     /* leave */
+       0x00000500,     /* scope */
+       0x00000a40,     /* enteriter */
        0x00000000,     /* iter */
-       0x00000040,     /* enterloop */
-       0x00000004,     /* leaveloop */
-       0x00000241,     /* return */
-       0x00000044,     /* last */
-       0x00000044,     /* next */
-       0x00000044,     /* redo */
-       0x00000044,     /* dump */
-       0x00000044,     /* goto */
-       0x00000944,     /* exit */
-       0x00000040,     /* nswitch */
-       0x00000040,     /* cswitch */
-       0x0000961c,     /* open */
-       0x00000e14,     /* close */
-       0x00006614,     /* pipe_op */
-       0x0000061c,     /* fileno */
-       0x0000091c,     /* umask */
-       0x00000604,     /* binmode */
-       0x00021755,     /* tie */
-       0x00000714,     /* untie */
-       0x00011414,     /* dbmopen */
-       0x00000414,     /* dbmclose */
-       0x00111108,     /* sselect */
-       0x00000e0c,     /* select */
-       0x00000e0c,     /* getc */
-       0x0091761d,     /* read */
-       0x00000e54,     /* enterwrite */
-       0x00000000,     /* leavewrite */
-       0x00002e15,     /* prtf */
-       0x00002e15,     /* print */
-       0x0091761d,     /* sysread */
-       0x0091161d,     /* syswrite */
-       0x0091161d,     /* send */
-       0x0011761d,     /* recv */
-       0x00000e14,     /* eof */
-       0x00000e0c,     /* tell */
-       0x00011604,     /* seek */
-       0x00001114,     /* truncate */
-       0x0001160c,     /* fcntl */
-       0x0001160c,     /* ioctl */
-       0x0000161c,     /* flock */
-       0x00111614,     /* socket */
-       0x01116614,     /* sockpair */
-       0x00001614,     /* bind */
-       0x00001614,     /* connect */
-       0x00001614,     /* listen */
-       0x0000661c,     /* accept */
-       0x0000161c,     /* shutdown */
-       0x00011614,     /* gsockopt */
-       0x00111614,     /* ssockopt */
-       0x00000614,     /* getsockname */
-       0x00000614,     /* getpeername */
-       0x00000600,     /* lstat */
-       0x00000600,     /* stat */
-       0x00000614,     /* ftrread */
-       0x00000614,     /* ftrwrite */
-       0x00000614,     /* ftrexec */
-       0x00000614,     /* fteread */
-       0x00000614,     /* ftewrite */
-       0x00000614,     /* fteexec */
-       0x00000614,     /* ftis */
-       0x00000614,     /* fteowned */
-       0x00000614,     /* ftrowned */
-       0x00000614,     /* ftzero */
-       0x0000061c,     /* ftsize */
-       0x0000060c,     /* ftmtime */
-       0x0000060c,     /* ftatime */
-       0x0000060c,     /* ftctime */
-       0x00000614,     /* ftsock */
-       0x00000614,     /* ftchr */
-       0x00000614,     /* ftblk */
-       0x00000614,     /* ftfile */
-       0x00000614,     /* ftdir */
-       0x00000614,     /* ftpipe */
-       0x00000614,     /* ftlink */
-       0x00000614,     /* ftsuid */
-       0x00000614,     /* ftsgid */
-       0x00000614,     /* ftsvtx */
-       0x00000614,     /* fttty */
-       0x00000614,     /* fttext */
-       0x00000614,     /* ftbinary */
-       0x0000091c,     /* chdir */
-       0x0000021d,     /* chown */
-       0x0000091c,     /* chroot */
-       0x0000021d,     /* unlink */
-       0x0000021d,     /* chmod */
-       0x0000021d,     /* utime */
-       0x0000111c,     /* rename */
-       0x0000111c,     /* link */
-       0x0000111c,     /* symlink */
-       0x0000090c,     /* readlink */
-       0x0000111c,     /* mkdir */
-       0x0000091c,     /* rmdir */
-       0x00001614,     /* open_dir */
-       0x00000600,     /* readdir */
-       0x0000060c,     /* telldir */
-       0x00001604,     /* seekdir */
-       0x00000604,     /* rewinddir */
-       0x00000614,     /* closedir */
+       0x00000a40,     /* enterloop */
+       0x00000200,     /* leaveloop */
+       0x00002541,     /* return */
+       0x00000e44,     /* last */
+       0x00000e44,     /* next */
+       0x00000e44,     /* redo */
+       0x00000e44,     /* dump */
+       0x00000e44,     /* goto */
+       0x00009c44,     /* exit */
+       0x0009651c,     /* open */
+       0x0000ec14,     /* close */
+       0x00066514,     /* pipe_op */
+       0x00006c1c,     /* fileno */
+       0x00009c1c,     /* umask */
+       0x00006c04,     /* binmode */
+       0x00217555,     /* tie */
+       0x00007c14,     /* untie */
+       0x00007c04,     /* tied */
+       0x00114514,     /* dbmopen */
+       0x00004c14,     /* dbmclose */
+       0x01111508,     /* sselect */
+       0x0000e50c,     /* select */
+       0x0000ec0c,     /* getc */
+       0x0917651d,     /* read */
+       0x0000ec54,     /* enterwrite */
+       0x00000100,     /* leavewrite */
+       0x0002e515,     /* prtf */
+       0x0002e515,     /* print */
+       0x09116504,     /* sysopen */
+       0x00116504,     /* sysseek */
+       0x0917651d,     /* sysread */
+       0x0911651d,     /* syswrite */
+       0x0911651d,     /* send */
+       0x0117651d,     /* recv */
+       0x0000ec14,     /* eof */
+       0x0000ec0c,     /* tell */
+       0x00116504,     /* seek */
+       0x00011514,     /* truncate */
+       0x0011650c,     /* fcntl */
+       0x0011650c,     /* ioctl */
+       0x0001651c,     /* flock */
+       0x01116514,     /* socket */
+       0x11166514,     /* sockpair */
+       0x00016514,     /* bind */
+       0x00016514,     /* connect */
+       0x00016514,     /* listen */
+       0x0006651c,     /* accept */
+       0x0001651c,     /* shutdown */
+       0x00116514,     /* gsockopt */
+       0x01116514,     /* ssockopt */
+       0x00006c14,     /* getsockname */
+       0x00006c14,     /* getpeername */
+       0x00006d80,     /* lstat */
+       0x00006d80,     /* stat */
+       0x00006d94,     /* ftrread */
+       0x00006d94,     /* ftrwrite */
+       0x00006d94,     /* ftrexec */
+       0x00006d94,     /* fteread */
+       0x00006d94,     /* ftewrite */
+       0x00006d94,     /* fteexec */
+       0x00006d94,     /* ftis */
+       0x00006d94,     /* fteowned */
+       0x00006d94,     /* ftrowned */
+       0x00006d94,     /* ftzero */
+       0x00006d9c,     /* ftsize */
+       0x00006d8c,     /* ftmtime */
+       0x00006d8c,     /* ftatime */
+       0x00006d8c,     /* ftctime */
+       0x00006d94,     /* ftsock */
+       0x00006d94,     /* ftchr */
+       0x00006d94,     /* ftblk */
+       0x00006d94,     /* ftfile */
+       0x00006d94,     /* ftdir */
+       0x00006d94,     /* ftpipe */
+       0x00006d94,     /* ftlink */
+       0x00006d94,     /* ftsuid */
+       0x00006d94,     /* ftsgid */
+       0x00006d94,     /* ftsvtx */
+       0x00006d14,     /* fttty */
+       0x00006d94,     /* fttext */
+       0x00006d94,     /* ftbinary */
+       0x00009c1c,     /* chdir */
+       0x0000251d,     /* chown */
+       0x00009c9c,     /* chroot */
+       0x0000259d,     /* unlink */
+       0x0000251d,     /* chmod */
+       0x0000251d,     /* utime */
+       0x0001151c,     /* rename */
+       0x0001151c,     /* link */
+       0x0001151c,     /* symlink */
+       0x00009c8c,     /* readlink */
+       0x0001151c,     /* mkdir */
+       0x00009c9c,     /* rmdir */
+       0x00016514,     /* open_dir */
+       0x00006c00,     /* readdir */
+       0x00006c0c,     /* telldir */
+       0x00016504,     /* seekdir */
+       0x00006c04,     /* rewinddir */
+       0x00006c14,     /* closedir */
        0x0000001c,     /* fork */
        0x0000001c,     /* wait */
-       0x0000111c,     /* waitpid */
-       0x0000291d,     /* system */
-       0x0000295d,     /* exec */
-       0x0000025d,     /* kill */
+       0x0001151c,     /* waitpid */
+       0x0002951d,     /* system */
+       0x0002955d,     /* exec */
+       0x0000255d,     /* kill */
        0x0000001c,     /* getppid */
-       0x0000091c,     /* getpgrp */
-       0x0000111c,     /* setpgrp */
-       0x0000111c,     /* getpriority */
-       0x0001111c,     /* setpriority */
+       0x00009c1c,     /* getpgrp */
+       0x0009951c,     /* setpgrp */
+       0x0001151c,     /* getpriority */
+       0x0011151c,     /* setpriority */
        0x0000001c,     /* time */
        0x00000000,     /* tms */
-       0x00000908,     /* localtime */
-       0x00000908,     /* gmtime */
-       0x0000091c,     /* alarm */
-       0x0000091c,     /* sleep */
-       0x0001111d,     /* shmget */
-       0x0001111d,     /* shmctl */
-       0x0011111d,     /* shmread */
-       0x0011111c,     /* shmwrite */
-       0x0000111d,     /* msgget */
-       0x0001111d,     /* msgctl */
-       0x0001111d,     /* msgsnd */
-       0x0111111d,     /* msgrcv */
-       0x0001111d,     /* semget */
-       0x0011111d,     /* semctl */
-       0x0001111d,     /* semop */
-       0x00000940,     /* require */
-       0x00000140,     /* dofile */
-       0x00000140,     /* entereval */
-       0x00000100,     /* leaveeval */
-       0x00000140,     /* evalonce */
-       0x00000000,     /* entertry */
-       0x00000000,     /* leavetry */
-       0x00000100,     /* ghbyname */
-       0x00001100,     /* ghbyaddr */
+       0x00009c08,     /* localtime */
+       0x00009c08,     /* gmtime */
+       0x00009c9c,     /* alarm */
+       0x00009c1c,     /* sleep */
+       0x0011151d,     /* shmget */
+       0x0011151d,     /* shmctl */
+       0x0111151d,     /* shmread */
+       0x0111151d,     /* shmwrite */
+       0x0001151d,     /* msgget */
+       0x0011151d,     /* msgctl */
+       0x0011151d,     /* msgsnd */
+       0x1111151d,     /* msgrcv */
+       0x0011151d,     /* semget */
+       0x0111151d,     /* semctl */
+       0x0001151d,     /* semop */
+       0x00009cc0,     /* require */
+       0x00001140,     /* dofile */
+       0x00001c40,     /* entereval */
+       0x00001100,     /* leaveeval */
+       0x00000300,     /* entertry */
+       0x00000500,     /* leavetry */
+       0x00001c00,     /* ghbyname */
+       0x00011500,     /* ghbyaddr */
        0x00000000,     /* ghostent */
-       0x00000100,     /* gnbyname */
-       0x00001100,     /* gnbyaddr */
+       0x00001c00,     /* gnbyname */
+       0x00011500,     /* gnbyaddr */
        0x00000000,     /* gnetent */
-       0x00000100,     /* gpbyname */
-       0x00000100,     /* gpbynumber */
+       0x00001c00,     /* gpbyname */
+       0x00001500,     /* gpbynumber */
        0x00000000,     /* gprotoent */
-       0x00001100,     /* gsbyname */
-       0x00001100,     /* gsbyport */
+       0x00011500,     /* gsbyname */
+       0x00011500,     /* gsbyport */
        0x00000000,     /* gservent */
-       0x00000114,     /* shostent */
-       0x00000114,     /* snetent */
-       0x00000114,     /* sprotoent */
-       0x00000114,     /* sservent */
+       0x00001c14,     /* shostent */
+       0x00001c14,     /* snetent */
+       0x00001c14,     /* sprotoent */
+       0x00001c14,     /* sservent */
        0x00000014,     /* ehostent */
        0x00000014,     /* enetent */
        0x00000014,     /* eprotoent */
        0x00000014,     /* eservent */
-       0x00000100,     /* gpwnam */
-       0x00000100,     /* gpwuid */
+       0x00001c00,     /* gpwnam */
+       0x00001c00,     /* gpwuid */
        0x00000000,     /* gpwent */
-       0x0000001c,     /* spwent */
-       0x0000001c,     /* epwent */
-       0x00000100,     /* ggrnam */
-       0x00000100,     /* ggrgid */
+       0x00000014,     /* spwent */
+       0x00000014,     /* epwent */
+       0x00001c00,     /* ggrnam */
+       0x00001c00,     /* ggrgid */
        0x00000000,     /* ggrent */
-       0x0000001c,     /* sgrent */
-       0x0000001c,     /* egrent */
+       0x00000014,     /* sgrent */
+       0x00000014,     /* egrent */
        0x0000000c,     /* getlogin */
-       0x0000211c,     /* syscall */
+       0x0002151d,     /* syscall */
+       0x00001c04,     /* lock */
+       0x00000044,     /* threadsv */
 };
 #endif