This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Merge preinc and postinc
[perl5.git] / opcode.h
index 0f5954f..ce93bf3 100644 (file)
--- a/opcode.h
+++ b/opcode.h
@@ -2,15 +2,15 @@
  *
  *    opcode.h
  *
- *    Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
- *    2001, 2002, 2003, 2004, 2005, 2006, 2007 by Larry Wall and others
+ *    Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+ *    2002, 2003, 2004, 2005, 2006, 2007 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 regen/opcode.pl from its data.  Any changes made
- *  here will be lost!
+ * This file is built by regen/opcode.pl from its data.
+ * Any changes made here will be lost!
  */
 
 #ifndef PERL_GLOBAL_STRUCT_INIT
 #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
-#define Perl_pp_i_predec Perl_pp_predec
+#define Perl_pp_predec Perl_pp_preinc
+#define Perl_pp_i_predec Perl_pp_preinc
 #define Perl_pp_i_postinc Perl_pp_postinc
 #define Perl_pp_i_postdec Perl_pp_postdec
 #define Perl_pp_slt Perl_pp_sle
@@ -35,6 +37,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_gpbynumber Perl_pp_gprotoent
 #define Perl_pp_gsbyname Perl_pp_gservent
 #define Perl_pp_gsbyport Perl_pp_gservent
+#define Perl_pp_snetent Perl_pp_shostent
+#define Perl_pp_sprotoent Perl_pp_shostent
+#define Perl_pp_sservent Perl_pp_shostent
 #define Perl_pp_enetent Perl_pp_ehostent
 #define Perl_pp_eprotoent Perl_pp_ehostent
 #define Perl_pp_eservent Perl_pp_ehostent
 #define Perl_pp_gpwnam Perl_pp_gpwent
 #define Perl_pp_gpwuid Perl_pp_gpwent
+#define Perl_pp_spwent Perl_pp_ehostent
+#define Perl_pp_epwent Perl_pp_ehostent
 #define Perl_pp_ggrnam Perl_pp_ggrent
 #define Perl_pp_ggrgid Perl_pp_ggrent
+#define Perl_pp_sgrent Perl_pp_ehostent
+#define Perl_pp_egrent Perl_pp_ehostent
 #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
 START_EXTERN_C
 
 #ifndef DOINIT
@@ -174,6 +183,7 @@ EXTCONST char* const PL_op_name[] = {
        "subst",
        "substcont",
        "trans",
+       "transr",
        "sassign",
        "aassign",
        "chop",
@@ -266,6 +276,7 @@ EXTCONST char* const PL_op_name[] = {
        "quotemeta",
        "rv2av",
        "aelemfast",
+       "aelemfast_lex",
        "aelem",
        "aslice",
        "aeach",
@@ -507,7 +518,7 @@ EXTCONST char* const PL_op_name[] = {
        "reach",
        "rkeys",
        "rvalues",
-       "transr",
+       "coreargs",
 };
 #endif
 
@@ -551,6 +562,7 @@ EXTCONST char* const PL_op_desc[] = {
        "substitution (s///)",
        "substitution iterator",
        "transliteration (tr///)",
+       "transliteration (tr///)",
        "scalar assignment",
        "list assignment",
        "chop",
@@ -643,6 +655,7 @@ EXTCONST char* const PL_op_desc[] = {
        "quotemeta",
        "array dereference",
        "constant array element",
+       "constant lexical array element",
        "array element",
        "array slice",
        "each on array",
@@ -884,7 +897,7 @@ EXTCONST char* const PL_op_desc[] = {
        "each on reference",
        "keys on reference",
        "values on reference",
-       "transliteration (tr///)",
+       "CORE:: subroutine",
 };
 #endif
 
@@ -942,6 +955,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,
@@ -954,8 +968,8 @@ EXT Perl_ppaddr_t PL_ppaddr[] /* or perlvars.h */
        Perl_pp_pos,
        Perl_pp_preinc,
        Perl_pp_i_preinc,       /* implemented by Perl_pp_preinc */
-       Perl_pp_predec,
-       Perl_pp_i_predec,       /* implemented by Perl_pp_predec */
+       Perl_pp_predec, /* implemented by Perl_pp_preinc */
+       Perl_pp_i_predec,       /* implemented by Perl_pp_preinc */
        Perl_pp_postinc,
        Perl_pp_i_postinc,      /* implemented by Perl_pp_postinc */
        Perl_pp_postdec,
@@ -1034,6 +1048,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,
@@ -1250,9 +1265,9 @@ EXT Perl_ppaddr_t PL_ppaddr[] /* or perlvars.h */
        Perl_pp_gsbyport,       /* implemented by Perl_pp_gservent */
        Perl_pp_gservent,
        Perl_pp_shostent,
-       Perl_pp_snetent,
-       Perl_pp_sprotoent,
-       Perl_pp_sservent,
+       Perl_pp_snetent,        /* implemented by Perl_pp_shostent */
+       Perl_pp_sprotoent,      /* implemented by Perl_pp_shostent */
+       Perl_pp_sservent,       /* implemented by Perl_pp_shostent */
        Perl_pp_ehostent,
        Perl_pp_enetent,        /* implemented by Perl_pp_ehostent */
        Perl_pp_eprotoent,      /* implemented by Perl_pp_ehostent */
@@ -1260,13 +1275,13 @@ EXT Perl_ppaddr_t PL_ppaddr[] /* or perlvars.h */
        Perl_pp_gpwnam, /* implemented by Perl_pp_gpwent */
        Perl_pp_gpwuid, /* implemented by Perl_pp_gpwent */
        Perl_pp_gpwent,
-       Perl_pp_spwent,
-       Perl_pp_epwent,
+       Perl_pp_spwent, /* implemented by Perl_pp_ehostent */
+       Perl_pp_epwent, /* implemented by Perl_pp_ehostent */
        Perl_pp_ggrnam, /* implemented by Perl_pp_ggrent */
        Perl_pp_ggrgid, /* implemented by Perl_pp_ggrent */
        Perl_pp_ggrent,
-       Perl_pp_sgrent,
-       Perl_pp_egrent,
+       Perl_pp_sgrent, /* implemented by Perl_pp_ehostent */
+       Perl_pp_egrent, /* implemented by Perl_pp_ehostent */
        Perl_pp_getlogin,
        Perl_pp_syscall,
        Perl_pp_lock,
@@ -1275,7 +1290,7 @@ 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_coreargs,
 }
 #endif
 #ifdef PERL_PPADDR_INITED
@@ -1330,6 +1345,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 */
@@ -1422,6 +1438,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 */
@@ -1436,7 +1453,7 @@ EXT Perl_check_t PL_check[] /* or perlvars.h */
        Perl_ck_null,           /* helem */
        Perl_ck_null,           /* hslice */
        Perl_ck_fun,            /* boolkeys */
-       Perl_ck_unpack,         /* unpack */
+       Perl_ck_fun,            /* unpack */
        Perl_ck_fun,            /* pack */
        Perl_ck_split,          /* split */
        Perl_ck_join,           /* join */
@@ -1444,11 +1461,11 @@ EXT Perl_check_t PL_check[] /* or perlvars.h */
        Perl_ck_null,           /* lslice */
        Perl_ck_fun,            /* anonlist */
        Perl_ck_fun,            /* anonhash */
-       Perl_ck_push,           /* splice */
-       Perl_ck_push,           /* push */
+       Perl_ck_fun,            /* splice */
+       Perl_ck_fun,            /* push */
        Perl_ck_shift,          /* pop */
        Perl_ck_shift,          /* shift */
-       Perl_ck_push,           /* unshift */
+       Perl_ck_fun,            /* unshift */
        Perl_ck_sort,           /* sort */
        Perl_ck_fun,            /* reverse */
        Perl_ck_grep,           /* grepstart */
@@ -1663,7 +1680,7 @@ 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,           /* coreargs */
 }
 #endif
 #ifdef PERL_CHECK_INITED
@@ -1712,6 +1729,7 @@ EXTCONST U32 PL_opargs[] = {
        0x00001544,     /* subst */
        0x00000344,     /* substcont */
        0x00001804,     /* trans */
+       0x00001804,     /* transr */
        0x00000004,     /* sassign */
        0x00022208,     /* aassign */
        0x00002b0d,     /* chop */
@@ -1804,6 +1822,7 @@ EXTCONST U32 PL_opargs[] = {
        0x00009b8e,     /* quotemeta */
        0x00000148,     /* rv2av */
        0x00013604,     /* aelemfast */
+       0x00013040,     /* aelemfast_lex */
        0x00013204,     /* aelem */
        0x00023401,     /* aslice */
        0x00003b00,     /* aeach */
@@ -1818,7 +1837,7 @@ EXTCONST U32 PL_opargs[] = {
        0x00014204,     /* helem */
        0x00024401,     /* hslice */
        0x00004b00,     /* boolkeys */
-       0x00091400,     /* unpack */
+       0x00091480,     /* unpack */
        0x0002140d,     /* pack */
        0x00111408,     /* split */
        0x0002140d,     /* join */
@@ -1925,8 +1944,8 @@ EXTCONST U32 PL_opargs[] = {
        0x01116404,     /* ssockopt */
        0x00006b04,     /* getsockname */
        0x00006b04,     /* getpeername */
-       0x00006c80,     /* lstat */
-       0x00006c80,     /* stat */
+       0x0000ec80,     /* lstat */
+       0x0000ec80,     /* stat */
        0x00006c84,     /* ftrread */
        0x00006c84,     /* ftrwrite */
        0x00006c84,     /* ftrexec */
@@ -2045,7 +2064,7 @@ EXTCONST U32 PL_opargs[] = {
        0x00001b00,     /* reach */
        0x00001b08,     /* rkeys */
        0x00001b08,     /* rvalues */
-       0x00001804,     /* transr */
+       0x00000600,     /* coreargs */
 };
 #endif