This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Remove OA_RETINTEGER, unused since 2002 (commit e7311069df54baa6)
[perl5.git] / opcode.h
index 56d6b57..256c773 100644 (file)
--- a/opcode.h
+++ b/opcode.h
@@ -2,8 +2,8 @@
  *
  *    opcode.h
  *
- *    Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- *    2000, 2001, 2002, 2003, 2004, 2005 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.
@@ -131,6 +131,7 @@ EXTCONST char* const PL_op_name[] = {
        "i_negate",
        "not",
        "complement",
+       "smartmatch",
        "atan2",
        "sin",
        "cos",
@@ -162,6 +163,9 @@ EXTCONST char* const PL_op_name[] = {
        "aelemfast",
        "aelem",
        "aslice",
+       "aeach",
+       "akeys",
+       "avalues",
        "each",
        "values",
        "keys",
@@ -170,6 +174,7 @@ EXTCONST char* const PL_op_name[] = {
        "rv2hv",
        "helem",
        "hslice",
+       "boolkeys",
        "unpack",
        "pack",
        "split",
@@ -195,9 +200,11 @@ EXTCONST char* const PL_op_name[] = {
        "and",
        "or",
        "xor",
+       "dor",
        "cond_expr",
        "andassign",
        "orassign",
+       "dorassign",
        "method",
        "entersub",
        "leavesub",
@@ -224,6 +231,13 @@ EXTCONST char* const PL_op_name[] = {
        "dump",
        "goto",
        "exit",
+       "method_named",
+       "entergiven",
+       "leavegiven",
+       "enterwhen",
+       "leavewhen",
+       "break",
+       "continue",
        "open",
        "close",
        "pipe_op",
@@ -243,12 +257,11 @@ EXTCONST char* const PL_op_name[] = {
        "leavewrite",
        "prtf",
        "print",
+       "say",
        "sysopen",
        "sysseek",
        "sysread",
        "syswrite",
-       "send",
-       "recv",
        "eof",
        "tell",
        "seek",
@@ -256,6 +269,8 @@ EXTCONST char* const PL_op_name[] = {
        "fcntl",
        "ioctl",
        "flock",
+       "send",
+       "recv",
        "socket",
        "sockpair",
        "bind",
@@ -276,23 +291,23 @@ EXTCONST char* const PL_op_name[] = {
        "ftewrite",
        "fteexec",
        "ftis",
-       "fteowned",
-       "ftrowned",
-       "ftzero",
        "ftsize",
        "ftmtime",
        "ftatime",
        "ftctime",
+       "ftrowned",
+       "fteowned",
+       "ftzero",
        "ftsock",
        "ftchr",
        "ftblk",
        "ftfile",
        "ftdir",
        "ftpipe",
-       "ftlink",
        "ftsuid",
        "ftsgid",
        "ftsvtx",
+       "ftlink",
        "fttty",
        "fttext",
        "ftbinary",
@@ -339,11 +354,12 @@ EXTCONST char* const PL_op_name[] = {
        "msgctl",
        "msgsnd",
        "msgrcv",
+       "semop",
        "semget",
        "semctl",
-       "semop",
        "require",
        "dofile",
+       "hintseval",
        "entereval",
        "leaveeval",
        "entertry",
@@ -381,11 +397,7 @@ EXTCONST char* const PL_op_name[] = {
        "getlogin",
        "syscall",
        "lock",
-       "threadsv",
-       "setstate",
-       "method_named",
-       "dor",
-       "dorassign",
+       "once",
        "custom",
 };
 #endif
@@ -492,6 +504,7 @@ EXTCONST char* const PL_op_desc[] = {
        "integer negation (-)",
        "not",
        "1's complement (~)",
+       "smart match",
        "atan2",
        "sin",
        "cos",
@@ -523,6 +536,9 @@ EXTCONST char* const PL_op_desc[] = {
        "constant array element",
        "array element",
        "array slice",
+       "each on array",
+       "keys on array",
+       "values on array",
        "each",
        "values",
        "keys",
@@ -531,6 +547,7 @@ EXTCONST char* const PL_op_desc[] = {
        "hash dereference",
        "hash element",
        "hash slice",
+       "boolkeys",
        "unpack",
        "pack",
        "split",
@@ -556,9 +573,11 @@ EXTCONST char* const PL_op_desc[] = {
        "logical and (&&)",
        "logical or (||)",
        "logical xor",
+       "defined or (//)",
        "conditional expression",
        "logical and assignment (&&=)",
        "logical or assignment (||=)",
+       "defined or assignment (//=)",
        "method lookup",
        "subroutine entry",
        "subroutine exit",
@@ -585,6 +604,13 @@ EXTCONST char* const PL_op_desc[] = {
        "dump",
        "goto",
        "exit",
+       "method with known name",
+       "given()",
+       "leave given block",
+       "when()",
+       "leave when block",
+       "break",
+       "continue",
        "open",
        "close",
        "pipe",
@@ -604,12 +630,11 @@ EXTCONST char* const PL_op_desc[] = {
        "write exit",
        "printf",
        "print",
+       "say",
        "sysopen",
        "sysseek",
        "sysread",
        "syswrite",
-       "send",
-       "recv",
        "eof",
        "tell",
        "seek",
@@ -617,6 +642,8 @@ EXTCONST char* const PL_op_desc[] = {
        "fcntl",
        "ioctl",
        "flock",
+       "send",
+       "recv",
        "socket",
        "socketpair",
        "bind",
@@ -637,23 +664,23 @@ EXTCONST char* const PL_op_desc[] = {
        "-w",
        "-x",
        "-e",
-       "-o",
-       "-O",
-       "-z",
        "-s",
        "-M",
        "-A",
        "-C",
+       "-O",
+       "-o",
+       "-z",
        "-S",
        "-c",
        "-b",
        "-f",
        "-d",
        "-p",
-       "-l",
        "-u",
        "-g",
        "-k",
+       "-l",
        "-t",
        "-T",
        "-B",
@@ -700,11 +727,12 @@ EXTCONST char* const PL_op_desc[] = {
        "msgctl",
        "msgsnd",
        "msgrcv",
+       "semop",
        "semget",
        "semctl",
-       "semop",
        "require",
        "do \"file\"",
+       "eval hints",
        "eval \"string\"",
        "eval \"string\" exit",
        "eval {block}",
@@ -742,11 +770,7 @@ EXTCONST char* const PL_op_desc[] = {
        "getlogin",
        "syscall",
        "lock",
-       "per-thread value",
-       "set statement info",
-       "method with known name",
-       "defined or (//)",
-       "defined or assignment (//=)",
+       "once",
        "unknown custom operator",
 };
 #endif
@@ -758,13 +782,16 @@ END_EXTERN_C
 START_EXTERN_C
 
 #ifdef PERL_GLOBAL_STRUCT_INIT
+#  define PERL_PPADDR_INITED
 static const Perl_ppaddr_t Gppaddr[]
 #else
 #  ifndef PERL_GLOBAL_STRUCT
+#    define PERL_PPADDR_INITED
 EXT Perl_ppaddr_t PL_ppaddr[] /* or perlvars.h */
 #  endif
 #endif /* PERL_GLOBAL_STRUCT */
 #if (defined(DOINIT) && !defined(PERL_GLOBAL_STRUCT)) || defined(PERL_GLOBAL_STRUCT_INIT)
+#  define PERL_PPADDR_INITED
 = {
        MEMBER_TO_FPTR(Perl_pp_null),
        MEMBER_TO_FPTR(Perl_pp_stub),
@@ -850,44 +877,45 @@ EXT Perl_ppaddr_t PL_ppaddr[] /* or perlvars.h */
        MEMBER_TO_FPTR(Perl_pp_i_ne),
        MEMBER_TO_FPTR(Perl_pp_ncmp),
        MEMBER_TO_FPTR(Perl_pp_i_ncmp),
-       MEMBER_TO_FPTR(Perl_pp_slt),
-       MEMBER_TO_FPTR(Perl_pp_sgt),
+       MEMBER_TO_FPTR(Perl_pp_sle),    /* Perl_pp_slt */
+       MEMBER_TO_FPTR(Perl_pp_sle),    /* Perl_pp_sgt */
        MEMBER_TO_FPTR(Perl_pp_sle),
-       MEMBER_TO_FPTR(Perl_pp_sge),
+       MEMBER_TO_FPTR(Perl_pp_sle),    /* Perl_pp_sge */
        MEMBER_TO_FPTR(Perl_pp_seq),
        MEMBER_TO_FPTR(Perl_pp_sne),
        MEMBER_TO_FPTR(Perl_pp_scmp),
        MEMBER_TO_FPTR(Perl_pp_bit_and),
-       MEMBER_TO_FPTR(Perl_pp_bit_xor),
+       MEMBER_TO_FPTR(Perl_pp_bit_or), /* Perl_pp_bit_xor */
        MEMBER_TO_FPTR(Perl_pp_bit_or),
        MEMBER_TO_FPTR(Perl_pp_negate),
        MEMBER_TO_FPTR(Perl_pp_i_negate),
        MEMBER_TO_FPTR(Perl_pp_not),
        MEMBER_TO_FPTR(Perl_pp_complement),
+       MEMBER_TO_FPTR(Perl_pp_smartmatch),
        MEMBER_TO_FPTR(Perl_pp_atan2),
        MEMBER_TO_FPTR(Perl_pp_sin),
-       MEMBER_TO_FPTR(Perl_pp_cos),
+       MEMBER_TO_FPTR(Perl_pp_sin),    /* Perl_pp_cos */
        MEMBER_TO_FPTR(Perl_pp_rand),
        MEMBER_TO_FPTR(Perl_pp_srand),
-       MEMBER_TO_FPTR(Perl_pp_exp),
-       MEMBER_TO_FPTR(Perl_pp_log),
-       MEMBER_TO_FPTR(Perl_pp_sqrt),
+       MEMBER_TO_FPTR(Perl_pp_sin),    /* Perl_pp_exp */
+       MEMBER_TO_FPTR(Perl_pp_sin),    /* Perl_pp_log */
+       MEMBER_TO_FPTR(Perl_pp_sin),    /* Perl_pp_sqrt */
        MEMBER_TO_FPTR(Perl_pp_int),
-       MEMBER_TO_FPTR(Perl_pp_hex),
+       MEMBER_TO_FPTR(Perl_pp_oct),    /* Perl_pp_hex */
        MEMBER_TO_FPTR(Perl_pp_oct),
        MEMBER_TO_FPTR(Perl_pp_abs),
        MEMBER_TO_FPTR(Perl_pp_length),
        MEMBER_TO_FPTR(Perl_pp_substr),
        MEMBER_TO_FPTR(Perl_pp_vec),
        MEMBER_TO_FPTR(Perl_pp_index),
-       MEMBER_TO_FPTR(Perl_pp_rindex),
+       MEMBER_TO_FPTR(Perl_pp_index),  /* Perl_pp_rindex */
        MEMBER_TO_FPTR(Perl_pp_sprintf),
        MEMBER_TO_FPTR(Perl_pp_formline),
        MEMBER_TO_FPTR(Perl_pp_ord),
        MEMBER_TO_FPTR(Perl_pp_chr),
        MEMBER_TO_FPTR(Perl_pp_crypt),
        MEMBER_TO_FPTR(Perl_pp_ucfirst),
-       MEMBER_TO_FPTR(Perl_pp_lcfirst),
+       MEMBER_TO_FPTR(Perl_pp_ucfirst),        /* Perl_pp_lcfirst */
        MEMBER_TO_FPTR(Perl_pp_uc),
        MEMBER_TO_FPTR(Perl_pp_lc),
        MEMBER_TO_FPTR(Perl_pp_quotemeta),
@@ -895,14 +923,18 @@ EXT Perl_ppaddr_t PL_ppaddr[] /* or perlvars.h */
        MEMBER_TO_FPTR(Perl_pp_aelemfast),
        MEMBER_TO_FPTR(Perl_pp_aelem),
        MEMBER_TO_FPTR(Perl_pp_aslice),
+       MEMBER_TO_FPTR(Perl_pp_aeach),
+       MEMBER_TO_FPTR(Perl_pp_akeys),
+       MEMBER_TO_FPTR(Perl_pp_akeys),  /* Perl_pp_avalues */
        MEMBER_TO_FPTR(Perl_pp_each),
        MEMBER_TO_FPTR(Perl_do_kv),     /* Perl_pp_values */
        MEMBER_TO_FPTR(Perl_do_kv),     /* Perl_pp_keys */
        MEMBER_TO_FPTR(Perl_pp_delete),
        MEMBER_TO_FPTR(Perl_pp_exists),
-       MEMBER_TO_FPTR(Perl_pp_rv2hv),
+       MEMBER_TO_FPTR(Perl_pp_rv2av),  /* Perl_pp_rv2hv */
        MEMBER_TO_FPTR(Perl_pp_helem),
        MEMBER_TO_FPTR(Perl_pp_hslice),
+       MEMBER_TO_FPTR(Perl_pp_boolkeys),
        MEMBER_TO_FPTR(Perl_pp_unpack),
        MEMBER_TO_FPTR(Perl_pp_pack),
        MEMBER_TO_FPTR(Perl_pp_split),
@@ -913,7 +945,7 @@ EXT Perl_ppaddr_t PL_ppaddr[] /* or perlvars.h */
        MEMBER_TO_FPTR(Perl_pp_anonhash),
        MEMBER_TO_FPTR(Perl_pp_splice),
        MEMBER_TO_FPTR(Perl_pp_push),
-       MEMBER_TO_FPTR(Perl_pp_pop),
+       MEMBER_TO_FPTR(Perl_pp_shift),  /* Perl_pp_pop */
        MEMBER_TO_FPTR(Perl_pp_shift),
        MEMBER_TO_FPTR(Perl_pp_unshift),
        MEMBER_TO_FPTR(Perl_pp_sort),
@@ -928,9 +960,11 @@ EXT Perl_ppaddr_t PL_ppaddr[] /* or perlvars.h */
        MEMBER_TO_FPTR(Perl_pp_and),
        MEMBER_TO_FPTR(Perl_pp_or),
        MEMBER_TO_FPTR(Perl_pp_xor),
+       MEMBER_TO_FPTR(Perl_pp_defined),        /* Perl_pp_dor */
        MEMBER_TO_FPTR(Perl_pp_cond_expr),
-       MEMBER_TO_FPTR(Perl_pp_andassign),
-       MEMBER_TO_FPTR(Perl_pp_orassign),
+       MEMBER_TO_FPTR(Perl_pp_and),    /* Perl_pp_andassign */
+       MEMBER_TO_FPTR(Perl_pp_or),     /* Perl_pp_orassign */
+       MEMBER_TO_FPTR(Perl_pp_defined),        /* Perl_pp_dorassign */
        MEMBER_TO_FPTR(Perl_pp_method),
        MEMBER_TO_FPTR(Perl_pp_entersub),
        MEMBER_TO_FPTR(Perl_pp_leavesub),
@@ -957,6 +991,13 @@ EXT Perl_ppaddr_t PL_ppaddr[] /* or perlvars.h */
        MEMBER_TO_FPTR(Perl_pp_goto),   /* Perl_pp_dump */
        MEMBER_TO_FPTR(Perl_pp_goto),
        MEMBER_TO_FPTR(Perl_pp_exit),
+       MEMBER_TO_FPTR(Perl_pp_method_named),
+       MEMBER_TO_FPTR(Perl_pp_entergiven),
+       MEMBER_TO_FPTR(Perl_pp_leavegiven),
+       MEMBER_TO_FPTR(Perl_pp_enterwhen),
+       MEMBER_TO_FPTR(Perl_pp_leavewhen),
+       MEMBER_TO_FPTR(Perl_pp_break),
+       MEMBER_TO_FPTR(Perl_pp_continue),
        MEMBER_TO_FPTR(Perl_pp_open),
        MEMBER_TO_FPTR(Perl_pp_close),
        MEMBER_TO_FPTR(Perl_pp_pipe_op),
@@ -976,12 +1017,11 @@ EXT Perl_ppaddr_t PL_ppaddr[] /* or perlvars.h */
        MEMBER_TO_FPTR(Perl_pp_leavewrite),
        MEMBER_TO_FPTR(Perl_pp_prtf),
        MEMBER_TO_FPTR(Perl_pp_print),
+       MEMBER_TO_FPTR(Perl_pp_print),  /* Perl_pp_say */
        MEMBER_TO_FPTR(Perl_pp_sysopen),
        MEMBER_TO_FPTR(Perl_pp_sysseek),
        MEMBER_TO_FPTR(Perl_pp_sysread),
-       MEMBER_TO_FPTR(Perl_pp_syswrite),
-       MEMBER_TO_FPTR(Perl_pp_send),
-       MEMBER_TO_FPTR(Perl_pp_sysread),        /* Perl_pp_recv */
+       MEMBER_TO_FPTR(Perl_pp_send),   /* Perl_pp_syswrite */
        MEMBER_TO_FPTR(Perl_pp_eof),
        MEMBER_TO_FPTR(Perl_pp_tell),
        MEMBER_TO_FPTR(Perl_pp_sysseek),        /* Perl_pp_seek */
@@ -989,6 +1029,8 @@ EXT Perl_ppaddr_t PL_ppaddr[] /* or perlvars.h */
        MEMBER_TO_FPTR(Perl_pp_ioctl),  /* Perl_pp_fcntl */
        MEMBER_TO_FPTR(Perl_pp_ioctl),
        MEMBER_TO_FPTR(Perl_pp_flock),
+       MEMBER_TO_FPTR(Perl_pp_send),
+       MEMBER_TO_FPTR(Perl_pp_sysread),        /* Perl_pp_recv */
        MEMBER_TO_FPTR(Perl_pp_socket),
        MEMBER_TO_FPTR(Perl_pp_sockpair),
        MEMBER_TO_FPTR(Perl_pp_bind),
@@ -1003,41 +1045,41 @@ EXT Perl_ppaddr_t PL_ppaddr[] /* or perlvars.h */
        MEMBER_TO_FPTR(Perl_pp_stat),   /* Perl_pp_lstat */
        MEMBER_TO_FPTR(Perl_pp_stat),
        MEMBER_TO_FPTR(Perl_pp_ftrread),
-       MEMBER_TO_FPTR(Perl_pp_ftrwrite),
-       MEMBER_TO_FPTR(Perl_pp_ftrexec),
-       MEMBER_TO_FPTR(Perl_pp_fteread),
-       MEMBER_TO_FPTR(Perl_pp_ftewrite),
-       MEMBER_TO_FPTR(Perl_pp_fteexec),
+       MEMBER_TO_FPTR(Perl_pp_ftrread),        /* Perl_pp_ftrwrite */
+       MEMBER_TO_FPTR(Perl_pp_ftrread),        /* Perl_pp_ftrexec */
+       MEMBER_TO_FPTR(Perl_pp_ftrread),        /* Perl_pp_fteread */
+       MEMBER_TO_FPTR(Perl_pp_ftrread),        /* Perl_pp_ftewrite */
+       MEMBER_TO_FPTR(Perl_pp_ftrread),        /* Perl_pp_fteexec */
        MEMBER_TO_FPTR(Perl_pp_ftis),
-       MEMBER_TO_FPTR(Perl_pp_ftrowned),       /* Perl_pp_fteowned */
+       MEMBER_TO_FPTR(Perl_pp_ftis),   /* Perl_pp_ftsize */
+       MEMBER_TO_FPTR(Perl_pp_ftis),   /* Perl_pp_ftmtime */
+       MEMBER_TO_FPTR(Perl_pp_ftis),   /* Perl_pp_ftatime */
+       MEMBER_TO_FPTR(Perl_pp_ftis),   /* Perl_pp_ftctime */
        MEMBER_TO_FPTR(Perl_pp_ftrowned),
-       MEMBER_TO_FPTR(Perl_pp_ftzero),
-       MEMBER_TO_FPTR(Perl_pp_ftsize),
-       MEMBER_TO_FPTR(Perl_pp_ftmtime),
-       MEMBER_TO_FPTR(Perl_pp_ftatime),
-       MEMBER_TO_FPTR(Perl_pp_ftctime),
-       MEMBER_TO_FPTR(Perl_pp_ftsock),
-       MEMBER_TO_FPTR(Perl_pp_ftchr),
-       MEMBER_TO_FPTR(Perl_pp_ftblk),
-       MEMBER_TO_FPTR(Perl_pp_ftfile),
-       MEMBER_TO_FPTR(Perl_pp_ftdir),
-       MEMBER_TO_FPTR(Perl_pp_ftpipe),
+       MEMBER_TO_FPTR(Perl_pp_ftrowned),       /* Perl_pp_fteowned */
+       MEMBER_TO_FPTR(Perl_pp_ftrowned),       /* Perl_pp_ftzero */
+       MEMBER_TO_FPTR(Perl_pp_ftrowned),       /* Perl_pp_ftsock */
+       MEMBER_TO_FPTR(Perl_pp_ftrowned),       /* Perl_pp_ftchr */
+       MEMBER_TO_FPTR(Perl_pp_ftrowned),       /* Perl_pp_ftblk */
+       MEMBER_TO_FPTR(Perl_pp_ftrowned),       /* Perl_pp_ftfile */
+       MEMBER_TO_FPTR(Perl_pp_ftrowned),       /* Perl_pp_ftdir */
+       MEMBER_TO_FPTR(Perl_pp_ftrowned),       /* Perl_pp_ftpipe */
+       MEMBER_TO_FPTR(Perl_pp_ftrowned),       /* Perl_pp_ftsuid */
+       MEMBER_TO_FPTR(Perl_pp_ftrowned),       /* Perl_pp_ftsgid */
+       MEMBER_TO_FPTR(Perl_pp_ftrowned),       /* Perl_pp_ftsvtx */
        MEMBER_TO_FPTR(Perl_pp_ftlink),
-       MEMBER_TO_FPTR(Perl_pp_ftsuid),
-       MEMBER_TO_FPTR(Perl_pp_ftsgid),
-       MEMBER_TO_FPTR(Perl_pp_ftsvtx),
        MEMBER_TO_FPTR(Perl_pp_fttty),
        MEMBER_TO_FPTR(Perl_pp_fttext),
        MEMBER_TO_FPTR(Perl_pp_fttext), /* Perl_pp_ftbinary */
        MEMBER_TO_FPTR(Perl_pp_chdir),
        MEMBER_TO_FPTR(Perl_pp_chown),
        MEMBER_TO_FPTR(Perl_pp_chroot),
-       MEMBER_TO_FPTR(Perl_pp_unlink),
-       MEMBER_TO_FPTR(Perl_pp_chmod),
-       MEMBER_TO_FPTR(Perl_pp_utime),
+       MEMBER_TO_FPTR(Perl_pp_chown),  /* Perl_pp_unlink */
+       MEMBER_TO_FPTR(Perl_pp_chown),  /* Perl_pp_chmod */
+       MEMBER_TO_FPTR(Perl_pp_chown),  /* Perl_pp_utime */
        MEMBER_TO_FPTR(Perl_pp_rename),
        MEMBER_TO_FPTR(Perl_pp_link),
-       MEMBER_TO_FPTR(Perl_pp_symlink),
+       MEMBER_TO_FPTR(Perl_pp_link),   /* Perl_pp_symlink */
        MEMBER_TO_FPTR(Perl_pp_readlink),
        MEMBER_TO_FPTR(Perl_pp_mkdir),
        MEMBER_TO_FPTR(Perl_pp_rmdir),
@@ -1052,7 +1094,7 @@ EXT Perl_ppaddr_t PL_ppaddr[] /* or perlvars.h */
        MEMBER_TO_FPTR(Perl_pp_waitpid),
        MEMBER_TO_FPTR(Perl_pp_system),
        MEMBER_TO_FPTR(Perl_pp_exec),
-       MEMBER_TO_FPTR(Perl_pp_kill),
+       MEMBER_TO_FPTR(Perl_pp_chown),  /* Perl_pp_kill */
        MEMBER_TO_FPTR(Perl_pp_getppid),
        MEMBER_TO_FPTR(Perl_pp_getpgrp),
        MEMBER_TO_FPTR(Perl_pp_setpgrp),
@@ -1070,13 +1112,14 @@ EXT Perl_ppaddr_t PL_ppaddr[] /* or perlvars.h */
        MEMBER_TO_FPTR(Perl_pp_shmwrite),
        MEMBER_TO_FPTR(Perl_pp_semget), /* Perl_pp_msgget */
        MEMBER_TO_FPTR(Perl_pp_semctl), /* Perl_pp_msgctl */
-       MEMBER_TO_FPTR(Perl_pp_msgsnd),
-       MEMBER_TO_FPTR(Perl_pp_msgrcv),
+       MEMBER_TO_FPTR(Perl_pp_shmwrite),       /* Perl_pp_msgsnd */
+       MEMBER_TO_FPTR(Perl_pp_shmwrite),       /* Perl_pp_msgrcv */
+       MEMBER_TO_FPTR(Perl_pp_shmwrite),       /* Perl_pp_semop */
        MEMBER_TO_FPTR(Perl_pp_semget),
        MEMBER_TO_FPTR(Perl_pp_semctl),
-       MEMBER_TO_FPTR(Perl_pp_semop),
        MEMBER_TO_FPTR(Perl_pp_require),
        MEMBER_TO_FPTR(Perl_pp_require),        /* Perl_pp_dofile */
+       MEMBER_TO_FPTR(Perl_pp_hintseval),
        MEMBER_TO_FPTR(Perl_pp_entereval),
        MEMBER_TO_FPTR(Perl_pp_leaveeval),
        MEMBER_TO_FPTR(Perl_pp_entertry),
@@ -1114,23 +1157,25 @@ EXT Perl_ppaddr_t PL_ppaddr[] /* or perlvars.h */
        MEMBER_TO_FPTR(Perl_pp_getlogin),
        MEMBER_TO_FPTR(Perl_pp_syscall),
        MEMBER_TO_FPTR(Perl_pp_lock),
-       MEMBER_TO_FPTR(Perl_unimplemented_op),  /* Perl_pp_threadsv */
-       MEMBER_TO_FPTR(Perl_pp_setstate),
-       MEMBER_TO_FPTR(Perl_pp_method_named),
-       MEMBER_TO_FPTR(Perl_pp_dor),
-       MEMBER_TO_FPTR(Perl_pp_dorassign),
+       MEMBER_TO_FPTR(Perl_pp_once),
+       MEMBER_TO_FPTR(Perl_unimplemented_op),  /* Perl_pp_custom */
 }
 #endif
+#ifdef PERL_PPADDR_INITED
 ;
+#endif
 
 #ifdef PERL_GLOBAL_STRUCT_INIT
+#  define PERL_CHECK_INITED
 static const Perl_check_t Gcheck[]
 #else
 #  ifndef PERL_GLOBAL_STRUCT
+#    define PERL_CHECK_INITED
 EXT Perl_check_t PL_check[] /* or perlvars.h */
 #  endif
 #endif
 #if (defined(DOINIT) && !defined(PERL_GLOBAL_STRUCT)) || defined(PERL_GLOBAL_STRUCT_INIT)
+#  define PERL_CHECK_INITED
 = {
        MEMBER_TO_FPTR(Perl_ck_null),   /* null */
        MEMBER_TO_FPTR(Perl_ck_null),   /* stub */
@@ -1158,7 +1203,7 @@ EXT Perl_check_t PL_check[] /* or perlvars.h */
        MEMBER_TO_FPTR(Perl_ck_fun),    /* bless */
        MEMBER_TO_FPTR(Perl_ck_open),   /* backtick */
        MEMBER_TO_FPTR(Perl_ck_glob),   /* glob */
-       MEMBER_TO_FPTR(Perl_ck_null),   /* readline */
+       MEMBER_TO_FPTR(Perl_ck_readline),       /* readline */
        MEMBER_TO_FPTR(Perl_ck_null),   /* rcatline */
        MEMBER_TO_FPTR(Perl_ck_fun),    /* regcmaybe */
        MEMBER_TO_FPTR(Perl_ck_fun),    /* regcreset */
@@ -1230,6 +1275,7 @@ EXT Perl_check_t PL_check[] /* or perlvars.h */
        MEMBER_TO_FPTR(Perl_ck_null),   /* i_negate */
        MEMBER_TO_FPTR(Perl_ck_null),   /* not */
        MEMBER_TO_FPTR(Perl_ck_bitop),  /* complement */
+       MEMBER_TO_FPTR(Perl_ck_smartmatch),     /* smartmatch */
        MEMBER_TO_FPTR(Perl_ck_fun),    /* atan2 */
        MEMBER_TO_FPTR(Perl_ck_fun),    /* sin */
        MEMBER_TO_FPTR(Perl_ck_fun),    /* cos */
@@ -1242,7 +1288,7 @@ EXT Perl_check_t PL_check[] /* or perlvars.h */
        MEMBER_TO_FPTR(Perl_ck_fun),    /* hex */
        MEMBER_TO_FPTR(Perl_ck_fun),    /* oct */
        MEMBER_TO_FPTR(Perl_ck_fun),    /* abs */
-       MEMBER_TO_FPTR(Perl_ck_lengthconst),    /* length */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* length */
        MEMBER_TO_FPTR(Perl_ck_substr), /* substr */
        MEMBER_TO_FPTR(Perl_ck_fun),    /* vec */
        MEMBER_TO_FPTR(Perl_ck_index),  /* index */
@@ -1261,14 +1307,18 @@ EXT Perl_check_t PL_check[] /* or perlvars.h */
        MEMBER_TO_FPTR(Perl_ck_null),   /* aelemfast */
        MEMBER_TO_FPTR(Perl_ck_null),   /* aelem */
        MEMBER_TO_FPTR(Perl_ck_null),   /* aslice */
-       MEMBER_TO_FPTR(Perl_ck_fun),    /* each */
-       MEMBER_TO_FPTR(Perl_ck_fun),    /* values */
-       MEMBER_TO_FPTR(Perl_ck_fun),    /* keys */
+       MEMBER_TO_FPTR(Perl_ck_each),   /* aeach */
+       MEMBER_TO_FPTR(Perl_ck_each),   /* akeys */
+       MEMBER_TO_FPTR(Perl_ck_each),   /* avalues */
+       MEMBER_TO_FPTR(Perl_ck_each),   /* each */
+       MEMBER_TO_FPTR(Perl_ck_each),   /* values */
+       MEMBER_TO_FPTR(Perl_ck_each),   /* keys */
        MEMBER_TO_FPTR(Perl_ck_delete), /* delete */
        MEMBER_TO_FPTR(Perl_ck_exists), /* exists */
        MEMBER_TO_FPTR(Perl_ck_rvconst),        /* rv2hv */
        MEMBER_TO_FPTR(Perl_ck_null),   /* helem */
        MEMBER_TO_FPTR(Perl_ck_null),   /* hslice */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* boolkeys */
        MEMBER_TO_FPTR(Perl_ck_unpack), /* unpack */
        MEMBER_TO_FPTR(Perl_ck_fun),    /* pack */
        MEMBER_TO_FPTR(Perl_ck_split),  /* split */
@@ -1294,9 +1344,11 @@ EXT Perl_check_t PL_check[] /* or perlvars.h */
        MEMBER_TO_FPTR(Perl_ck_null),   /* and */
        MEMBER_TO_FPTR(Perl_ck_null),   /* or */
        MEMBER_TO_FPTR(Perl_ck_null),   /* xor */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* dor */
        MEMBER_TO_FPTR(Perl_ck_null),   /* cond_expr */
        MEMBER_TO_FPTR(Perl_ck_null),   /* andassign */
        MEMBER_TO_FPTR(Perl_ck_null),   /* orassign */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* dorassign */
        MEMBER_TO_FPTR(Perl_ck_method), /* method */
        MEMBER_TO_FPTR(Perl_ck_subr),   /* entersub */
        MEMBER_TO_FPTR(Perl_ck_null),   /* leavesub */
@@ -1323,6 +1375,13 @@ EXT Perl_check_t PL_check[] /* or perlvars.h */
        MEMBER_TO_FPTR(Perl_ck_null),   /* dump */
        MEMBER_TO_FPTR(Perl_ck_null),   /* goto */
        MEMBER_TO_FPTR(Perl_ck_exit),   /* exit */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* method_named */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* entergiven */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* leavegiven */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* enterwhen */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* leavewhen */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* break */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* continue */
        MEMBER_TO_FPTR(Perl_ck_open),   /* open */
        MEMBER_TO_FPTR(Perl_ck_fun),    /* close */
        MEMBER_TO_FPTR(Perl_ck_fun),    /* pipe_op */
@@ -1342,12 +1401,11 @@ EXT Perl_check_t PL_check[] /* or perlvars.h */
        MEMBER_TO_FPTR(Perl_ck_null),   /* leavewrite */
        MEMBER_TO_FPTR(Perl_ck_listiob),        /* prtf */
        MEMBER_TO_FPTR(Perl_ck_listiob),        /* print */
+       MEMBER_TO_FPTR(Perl_ck_listiob),        /* say */
        MEMBER_TO_FPTR(Perl_ck_fun),    /* sysopen */
        MEMBER_TO_FPTR(Perl_ck_fun),    /* sysseek */
        MEMBER_TO_FPTR(Perl_ck_fun),    /* sysread */
        MEMBER_TO_FPTR(Perl_ck_fun),    /* syswrite */
-       MEMBER_TO_FPTR(Perl_ck_fun),    /* send */
-       MEMBER_TO_FPTR(Perl_ck_fun),    /* recv */
        MEMBER_TO_FPTR(Perl_ck_eof),    /* eof */
        MEMBER_TO_FPTR(Perl_ck_fun),    /* tell */
        MEMBER_TO_FPTR(Perl_ck_fun),    /* seek */
@@ -1355,6 +1413,8 @@ EXT Perl_check_t PL_check[] /* or perlvars.h */
        MEMBER_TO_FPTR(Perl_ck_fun),    /* fcntl */
        MEMBER_TO_FPTR(Perl_ck_fun),    /* ioctl */
        MEMBER_TO_FPTR(Perl_ck_fun),    /* flock */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* send */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* recv */
        MEMBER_TO_FPTR(Perl_ck_fun),    /* socket */
        MEMBER_TO_FPTR(Perl_ck_fun),    /* sockpair */
        MEMBER_TO_FPTR(Perl_ck_fun),    /* bind */
@@ -1375,27 +1435,27 @@ EXT Perl_check_t PL_check[] /* or perlvars.h */
        MEMBER_TO_FPTR(Perl_ck_ftst),   /* ftewrite */
        MEMBER_TO_FPTR(Perl_ck_ftst),   /* fteexec */
        MEMBER_TO_FPTR(Perl_ck_ftst),   /* ftis */
-       MEMBER_TO_FPTR(Perl_ck_ftst),   /* fteowned */
-       MEMBER_TO_FPTR(Perl_ck_ftst),   /* ftrowned */
-       MEMBER_TO_FPTR(Perl_ck_ftst),   /* ftzero */
        MEMBER_TO_FPTR(Perl_ck_ftst),   /* ftsize */
        MEMBER_TO_FPTR(Perl_ck_ftst),   /* ftmtime */
        MEMBER_TO_FPTR(Perl_ck_ftst),   /* ftatime */
        MEMBER_TO_FPTR(Perl_ck_ftst),   /* ftctime */
+       MEMBER_TO_FPTR(Perl_ck_ftst),   /* ftrowned */
+       MEMBER_TO_FPTR(Perl_ck_ftst),   /* fteowned */
+       MEMBER_TO_FPTR(Perl_ck_ftst),   /* ftzero */
        MEMBER_TO_FPTR(Perl_ck_ftst),   /* ftsock */
        MEMBER_TO_FPTR(Perl_ck_ftst),   /* ftchr */
        MEMBER_TO_FPTR(Perl_ck_ftst),   /* ftblk */
        MEMBER_TO_FPTR(Perl_ck_ftst),   /* ftfile */
        MEMBER_TO_FPTR(Perl_ck_ftst),   /* ftdir */
        MEMBER_TO_FPTR(Perl_ck_ftst),   /* ftpipe */
-       MEMBER_TO_FPTR(Perl_ck_ftst),   /* ftlink */
        MEMBER_TO_FPTR(Perl_ck_ftst),   /* ftsuid */
        MEMBER_TO_FPTR(Perl_ck_ftst),   /* ftsgid */
        MEMBER_TO_FPTR(Perl_ck_ftst),   /* ftsvtx */
+       MEMBER_TO_FPTR(Perl_ck_ftst),   /* ftlink */
        MEMBER_TO_FPTR(Perl_ck_ftst),   /* fttty */
        MEMBER_TO_FPTR(Perl_ck_ftst),   /* fttext */
        MEMBER_TO_FPTR(Perl_ck_ftst),   /* ftbinary */
-       MEMBER_TO_FPTR(Perl_ck_fun),    /* chdir */
+       MEMBER_TO_FPTR(Perl_ck_chdir),  /* chdir */
        MEMBER_TO_FPTR(Perl_ck_fun),    /* chown */
        MEMBER_TO_FPTR(Perl_ck_fun),    /* chroot */
        MEMBER_TO_FPTR(Perl_ck_fun),    /* unlink */
@@ -1438,14 +1498,15 @@ EXT Perl_check_t PL_check[] /* or perlvars.h */
        MEMBER_TO_FPTR(Perl_ck_fun),    /* msgctl */
        MEMBER_TO_FPTR(Perl_ck_fun),    /* msgsnd */
        MEMBER_TO_FPTR(Perl_ck_fun),    /* msgrcv */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* semop */
        MEMBER_TO_FPTR(Perl_ck_fun),    /* semget */
        MEMBER_TO_FPTR(Perl_ck_fun),    /* semctl */
-       MEMBER_TO_FPTR(Perl_ck_fun),    /* semop */
        MEMBER_TO_FPTR(Perl_ck_require),        /* require */
        MEMBER_TO_FPTR(Perl_ck_fun),    /* dofile */
+       MEMBER_TO_FPTR(Perl_ck_svconst),        /* hintseval */
        MEMBER_TO_FPTR(Perl_ck_eval),   /* entereval */
        MEMBER_TO_FPTR(Perl_ck_null),   /* leaveeval */
-       MEMBER_TO_FPTR(Perl_ck_null),   /* entertry */
+       MEMBER_TO_FPTR(Perl_ck_eval),   /* entertry */
        MEMBER_TO_FPTR(Perl_ck_null),   /* leavetry */
        MEMBER_TO_FPTR(Perl_ck_fun),    /* ghbyname */
        MEMBER_TO_FPTR(Perl_ck_fun),    /* ghbyaddr */
@@ -1480,380 +1541,391 @@ EXT Perl_check_t PL_check[] /* or perlvars.h */
        MEMBER_TO_FPTR(Perl_ck_null),   /* getlogin */
        MEMBER_TO_FPTR(Perl_ck_fun),    /* syscall */
        MEMBER_TO_FPTR(Perl_ck_rfun),   /* lock */
-       MEMBER_TO_FPTR(Perl_ck_null),   /* threadsv */
-       MEMBER_TO_FPTR(Perl_ck_null),   /* setstate */
-       MEMBER_TO_FPTR(Perl_ck_null),   /* method_named */
-       MEMBER_TO_FPTR(Perl_ck_null),   /* dor */
-       MEMBER_TO_FPTR(Perl_ck_null),   /* dorassign */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* once */
        MEMBER_TO_FPTR(Perl_ck_null),   /* custom */
 }
 #endif
+#ifdef PERL_CHECK_INITED
 ;
+#endif /* #ifdef PERL_CHECK_INITED */
 
 #ifndef PERL_GLOBAL_STRUCT_INIT
 
 #ifndef DOINIT
-EXT const U32 PL_opargs[];
+EXTCONST U32 PL_opargs[];
 #else
-EXT const U32 PL_opargs[] = {
+EXTCONST U32 PL_opargs[] = {
        0x00000000,     /* null */
        0x00000000,     /* stub */
-       0x00003604,     /* scalar */
+       0x00001b04,     /* scalar */
        0x00000004,     /* pushmark */
-       0x00000014,     /* wantarray */
-       0x00000c04,     /* const */
-       0x00000c44,     /* gvsv */
-       0x00000c44,     /* gv */
-       0x00022440,     /* gelem */
+       0x00000004,     /* wantarray */
+       0x00000604,     /* const */
+       0x00000644,     /* gvsv */
+       0x00000644,     /* gv */
+       0x00011240,     /* gelem */
        0x00000044,     /* padsv */
        0x00000040,     /* padav */
        0x00000040,     /* padhv */
        0x00000040,     /* padany */
-       0x00000a40,     /* pushre */
-       0x00000244,     /* rv2gv */
-       0x00000244,     /* rv2sv */
-       0x00000214,     /* av2arylen */
-       0x00000240,     /* rv2cv */
-       0x00000c00,     /* anoncode */
-       0x00003604,     /* prototype */
-       0x00004201,     /* refgen */
-       0x00002206,     /* srefgen */
-       0x0001368c,     /* ref */
-       0x00122804,     /* bless */
-       0x00001608,     /* backtick */
-       0x00012808,     /* glob */
-       0x0001d608,     /* readline */
-       0x00000c08,     /* rcatline */
-       0x00002204,     /* regcmaybe */
-       0x00002204,     /* regcreset */
-       0x00002604,     /* regcomp */
-       0x00000a40,     /* match */
-       0x00000a04,     /* qr */
-       0x00002a54,     /* subst */
-       0x00000654,     /* substcont */
-       0x00003014,     /* trans */
+       0x00000540,     /* pushre */
+       0x00000144,     /* rv2gv */
+       0x00000144,     /* rv2sv */
+       0x00000104,     /* av2arylen */
+       0x00000140,     /* rv2cv */
+       0x00000600,     /* anoncode */
+       0x00001b04,     /* prototype */
+       0x00002101,     /* refgen */
+       0x00001106,     /* srefgen */
+       0x00009b8c,     /* ref */
+       0x00091404,     /* bless */
+       0x00009b88,     /* backtick */
+       0x00009408,     /* glob */
+       0x0000eb08,     /* readline */
+       0x00000608,     /* rcatline */
+       0x00001104,     /* regcmaybe */
+       0x00001104,     /* regcreset */
+       0x00001304,     /* regcomp */
+       0x00000540,     /* match */
+       0x00000504,     /* qr */
+       0x00001544,     /* subst */
+       0x00000344,     /* substcont */
+       0x00001804,     /* trans */
        0x00000004,     /* sassign */
-       0x00044408,     /* aassign */
-       0x0000560d,     /* chop */
-       0x0001368c,     /* schop */
-       0x0000570d,     /* chomp */
-       0x0001378c,     /* schomp */
-       0x00013694,     /* defined */
-       0x00013604,     /* undef */
-       0x00013684,     /* study */
-       0x0001368c,     /* pos */
-       0x00002264,     /* preinc */
-       0x00002254,     /* i_preinc */
-       0x00002264,     /* predec */
-       0x00002254,     /* i_predec */
-       0x0000226c,     /* postinc */
-       0x0000235c,     /* i_postinc */
-       0x0000226c,     /* postdec */
-       0x0000235c,     /* i_postdec */
-       0x0002250e,     /* pow */
-       0x0002252e,     /* multiply */
-       0x0002251e,     /* i_multiply */
-       0x0002252e,     /* divide */
-       0x0002251e,     /* i_divide */
-       0x0002253e,     /* modulo */
-       0x0002251e,     /* i_modulo */
-       0x00024409,     /* repeat */
-       0x0002252e,     /* add */
-       0x0002251e,     /* i_add */
-       0x0002252e,     /* subtract */
-       0x0002251e,     /* i_subtract */
-       0x0002250e,     /* concat */
-       0x0000290e,     /* stringify */
-       0x0002250e,     /* left_shift */
-       0x0002250e,     /* right_shift */
-       0x00022436,     /* lt */
-       0x00022416,     /* i_lt */
-       0x00022436,     /* gt */
-       0x00022416,     /* i_gt */
-       0x00022436,     /* le */
-       0x00022416,     /* i_le */
-       0x00022436,     /* ge */
-       0x00022416,     /* i_ge */
-       0x00022436,     /* eq */
-       0x00022416,     /* i_eq */
-       0x00022436,     /* ne */
-       0x00022416,     /* i_ne */
-       0x0002243e,     /* ncmp */
-       0x0002241e,     /* i_ncmp */
-       0x00022416,     /* slt */
-       0x00022416,     /* sgt */
-       0x00022416,     /* sle */
-       0x00022416,     /* sge */
-       0x00022416,     /* seq */
-       0x00022416,     /* sne */
-       0x0002241e,     /* scmp */
-       0x0002240e,     /* bit_and */
-       0x0002240e,     /* bit_xor */
-       0x0002240e,     /* bit_or */
-       0x0000222e,     /* negate */
-       0x0000231e,     /* i_negate */
-       0x00002216,     /* not */
-       0x0000220e,     /* complement */
-       0x0002290e,     /* atan2 */
-       0x0001378e,     /* sin */
-       0x0001378e,     /* cos */
-       0x0001370c,     /* rand */
-       0x00013604,     /* srand */
-       0x0001378e,     /* exp */
-       0x0001378e,     /* log */
-       0x0001378e,     /* sqrt */
-       0x0001378e,     /* int */
-       0x0001378e,     /* hex */
-       0x0001378e,     /* oct */
-       0x0001378e,     /* abs */
-       0x0001379c,     /* length */
-       0x1322280c,     /* substr */
-       0x0022281c,     /* vec */
-       0x0122291c,     /* index */
-       0x0122291c,     /* rindex */
-       0x0004280f,     /* sprintf */
-       0x00042805,     /* formline */
-       0x0001379e,     /* ord */
-       0x0001378e,     /* chr */
-       0x0002290e,     /* crypt */
-       0x0001368e,     /* ucfirst */
-       0x0001368e,     /* lcfirst */
-       0x0001368e,     /* uc */
-       0x0001368e,     /* lc */
-       0x0001368e,     /* quotemeta */
-       0x00000248,     /* rv2av */
-       0x00026c04,     /* aelemfast */
-       0x00026404,     /* aelem */
-       0x00046801,     /* aslice */
-       0x00009600,     /* each */
-       0x00009608,     /* values */
-       0x00009608,     /* keys */
-       0x00003600,     /* delete */
-       0x00003614,     /* exists */
-       0x00000248,     /* rv2hv */
-       0x00028404,     /* helem */
-       0x00048801,     /* hslice */
-       0x00122800,     /* unpack */
-       0x0004280d,     /* pack */
-       0x00222808,     /* split */
-       0x0004280d,     /* join */
-       0x00004801,     /* list */
-       0x00448400,     /* lslice */
-       0x00004805,     /* anonlist */
-       0x00004805,     /* anonhash */
-       0x05326801,     /* splice */
-       0x0004691d,     /* push */
-       0x00017604,     /* pop */
-       0x00017604,     /* shift */
-       0x0004691d,     /* unshift */
-       0x0005a801,     /* sort */
-       0x00004809,     /* reverse */
-       0x0004a841,     /* grepstart */
-       0x00000648,     /* grepwhile */
-       0x0004a841,     /* mapstart */
-       0x00000648,     /* mapwhile */
-       0x00022600,     /* range */
-       0x00022200,     /* flip */
-       0x00000200,     /* flop */
-       0x00000600,     /* and */
-       0x00000600,     /* or */
-       0x00022406,     /* xor */
-       0x00000640,     /* cond_expr */
-       0x00000604,     /* andassign */
-       0x00000604,     /* orassign */
-       0x00000240,     /* method */
-       0x00004249,     /* entersub */
-       0x00000200,     /* leavesub */
-       0x00000200,     /* leavesublv */
-       0x00013608,     /* caller */
-       0x0000481d,     /* warn */
-       0x0000485d,     /* die */
-       0x00013614,     /* reset */
-       0x00000800,     /* lineseq */
-       0x00001404,     /* nextstate */
-       0x00001404,     /* dbstate */
+       0x00022208,     /* aassign */
+       0x00002b0d,     /* chop */
+       0x00009b8c,     /* schop */
+       0x00002b1d,     /* chomp */
+       0x00009b9c,     /* schomp */
+       0x00009b84,     /* defined */
+       0x00009b04,     /* undef */
+       0x00009b84,     /* study */
+       0x00009b8c,     /* pos */
+       0x00001164,     /* preinc */
+       0x00001144,     /* i_preinc */
+       0x00001164,     /* predec */
+       0x00001144,     /* i_predec */
+       0x0000116c,     /* postinc */
+       0x0000115c,     /* i_postinc */
+       0x0000116c,     /* postdec */
+       0x0000115c,     /* i_postdec */
+       0x0001121e,     /* pow */
+       0x0001123e,     /* multiply */
+       0x0001121e,     /* i_multiply */
+       0x0001123e,     /* divide */
+       0x0001121e,     /* i_divide */
+       0x0001123e,     /* modulo */
+       0x0001121e,     /* i_modulo */
+       0x00012209,     /* repeat */
+       0x0001123e,     /* add */
+       0x0001121e,     /* i_add */
+       0x0001123e,     /* subtract */
+       0x0001121e,     /* i_subtract */
+       0x0001121e,     /* concat */
+       0x0000141e,     /* stringify */
+       0x0001121e,     /* left_shift */
+       0x0001121e,     /* right_shift */
+       0x00011226,     /* lt */
+       0x00011206,     /* i_lt */
+       0x00011226,     /* gt */
+       0x00011206,     /* i_gt */
+       0x00011226,     /* le */
+       0x00011206,     /* i_le */
+       0x00011226,     /* ge */
+       0x00011206,     /* i_ge */
+       0x00011226,     /* eq */
+       0x00011206,     /* i_eq */
+       0x00011226,     /* ne */
+       0x00011206,     /* i_ne */
+       0x0001122e,     /* ncmp */
+       0x0001120e,     /* i_ncmp */
+       0x00011206,     /* slt */
+       0x00011206,     /* sgt */
+       0x00011206,     /* sle */
+       0x00011206,     /* sge */
+       0x00011206,     /* seq */
+       0x00011206,     /* sne */
+       0x0001120e,     /* scmp */
+       0x0001120e,     /* bit_and */
+       0x0001120e,     /* bit_xor */
+       0x0001120e,     /* bit_or */
+       0x0000112e,     /* negate */
+       0x0000111e,     /* i_negate */
+       0x00001106,     /* not */
+       0x0000110e,     /* complement */
+       0x00000204,     /* smartmatch */
+       0x0001141e,     /* atan2 */
+       0x00009b9e,     /* sin */
+       0x00009b9e,     /* cos */
+       0x00009b1c,     /* rand */
+       0x00009b1c,     /* srand */
+       0x00009b9e,     /* exp */
+       0x00009b9e,     /* log */
+       0x00009b9e,     /* sqrt */
+       0x00009b9e,     /* int */
+       0x00009b9e,     /* hex */
+       0x00009b9e,     /* oct */
+       0x00009b9e,     /* abs */
+       0x00009b9e,     /* length */
+       0x0991140c,     /* substr */
+       0x0011140c,     /* vec */
+       0x0091141c,     /* index */
+       0x0091141c,     /* rindex */
+       0x0002140f,     /* sprintf */
+       0x00021405,     /* formline */
+       0x00009b9e,     /* ord */
+       0x00009b9e,     /* chr */
+       0x0001141e,     /* crypt */
+       0x00009b8e,     /* ucfirst */
+       0x00009b8e,     /* lcfirst */
+       0x00009b8e,     /* uc */
+       0x00009b8e,     /* lc */
+       0x00009b8e,     /* quotemeta */
+       0x00000148,     /* rv2av */
+       0x00013604,     /* aelemfast */
+       0x00013204,     /* aelem */
+       0x00023401,     /* aslice */
+       0x00003b00,     /* aeach */
+       0x00003b08,     /* akeys */
+       0x00003b08,     /* avalues */
+       0x00004b00,     /* each */
+       0x00004b08,     /* values */
+       0x00004b08,     /* keys */
+       0x00001b00,     /* delete */
+       0x00001b04,     /* exists */
+       0x00000148,     /* rv2hv */
+       0x00014204,     /* helem */
+       0x00024401,     /* hslice */
+       0x00004b00,     /* boolkeys */
+       0x00091400,     /* unpack */
+       0x0002140d,     /* pack */
+       0x00111408,     /* split */
+       0x0002140d,     /* join */
+       0x00002401,     /* list */
+       0x00224200,     /* lslice */
+       0x00002405,     /* anonlist */
+       0x00002405,     /* anonhash */
+       0x02993401,     /* splice */
+       0x0002341d,     /* push */
+       0x0000bb04,     /* pop */
+       0x0000bb04,     /* shift */
+       0x0002341d,     /* unshift */
+       0x0002d441,     /* sort */
+       0x00002409,     /* reverse */
+       0x00025441,     /* grepstart */
+       0x00000348,     /* grepwhile */
+       0x00025441,     /* mapstart */
+       0x00000348,     /* mapwhile */
+       0x00011300,     /* range */
+       0x00011100,     /* flip */
+       0x00000100,     /* flop */
+       0x00000300,     /* and */
+       0x00000300,     /* or */
+       0x00011206,     /* xor */
+       0x00000300,     /* dor */
+       0x00000340,     /* cond_expr */
+       0x00000304,     /* andassign */
+       0x00000304,     /* orassign */
+       0x00000304,     /* dorassign */
+       0x00000140,     /* method */
+       0x00002149,     /* entersub */
+       0x00000100,     /* leavesub */
+       0x00000100,     /* leavesublv */
+       0x00009b08,     /* caller */
+       0x0000240d,     /* warn */
+       0x0000244d,     /* die */
+       0x00009b04,     /* reset */
+       0x00000400,     /* lineseq */
+       0x00000a04,     /* nextstate */
+       0x00000a04,     /* dbstate */
        0x00000004,     /* unstack */
        0x00000000,     /* enter */
-       0x00000800,     /* leave */
-       0x00000800,     /* scope */
-       0x00001240,     /* enteriter */
+       0x00000400,     /* leave */
+       0x00000400,     /* scope */
+       0x00000940,     /* enteriter */
        0x00000000,     /* iter */
-       0x00001240,     /* enterloop */
-       0x00000400,     /* leaveloop */
-       0x00004841,     /* return */
-       0x00001a44,     /* last */
-       0x00001a44,     /* next */
-       0x00001a44,     /* redo */
-       0x00001a44,     /* dump */
-       0x00001a44,     /* goto */
-       0x00013644,     /* exit */
-       0x0052c81d,     /* open */
-       0x0001d614,     /* close */
-       0x000cc814,     /* pipe_op */
-       0x0000d61c,     /* fileno */
-       0x0001361c,     /* umask */
-       0x0012c804,     /* binmode */
-       0x0042e855,     /* tie */
-       0x0000f614,     /* untie */
-       0x0000f604,     /* tied */
-       0x00228814,     /* dbmopen */
-       0x00009614,     /* dbmclose */
-       0x02222808,     /* sselect */
-       0x0001c80c,     /* select */
-       0x0001d60c,     /* getc */
-       0x122ec81d,     /* read */
-       0x0001d654,     /* enterwrite */
-       0x00000200,     /* leavewrite */
-       0x0005c815,     /* prtf */
-       0x0005c815,     /* print */
-       0x1222c804,     /* sysopen */
-       0x0022c804,     /* sysseek */
-       0x122ec81d,     /* sysread */
-       0x1322c81d,     /* syswrite */
-       0x1222c81d,     /* send */
-       0x022ec81d,     /* recv */
-       0x0001d614,     /* eof */
-       0x0001d60c,     /* tell */
-       0x0022c804,     /* seek */
-       0x00022814,     /* truncate */
-       0x0022c80c,     /* fcntl */
-       0x0022c80c,     /* ioctl */
-       0x0002c91c,     /* flock */
-       0x0222c814,     /* socket */
-       0x222cc814,     /* sockpair */
-       0x0002c814,     /* bind */
-       0x0002c814,     /* connect */
-       0x0002c814,     /* listen */
-       0x000cc81c,     /* accept */
-       0x0002c81c,     /* shutdown */
-       0x0022c814,     /* gsockopt */
-       0x0222c814,     /* ssockopt */
-       0x0000d614,     /* getsockname */
-       0x0000d614,     /* getpeername */
-       0x0000d880,     /* lstat */
-       0x0000d880,     /* stat */
-       0x0000d894,     /* ftrread */
-       0x0000d894,     /* ftrwrite */
-       0x0000d894,     /* ftrexec */
-       0x0000d894,     /* fteread */
-       0x0000d894,     /* ftewrite */
-       0x0000d894,     /* fteexec */
-       0x0000d894,     /* ftis */
-       0x0000d894,     /* fteowned */
-       0x0000d894,     /* ftrowned */
-       0x0000d894,     /* ftzero */
-       0x0000d89c,     /* ftsize */
-       0x0000d88c,     /* ftmtime */
-       0x0000d88c,     /* ftatime */
-       0x0000d88c,     /* ftctime */
-       0x0000d894,     /* ftsock */
-       0x0000d894,     /* ftchr */
-       0x0000d894,     /* ftblk */
-       0x0000d894,     /* ftfile */
-       0x0000d894,     /* ftdir */
-       0x0000d894,     /* ftpipe */
-       0x0000d894,     /* ftlink */
-       0x0000d894,     /* ftsuid */
-       0x0000d894,     /* ftsgid */
-       0x0000d894,     /* ftsvtx */
-       0x0000d814,     /* fttty */
-       0x0000d894,     /* fttext */
-       0x0000d894,     /* ftbinary */
-       0x0001371c,     /* chdir */
-       0x0000491d,     /* chown */
-       0x0001379c,     /* chroot */
-       0x0000499d,     /* unlink */
-       0x0000491d,     /* chmod */
-       0x0000491d,     /* utime */
-       0x0002291c,     /* rename */
-       0x0002291c,     /* link */
-       0x0002291c,     /* symlink */
-       0x0001368c,     /* readlink */
-       0x0013299c,     /* mkdir */
-       0x0001379c,     /* rmdir */
-       0x0002c814,     /* open_dir */
-       0x0000d600,     /* readdir */
-       0x0000d60c,     /* telldir */
-       0x0002c804,     /* seekdir */
-       0x0000d604,     /* rewinddir */
-       0x0000d614,     /* closedir */
-       0x0000001c,     /* fork */
-       0x0000011c,     /* wait */
-       0x0002291c,     /* waitpid */
-       0x0005291d,     /* system */
-       0x0005295d,     /* exec */
-       0x0000495d,     /* kill */
-       0x0000011c,     /* getppid */
-       0x0001371c,     /* getpgrp */
-       0x0013291c,     /* setpgrp */
-       0x0002291c,     /* getpriority */
-       0x0022291c,     /* setpriority */
-       0x0000011c,     /* time */
+       0x00000940,     /* enterloop */
+       0x00000200,     /* leaveloop */
+       0x00002441,     /* return */
+       0x00000d44,     /* last */
+       0x00000d44,     /* next */
+       0x00000d44,     /* redo */
+       0x00000d44,     /* dump */
+       0x00000d44,     /* goto */
+       0x00009b44,     /* exit */
+       0x00000640,     /* method_named */
+       0x00000340,     /* entergiven */
+       0x00000100,     /* leavegiven */
+       0x00000340,     /* enterwhen */
+       0x00000100,     /* leavewhen */
+       0x00000000,     /* break */
+       0x00000000,     /* continue */
+       0x0029640d,     /* open */
+       0x0000eb04,     /* close */
+       0x00066404,     /* pipe_op */
+       0x00006b0c,     /* fileno */
+       0x00009b0c,     /* umask */
+       0x00096404,     /* binmode */
+       0x00217445,     /* tie */
+       0x00007b04,     /* untie */
+       0x00007b04,     /* tied */
+       0x00114404,     /* dbmopen */
+       0x00004b04,     /* dbmclose */
+       0x01111408,     /* sselect */
+       0x0000e40c,     /* select */
+       0x0000eb0c,     /* getc */
+       0x0917640d,     /* read */
+       0x0000eb44,     /* enterwrite */
+       0x00000100,     /* leavewrite */
+       0x0002e405,     /* prtf */
+       0x0002e405,     /* print */
+       0x0002e405,     /* say */
+       0x09116404,     /* sysopen */
+       0x00116404,     /* sysseek */
+       0x0917640d,     /* sysread */
+       0x0991640d,     /* syswrite */
+       0x0000eb04,     /* eof */
+       0x0000eb0c,     /* tell */
+       0x00116404,     /* seek */
+       0x00011404,     /* truncate */
+       0x0011640c,     /* fcntl */
+       0x0011640c,     /* ioctl */
+       0x0001641c,     /* flock */
+       0x0911640d,     /* send */
+       0x0117640d,     /* recv */
+       0x01116404,     /* socket */
+       0x11166404,     /* sockpair */
+       0x00016404,     /* bind */
+       0x00016404,     /* connect */
+       0x00016404,     /* listen */
+       0x0006640c,     /* accept */
+       0x0001640c,     /* shutdown */
+       0x00116404,     /* gsockopt */
+       0x01116404,     /* ssockopt */
+       0x00006b04,     /* getsockname */
+       0x00006b04,     /* getpeername */
+       0x00006c80,     /* lstat */
+       0x00006c80,     /* stat */
+       0x00006c84,     /* ftrread */
+       0x00006c84,     /* ftrwrite */
+       0x00006c84,     /* ftrexec */
+       0x00006c84,     /* fteread */
+       0x00006c84,     /* ftewrite */
+       0x00006c84,     /* fteexec */
+       0x00006c84,     /* ftis */
+       0x00006c8c,     /* ftsize */
+       0x00006c8c,     /* ftmtime */
+       0x00006c8c,     /* ftatime */
+       0x00006c8c,     /* ftctime */
+       0x00006c84,     /* ftrowned */
+       0x00006c84,     /* fteowned */
+       0x00006c84,     /* ftzero */
+       0x00006c84,     /* ftsock */
+       0x00006c84,     /* ftchr */
+       0x00006c84,     /* ftblk */
+       0x00006c84,     /* ftfile */
+       0x00006c84,     /* ftdir */
+       0x00006c84,     /* ftpipe */
+       0x00006c84,     /* ftsuid */
+       0x00006c84,     /* ftsgid */
+       0x00006c84,     /* ftsvtx */
+       0x00006c84,     /* ftlink */
+       0x00006c04,     /* fttty */
+       0x00006c84,     /* fttext */
+       0x00006c84,     /* ftbinary */
+       0x00009b1c,     /* chdir */
+       0x0000241d,     /* chown */
+       0x00009b9c,     /* chroot */
+       0x0000249d,     /* unlink */
+       0x0000241d,     /* chmod */
+       0x0000241d,     /* utime */
+       0x0001141c,     /* rename */
+       0x0001141c,     /* link */
+       0x0001141c,     /* symlink */
+       0x00009b8c,     /* readlink */
+       0x0009949c,     /* mkdir */
+       0x00009b9c,     /* rmdir */
+       0x00016404,     /* open_dir */
+       0x00006b00,     /* readdir */
+       0x00006b0c,     /* telldir */
+       0x00016404,     /* seekdir */
+       0x00006b04,     /* rewinddir */
+       0x00006b04,     /* closedir */
+       0x0000000c,     /* fork */
+       0x0000001c,     /* wait */
+       0x0001141c,     /* waitpid */
+       0x0002941d,     /* system */
+       0x0002945d,     /* exec */
+       0x0000245d,     /* kill */
+       0x0000001c,     /* getppid */
+       0x00009b1c,     /* getpgrp */
+       0x0009941c,     /* setpgrp */
+       0x0001141c,     /* getpriority */
+       0x0011141c,     /* setpriority */
+       0x0000001c,     /* time */
        0x00000000,     /* tms */
-       0x00013608,     /* localtime */
-       0x00013608,     /* gmtime */
-       0x0001369c,     /* alarm */
-       0x0001371c,     /* sleep */
-       0x0022281d,     /* shmget */
-       0x0022281d,     /* shmctl */
-       0x0222281d,     /* shmread */
-       0x0222281d,     /* shmwrite */
-       0x0002281d,     /* msgget */
-       0x0022281d,     /* msgctl */
-       0x0022281d,     /* msgsnd */
-       0x2222281d,     /* msgrcv */
-       0x0022281d,     /* semget */
-       0x0222281d,     /* semctl */
-       0x0002281d,     /* semop */
-       0x000136c0,     /* require */
-       0x00002240,     /* dofile */
-       0x00003640,     /* entereval */
-       0x00002200,     /* leaveeval */
-       0x00000600,     /* entertry */
-       0x00000800,     /* leavetry */
-       0x00003600,     /* ghbyname */
-       0x00022800,     /* ghbyaddr */
+       0x00009b08,     /* localtime */
+       0x00009b08,     /* gmtime */
+       0x00009b8c,     /* alarm */
+       0x00009b1c,     /* sleep */
+       0x0011140d,     /* shmget */
+       0x0011140d,     /* shmctl */
+       0x0111140d,     /* shmread */
+       0x0111140d,     /* shmwrite */
+       0x0001140d,     /* msgget */
+       0x0011140d,     /* msgctl */
+       0x0011140d,     /* msgsnd */
+       0x1111140d,     /* msgrcv */
+       0x0001140d,     /* semop */
+       0x0011140d,     /* semget */
+       0x0111140d,     /* semctl */
+       0x00009bc0,     /* require */
+       0x00001140,     /* dofile */
+       0x00000604,     /* hintseval */
+       0x00001b40,     /* entereval */
+       0x00001100,     /* leaveeval */
+       0x00000b40,     /* entertry */
+       0x00000400,     /* leavetry */
+       0x00001b00,     /* ghbyname */
+       0x00011400,     /* ghbyaddr */
        0x00000000,     /* ghostent */
-       0x00003600,     /* gnbyname */
-       0x00022800,     /* gnbyaddr */
+       0x00001b00,     /* gnbyname */
+       0x00011400,     /* gnbyaddr */
        0x00000000,     /* gnetent */
-       0x00003600,     /* gpbyname */
-       0x00002800,     /* gpbynumber */
+       0x00001b00,     /* gpbyname */
+       0x00001400,     /* gpbynumber */
        0x00000000,     /* gprotoent */
-       0x00022800,     /* gsbyname */
-       0x00022800,     /* gsbyport */
+       0x00011400,     /* gsbyname */
+       0x00011400,     /* gsbyport */
        0x00000000,     /* gservent */
-       0x00003614,     /* shostent */
-       0x00003614,     /* snetent */
-       0x00003614,     /* sprotoent */
-       0x00003614,     /* sservent */
-       0x00000014,     /* ehostent */
-       0x00000014,     /* enetent */
-       0x00000014,     /* eprotoent */
-       0x00000014,     /* eservent */
-       0x00003600,     /* gpwnam */
-       0x00003600,     /* gpwuid */
+       0x00001b04,     /* shostent */
+       0x00001b04,     /* snetent */
+       0x00001b04,     /* sprotoent */
+       0x00001b04,     /* sservent */
+       0x00000004,     /* ehostent */
+       0x00000004,     /* enetent */
+       0x00000004,     /* eprotoent */
+       0x00000004,     /* eservent */
+       0x00001b00,     /* gpwnam */
+       0x00001b00,     /* gpwuid */
        0x00000000,     /* gpwent */
-       0x00000014,     /* spwent */
-       0x00000014,     /* epwent */
-       0x00003600,     /* ggrnam */
-       0x00003600,     /* ggrgid */
+       0x00000004,     /* spwent */
+       0x00000004,     /* epwent */
+       0x00001b00,     /* ggrnam */
+       0x00001b00,     /* ggrgid */
        0x00000000,     /* ggrent */
-       0x00000014,     /* sgrent */
-       0x00000014,     /* egrent */
+       0x00000004,     /* sgrent */
+       0x00000004,     /* egrent */
        0x0000000c,     /* getlogin */
-       0x0004281d,     /* syscall */
-       0x0000f604,     /* lock */
-       0x00000044,     /* threadsv */
-       0x00001404,     /* setstate */
-       0x00000c40,     /* method_named */
-       0x00000600,     /* dor */
-       0x00000604,     /* dorassign */
+       0x0002140d,     /* syscall */
+       0x00007b04,     /* lock */
+       0x00000300,     /* once */
        0x00000000,     /* custom */
 };
 #endif
 
+#endif /* !PERL_GLOBAL_STRUCT_INIT */
+
 END_EXTERN_C
 
-#endif /* !PERL_GLOBAL_STRUCT_INIT */
 /* ex: set ro: */