This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
mktables executes seven time per build sigh
[perl5.git] / opnames.h
index 417d74d..5b37890 100644 (file)
--- a/opnames.h
+++ b/opnames.h
@@ -1,7 +1,18 @@
-/* !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!! 
-   This file is built by opcode.pl from its data.  Any changes made here
-   will be lost!
-*/
+/* -*- buffer-read-only: t -*-
+ *
+ *    opnames.h
+ *
+ *    Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
+ *    by Larry Wall and others
+ *
+ *    You may distribute under the terms of either the GNU General Public
+ *    License or the Artistic License, as specified in the README file.
+ *
+ *
+ * !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
+ *  This file is built by opcode.pl from its data.  Any changes made here
+ *  will be lost!
+ */
 
 typedef enum opcode {
        OP_NULL,        /* 0 */
@@ -172,190 +183,251 @@ typedef enum opcode {
        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_SETSTATE,    /* 348 */
-       OP_METHOD_NAMED,/* 349 */
+       OP_LEAVESUBLV,  /* 168 */
+       OP_CALLER,      /* 169 */
+       OP_WARN,        /* 170 */
+       OP_DIE,         /* 171 */
+       OP_RESET,       /* 172 */
+       OP_LINESEQ,     /* 173 */
+       OP_NEXTSTATE,   /* 174 */
+       OP_DBSTATE,     /* 175 */
+       OP_UNSTACK,     /* 176 */
+       OP_ENTER,       /* 177 */
+       OP_LEAVE,       /* 178 */
+       OP_SCOPE,       /* 179 */
+       OP_ENTERITER,   /* 180 */
+       OP_ITER,        /* 181 */
+       OP_ENTERLOOP,   /* 182 */
+       OP_LEAVELOOP,   /* 183 */
+       OP_RETURN,      /* 184 */
+       OP_LAST,        /* 185 */
+       OP_NEXT,        /* 186 */
+       OP_REDO,        /* 187 */
+       OP_DUMP,        /* 188 */
+       OP_GOTO,        /* 189 */
+       OP_EXIT,        /* 190 */
+       OP_OPEN,        /* 191 */
+       OP_CLOSE,       /* 192 */
+       OP_PIPE_OP,     /* 193 */
+       OP_FILENO,      /* 194 */
+       OP_UMASK,       /* 195 */
+       OP_BINMODE,     /* 196 */
+       OP_TIE,         /* 197 */
+       OP_UNTIE,       /* 198 */
+       OP_TIED,        /* 199 */
+       OP_DBMOPEN,     /* 200 */
+       OP_DBMCLOSE,    /* 201 */
+       OP_SSELECT,     /* 202 */
+       OP_SELECT,      /* 203 */
+       OP_GETC,        /* 204 */
+       OP_READ,        /* 205 */
+       OP_ENTERWRITE,  /* 206 */
+       OP_LEAVEWRITE,  /* 207 */
+       OP_PRTF,        /* 208 */
+       OP_PRINT,       /* 209 */
+       OP_SYSOPEN,     /* 210 */
+       OP_SYSSEEK,     /* 211 */
+       OP_SYSREAD,     /* 212 */
+       OP_SYSWRITE,    /* 213 */
+       OP_SEND,        /* 214 */
+       OP_RECV,        /* 215 */
+       OP_EOF,         /* 216 */
+       OP_TELL,        /* 217 */
+       OP_SEEK,        /* 218 */
+       OP_TRUNCATE,    /* 219 */
+       OP_FCNTL,       /* 220 */
+       OP_IOCTL,       /* 221 */
+       OP_FLOCK,       /* 222 */
+       OP_SOCKET,      /* 223 */
+       OP_SOCKPAIR,    /* 224 */
+       OP_BIND,        /* 225 */
+       OP_CONNECT,     /* 226 */
+       OP_LISTEN,      /* 227 */
+       OP_ACCEPT,      /* 228 */
+       OP_SHUTDOWN,    /* 229 */
+       OP_GSOCKOPT,    /* 230 */
+       OP_SSOCKOPT,    /* 231 */
+       OP_GETSOCKNAME, /* 232 */
+       OP_GETPEERNAME, /* 233 */
+       OP_LSTAT,       /* 234 */
+       OP_STAT,        /* 235 */
+       OP_FTRREAD,     /* 236 */
+       OP_FTRWRITE,    /* 237 */
+       OP_FTREXEC,     /* 238 */
+       OP_FTEREAD,     /* 239 */
+       OP_FTEWRITE,    /* 240 */
+       OP_FTEEXEC,     /* 241 */
+       OP_FTIS,        /* 242 */
+       OP_FTEOWNED,    /* 243 */
+       OP_FTROWNED,    /* 244 */
+       OP_FTZERO,      /* 245 */
+       OP_FTSIZE,      /* 246 */
+       OP_FTMTIME,     /* 247 */
+       OP_FTATIME,     /* 248 */
+       OP_FTCTIME,     /* 249 */
+       OP_FTSOCK,      /* 250 */
+       OP_FTCHR,       /* 251 */
+       OP_FTBLK,       /* 252 */
+       OP_FTFILE,      /* 253 */
+       OP_FTDIR,       /* 254 */
+       OP_FTPIPE,      /* 255 */
+       OP_FTLINK,      /* 256 */
+       OP_FTSUID,      /* 257 */
+       OP_FTSGID,      /* 258 */
+       OP_FTSVTX,      /* 259 */
+       OP_FTTTY,       /* 260 */
+       OP_FTTEXT,      /* 261 */
+       OP_FTBINARY,    /* 262 */
+       OP_CHDIR,       /* 263 */
+       OP_CHOWN,       /* 264 */
+       OP_CHROOT,      /* 265 */
+       OP_UNLINK,      /* 266 */
+       OP_CHMOD,       /* 267 */
+       OP_UTIME,       /* 268 */
+       OP_RENAME,      /* 269 */
+       OP_LINK,        /* 270 */
+       OP_SYMLINK,     /* 271 */
+       OP_READLINK,    /* 272 */
+       OP_MKDIR,       /* 273 */
+       OP_RMDIR,       /* 274 */
+       OP_OPEN_DIR,    /* 275 */
+       OP_READDIR,     /* 276 */
+       OP_TELLDIR,     /* 277 */
+       OP_SEEKDIR,     /* 278 */
+       OP_REWINDDIR,   /* 279 */
+       OP_CLOSEDIR,    /* 280 */
+       OP_FORK,        /* 281 */
+       OP_WAIT,        /* 282 */
+       OP_WAITPID,     /* 283 */
+       OP_SYSTEM,      /* 284 */
+       OP_EXEC,        /* 285 */
+       OP_KILL,        /* 286 */
+       OP_GETPPID,     /* 287 */
+       OP_GETPGRP,     /* 288 */
+       OP_SETPGRP,     /* 289 */
+       OP_GETPRIORITY, /* 290 */
+       OP_SETPRIORITY, /* 291 */
+       OP_TIME,        /* 292 */
+       OP_TMS,         /* 293 */
+       OP_LOCALTIME,   /* 294 */
+       OP_GMTIME,      /* 295 */
+       OP_ALARM,       /* 296 */
+       OP_SLEEP,       /* 297 */
+       OP_SHMGET,      /* 298 */
+       OP_SHMCTL,      /* 299 */
+       OP_SHMREAD,     /* 300 */
+       OP_SHMWRITE,    /* 301 */
+       OP_MSGGET,      /* 302 */
+       OP_MSGCTL,      /* 303 */
+       OP_MSGSND,      /* 304 */
+       OP_MSGRCV,      /* 305 */
+       OP_SEMGET,      /* 306 */
+       OP_SEMCTL,      /* 307 */
+       OP_SEMOP,       /* 308 */
+       OP_REQUIRE,     /* 309 */
+       OP_DOFILE,      /* 310 */
+       OP_ENTEREVAL,   /* 311 */
+       OP_LEAVEEVAL,   /* 312 */
+       OP_ENTERTRY,    /* 313 */
+       OP_LEAVETRY,    /* 314 */
+       OP_GHBYNAME,    /* 315 */
+       OP_GHBYADDR,    /* 316 */
+       OP_GHOSTENT,    /* 317 */
+       OP_GNBYNAME,    /* 318 */
+       OP_GNBYADDR,    /* 319 */
+       OP_GNETENT,     /* 320 */
+       OP_GPBYNAME,    /* 321 */
+       OP_GPBYNUMBER,  /* 322 */
+       OP_GPROTOENT,   /* 323 */
+       OP_GSBYNAME,    /* 324 */
+       OP_GSBYPORT,    /* 325 */
+       OP_GSERVENT,    /* 326 */
+       OP_SHOSTENT,    /* 327 */
+       OP_SNETENT,     /* 328 */
+       OP_SPROTOENT,   /* 329 */
+       OP_SSERVENT,    /* 330 */
+       OP_EHOSTENT,    /* 331 */
+       OP_ENETENT,     /* 332 */
+       OP_EPROTOENT,   /* 333 */
+       OP_ESERVENT,    /* 334 */
+       OP_GPWNAM,      /* 335 */
+       OP_GPWUID,      /* 336 */
+       OP_GPWENT,      /* 337 */
+       OP_SPWENT,      /* 338 */
+       OP_EPWENT,      /* 339 */
+       OP_GGRNAM,      /* 340 */
+       OP_GGRGID,      /* 341 */
+       OP_GGRENT,      /* 342 */
+       OP_SGRENT,      /* 343 */
+       OP_EGRENT,      /* 344 */
+       OP_GETLOGIN,    /* 345 */
+       OP_SYSCALL,     /* 346 */
+       OP_LOCK,        /* 347 */
+       OP_THREADSV,    /* 348 */
+       OP_SETSTATE,    /* 349 */
+       OP_METHOD_NAMED,/* 350 */
+       OP_DOR,         /* 351 */
+       OP_DORASSIGN,   /* 352 */
+       OP_ENTERGIVEN,  /* 353 */
+       OP_LEAVEGIVEN,  /* 354 */
+       OP_ENTERWHEN,   /* 355 */
+       OP_LEAVEWHEN,   /* 356 */
+       OP_BREAK,       /* 357 */
+       OP_CONTINUE,    /* 358 */
+       OP_SMARTMATCH,  /* 359 */
+       OP_SAY,         /* 360 */
+       OP_CUSTOM,      /* 361 */
        OP_max          
 } opcode;
 
-#define MAXO 350
+#define MAXO 362
+#define OP_phoney_INPUT_ONLY -1
+#define OP_phoney_OUTPUT_ONLY -2
 
+
+#define OP_IS_SOCKET(op)       \
+       ((op) == OP_ACCEPT || \
+        (op) == OP_BIND || \
+        (op) == OP_CONNECT || \
+        (op) == OP_GETPEERNAME || \
+        (op) == OP_GETSOCKNAME || \
+        (op) == OP_GSOCKOPT || \
+        (op) == OP_LISTEN || \
+        (op) == OP_RECV || \
+        (op) == OP_SEND || \
+        (op) == OP_SHUTDOWN || \
+        (op) == OP_SOCKET || \
+        (op) == OP_SOCKPAIR || \
+        (op) == OP_SSOCKOPT)
+
+
+#define OP_IS_FILETEST(op)     \
+       ((op) == OP_FTATIME || \
+        (op) == OP_FTBINARY || \
+        (op) == OP_FTBLK || \
+        (op) == OP_FTCHR || \
+        (op) == OP_FTCTIME || \
+        (op) == OP_FTDIR || \
+        (op) == OP_FTEEXEC || \
+        (op) == OP_FTEOWNED || \
+        (op) == OP_FTEREAD || \
+        (op) == OP_FTEWRITE || \
+        (op) == OP_FTFILE || \
+        (op) == OP_FTIS || \
+        (op) == OP_FTLINK || \
+        (op) == OP_FTMTIME || \
+        (op) == OP_FTPIPE || \
+        (op) == OP_FTREXEC || \
+        (op) == OP_FTROWNED || \
+        (op) == OP_FTRREAD || \
+        (op) == OP_FTRWRITE || \
+        (op) == OP_FTSGID || \
+        (op) == OP_FTSIZE || \
+        (op) == OP_FTSOCK || \
+        (op) == OP_FTSUID || \
+        (op) == OP_FTSVTX || \
+        (op) == OP_FTTEXT || \
+        (op) == OP_FTTTY || \
+        (op) == OP_FTZERO)
+
+/* ex: set ro: */