This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
fixup Perl_magic_freemglob()
[perl5.git] / opnames.h
index c225ac4..f6c1552 100644 (file)
--- a/opnames.h
+++ b/opnames.h
@@ -27,61 +27,61 @@ typedef enum opcode {
        OP_PADAV         = 10,
        OP_PADHV         = 11,
        OP_PADANY        = 12,
-       OP_PUSHRE        = 13,
-       OP_RV2GV         = 14,
-       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_TRANSR        = 36,
-       OP_SASSIGN       = 37,
-       OP_AASSIGN       = 38,
-       OP_CHOP          = 39,
-       OP_SCHOP         = 40,
-       OP_CHOMP         = 41,
-       OP_SCHOMP        = 42,
-       OP_DEFINED       = 43,
-       OP_UNDEF         = 44,
-       OP_STUDY         = 45,
-       OP_POS           = 46,
-       OP_PREINC        = 47,
-       OP_I_PREINC      = 48,
-       OP_PREDEC        = 49,
-       OP_I_PREDEC      = 50,
-       OP_POSTINC       = 51,
-       OP_I_POSTINC     = 52,
-       OP_POSTDEC       = 53,
-       OP_I_POSTDEC     = 54,
-       OP_POW           = 55,
-       OP_MULTIPLY      = 56,
-       OP_I_MULTIPLY    = 57,
-       OP_DIVIDE        = 58,
-       OP_I_DIVIDE      = 59,
-       OP_MODULO        = 60,
-       OP_I_MODULO      = 61,
-       OP_REPEAT        = 62,
-       OP_ADD           = 63,
-       OP_I_ADD         = 64,
-       OP_SUBTRACT      = 65,
-       OP_I_SUBTRACT    = 66,
-       OP_CONCAT        = 67,
+       OP_RV2GV         = 13,
+       OP_RV2SV         = 14,
+       OP_AV2ARYLEN     = 15,
+       OP_RV2CV         = 16,
+       OP_ANONCODE      = 17,
+       OP_PROTOTYPE     = 18,
+       OP_REFGEN        = 19,
+       OP_SREFGEN       = 20,
+       OP_REF           = 21,
+       OP_BLESS         = 22,
+       OP_BACKTICK      = 23,
+       OP_GLOB          = 24,
+       OP_READLINE      = 25,
+       OP_RCATLINE      = 26,
+       OP_REGCMAYBE     = 27,
+       OP_REGCRESET     = 28,
+       OP_REGCOMP       = 29,
+       OP_MATCH         = 30,
+       OP_QR            = 31,
+       OP_SUBST         = 32,
+       OP_SUBSTCONT     = 33,
+       OP_TRANS         = 34,
+       OP_TRANSR        = 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_MULTICONCAT   = 67,
        OP_STRINGIFY     = 68,
        OP_LEFT_SHIFT    = 69,
        OP_RIGHT_SHIFT   = 70,
@@ -156,8 +156,8 @@ typedef enum opcode {
        OP_ASLICE        = 139,
        OP_KVASLICE      = 140,
        OP_AEACH         = 141,
-       OP_AKEYS         = 142,
-       OP_AVALUES       = 143,
+       OP_AVALUES       = 142,
+       OP_AKEYS         = 143,
        OP_EACH          = 144,
        OP_VALUES        = 145,
        OP_KEYS          = 146,
@@ -198,222 +198,230 @@ typedef enum opcode {
        OP_ANDASSIGN     = 181,
        OP_ORASSIGN      = 182,
        OP_DORASSIGN     = 183,
-       OP_METHOD        = 184,
-       OP_ENTERSUB      = 185,
-       OP_LEAVESUB      = 186,
-       OP_LEAVESUBLV    = 187,
-       OP_CALLER        = 188,
-       OP_WARN          = 189,
-       OP_DIE           = 190,
-       OP_RESET         = 191,
-       OP_LINESEQ       = 192,
-       OP_NEXTSTATE     = 193,
-       OP_DBSTATE       = 194,
-       OP_UNSTACK       = 195,
-       OP_ENTER         = 196,
-       OP_LEAVE         = 197,
-       OP_SCOPE         = 198,
-       OP_ENTERITER     = 199,
-       OP_ITER          = 200,
-       OP_ENTERLOOP     = 201,
-       OP_LEAVELOOP     = 202,
-       OP_RETURN        = 203,
-       OP_LAST          = 204,
-       OP_NEXT          = 205,
-       OP_REDO          = 206,
-       OP_DUMP          = 207,
-       OP_GOTO          = 208,
-       OP_EXIT          = 209,
-       OP_METHOD_NAMED  = 210,
-       OP_METHOD_SUPER  = 211,
-       OP_METHOD_REDIR  = 212,
-       OP_METHOD_REDIR_SUPER = 213,
-       OP_ENTERGIVEN    = 214,
-       OP_LEAVEGIVEN    = 215,
-       OP_ENTERWHEN     = 216,
-       OP_LEAVEWHEN     = 217,
-       OP_BREAK         = 218,
-       OP_CONTINUE      = 219,
-       OP_OPEN          = 220,
-       OP_CLOSE         = 221,
-       OP_PIPE_OP       = 222,
-       OP_FILENO        = 223,
-       OP_UMASK         = 224,
-       OP_BINMODE       = 225,
-       OP_TIE           = 226,
-       OP_UNTIE         = 227,
-       OP_TIED          = 228,
-       OP_DBMOPEN       = 229,
-       OP_DBMCLOSE      = 230,
-       OP_SSELECT       = 231,
-       OP_SELECT        = 232,
-       OP_GETC          = 233,
-       OP_READ          = 234,
-       OP_ENTERWRITE    = 235,
-       OP_LEAVEWRITE    = 236,
-       OP_PRTF          = 237,
-       OP_PRINT         = 238,
-       OP_SAY           = 239,
-       OP_SYSOPEN       = 240,
-       OP_SYSSEEK       = 241,
-       OP_SYSREAD       = 242,
-       OP_SYSWRITE      = 243,
-       OP_EOF           = 244,
-       OP_TELL          = 245,
-       OP_SEEK          = 246,
-       OP_TRUNCATE      = 247,
-       OP_FCNTL         = 248,
-       OP_IOCTL         = 249,
-       OP_FLOCK         = 250,
-       OP_SEND          = 251,
-       OP_RECV          = 252,
-       OP_SOCKET        = 253,
-       OP_SOCKPAIR      = 254,
-       OP_BIND          = 255,
-       OP_CONNECT       = 256,
-       OP_LISTEN        = 257,
-       OP_ACCEPT        = 258,
-       OP_SHUTDOWN      = 259,
-       OP_GSOCKOPT      = 260,
-       OP_SSOCKOPT      = 261,
-       OP_GETSOCKNAME   = 262,
-       OP_GETPEERNAME   = 263,
-       OP_LSTAT         = 264,
-       OP_STAT          = 265,
-       OP_FTRREAD       = 266,
-       OP_FTRWRITE      = 267,
-       OP_FTREXEC       = 268,
-       OP_FTEREAD       = 269,
-       OP_FTEWRITE      = 270,
-       OP_FTEEXEC       = 271,
-       OP_FTIS          = 272,
-       OP_FTSIZE        = 273,
-       OP_FTMTIME       = 274,
-       OP_FTATIME       = 275,
-       OP_FTCTIME       = 276,
-       OP_FTROWNED      = 277,
-       OP_FTEOWNED      = 278,
-       OP_FTZERO        = 279,
-       OP_FTSOCK        = 280,
-       OP_FTCHR         = 281,
-       OP_FTBLK         = 282,
-       OP_FTFILE        = 283,
-       OP_FTDIR         = 284,
-       OP_FTPIPE        = 285,
-       OP_FTSUID        = 286,
-       OP_FTSGID        = 287,
-       OP_FTSVTX        = 288,
-       OP_FTLINK        = 289,
-       OP_FTTTY         = 290,
-       OP_FTTEXT        = 291,
-       OP_FTBINARY      = 292,
-       OP_CHDIR         = 293,
-       OP_CHOWN         = 294,
-       OP_CHROOT        = 295,
-       OP_UNLINK        = 296,
-       OP_CHMOD         = 297,
-       OP_UTIME         = 298,
-       OP_RENAME        = 299,
-       OP_LINK          = 300,
-       OP_SYMLINK       = 301,
-       OP_READLINK      = 302,
-       OP_MKDIR         = 303,
-       OP_RMDIR         = 304,
-       OP_OPEN_DIR      = 305,
-       OP_READDIR       = 306,
-       OP_TELLDIR       = 307,
-       OP_SEEKDIR       = 308,
-       OP_REWINDDIR     = 309,
-       OP_CLOSEDIR      = 310,
-       OP_FORK          = 311,
-       OP_WAIT          = 312,
-       OP_WAITPID       = 313,
-       OP_SYSTEM        = 314,
-       OP_EXEC          = 315,
-       OP_KILL          = 316,
-       OP_GETPPID       = 317,
-       OP_GETPGRP       = 318,
-       OP_SETPGRP       = 319,
-       OP_GETPRIORITY   = 320,
-       OP_SETPRIORITY   = 321,
-       OP_TIME          = 322,
-       OP_TMS           = 323,
-       OP_LOCALTIME     = 324,
-       OP_GMTIME        = 325,
-       OP_ALARM         = 326,
-       OP_SLEEP         = 327,
-       OP_SHMGET        = 328,
-       OP_SHMCTL        = 329,
-       OP_SHMREAD       = 330,
-       OP_SHMWRITE      = 331,
-       OP_MSGGET        = 332,
-       OP_MSGCTL        = 333,
-       OP_MSGSND        = 334,
-       OP_MSGRCV        = 335,
-       OP_SEMOP         = 336,
-       OP_SEMGET        = 337,
-       OP_SEMCTL        = 338,
-       OP_REQUIRE       = 339,
-       OP_DOFILE        = 340,
-       OP_HINTSEVAL     = 341,
-       OP_ENTEREVAL     = 342,
-       OP_LEAVEEVAL     = 343,
-       OP_ENTERTRY      = 344,
-       OP_LEAVETRY      = 345,
-       OP_GHBYNAME      = 346,
-       OP_GHBYADDR      = 347,
-       OP_GHOSTENT      = 348,
-       OP_GNBYNAME      = 349,
-       OP_GNBYADDR      = 350,
-       OP_GNETENT       = 351,
-       OP_GPBYNAME      = 352,
-       OP_GPBYNUMBER    = 353,
-       OP_GPROTOENT     = 354,
-       OP_GSBYNAME      = 355,
-       OP_GSBYPORT      = 356,
-       OP_GSERVENT      = 357,
-       OP_SHOSTENT      = 358,
-       OP_SNETENT       = 359,
-       OP_SPROTOENT     = 360,
-       OP_SSERVENT      = 361,
-       OP_EHOSTENT      = 362,
-       OP_ENETENT       = 363,
-       OP_EPROTOENT     = 364,
-       OP_ESERVENT      = 365,
-       OP_GPWNAM        = 366,
-       OP_GPWUID        = 367,
-       OP_GPWENT        = 368,
-       OP_SPWENT        = 369,
-       OP_EPWENT        = 370,
-       OP_GGRNAM        = 371,
-       OP_GGRGID        = 372,
-       OP_GGRENT        = 373,
-       OP_SGRENT        = 374,
-       OP_EGRENT        = 375,
-       OP_GETLOGIN      = 376,
-       OP_SYSCALL       = 377,
-       OP_LOCK          = 378,
-       OP_ONCE          = 379,
-       OP_CUSTOM        = 380,
-       OP_REACH         = 381,
-       OP_RKEYS         = 382,
-       OP_RVALUES       = 383,
+       OP_ENTERSUB      = 184,
+       OP_LEAVESUB      = 185,
+       OP_LEAVESUBLV    = 186,
+       OP_ARGCHECK      = 187,
+       OP_ARGELEM       = 188,
+       OP_ARGDEFELEM    = 189,
+       OP_CALLER        = 190,
+       OP_WARN          = 191,
+       OP_DIE           = 192,
+       OP_RESET         = 193,
+       OP_LINESEQ       = 194,
+       OP_NEXTSTATE     = 195,
+       OP_DBSTATE       = 196,
+       OP_UNSTACK       = 197,
+       OP_ENTER         = 198,
+       OP_LEAVE         = 199,
+       OP_SCOPE         = 200,
+       OP_ENTERITER     = 201,
+       OP_ITER          = 202,
+       OP_ENTERLOOP     = 203,
+       OP_LEAVELOOP     = 204,
+       OP_RETURN        = 205,
+       OP_LAST          = 206,
+       OP_NEXT          = 207,
+       OP_REDO          = 208,
+       OP_DUMP          = 209,
+       OP_GOTO          = 210,
+       OP_EXIT          = 211,
+       OP_METHOD        = 212,
+       OP_METHOD_NAMED  = 213,
+       OP_METHOD_SUPER  = 214,
+       OP_METHOD_REDIR  = 215,
+       OP_METHOD_REDIR_SUPER = 216,
+       OP_ENTERGIVEN    = 217,
+       OP_LEAVEGIVEN    = 218,
+       OP_ENTERWHEN     = 219,
+       OP_LEAVEWHEN     = 220,
+       OP_BREAK         = 221,
+       OP_CONTINUE      = 222,
+       OP_OPEN          = 223,
+       OP_CLOSE         = 224,
+       OP_PIPE_OP       = 225,
+       OP_FILENO        = 226,
+       OP_UMASK         = 227,
+       OP_BINMODE       = 228,
+       OP_TIE           = 229,
+       OP_UNTIE         = 230,
+       OP_TIED          = 231,
+       OP_DBMOPEN       = 232,
+       OP_DBMCLOSE      = 233,
+       OP_SSELECT       = 234,
+       OP_SELECT        = 235,
+       OP_GETC          = 236,
+       OP_READ          = 237,
+       OP_ENTERWRITE    = 238,
+       OP_LEAVEWRITE    = 239,
+       OP_PRTF          = 240,
+       OP_PRINT         = 241,
+       OP_SAY           = 242,
+       OP_SYSOPEN       = 243,
+       OP_SYSSEEK       = 244,
+       OP_SYSREAD       = 245,
+       OP_SYSWRITE      = 246,
+       OP_EOF           = 247,
+       OP_TELL          = 248,
+       OP_SEEK          = 249,
+       OP_TRUNCATE      = 250,
+       OP_FCNTL         = 251,
+       OP_IOCTL         = 252,
+       OP_FLOCK         = 253,
+       OP_SEND          = 254,
+       OP_RECV          = 255,
+       OP_SOCKET        = 256,
+       OP_SOCKPAIR      = 257,
+       OP_BIND          = 258,
+       OP_CONNECT       = 259,
+       OP_LISTEN        = 260,
+       OP_ACCEPT        = 261,
+       OP_SHUTDOWN      = 262,
+       OP_GSOCKOPT      = 263,
+       OP_SSOCKOPT      = 264,
+       OP_GETSOCKNAME   = 265,
+       OP_GETPEERNAME   = 266,
+       OP_LSTAT         = 267,
+       OP_STAT          = 268,
+       OP_FTRREAD       = 269,
+       OP_FTRWRITE      = 270,
+       OP_FTREXEC       = 271,
+       OP_FTEREAD       = 272,
+       OP_FTEWRITE      = 273,
+       OP_FTEEXEC       = 274,
+       OP_FTIS          = 275,
+       OP_FTSIZE        = 276,
+       OP_FTMTIME       = 277,
+       OP_FTATIME       = 278,
+       OP_FTCTIME       = 279,
+       OP_FTROWNED      = 280,
+       OP_FTEOWNED      = 281,
+       OP_FTZERO        = 282,
+       OP_FTSOCK        = 283,
+       OP_FTCHR         = 284,
+       OP_FTBLK         = 285,
+       OP_FTFILE        = 286,
+       OP_FTDIR         = 287,
+       OP_FTPIPE        = 288,
+       OP_FTSUID        = 289,
+       OP_FTSGID        = 290,
+       OP_FTSVTX        = 291,
+       OP_FTLINK        = 292,
+       OP_FTTTY         = 293,
+       OP_FTTEXT        = 294,
+       OP_FTBINARY      = 295,
+       OP_CHDIR         = 296,
+       OP_CHOWN         = 297,
+       OP_CHROOT        = 298,
+       OP_UNLINK        = 299,
+       OP_CHMOD         = 300,
+       OP_UTIME         = 301,
+       OP_RENAME        = 302,
+       OP_LINK          = 303,
+       OP_SYMLINK       = 304,
+       OP_READLINK      = 305,
+       OP_MKDIR         = 306,
+       OP_RMDIR         = 307,
+       OP_OPEN_DIR      = 308,
+       OP_READDIR       = 309,
+       OP_TELLDIR       = 310,
+       OP_SEEKDIR       = 311,
+       OP_REWINDDIR     = 312,
+       OP_CLOSEDIR      = 313,
+       OP_FORK          = 314,
+       OP_WAIT          = 315,
+       OP_WAITPID       = 316,
+       OP_SYSTEM        = 317,
+       OP_EXEC          = 318,
+       OP_KILL          = 319,
+       OP_GETPPID       = 320,
+       OP_GETPGRP       = 321,
+       OP_SETPGRP       = 322,
+       OP_GETPRIORITY   = 323,
+       OP_SETPRIORITY   = 324,
+       OP_TIME          = 325,
+       OP_TMS           = 326,
+       OP_LOCALTIME     = 327,
+       OP_GMTIME        = 328,
+       OP_ALARM         = 329,
+       OP_SLEEP         = 330,
+       OP_SHMGET        = 331,
+       OP_SHMCTL        = 332,
+       OP_SHMREAD       = 333,
+       OP_SHMWRITE      = 334,
+       OP_MSGGET        = 335,
+       OP_MSGCTL        = 336,
+       OP_MSGSND        = 337,
+       OP_MSGRCV        = 338,
+       OP_SEMOP         = 339,
+       OP_SEMGET        = 340,
+       OP_SEMCTL        = 341,
+       OP_REQUIRE       = 342,
+       OP_DOFILE        = 343,
+       OP_HINTSEVAL     = 344,
+       OP_ENTEREVAL     = 345,
+       OP_LEAVEEVAL     = 346,
+       OP_ENTERTRY      = 347,
+       OP_LEAVETRY      = 348,
+       OP_GHBYNAME      = 349,
+       OP_GHBYADDR      = 350,
+       OP_GHOSTENT      = 351,
+       OP_GNBYNAME      = 352,
+       OP_GNBYADDR      = 353,
+       OP_GNETENT       = 354,
+       OP_GPBYNAME      = 355,
+       OP_GPBYNUMBER    = 356,
+       OP_GPROTOENT     = 357,
+       OP_GSBYNAME      = 358,
+       OP_GSBYPORT      = 359,
+       OP_GSERVENT      = 360,
+       OP_SHOSTENT      = 361,
+       OP_SNETENT       = 362,
+       OP_SPROTOENT     = 363,
+       OP_SSERVENT      = 364,
+       OP_EHOSTENT      = 365,
+       OP_ENETENT       = 366,
+       OP_EPROTOENT     = 367,
+       OP_ESERVENT      = 368,
+       OP_GPWNAM        = 369,
+       OP_GPWUID        = 370,
+       OP_GPWENT        = 371,
+       OP_SPWENT        = 372,
+       OP_EPWENT        = 373,
+       OP_GGRNAM        = 374,
+       OP_GGRGID        = 375,
+       OP_GGRENT        = 376,
+       OP_SGRENT        = 377,
+       OP_EGRENT        = 378,
+       OP_GETLOGIN      = 379,
+       OP_SYSCALL       = 380,
+       OP_LOCK          = 381,
+       OP_ONCE          = 382,
+       OP_CUSTOM        = 383,
        OP_COREARGS      = 384,
-       OP_RUNCV         = 385,
-       OP_FC            = 386,
-       OP_PADCV         = 387,
-       OP_INTROCV       = 388,
-       OP_CLONECV       = 389,
-       OP_PADRANGE      = 390,
-       OP_REFASSIGN     = 391,
-       OP_LVREF         = 392,
-       OP_LVREFSLICE    = 393,
-       OP_LVAVREF       = 394,
-       OP_ANONCONST     = 395,
+       OP_AVHVSWITCH    = 385,
+       OP_RUNCV         = 386,
+       OP_FC            = 387,
+       OP_PADCV         = 388,
+       OP_INTROCV       = 389,
+       OP_CLONECV       = 390,
+       OP_PADRANGE      = 391,
+       OP_REFASSIGN     = 392,
+       OP_LVREF         = 393,
+       OP_LVREFSLICE    = 394,
+       OP_LVAVREF       = 395,
+       OP_ANONCONST     = 396,
+       OP_ISA           = 397,
+       OP_CMPCHAIN_AND  = 398,
+       OP_CMPCHAIN_DUP  = 399,
+       OP_ENTERTRYCATCH = 400,
+       OP_LEAVETRYCATCH = 401,
+       OP_POPTRY        = 402,
+       OP_CATCH         = 403,
        OP_max          
 } opcode;
 
-#define MAXO 396
+#define MAXO 404
 #define OP_FREED MAXO
 
 /* the OP_IS_* macros are optimized to a simple range check because