summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2011-06-12 11:24:46 +0200
committerNicholas Clark <nick@ccl4.org>2011-06-12 11:25:50 +0200
commitbfa148846b45a72a2fce2b0d1bbd85743ed3d081 (patch)
treefb36f600c185c459f2d4966a0c89e04f7b968640
parent93bad3fd55489cbd2d3157da1fcb3b524e960dd2 (diff)
downloadperl-bfa148846b45a72a2fce2b0d1bbd85743ed3d081.tar.gz
Reorder ops so that trans{,r} and aelemfast{,_lex} are adjacent.
-rw-r--r--ext/B/t/b.t2
-rw-r--r--opcode.h24
-rw-r--r--opnames.h670
-rw-r--r--regen/opcodes9
4 files changed, 351 insertions, 354 deletions
diff --git a/ext/B/t/b.t b/ext/B/t/b.t
index 5bfd3f1f1a..c4fb633898 100644
--- a/ext/B/t/b.t
+++ b/ext/B/t/b.t
@@ -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';
diff --git a/opcode.h b/opcode.h
index 03539b78a5..fb64ae271b 100644
--- 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
@@ -138,8 +140,6 @@
#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
diff --git a/opnames.h b/opnames.h
index ad712408af..1e7ac3c93a 100644
--- 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;
diff --git a/regen/opcodes b/regen/opcodes
index d6b778b1bc..2611111ff5 100644
--- a/regen/opcodes
+++ b/regen/opcodes
@@ -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