Reorder ops so that trans{,r} and aelemfast{,_lex} are adjacent.
authorNicholas Clark <nick@ccl4.org>
Sun, 12 Jun 2011 09:24:46 +0000 (11:24 +0200)
committerNicholas Clark <nick@ccl4.org>
Sun, 12 Jun 2011 09:25:50 +0000 (11:25 +0200)
ext/B/t/b.t
opcode.h
opnames.h
regen/opcodes

index 5bfd3f1..c4fb633 100644 (file)
@@ -268,7 +268,7 @@ is(B::opnumber("pp_null"), 0, "Testing opnumber with opname (pp_null)");
 
 is(B::class(bless {}, "Wibble::Bibble"), "Bibble", "Testing B::class()");
 is(B::cast_I32(3.14), 3, "Testing B::cast_I32()");
-is(B::opnumber("chop"), 38, "Testing opnumber with opname (chop)");
+is(B::opnumber("chop"), 39, "Testing opnumber with opname (chop)");
 
 {
     no warnings 'once';
index 03539b7..fb64ae2 100644 (file)
--- a/opcode.h
+++ b/opcode.h
@@ -18,6 +18,7 @@
 #define Perl_pp_scalar Perl_pp_null
 #define Perl_pp_padany Perl_unimplemented_op
 #define Perl_pp_regcmaybe Perl_pp_null
+#define Perl_pp_transr Perl_pp_trans
 #define Perl_pp_chomp Perl_pp_chop
 #define Perl_pp_schomp Perl_pp_schop
 #define Perl_pp_i_preinc Perl_pp_preinc
@@ -35,6 +36,7 @@
 #define Perl_pp_hex Perl_pp_oct
 #define Perl_pp_rindex Perl_pp_index
 #define Perl_pp_lcfirst Perl_pp_ucfirst
+#define Perl_pp_aelemfast_lex Perl_pp_aelemfast
 #define Perl_pp_avalues Perl_pp_akeys
 #define Perl_pp_values Perl_do_kv
 #define Perl_pp_keys Perl_do_kv
 #define Perl_pp_custom Perl_unimplemented_op
 #define Perl_pp_reach Perl_pp_rkeys
 #define Perl_pp_rvalues Perl_pp_rkeys
-#define Perl_pp_transr Perl_pp_trans
-#define Perl_pp_aelemfast_lex Perl_pp_aelemfast
 START_EXTERN_C
 
 #ifndef DOINIT
@@ -182,6 +182,7 @@ EXTCONST char* const PL_op_name[] = {
        "subst",
        "substcont",
        "trans",
+       "transr",
        "sassign",
        "aassign",
        "chop",
@@ -274,6 +275,7 @@ EXTCONST char* const PL_op_name[] = {
        "quotemeta",
        "rv2av",
        "aelemfast",
+       "aelemfast_lex",
        "aelem",
        "aslice",
        "aeach",
@@ -515,8 +517,6 @@ EXTCONST char* const PL_op_name[] = {
        "reach",
        "rkeys",
        "rvalues",
-       "transr",
-       "aelemfast_lex",
 };
 #endif
 
@@ -560,6 +560,7 @@ EXTCONST char* const PL_op_desc[] = {
        "substitution (s///)",
        "substitution iterator",
        "transliteration (tr///)",
+       "transliteration (tr///)",
        "scalar assignment",
        "list assignment",
        "chop",
@@ -652,6 +653,7 @@ EXTCONST char* const PL_op_desc[] = {
        "quotemeta",
        "array dereference",
        "constant array element",
+       "constant lexical array element",
        "array element",
        "array slice",
        "each on array",
@@ -893,8 +895,6 @@ EXTCONST char* const PL_op_desc[] = {
        "each on reference",
        "keys on reference",
        "values on reference",
-       "transliteration (tr///)",
-       "constant lexical array element",
 };
 #endif
 
@@ -952,6 +952,7 @@ EXT Perl_ppaddr_t PL_ppaddr[] /* or perlvars.h */
        Perl_pp_subst,
        Perl_pp_substcont,
        Perl_pp_trans,
+       Perl_pp_transr, /* implemented by Perl_pp_trans */
        Perl_pp_sassign,
        Perl_pp_aassign,
        Perl_pp_chop,
@@ -1044,6 +1045,7 @@ EXT Perl_ppaddr_t PL_ppaddr[] /* or perlvars.h */
        Perl_pp_quotemeta,
        Perl_pp_rv2av,
        Perl_pp_aelemfast,
+       Perl_pp_aelemfast_lex,  /* implemented by Perl_pp_aelemfast */
        Perl_pp_aelem,
        Perl_pp_aslice,
        Perl_pp_aeach,
@@ -1285,8 +1287,6 @@ EXT Perl_ppaddr_t PL_ppaddr[] /* or perlvars.h */
        Perl_pp_reach,  /* implemented by Perl_pp_rkeys */
        Perl_pp_rkeys,
        Perl_pp_rvalues,        /* implemented by Perl_pp_rkeys */
-       Perl_pp_transr, /* implemented by Perl_pp_trans */
-       Perl_pp_aelemfast_lex,  /* implemented by Perl_pp_aelemfast */
 }
 #endif
 #ifdef PERL_PPADDR_INITED
@@ -1341,6 +1341,7 @@ EXT Perl_check_t PL_check[] /* or perlvars.h */
        Perl_ck_match,          /* subst */
        Perl_ck_null,           /* substcont */
        Perl_ck_match,          /* trans */
+       Perl_ck_match,          /* transr */
        Perl_ck_sassign,        /* sassign */
        Perl_ck_null,           /* aassign */
        Perl_ck_spair,          /* chop */
@@ -1433,6 +1434,7 @@ EXT Perl_check_t PL_check[] /* or perlvars.h */
        Perl_ck_fun,            /* quotemeta */
        Perl_ck_rvconst,        /* rv2av */
        Perl_ck_null,           /* aelemfast */
+       Perl_ck_null,           /* aelemfast_lex */
        Perl_ck_null,           /* aelem */
        Perl_ck_null,           /* aslice */
        Perl_ck_each,           /* aeach */
@@ -1674,8 +1676,6 @@ EXT Perl_check_t PL_check[] /* or perlvars.h */
        Perl_ck_each,           /* reach */
        Perl_ck_each,           /* rkeys */
        Perl_ck_each,           /* rvalues */
-       Perl_ck_match,          /* transr */
-       Perl_ck_null,           /* aelemfast_lex */
 }
 #endif
 #ifdef PERL_CHECK_INITED
@@ -1724,6 +1724,7 @@ EXTCONST U32 PL_opargs[] = {
        0x00001544,     /* subst */
        0x00000344,     /* substcont */
        0x00001804,     /* trans */
+       0x00001804,     /* transr */
        0x00000004,     /* sassign */
        0x00022208,     /* aassign */
        0x00002b0d,     /* chop */
@@ -1816,6 +1817,7 @@ EXTCONST U32 PL_opargs[] = {
        0x00009b8e,     /* quotemeta */
        0x00000148,     /* rv2av */
        0x00013604,     /* aelemfast */
+       0x00013040,     /* aelemfast_lex */
        0x00013204,     /* aelem */
        0x00023401,     /* aslice */
        0x00003b00,     /* aeach */
@@ -2057,8 +2059,6 @@ EXTCONST U32 PL_opargs[] = {
        0x00001b00,     /* reach */
        0x00001b08,     /* rkeys */
        0x00001b08,     /* rvalues */
-       0x00001804,     /* transr */
-       0x00013040,     /* aelemfast_lex */
 };
 #endif
 
index ad71240..1e7ac3c 100644 (file)
--- a/opnames.h
+++ b/opnames.h
@@ -50,341 +50,341 @@ typedef enum opcode {
        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_SMARTMATCH    = 98,
-       OP_ATAN2         = 99,
-       OP_SIN           = 100,
-       OP_COS           = 101,
-       OP_RAND          = 102,
-       OP_SRAND         = 103,
-       OP_EXP           = 104,
-       OP_LOG           = 105,
-       OP_SQRT          = 106,
-       OP_INT           = 107,
-       OP_HEX           = 108,
-       OP_OCT           = 109,
-       OP_ABS           = 110,
-       OP_LENGTH        = 111,
-       OP_SUBSTR        = 112,
-       OP_VEC           = 113,
-       OP_INDEX         = 114,
-       OP_RINDEX        = 115,
-       OP_SPRINTF       = 116,
-       OP_FORMLINE      = 117,
-       OP_ORD           = 118,
-       OP_CHR           = 119,
-       OP_CRYPT         = 120,
-       OP_UCFIRST       = 121,
-       OP_LCFIRST       = 122,
-       OP_UC            = 123,
-       OP_LC            = 124,
-       OP_QUOTEMETA     = 125,
-       OP_RV2AV         = 126,
-       OP_AELEMFAST     = 127,
-       OP_AELEM         = 128,
-       OP_ASLICE        = 129,
-       OP_AEACH         = 130,
-       OP_AKEYS         = 131,
-       OP_AVALUES       = 132,
-       OP_EACH          = 133,
-       OP_VALUES        = 134,
-       OP_KEYS          = 135,
-       OP_DELETE        = 136,
-       OP_EXISTS        = 137,
-       OP_RV2HV         = 138,
-       OP_HELEM         = 139,
-       OP_HSLICE        = 140,
-       OP_BOOLKEYS      = 141,
-       OP_UNPACK        = 142,
-       OP_PACK          = 143,
-       OP_SPLIT         = 144,
-       OP_JOIN          = 145,
-       OP_LIST          = 146,
-       OP_LSLICE        = 147,
-       OP_ANONLIST      = 148,
-       OP_ANONHASH      = 149,
-       OP_SPLICE        = 150,
-       OP_PUSH          = 151,
-       OP_POP           = 152,
-       OP_SHIFT         = 153,
-       OP_UNSHIFT       = 154,
-       OP_SORT          = 155,
-       OP_REVERSE       = 156,
-       OP_GREPSTART     = 157,
-       OP_GREPWHILE     = 158,
-       OP_MAPSTART      = 159,
-       OP_MAPWHILE      = 160,
-       OP_RANGE         = 161,
-       OP_FLIP          = 162,
-       OP_FLOP          = 163,
-       OP_AND           = 164,
-       OP_OR            = 165,
-       OP_XOR           = 166,
-       OP_DOR           = 167,
-       OP_COND_EXPR     = 168,
-       OP_ANDASSIGN     = 169,
-       OP_ORASSIGN      = 170,
-       OP_DORASSIGN     = 171,
-       OP_METHOD        = 172,
-       OP_ENTERSUB      = 173,
-       OP_LEAVESUB      = 174,
-       OP_LEAVESUBLV    = 175,
-       OP_CALLER        = 176,
-       OP_WARN          = 177,
-       OP_DIE           = 178,
-       OP_RESET         = 179,
-       OP_LINESEQ       = 180,
-       OP_NEXTSTATE     = 181,
-       OP_DBSTATE       = 182,
-       OP_UNSTACK       = 183,
-       OP_ENTER         = 184,
-       OP_LEAVE         = 185,
-       OP_SCOPE         = 186,
-       OP_ENTERITER     = 187,
-       OP_ITER          = 188,
-       OP_ENTERLOOP     = 189,
-       OP_LEAVELOOP     = 190,
-       OP_RETURN        = 191,
-       OP_LAST          = 192,
-       OP_NEXT          = 193,
-       OP_REDO          = 194,
-       OP_DUMP          = 195,
-       OP_GOTO          = 196,
-       OP_EXIT          = 197,
-       OP_METHOD_NAMED  = 198,
-       OP_ENTERGIVEN    = 199,
-       OP_LEAVEGIVEN    = 200,
-       OP_ENTERWHEN     = 201,
-       OP_LEAVEWHEN     = 202,
-       OP_BREAK         = 203,
-       OP_CONTINUE      = 204,
-       OP_OPEN          = 205,
-       OP_CLOSE         = 206,
-       OP_PIPE_OP       = 207,
-       OP_FILENO        = 208,
-       OP_UMASK         = 209,
-       OP_BINMODE       = 210,
-       OP_TIE           = 211,
-       OP_UNTIE         = 212,
-       OP_TIED          = 213,
-       OP_DBMOPEN       = 214,
-       OP_DBMCLOSE      = 215,
-       OP_SSELECT       = 216,
-       OP_SELECT        = 217,
-       OP_GETC          = 218,
-       OP_READ          = 219,
-       OP_ENTERWRITE    = 220,
-       OP_LEAVEWRITE    = 221,
-       OP_PRTF          = 222,
-       OP_PRINT         = 223,
-       OP_SAY           = 224,
-       OP_SYSOPEN       = 225,
-       OP_SYSSEEK       = 226,
-       OP_SYSREAD       = 227,
-       OP_SYSWRITE      = 228,
-       OP_EOF           = 229,
-       OP_TELL          = 230,
-       OP_SEEK          = 231,
-       OP_TRUNCATE      = 232,
-       OP_FCNTL         = 233,
-       OP_IOCTL         = 234,
-       OP_FLOCK         = 235,
-       OP_SEND          = 236,
-       OP_RECV          = 237,
-       OP_SOCKET        = 238,
-       OP_SOCKPAIR      = 239,
-       OP_BIND          = 240,
-       OP_CONNECT       = 241,
-       OP_LISTEN        = 242,
-       OP_ACCEPT        = 243,
-       OP_SHUTDOWN      = 244,
-       OP_GSOCKOPT      = 245,
-       OP_SSOCKOPT      = 246,
-       OP_GETSOCKNAME   = 247,
-       OP_GETPEERNAME   = 248,
-       OP_LSTAT         = 249,
-       OP_STAT          = 250,
-       OP_FTRREAD       = 251,
-       OP_FTRWRITE      = 252,
-       OP_FTREXEC       = 253,
-       OP_FTEREAD       = 254,
-       OP_FTEWRITE      = 255,
-       OP_FTEEXEC       = 256,
-       OP_FTIS          = 257,
-       OP_FTSIZE        = 258,
-       OP_FTMTIME       = 259,
-       OP_FTATIME       = 260,
-       OP_FTCTIME       = 261,
-       OP_FTROWNED      = 262,
-       OP_FTEOWNED      = 263,
-       OP_FTZERO        = 264,
-       OP_FTSOCK        = 265,
-       OP_FTCHR         = 266,
-       OP_FTBLK         = 267,
-       OP_FTFILE        = 268,
-       OP_FTDIR         = 269,
-       OP_FTPIPE        = 270,
-       OP_FTSUID        = 271,
-       OP_FTSGID        = 272,
-       OP_FTSVTX        = 273,
-       OP_FTLINK        = 274,
-       OP_FTTTY         = 275,
-       OP_FTTEXT        = 276,
-       OP_FTBINARY      = 277,
-       OP_CHDIR         = 278,
-       OP_CHOWN         = 279,
-       OP_CHROOT        = 280,
-       OP_UNLINK        = 281,
-       OP_CHMOD         = 282,
-       OP_UTIME         = 283,
-       OP_RENAME        = 284,
-       OP_LINK          = 285,
-       OP_SYMLINK       = 286,
-       OP_READLINK      = 287,
-       OP_MKDIR         = 288,
-       OP_RMDIR         = 289,
-       OP_OPEN_DIR      = 290,
-       OP_READDIR       = 291,
-       OP_TELLDIR       = 292,
-       OP_SEEKDIR       = 293,
-       OP_REWINDDIR     = 294,
-       OP_CLOSEDIR      = 295,
-       OP_FORK          = 296,
-       OP_WAIT          = 297,
-       OP_WAITPID       = 298,
-       OP_SYSTEM        = 299,
-       OP_EXEC          = 300,
-       OP_KILL          = 301,
-       OP_GETPPID       = 302,
-       OP_GETPGRP       = 303,
-       OP_SETPGRP       = 304,
-       OP_GETPRIORITY   = 305,
-       OP_SETPRIORITY   = 306,
-       OP_TIME          = 307,
-       OP_TMS           = 308,
-       OP_LOCALTIME     = 309,
-       OP_GMTIME        = 310,
-       OP_ALARM         = 311,
-       OP_SLEEP         = 312,
-       OP_SHMGET        = 313,
-       OP_SHMCTL        = 314,
-       OP_SHMREAD       = 315,
-       OP_SHMWRITE      = 316,
-       OP_MSGGET        = 317,
-       OP_MSGCTL        = 318,
-       OP_MSGSND        = 319,
-       OP_MSGRCV        = 320,
-       OP_SEMOP         = 321,
-       OP_SEMGET        = 322,
-       OP_SEMCTL        = 323,
-       OP_REQUIRE       = 324,
-       OP_DOFILE        = 325,
-       OP_HINTSEVAL     = 326,
-       OP_ENTEREVAL     = 327,
-       OP_LEAVEEVAL     = 328,
-       OP_ENTERTRY      = 329,
-       OP_LEAVETRY      = 330,
-       OP_GHBYNAME      = 331,
-       OP_GHBYADDR      = 332,
-       OP_GHOSTENT      = 333,
-       OP_GNBYNAME      = 334,
-       OP_GNBYADDR      = 335,
-       OP_GNETENT       = 336,
-       OP_GPBYNAME      = 337,
-       OP_GPBYNUMBER    = 338,
-       OP_GPROTOENT     = 339,
-       OP_GSBYNAME      = 340,
-       OP_GSBYPORT      = 341,
-       OP_GSERVENT      = 342,
-       OP_SHOSTENT      = 343,
-       OP_SNETENT       = 344,
-       OP_SPROTOENT     = 345,
-       OP_SSERVENT      = 346,
-       OP_EHOSTENT      = 347,
-       OP_ENETENT       = 348,
-       OP_EPROTOENT     = 349,
-       OP_ESERVENT      = 350,
-       OP_GPWNAM        = 351,
-       OP_GPWUID        = 352,
-       OP_GPWENT        = 353,
-       OP_SPWENT        = 354,
-       OP_EPWENT        = 355,
-       OP_GGRNAM        = 356,
-       OP_GGRGID        = 357,
-       OP_GGRENT        = 358,
-       OP_SGRENT        = 359,
-       OP_EGRENT        = 360,
-       OP_GETLOGIN      = 361,
-       OP_SYSCALL       = 362,
-       OP_LOCK          = 363,
-       OP_ONCE          = 364,
-       OP_CUSTOM        = 365,
-       OP_REACH         = 366,
-       OP_RKEYS         = 367,
-       OP_RVALUES       = 368,
-       OP_TRANSR        = 369,
-       OP_AELEMFAST_LEX = 370,
+       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_STRINGIFY     = 68,
+       OP_LEFT_SHIFT    = 69,
+       OP_RIGHT_SHIFT   = 70,
+       OP_LT            = 71,
+       OP_I_LT          = 72,
+       OP_GT            = 73,
+       OP_I_GT          = 74,
+       OP_LE            = 75,
+       OP_I_LE          = 76,
+       OP_GE            = 77,
+       OP_I_GE          = 78,
+       OP_EQ            = 79,
+       OP_I_EQ          = 80,
+       OP_NE            = 81,
+       OP_I_NE          = 82,
+       OP_NCMP          = 83,
+       OP_I_NCMP        = 84,
+       OP_SLT           = 85,
+       OP_SGT           = 86,
+       OP_SLE           = 87,
+       OP_SGE           = 88,
+       OP_SEQ           = 89,
+       OP_SNE           = 90,
+       OP_SCMP          = 91,
+       OP_BIT_AND       = 92,
+       OP_BIT_XOR       = 93,
+       OP_BIT_OR        = 94,
+       OP_NEGATE        = 95,
+       OP_I_NEGATE      = 96,
+       OP_NOT           = 97,
+       OP_COMPLEMENT    = 98,
+       OP_SMARTMATCH    = 99,
+       OP_ATAN2         = 100,
+       OP_SIN           = 101,
+       OP_COS           = 102,
+       OP_RAND          = 103,
+       OP_SRAND         = 104,
+       OP_EXP           = 105,
+       OP_LOG           = 106,
+       OP_SQRT          = 107,
+       OP_INT           = 108,
+       OP_HEX           = 109,
+       OP_OCT           = 110,
+       OP_ABS           = 111,
+       OP_LENGTH        = 112,
+       OP_SUBSTR        = 113,
+       OP_VEC           = 114,
+       OP_INDEX         = 115,
+       OP_RINDEX        = 116,
+       OP_SPRINTF       = 117,
+       OP_FORMLINE      = 118,
+       OP_ORD           = 119,
+       OP_CHR           = 120,
+       OP_CRYPT         = 121,
+       OP_UCFIRST       = 122,
+       OP_LCFIRST       = 123,
+       OP_UC            = 124,
+       OP_LC            = 125,
+       OP_QUOTEMETA     = 126,
+       OP_RV2AV         = 127,
+       OP_AELEMFAST     = 128,
+       OP_AELEMFAST_LEX = 129,
+       OP_AELEM         = 130,
+       OP_ASLICE        = 131,
+       OP_AEACH         = 132,
+       OP_AKEYS         = 133,
+       OP_AVALUES       = 134,
+       OP_EACH          = 135,
+       OP_VALUES        = 136,
+       OP_KEYS          = 137,
+       OP_DELETE        = 138,
+       OP_EXISTS        = 139,
+       OP_RV2HV         = 140,
+       OP_HELEM         = 141,
+       OP_HSLICE        = 142,
+       OP_BOOLKEYS      = 143,
+       OP_UNPACK        = 144,
+       OP_PACK          = 145,
+       OP_SPLIT         = 146,
+       OP_JOIN          = 147,
+       OP_LIST          = 148,
+       OP_LSLICE        = 149,
+       OP_ANONLIST      = 150,
+       OP_ANONHASH      = 151,
+       OP_SPLICE        = 152,
+       OP_PUSH          = 153,
+       OP_POP           = 154,
+       OP_SHIFT         = 155,
+       OP_UNSHIFT       = 156,
+       OP_SORT          = 157,
+       OP_REVERSE       = 158,
+       OP_GREPSTART     = 159,
+       OP_GREPWHILE     = 160,
+       OP_MAPSTART      = 161,
+       OP_MAPWHILE      = 162,
+       OP_RANGE         = 163,
+       OP_FLIP          = 164,
+       OP_FLOP          = 165,
+       OP_AND           = 166,
+       OP_OR            = 167,
+       OP_XOR           = 168,
+       OP_DOR           = 169,
+       OP_COND_EXPR     = 170,
+       OP_ANDASSIGN     = 171,
+       OP_ORASSIGN      = 172,
+       OP_DORASSIGN     = 173,
+       OP_METHOD        = 174,
+       OP_ENTERSUB      = 175,
+       OP_LEAVESUB      = 176,
+       OP_LEAVESUBLV    = 177,
+       OP_CALLER        = 178,
+       OP_WARN          = 179,
+       OP_DIE           = 180,
+       OP_RESET         = 181,
+       OP_LINESEQ       = 182,
+       OP_NEXTSTATE     = 183,
+       OP_DBSTATE       = 184,
+       OP_UNSTACK       = 185,
+       OP_ENTER         = 186,
+       OP_LEAVE         = 187,
+       OP_SCOPE         = 188,
+       OP_ENTERITER     = 189,
+       OP_ITER          = 190,
+       OP_ENTERLOOP     = 191,
+       OP_LEAVELOOP     = 192,
+       OP_RETURN        = 193,
+       OP_LAST          = 194,
+       OP_NEXT          = 195,
+       OP_REDO          = 196,
+       OP_DUMP          = 197,
+       OP_GOTO          = 198,
+       OP_EXIT          = 199,
+       OP_METHOD_NAMED  = 200,
+       OP_ENTERGIVEN    = 201,
+       OP_LEAVEGIVEN    = 202,
+       OP_ENTERWHEN     = 203,
+       OP_LEAVEWHEN     = 204,
+       OP_BREAK         = 205,
+       OP_CONTINUE      = 206,
+       OP_OPEN          = 207,
+       OP_CLOSE         = 208,
+       OP_PIPE_OP       = 209,
+       OP_FILENO        = 210,
+       OP_UMASK         = 211,
+       OP_BINMODE       = 212,
+       OP_TIE           = 213,
+       OP_UNTIE         = 214,
+       OP_TIED          = 215,
+       OP_DBMOPEN       = 216,
+       OP_DBMCLOSE      = 217,
+       OP_SSELECT       = 218,
+       OP_SELECT        = 219,
+       OP_GETC          = 220,
+       OP_READ          = 221,
+       OP_ENTERWRITE    = 222,
+       OP_LEAVEWRITE    = 223,
+       OP_PRTF          = 224,
+       OP_PRINT         = 225,
+       OP_SAY           = 226,
+       OP_SYSOPEN       = 227,
+       OP_SYSSEEK       = 228,
+       OP_SYSREAD       = 229,
+       OP_SYSWRITE      = 230,
+       OP_EOF           = 231,
+       OP_TELL          = 232,
+       OP_SEEK          = 233,
+       OP_TRUNCATE      = 234,
+       OP_FCNTL         = 235,
+       OP_IOCTL         = 236,
+       OP_FLOCK         = 237,
+       OP_SEND          = 238,
+       OP_RECV          = 239,
+       OP_SOCKET        = 240,
+       OP_SOCKPAIR      = 241,
+       OP_BIND          = 242,
+       OP_CONNECT       = 243,
+       OP_LISTEN        = 244,
+       OP_ACCEPT        = 245,
+       OP_SHUTDOWN      = 246,
+       OP_GSOCKOPT      = 247,
+       OP_SSOCKOPT      = 248,
+       OP_GETSOCKNAME   = 249,
+       OP_GETPEERNAME   = 250,
+       OP_LSTAT         = 251,
+       OP_STAT          = 252,
+       OP_FTRREAD       = 253,
+       OP_FTRWRITE      = 254,
+       OP_FTREXEC       = 255,
+       OP_FTEREAD       = 256,
+       OP_FTEWRITE      = 257,
+       OP_FTEEXEC       = 258,
+       OP_FTIS          = 259,
+       OP_FTSIZE        = 260,
+       OP_FTMTIME       = 261,
+       OP_FTATIME       = 262,
+       OP_FTCTIME       = 263,
+       OP_FTROWNED      = 264,
+       OP_FTEOWNED      = 265,
+       OP_FTZERO        = 266,
+       OP_FTSOCK        = 267,
+       OP_FTCHR         = 268,
+       OP_FTBLK         = 269,
+       OP_FTFILE        = 270,
+       OP_FTDIR         = 271,
+       OP_FTPIPE        = 272,
+       OP_FTSUID        = 273,
+       OP_FTSGID        = 274,
+       OP_FTSVTX        = 275,
+       OP_FTLINK        = 276,
+       OP_FTTTY         = 277,
+       OP_FTTEXT        = 278,
+       OP_FTBINARY      = 279,
+       OP_CHDIR         = 280,
+       OP_CHOWN         = 281,
+       OP_CHROOT        = 282,
+       OP_UNLINK        = 283,
+       OP_CHMOD         = 284,
+       OP_UTIME         = 285,
+       OP_RENAME        = 286,
+       OP_LINK          = 287,
+       OP_SYMLINK       = 288,
+       OP_READLINK      = 289,
+       OP_MKDIR         = 290,
+       OP_RMDIR         = 291,
+       OP_OPEN_DIR      = 292,
+       OP_READDIR       = 293,
+       OP_TELLDIR       = 294,
+       OP_SEEKDIR       = 295,
+       OP_REWINDDIR     = 296,
+       OP_CLOSEDIR      = 297,
+       OP_FORK          = 298,
+       OP_WAIT          = 299,
+       OP_WAITPID       = 300,
+       OP_SYSTEM        = 301,
+       OP_EXEC          = 302,
+       OP_KILL          = 303,
+       OP_GETPPID       = 304,
+       OP_GETPGRP       = 305,
+       OP_SETPGRP       = 306,
+       OP_GETPRIORITY   = 307,
+       OP_SETPRIORITY   = 308,
+       OP_TIME          = 309,
+       OP_TMS           = 310,
+       OP_LOCALTIME     = 311,
+       OP_GMTIME        = 312,
+       OP_ALARM         = 313,
+       OP_SLEEP         = 314,
+       OP_SHMGET        = 315,
+       OP_SHMCTL        = 316,
+       OP_SHMREAD       = 317,
+       OP_SHMWRITE      = 318,
+       OP_MSGGET        = 319,
+       OP_MSGCTL        = 320,
+       OP_MSGSND        = 321,
+       OP_MSGRCV        = 322,
+       OP_SEMOP         = 323,
+       OP_SEMGET        = 324,
+       OP_SEMCTL        = 325,
+       OP_REQUIRE       = 326,
+       OP_DOFILE        = 327,
+       OP_HINTSEVAL     = 328,
+       OP_ENTEREVAL     = 329,
+       OP_LEAVEEVAL     = 330,
+       OP_ENTERTRY      = 331,
+       OP_LEAVETRY      = 332,
+       OP_GHBYNAME      = 333,
+       OP_GHBYADDR      = 334,
+       OP_GHOSTENT      = 335,
+       OP_GNBYNAME      = 336,
+       OP_GNBYADDR      = 337,
+       OP_GNETENT       = 338,
+       OP_GPBYNAME      = 339,
+       OP_GPBYNUMBER    = 340,
+       OP_GPROTOENT     = 341,
+       OP_GSBYNAME      = 342,
+       OP_GSBYPORT      = 343,
+       OP_GSERVENT      = 344,
+       OP_SHOSTENT      = 345,
+       OP_SNETENT       = 346,
+       OP_SPROTOENT     = 347,
+       OP_SSERVENT      = 348,
+       OP_EHOSTENT      = 349,
+       OP_ENETENT       = 350,
+       OP_EPROTOENT     = 351,
+       OP_ESERVENT      = 352,
+       OP_GPWNAM        = 353,
+       OP_GPWUID        = 354,
+       OP_GPWENT        = 355,
+       OP_SPWENT        = 356,
+       OP_EPWENT        = 357,
+       OP_GGRNAM        = 358,
+       OP_GGRGID        = 359,
+       OP_GGRENT        = 360,
+       OP_SGRENT        = 361,
+       OP_EGRENT        = 362,
+       OP_GETLOGIN      = 363,
+       OP_SYSCALL       = 364,
+       OP_LOCK          = 365,
+       OP_ONCE          = 366,
+       OP_CUSTOM        = 367,
+       OP_REACH         = 368,
+       OP_RKEYS         = 369,
+       OP_RVALUES       = 370,
        OP_max          
 } opcode;
 
index d6b778b..2611111 100644 (file)
@@ -88,7 +88,8 @@ qr            pattern quote (qr//)    ck_match        s/
 subst          substitution (s///)     ck_match        dis/    S
 substcont      substitution iterator   ck_null         dis|    
 trans          transliteration (tr///) ck_match        is"     S
-# transr (the /r version) is further down.
+# y///r
+transr         transliteration (tr///) ck_match        is"     S
 
 # Lvalue operators.
 # sassign is special-cased for op class
@@ -212,6 +213,7 @@ quotemeta   quotemeta               ck_fun          fstu%   S?
 
 rv2av          array dereference       ck_rvconst      dt1     
 aelemfast      constant array element  ck_null         s$      A S
+aelemfast_lex  constant lexical array element  ck_null         d0      A S
 aelem          array element           ck_null         s2      A S
 aslice         array slice             ck_null         m@      A L
 
@@ -537,8 +539,3 @@ custom              unknown custom operator         ck_null         0
 reach          each on reference                       ck_each         %       S
 rkeys          keys on reference                       ck_each         t%      S
 rvalues                values on reference                     ck_each         t%      S
-
-# y///r
-transr         transliteration (tr///) ck_match        is"     S
-
-aelemfast_lex  constant lexical array element  ck_null         d0      A S