This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
In POSIX.pm, modernise package variable style.
[perl5.git] / opcode.h
index 80506b3..de1a42d 100644 (file)
--- a/opcode.h
+++ b/opcode.h
+/* -*- buffer-read-only: t -*-
+ *
+ *    opcode.h
+ *
+ *    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!
+ */
+
+#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_i_postinc Perl_pp_postinc
 #define Perl_pp_i_postdec Perl_pp_postdec
-
-typedef enum {
-       OP_NULL,        /* 0 */
-       OP_STUB,        /* 1 */
-       OP_SCALAR,      /* 2 */
-       OP_PUSHMARK,    /* 3 */
-       OP_WANTARRAY,   /* 4 */
-       OP_CONST,       /* 5 */
-       OP_GVSV,        /* 6 */
-       OP_GV,          /* 7 */
-       OP_GELEM,       /* 8 */
-       OP_PADSV,       /* 9 */
-       OP_PADAV,       /* 10 */
-       OP_PADHV,       /* 11 */
-       OP_PADANY,      /* 12 */
-       OP_PUSHRE,      /* 13 */
-       OP_RV2GV,       /* 14 */
-       OP_RV2SV,       /* 15 */
-       OP_AV2ARYLEN,   /* 16 */
-       OP_RV2CV,       /* 17 */
-       OP_ANONCODE,    /* 18 */
-       OP_PROTOTYPE,   /* 19 */
-       OP_REFGEN,      /* 20 */
-       OP_SREFGEN,     /* 21 */
-       OP_REF,         /* 22 */
-       OP_BLESS,       /* 23 */
-       OP_BACKTICK,    /* 24 */
-       OP_GLOB,        /* 25 */
-       OP_READLINE,    /* 26 */
-       OP_RCATLINE,    /* 27 */
-       OP_REGCMAYBE,   /* 28 */
-       OP_REGCRESET,   /* 29 */
-       OP_REGCOMP,     /* 30 */
-       OP_MATCH,       /* 31 */
-       OP_QR,          /* 32 */
-       OP_SUBST,       /* 33 */
-       OP_SUBSTCONT,   /* 34 */
-       OP_TRANS,       /* 35 */
-       OP_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_ATAN2,       /* 98 */
-       OP_SIN,         /* 99 */
-       OP_COS,         /* 100 */
-       OP_RAND,        /* 101 */
-       OP_SRAND,       /* 102 */
-       OP_EXP,         /* 103 */
-       OP_LOG,         /* 104 */
-       OP_SQRT,        /* 105 */
-       OP_INT,         /* 106 */
-       OP_HEX,         /* 107 */
-       OP_OCT,         /* 108 */
-       OP_ABS,         /* 109 */
-       OP_LENGTH,      /* 110 */
-       OP_SUBSTR,      /* 111 */
-       OP_VEC,         /* 112 */
-       OP_INDEX,       /* 113 */
-       OP_RINDEX,      /* 114 */
-       OP_SPRINTF,     /* 115 */
-       OP_FORMLINE,    /* 116 */
-       OP_ORD,         /* 117 */
-       OP_CHR,         /* 118 */
-       OP_CRYPT,       /* 119 */
-       OP_UCFIRST,     /* 120 */
-       OP_LCFIRST,     /* 121 */
-       OP_UC,          /* 122 */
-       OP_LC,          /* 123 */
-       OP_QUOTEMETA,   /* 124 */
-       OP_RV2AV,       /* 125 */
-       OP_AELEMFAST,   /* 126 */
-       OP_AELEM,       /* 127 */
-       OP_ASLICE,      /* 128 */
-       OP_EACH,        /* 129 */
-       OP_VALUES,      /* 130 */
-       OP_KEYS,        /* 131 */
-       OP_DELETE,      /* 132 */
-       OP_EXISTS,      /* 133 */
-       OP_RV2HV,       /* 134 */
-       OP_HELEM,       /* 135 */
-       OP_HSLICE,      /* 136 */
-       OP_UNPACK,      /* 137 */
-       OP_PACK,        /* 138 */
-       OP_SPLIT,       /* 139 */
-       OP_JOIN,        /* 140 */
-       OP_LIST,        /* 141 */
-       OP_LSLICE,      /* 142 */
-       OP_ANONLIST,    /* 143 */
-       OP_ANONHASH,    /* 144 */
-       OP_SPLICE,      /* 145 */
-       OP_PUSH,        /* 146 */
-       OP_POP,         /* 147 */
-       OP_SHIFT,       /* 148 */
-       OP_UNSHIFT,     /* 149 */
-       OP_SORT,        /* 150 */
-       OP_REVERSE,     /* 151 */
-       OP_GREPSTART,   /* 152 */
-       OP_GREPWHILE,   /* 153 */
-       OP_MAPSTART,    /* 154 */
-       OP_MAPWHILE,    /* 155 */
-       OP_RANGE,       /* 156 */
-       OP_FLIP,        /* 157 */
-       OP_FLOP,        /* 158 */
-       OP_AND,         /* 159 */
-       OP_OR,          /* 160 */
-       OP_XOR,         /* 161 */
-       OP_COND_EXPR,   /* 162 */
-       OP_ANDASSIGN,   /* 163 */
-       OP_ORASSIGN,    /* 164 */
-       OP_METHOD,      /* 165 */
-       OP_ENTERSUB,    /* 166 */
-       OP_LEAVESUB,    /* 167 */
-       OP_CALLER,      /* 168 */
-       OP_WARN,        /* 169 */
-       OP_DIE,         /* 170 */
-       OP_RESET,       /* 171 */
-       OP_LINESEQ,     /* 172 */
-       OP_NEXTSTATE,   /* 173 */
-       OP_DBSTATE,     /* 174 */
-       OP_UNSTACK,     /* 175 */
-       OP_ENTER,       /* 176 */
-       OP_LEAVE,       /* 177 */
-       OP_SCOPE,       /* 178 */
-       OP_ENTERITER,   /* 179 */
-       OP_ITER,        /* 180 */
-       OP_ENTERLOOP,   /* 181 */
-       OP_LEAVELOOP,   /* 182 */
-       OP_RETURN,      /* 183 */
-       OP_LAST,        /* 184 */
-       OP_NEXT,        /* 185 */
-       OP_REDO,        /* 186 */
-       OP_DUMP,        /* 187 */
-       OP_GOTO,        /* 188 */
-       OP_EXIT,        /* 189 */
-       OP_OPEN,        /* 190 */
-       OP_CLOSE,       /* 191 */
-       OP_PIPE_OP,     /* 192 */
-       OP_FILENO,      /* 193 */
-       OP_UMASK,       /* 194 */
-       OP_BINMODE,     /* 195 */
-       OP_TIE,         /* 196 */
-       OP_UNTIE,       /* 197 */
-       OP_TIED,        /* 198 */
-       OP_DBMOPEN,     /* 199 */
-       OP_DBMCLOSE,    /* 200 */
-       OP_SSELECT,     /* 201 */
-       OP_SELECT,      /* 202 */
-       OP_GETC,        /* 203 */
-       OP_READ,        /* 204 */
-       OP_ENTERWRITE,  /* 205 */
-       OP_LEAVEWRITE,  /* 206 */
-       OP_PRTF,        /* 207 */
-       OP_PRINT,       /* 208 */
-       OP_SYSOPEN,     /* 209 */
-       OP_SYSSEEK,     /* 210 */
-       OP_SYSREAD,     /* 211 */
-       OP_SYSWRITE,    /* 212 */
-       OP_SEND,        /* 213 */
-       OP_RECV,        /* 214 */
-       OP_EOF,         /* 215 */
-       OP_TELL,        /* 216 */
-       OP_SEEK,        /* 217 */
-       OP_TRUNCATE,    /* 218 */
-       OP_FCNTL,       /* 219 */
-       OP_IOCTL,       /* 220 */
-       OP_FLOCK,       /* 221 */
-       OP_SOCKET,      /* 222 */
-       OP_SOCKPAIR,    /* 223 */
-       OP_BIND,        /* 224 */
-       OP_CONNECT,     /* 225 */
-       OP_LISTEN,      /* 226 */
-       OP_ACCEPT,      /* 227 */
-       OP_SHUTDOWN,    /* 228 */
-       OP_GSOCKOPT,    /* 229 */
-       OP_SSOCKOPT,    /* 230 */
-       OP_GETSOCKNAME, /* 231 */
-       OP_GETPEERNAME, /* 232 */
-       OP_LSTAT,       /* 233 */
-       OP_STAT,        /* 234 */
-       OP_FTRREAD,     /* 235 */
-       OP_FTRWRITE,    /* 236 */
-       OP_FTREXEC,     /* 237 */
-       OP_FTEREAD,     /* 238 */
-       OP_FTEWRITE,    /* 239 */
-       OP_FTEEXEC,     /* 240 */
-       OP_FTIS,        /* 241 */
-       OP_FTEOWNED,    /* 242 */
-       OP_FTROWNED,    /* 243 */
-       OP_FTZERO,      /* 244 */
-       OP_FTSIZE,      /* 245 */
-       OP_FTMTIME,     /* 246 */
-       OP_FTATIME,     /* 247 */
-       OP_FTCTIME,     /* 248 */
-       OP_FTSOCK,      /* 249 */
-       OP_FTCHR,       /* 250 */
-       OP_FTBLK,       /* 251 */
-       OP_FTFILE,      /* 252 */
-       OP_FTDIR,       /* 253 */
-       OP_FTPIPE,      /* 254 */
-       OP_FTLINK,      /* 255 */
-       OP_FTSUID,      /* 256 */
-       OP_FTSGID,      /* 257 */
-       OP_FTSVTX,      /* 258 */
-       OP_FTTTY,       /* 259 */
-       OP_FTTEXT,      /* 260 */
-       OP_FTBINARY,    /* 261 */
-       OP_CHDIR,       /* 262 */
-       OP_CHOWN,       /* 263 */
-       OP_CHROOT,      /* 264 */
-       OP_UNLINK,      /* 265 */
-       OP_CHMOD,       /* 266 */
-       OP_UTIME,       /* 267 */
-       OP_RENAME,      /* 268 */
-       OP_LINK,        /* 269 */
-       OP_SYMLINK,     /* 270 */
-       OP_READLINK,    /* 271 */
-       OP_MKDIR,       /* 272 */
-       OP_RMDIR,       /* 273 */
-       OP_OPEN_DIR,    /* 274 */
-       OP_READDIR,     /* 275 */
-       OP_TELLDIR,     /* 276 */
-       OP_SEEKDIR,     /* 277 */
-       OP_REWINDDIR,   /* 278 */
-       OP_CLOSEDIR,    /* 279 */
-       OP_FORK,        /* 280 */
-       OP_WAIT,        /* 281 */
-       OP_WAITPID,     /* 282 */
-       OP_SYSTEM,      /* 283 */
-       OP_EXEC,        /* 284 */
-       OP_KILL,        /* 285 */
-       OP_GETPPID,     /* 286 */
-       OP_GETPGRP,     /* 287 */
-       OP_SETPGRP,     /* 288 */
-       OP_GETPRIORITY, /* 289 */
-       OP_SETPRIORITY, /* 290 */
-       OP_TIME,        /* 291 */
-       OP_TMS,         /* 292 */
-       OP_LOCALTIME,   /* 293 */
-       OP_GMTIME,      /* 294 */
-       OP_ALARM,       /* 295 */
-       OP_SLEEP,       /* 296 */
-       OP_SHMGET,      /* 297 */
-       OP_SHMCTL,      /* 298 */
-       OP_SHMREAD,     /* 299 */
-       OP_SHMWRITE,    /* 300 */
-       OP_MSGGET,      /* 301 */
-       OP_MSGCTL,      /* 302 */
-       OP_MSGSND,      /* 303 */
-       OP_MSGRCV,      /* 304 */
-       OP_SEMGET,      /* 305 */
-       OP_SEMCTL,      /* 306 */
-       OP_SEMOP,       /* 307 */
-       OP_REQUIRE,     /* 308 */
-       OP_DOFILE,      /* 309 */
-       OP_ENTEREVAL,   /* 310 */
-       OP_LEAVEEVAL,   /* 311 */
-       OP_ENTERTRY,    /* 312 */
-       OP_LEAVETRY,    /* 313 */
-       OP_GHBYNAME,    /* 314 */
-       OP_GHBYADDR,    /* 315 */
-       OP_GHOSTENT,    /* 316 */
-       OP_GNBYNAME,    /* 317 */
-       OP_GNBYADDR,    /* 318 */
-       OP_GNETENT,     /* 319 */
-       OP_GPBYNAME,    /* 320 */
-       OP_GPBYNUMBER,  /* 321 */
-       OP_GPROTOENT,   /* 322 */
-       OP_GSBYNAME,    /* 323 */
-       OP_GSBYPORT,    /* 324 */
-       OP_GSERVENT,    /* 325 */
-       OP_SHOSTENT,    /* 326 */
-       OP_SNETENT,     /* 327 */
-       OP_SPROTOENT,   /* 328 */
-       OP_SSERVENT,    /* 329 */
-       OP_EHOSTENT,    /* 330 */
-       OP_ENETENT,     /* 331 */
-       OP_EPROTOENT,   /* 332 */
-       OP_ESERVENT,    /* 333 */
-       OP_GPWNAM,      /* 334 */
-       OP_GPWUID,      /* 335 */
-       OP_GPWENT,      /* 336 */
-       OP_SPWENT,      /* 337 */
-       OP_EPWENT,      /* 338 */
-       OP_GGRNAM,      /* 339 */
-       OP_GGRGID,      /* 340 */
-       OP_GGRENT,      /* 341 */
-       OP_SGRENT,      /* 342 */
-       OP_EGRENT,      /* 343 */
-       OP_GETLOGIN,    /* 344 */
-       OP_SYSCALL,     /* 345 */
-       OP_LOCK,        /* 346 */
-       OP_THREADSV,    /* 347 */
-       OP_max          
-} opcode;
-
-#define MAXO 348
-
-
+#define Perl_pp_slt Perl_pp_sle
+#define Perl_pp_sgt Perl_pp_sle
+#define Perl_pp_sge Perl_pp_sle
+#define Perl_pp_bit_xor Perl_pp_bit_or
+#define Perl_pp_cos Perl_pp_sin
+#define Perl_pp_exp Perl_pp_sin
+#define Perl_pp_log Perl_pp_sin
+#define Perl_pp_sqrt Perl_pp_sin
+#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_rv2hv Perl_pp_rv2av
+#define Perl_pp_pop Perl_pp_shift
+#define Perl_pp_mapstart Perl_unimplemented_op
+#define Perl_pp_dor Perl_pp_defined
+#define Perl_pp_andassign Perl_pp_and
+#define Perl_pp_orassign Perl_pp_or
+#define Perl_pp_dorassign Perl_pp_defined
+#define Perl_pp_lineseq Perl_pp_null
+#define Perl_pp_scope Perl_pp_null
+#define Perl_pp_dump Perl_pp_goto
+#define Perl_pp_dbmclose Perl_pp_untie
+#define Perl_pp_read Perl_pp_sysread
+#define Perl_pp_say Perl_pp_print
+#define Perl_pp_seek Perl_pp_sysseek
+#define Perl_pp_fcntl Perl_pp_ioctl
+#ifdef HAS_SOCKET
+#define Perl_pp_send Perl_pp_syswrite
+#define Perl_pp_recv Perl_pp_sysread
+#else
+#define Perl_pp_send Perl_unimplemented_op
+#define Perl_pp_recv Perl_unimplemented_op
+#define Perl_pp_socket Perl_unimplemented_op
+#endif
+#ifdef HAS_SOCKET
+#define Perl_pp_connect Perl_pp_bind
+#define Perl_pp_gsockopt Perl_pp_ssockopt
+#define Perl_pp_getsockname Perl_pp_getpeername
+#else
+#define Perl_pp_bind Perl_unimplemented_op
+#define Perl_pp_connect Perl_unimplemented_op
+#define Perl_pp_listen Perl_unimplemented_op
+#define Perl_pp_accept Perl_unimplemented_op
+#define Perl_pp_shutdown Perl_unimplemented_op
+#define Perl_pp_gsockopt Perl_unimplemented_op
+#define Perl_pp_ssockopt Perl_unimplemented_op
+#define Perl_pp_getsockname Perl_unimplemented_op
+#define Perl_pp_getpeername Perl_unimplemented_op
+#endif
+#define Perl_pp_lstat Perl_pp_stat
+#define Perl_pp_ftrwrite Perl_pp_ftrread
+#define Perl_pp_ftrexec Perl_pp_ftrread
+#define Perl_pp_fteread Perl_pp_ftrread
+#define Perl_pp_ftewrite Perl_pp_ftrread
+#define Perl_pp_fteexec Perl_pp_ftrread
+#define Perl_pp_ftsize Perl_pp_ftis
+#define Perl_pp_ftmtime Perl_pp_ftis
+#define Perl_pp_ftatime Perl_pp_ftis
+#define Perl_pp_ftctime Perl_pp_ftis
+#define Perl_pp_fteowned Perl_pp_ftrowned
+#define Perl_pp_ftzero Perl_pp_ftrowned
+#define Perl_pp_ftsock Perl_pp_ftrowned
+#define Perl_pp_ftchr Perl_pp_ftrowned
+#define Perl_pp_ftblk Perl_pp_ftrowned
+#define Perl_pp_ftfile Perl_pp_ftrowned
+#define Perl_pp_ftdir Perl_pp_ftrowned
+#define Perl_pp_ftpipe Perl_pp_ftrowned
+#define Perl_pp_ftsuid Perl_pp_ftrowned
+#define Perl_pp_ftsgid Perl_pp_ftrowned
+#define Perl_pp_ftsvtx Perl_pp_ftrowned
+#define Perl_pp_ftbinary Perl_pp_fttext
+#define Perl_pp_unlink Perl_pp_chown
+#define Perl_pp_chmod Perl_pp_chown
+#define Perl_pp_utime Perl_pp_chown
+#define Perl_pp_symlink Perl_pp_link
+#define Perl_pp_kill Perl_pp_chown
+#define Perl_pp_localtime Perl_pp_gmtime
+#define Perl_pp_shmget Perl_pp_semget
+#define Perl_pp_shmctl Perl_pp_semctl
+#define Perl_pp_shmread Perl_pp_shmwrite
+#define Perl_pp_msgget Perl_pp_semget
+#define Perl_pp_msgctl Perl_pp_semctl
+#define Perl_pp_msgsnd Perl_pp_shmwrite
+#define Perl_pp_msgrcv Perl_pp_shmwrite
+#define Perl_pp_semop Perl_pp_shmwrite
+#define Perl_pp_dofile Perl_pp_require
+#define Perl_pp_ghbyname Perl_pp_ghostent
+#define Perl_pp_ghbyaddr Perl_pp_ghostent
+#define Perl_pp_gnbyname Perl_pp_gnetent
+#define Perl_pp_gnbyaddr Perl_pp_gnetent
+#define Perl_pp_gpbyname Perl_pp_gprotoent
+#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
 START_EXTERN_C
 
 #ifndef DOINIT
-EXT char *PL_op_name[];
+EXTCONST char* const PL_op_name[];
 #else
-EXT char *PL_op_name[] = {
+EXTCONST char* const PL_op_name[] = {
        "null",
        "stub",
        "scalar",
@@ -400,6 +182,7 @@ EXT char *PL_op_name[] = {
        "subst",
        "substcont",
        "trans",
+       "transr",
        "sassign",
        "aassign",
        "chop",
@@ -462,6 +245,7 @@ EXT char *PL_op_name[] = {
        "i_negate",
        "not",
        "complement",
+       "smartmatch",
        "atan2",
        "sin",
        "cos",
@@ -491,8 +275,12 @@ EXT char *PL_op_name[] = {
        "quotemeta",
        "rv2av",
        "aelemfast",
+       "aelemfast_lex",
        "aelem",
        "aslice",
+       "aeach",
+       "akeys",
+       "avalues",
        "each",
        "values",
        "keys",
@@ -501,6 +289,7 @@ EXT char *PL_op_name[] = {
        "rv2hv",
        "helem",
        "hslice",
+       "boolkeys",
        "unpack",
        "pack",
        "split",
@@ -526,12 +315,15 @@ EXT char *PL_op_name[] = {
        "and",
        "or",
        "xor",
+       "dor",
        "cond_expr",
        "andassign",
        "orassign",
+       "dorassign",
        "method",
        "entersub",
        "leavesub",
+       "leavesublv",
        "caller",
        "warn",
        "die",
@@ -554,6 +346,13 @@ EXT char *PL_op_name[] = {
        "dump",
        "goto",
        "exit",
+       "method_named",
+       "entergiven",
+       "leavegiven",
+       "enterwhen",
+       "leavewhen",
+       "break",
+       "continue",
        "open",
        "close",
        "pipe_op",
@@ -573,12 +372,11 @@ EXT char *PL_op_name[] = {
        "leavewrite",
        "prtf",
        "print",
+       "say",
        "sysopen",
        "sysseek",
        "sysread",
        "syswrite",
-       "send",
-       "recv",
        "eof",
        "tell",
        "seek",
@@ -586,6 +384,8 @@ EXT char *PL_op_name[] = {
        "fcntl",
        "ioctl",
        "flock",
+       "send",
+       "recv",
        "socket",
        "sockpair",
        "bind",
@@ -606,23 +406,23 @@ EXT char *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",
@@ -669,11 +469,12 @@ EXT char *PL_op_name[] = {
        "msgctl",
        "msgsnd",
        "msgrcv",
+       "semop",
        "semget",
        "semctl",
-       "semop",
        "require",
        "dofile",
+       "hintseval",
        "entereval",
        "leaveeval",
        "entertry",
@@ -711,14 +512,19 @@ EXT char *PL_op_name[] = {
        "getlogin",
        "syscall",
        "lock",
-       "threadsv",
+       "once",
+       "custom",
+       "reach",
+       "rkeys",
+       "rvalues",
+       "coreargs",
 };
 #endif
 
 #ifndef DOINIT
-EXT char *PL_op_desc[];
+EXTCONST char* const PL_op_desc[];
 #else
-EXT char *PL_op_desc[] = {
+EXTCONST char* const PL_op_desc[] = {
        "null operation",
        "stub",
        "scalar",
@@ -731,92 +537,94 @@ EXT char *PL_op_desc[] = {
        "private variable",
        "private array",
        "private hash",
-       "private something",
+       "private value",
        "push regexp",
        "ref-to-glob cast",
-       "scalar deref",
+       "scalar dereference",
        "array length",
-       "subroutine deref",
+       "subroutine dereference",
        "anonymous subroutine",
        "subroutine prototype",
        "reference constructor",
        "single ref constructor",
        "reference-type operator",
        "bless",
-       "backticks",
+       "quoted execution (``, qx)",
        "glob",
        "<HANDLE>",
        "append I/O operator",
-       "regexp comp once",
-       "regexp reset interpolation flag",
+       "regexp internal guard",
+       "regexp internal reset",
        "regexp compilation",
-       "pattern match",
-       "pattern quote",
-       "substitution",
-       "substitution cont",
-       "character translation",
+       "pattern match (m//)",
+       "pattern quote (qr//)",
+       "substitution (s///)",
+       "substitution iterator",
+       "transliteration (tr///)",
+       "transliteration (tr///)",
        "scalar assignment",
        "list assignment",
        "chop",
        "scalar chop",
-       "safe chop",
-       "scalar safe chop",
+       "chomp",
+       "scalar chomp",
        "defined operator",
        "undef operator",
        "study",
        "match position",
-       "preincrement",
-       "integer preincrement",
-       "predecrement",
-       "integer predecrement",
-       "postincrement",
-       "integer postincrement",
-       "postdecrement",
-       "integer postdecrement",
-       "exponentiation",
-       "multiplication",
-       "integer multiplication",
-       "division",
-       "integer division",
-       "modulus",
-       "integer modulus",
-       "repeat",
-       "addition",
-       "integer addition",
-       "subtraction",
-       "integer subtraction",
-       "concatenation",
+       "preincrement (++)",
+       "integer preincrement (++)",
+       "predecrement (--)",
+       "integer predecrement (--)",
+       "postincrement (++)",
+       "integer postincrement (++)",
+       "postdecrement (--)",
+       "integer postdecrement (--)",
+       "exponentiation (**)",
+       "multiplication (*)",
+       "integer multiplication (*)",
+       "division (/)",
+       "integer division (/)",
+       "modulus (%)",
+       "integer modulus (%)",
+       "repeat (x)",
+       "addition (+)",
+       "integer addition (+)",
+       "subtraction (-)",
+       "integer subtraction (-)",
+       "concatenation (.) or string",
        "string",
-       "left bitshift",
-       "right bitshift",
-       "numeric lt",
-       "integer lt",
-       "numeric gt",
-       "integer gt",
-       "numeric le",
-       "integer le",
-       "numeric ge",
-       "integer ge",
-       "numeric eq",
-       "integer eq",
-       "numeric ne",
-       "integer ne",
-       "spaceship operator",
-       "integer spaceship",
+       "left bitshift (<<)",
+       "right bitshift (>>)",
+       "numeric lt (<)",
+       "integer lt (<)",
+       "numeric gt (>)",
+       "integer gt (>)",
+       "numeric le (<=)",
+       "integer le (<=)",
+       "numeric ge (>=)",
+       "integer ge (>=)",
+       "numeric eq (==)",
+       "integer eq (==)",
+       "numeric ne (!=)",
+       "integer ne (!=)",
+       "numeric comparison (<=>)",
+       "integer comparison (<=>)",
        "string lt",
        "string gt",
        "string le",
        "string ge",
        "string eq",
        "string ne",
-       "string comparison",
-       "bitwise and",
-       "bitwise xor",
-       "bitwise or",
-       "negate",
-       "integer negate",
+       "string comparison (cmp)",
+       "bitwise and (&)",
+       "bitwise xor (^)",
+       "bitwise or (|)",
+       "negation (-)",
+       "integer negation (-)",
        "not",
-       "1's complement",
+       "1's complement (~)",
+       "smart match",
        "atan2",
        "sin",
        "cos",
@@ -839,31 +647,36 @@ EXT char *PL_op_desc[] = {
        "ord",
        "chr",
        "crypt",
-       "upper case first",
-       "lower case first",
-       "upper case",
-       "lower case",
-       "quote metachars",
-       "array deref",
-       "known array element",
+       "ucfirst",
+       "lcfirst",
+       "uc",
+       "lc",
+       "quotemeta",
+       "array dereference",
+       "constant array element",
+       "constant lexical array element",
        "array element",
        "array slice",
+       "each on array",
+       "keys on array",
+       "values on array",
        "each",
        "values",
        "keys",
        "delete",
-       "exists operator",
-       "hash deref",
-       "hash elem",
+       "exists",
+       "hash dereference",
+       "hash element",
        "hash slice",
+       "boolkeys",
        "unpack",
        "pack",
        "split",
-       "join",
+       "join or string",
        "list",
        "list slice",
-       "anonymous list",
-       "anonymous hash",
+       "anonymous list ([])",
+       "anonymous hash ({})",
        "splice",
        "push",
        "pop",
@@ -878,19 +691,22 @@ EXT char *PL_op_desc[] = {
        "flipflop",
        "range (or flip)",
        "range (or flop)",
-       "logical and",
-       "logical or",
+       "logical and (&&)",
+       "logical or (||)",
        "logical xor",
+       "defined or (//)",
        "conditional expression",
-       "logical and assignment",
-       "logical or assignment",
+       "logical and assignment (&&=)",
+       "logical or assignment (||=)",
+       "defined or assignment (//=)",
        "method lookup",
        "subroutine entry",
        "subroutine exit",
+       "lvalue subroutine return",
        "caller",
        "warn",
        "die",
-       "reset",
+       "symbol reset",
        "line sequence",
        "next statement",
        "debug next statement",
@@ -909,6 +725,13 @@ EXT char *PL_op_desc[] = {
        "dump",
        "goto",
        "exit",
+       "method with known name",
+       "given()",
+       "leave given block",
+       "when()",
+       "leave when block",
+       "break",
+       "continue",
        "open",
        "close",
        "pipe",
@@ -928,12 +751,11 @@ EXT char *PL_op_desc[] = {
        "write exit",
        "printf",
        "print",
+       "say",
        "sysopen",
        "sysseek",
        "sysread",
        "syswrite",
-       "send",
-       "recv",
        "eof",
        "tell",
        "seek",
@@ -941,6 +763,8 @@ EXT char *PL_op_desc[] = {
        "fcntl",
        "ioctl",
        "flock",
+       "send",
+       "recv",
        "socket",
        "socketpair",
        "bind",
@@ -961,23 +785,23 @@ EXT char *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",
@@ -1024,15 +848,16 @@ EXT char *PL_op_desc[] = {
        "msgctl",
        "msgsnd",
        "msgrcv",
+       "semop",
        "semget",
        "semctl",
-       "semop",
        "require",
-       "do 'file'",
-       "eval string",
-       "eval exit",
-       "eval block",
-       "eval block exit",
+       "do \"file\"",
+       "eval hints",
+       "eval \"string\"",
+       "eval \"string\" exit",
+       "eval {block}",
+       "eval {block} exit",
        "gethostbyname",
        "gethostbyaddr",
        "gethostent",
@@ -1066,22 +891,36 @@ EXT char *PL_op_desc[] = {
        "getlogin",
        "syscall",
        "lock",
-       "per-thread variable",
+       "once",
+       "unknown custom operator",
+       "each on reference",
+       "keys on reference",
+       "values on reference",
+       "CORE:: subroutine",
 };
 #endif
 
 END_EXTERN_C
 
+#endif /* !PERL_GLOBAL_STRUCT_INIT */
 
 START_EXTERN_C
 
-#ifndef DOINIT
-EXT OP * (CPERLscope(*PL_ppaddr)[])(pTHX);
+#ifdef PERL_GLOBAL_STRUCT_INIT
+#  define PERL_PPADDR_INITED
+static const Perl_ppaddr_t Gppaddr[]
 #else
-EXT OP * (CPERLscope(*PL_ppaddr)[])(pTHX) = {
+#  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
+= {
        Perl_pp_null,
        Perl_pp_stub,
-       Perl_pp_scalar,
+       Perl_pp_scalar, /* implemented by Perl_pp_null */
        Perl_pp_pushmark,
        Perl_pp_wantarray,
        Perl_pp_const,
@@ -1091,7 +930,7 @@ EXT OP * (CPERLscope(*PL_ppaddr)[])(pTHX) = {
        Perl_pp_padsv,
        Perl_pp_padav,
        Perl_pp_padhv,
-       Perl_pp_padany,
+       Perl_pp_padany, /* implemented by Perl_unimplemented_op */
        Perl_pp_pushre,
        Perl_pp_rv2gv,
        Perl_pp_rv2sv,
@@ -1107,7 +946,7 @@ EXT OP * (CPERLscope(*PL_ppaddr)[])(pTHX) = {
        Perl_pp_glob,
        Perl_pp_readline,
        Perl_pp_rcatline,
-       Perl_pp_regcmaybe,
+       Perl_pp_regcmaybe,      /* implemented by Perl_pp_null */
        Perl_pp_regcreset,
        Perl_pp_regcomp,
        Perl_pp_match,
@@ -1115,24 +954,25 @@ EXT OP * (CPERLscope(*PL_ppaddr)[])(pTHX) = {
        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,
        Perl_pp_schop,
-       Perl_pp_chomp,
-       Perl_pp_schomp,
+       Perl_pp_chomp,  /* implemented by Perl_pp_chop */
+       Perl_pp_schomp, /* implemented by Perl_pp_schop */
        Perl_pp_defined,
        Perl_pp_undef,
        Perl_pp_study,
        Perl_pp_pos,
        Perl_pp_preinc,
-       Perl_pp_i_preinc,
+       Perl_pp_i_preinc,       /* implemented by Perl_pp_preinc */
        Perl_pp_predec,
-       Perl_pp_i_predec,
+       Perl_pp_i_predec,       /* implemented by Perl_pp_predec */
        Perl_pp_postinc,
-       Perl_pp_i_postinc,
+       Perl_pp_i_postinc,      /* implemented by Perl_pp_postinc */
        Perl_pp_postdec,
-       Perl_pp_i_postdec,
+       Perl_pp_i_postdec,      /* implemented by Perl_pp_postdec */
        Perl_pp_pow,
        Perl_pp_multiply,
        Perl_pp_i_multiply,
@@ -1163,59 +1003,65 @@ EXT OP * (CPERLscope(*PL_ppaddr)[])(pTHX) = {
        Perl_pp_i_ne,
        Perl_pp_ncmp,
        Perl_pp_i_ncmp,
-       Perl_pp_slt,
-       Perl_pp_sgt,
+       Perl_pp_slt,    /* implemented by Perl_pp_sle */
+       Perl_pp_sgt,    /* implemented by Perl_pp_sle */
        Perl_pp_sle,
-       Perl_pp_sge,
+       Perl_pp_sge,    /* implemented by Perl_pp_sle */
        Perl_pp_seq,
        Perl_pp_sne,
        Perl_pp_scmp,
        Perl_pp_bit_and,
-       Perl_pp_bit_xor,
+       Perl_pp_bit_xor,        /* implemented by Perl_pp_bit_or */
        Perl_pp_bit_or,
        Perl_pp_negate,
        Perl_pp_i_negate,
        Perl_pp_not,
        Perl_pp_complement,
+       Perl_pp_smartmatch,
        Perl_pp_atan2,
        Perl_pp_sin,
-       Perl_pp_cos,
+       Perl_pp_cos,    /* implemented by Perl_pp_sin */
        Perl_pp_rand,
        Perl_pp_srand,
-       Perl_pp_exp,
-       Perl_pp_log,
-       Perl_pp_sqrt,
+       Perl_pp_exp,    /* implemented by Perl_pp_sin */
+       Perl_pp_log,    /* implemented by Perl_pp_sin */
+       Perl_pp_sqrt,   /* implemented by Perl_pp_sin */
        Perl_pp_int,
-       Perl_pp_hex,
+       Perl_pp_hex,    /* implemented by Perl_pp_oct */
        Perl_pp_oct,
        Perl_pp_abs,
        Perl_pp_length,
        Perl_pp_substr,
        Perl_pp_vec,
        Perl_pp_index,
-       Perl_pp_rindex,
+       Perl_pp_rindex, /* implemented by Perl_pp_index */
        Perl_pp_sprintf,
        Perl_pp_formline,
        Perl_pp_ord,
        Perl_pp_chr,
        Perl_pp_crypt,
        Perl_pp_ucfirst,
-       Perl_pp_lcfirst,
+       Perl_pp_lcfirst,        /* implemented by Perl_pp_ucfirst */
        Perl_pp_uc,
        Perl_pp_lc,
        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,
+       Perl_pp_akeys,
+       Perl_pp_avalues,        /* implemented by Perl_pp_akeys */
        Perl_pp_each,
-       Perl_pp_values,
-       Perl_pp_keys,
+       Perl_pp_values, /* implemented by Perl_do_kv */
+       Perl_pp_keys,   /* implemented by Perl_do_kv */
        Perl_pp_delete,
        Perl_pp_exists,
-       Perl_pp_rv2hv,
+       Perl_pp_rv2hv,  /* implemented by Perl_pp_rv2av */
        Perl_pp_helem,
        Perl_pp_hslice,
+       Perl_pp_boolkeys,
        Perl_pp_unpack,
        Perl_pp_pack,
        Perl_pp_split,
@@ -1226,14 +1072,14 @@ EXT OP * (CPERLscope(*PL_ppaddr)[])(pTHX) = {
        Perl_pp_anonhash,
        Perl_pp_splice,
        Perl_pp_push,
-       Perl_pp_pop,
+       Perl_pp_pop,    /* implemented by Perl_pp_shift */
        Perl_pp_shift,
        Perl_pp_unshift,
        Perl_pp_sort,
        Perl_pp_reverse,
        Perl_pp_grepstart,
        Perl_pp_grepwhile,
-       Perl_pp_mapstart,
+       Perl_pp_mapstart,       /* implemented by Perl_unimplemented_op */
        Perl_pp_mapwhile,
        Perl_pp_range,
        Perl_pp_flip,
@@ -1241,23 +1087,26 @@ EXT OP * (CPERLscope(*PL_ppaddr)[])(pTHX) = {
        Perl_pp_and,
        Perl_pp_or,
        Perl_pp_xor,
+       Perl_pp_dor,    /* implemented by Perl_pp_defined */
        Perl_pp_cond_expr,
-       Perl_pp_andassign,
-       Perl_pp_orassign,
+       Perl_pp_andassign,      /* implemented by Perl_pp_and */
+       Perl_pp_orassign,       /* implemented by Perl_pp_or */
+       Perl_pp_dorassign,      /* implemented by Perl_pp_defined */
        Perl_pp_method,
        Perl_pp_entersub,
        Perl_pp_leavesub,
+       Perl_pp_leavesublv,
        Perl_pp_caller,
        Perl_pp_warn,
        Perl_pp_die,
        Perl_pp_reset,
-       Perl_pp_lineseq,
+       Perl_pp_lineseq,        /* implemented by Perl_pp_null */
        Perl_pp_nextstate,
        Perl_pp_dbstate,
        Perl_pp_unstack,
        Perl_pp_enter,
        Perl_pp_leave,
-       Perl_pp_scope,
+       Perl_pp_scope,  /* implemented by Perl_pp_null */
        Perl_pp_enteriter,
        Perl_pp_iter,
        Perl_pp_enterloop,
@@ -1266,9 +1115,16 @@ EXT OP * (CPERLscope(*PL_ppaddr)[])(pTHX) = {
        Perl_pp_last,
        Perl_pp_next,
        Perl_pp_redo,
-       Perl_pp_dump,
+       Perl_pp_dump,   /* implemented by Perl_pp_goto */
        Perl_pp_goto,
        Perl_pp_exit,
+       Perl_pp_method_named,
+       Perl_pp_entergiven,
+       Perl_pp_leavegiven,
+       Perl_pp_enterwhen,
+       Perl_pp_leavewhen,
+       Perl_pp_break,
+       Perl_pp_continue,
        Perl_pp_open,
        Perl_pp_close,
        Perl_pp_pipe_op,
@@ -1279,77 +1135,78 @@ EXT OP * (CPERLscope(*PL_ppaddr)[])(pTHX) = {
        Perl_pp_untie,
        Perl_pp_tied,
        Perl_pp_dbmopen,
-       Perl_pp_dbmclose,
+       Perl_pp_dbmclose,       /* implemented by Perl_pp_untie */
        Perl_pp_sselect,
        Perl_pp_select,
        Perl_pp_getc,
-       Perl_pp_read,
+       Perl_pp_read,   /* implemented by Perl_pp_sysread */
        Perl_pp_enterwrite,
        Perl_pp_leavewrite,
        Perl_pp_prtf,
        Perl_pp_print,
+       Perl_pp_say,    /* implemented by Perl_pp_print */
        Perl_pp_sysopen,
        Perl_pp_sysseek,
        Perl_pp_sysread,
        Perl_pp_syswrite,
-       Perl_pp_send,
-       Perl_pp_recv,
        Perl_pp_eof,
        Perl_pp_tell,
-       Perl_pp_seek,
+       Perl_pp_seek,   /* implemented by Perl_pp_sysseek */
        Perl_pp_truncate,
-       Perl_pp_fcntl,
+       Perl_pp_fcntl,  /* implemented by Perl_pp_ioctl */
        Perl_pp_ioctl,
        Perl_pp_flock,
+       Perl_pp_send,   /* implemented by Perl_pp_syswrite */
+       Perl_pp_recv,   /* implemented by Perl_pp_sysread */
        Perl_pp_socket,
        Perl_pp_sockpair,
        Perl_pp_bind,
-       Perl_pp_connect,
+       Perl_pp_connect,        /* implemented by Perl_pp_bind */
        Perl_pp_listen,
        Perl_pp_accept,
        Perl_pp_shutdown,
-       Perl_pp_gsockopt,
+       Perl_pp_gsockopt,       /* implemented by Perl_pp_ssockopt */
        Perl_pp_ssockopt,
-       Perl_pp_getsockname,
+       Perl_pp_getsockname,    /* implemented by Perl_pp_getpeername */
        Perl_pp_getpeername,
-       Perl_pp_lstat,
+       Perl_pp_lstat,  /* implemented by Perl_pp_stat */
        Perl_pp_stat,
        Perl_pp_ftrread,
-       Perl_pp_ftrwrite,
-       Perl_pp_ftrexec,
-       Perl_pp_fteread,
-       Perl_pp_ftewrite,
-       Perl_pp_fteexec,
+       Perl_pp_ftrwrite,       /* implemented by Perl_pp_ftrread */
+       Perl_pp_ftrexec,        /* implemented by Perl_pp_ftrread */
+       Perl_pp_fteread,        /* implemented by Perl_pp_ftrread */
+       Perl_pp_ftewrite,       /* implemented by Perl_pp_ftrread */
+       Perl_pp_fteexec,        /* implemented by Perl_pp_ftrread */
        Perl_pp_ftis,
-       Perl_pp_fteowned,
+       Perl_pp_ftsize, /* implemented by Perl_pp_ftis */
+       Perl_pp_ftmtime,        /* implemented by Perl_pp_ftis */
+       Perl_pp_ftatime,        /* implemented by Perl_pp_ftis */
+       Perl_pp_ftctime,        /* implemented by Perl_pp_ftis */
        Perl_pp_ftrowned,
-       Perl_pp_ftzero,
-       Perl_pp_ftsize,
-       Perl_pp_ftmtime,
-       Perl_pp_ftatime,
-       Perl_pp_ftctime,
-       Perl_pp_ftsock,
-       Perl_pp_ftchr,
-       Perl_pp_ftblk,
-       Perl_pp_ftfile,
-       Perl_pp_ftdir,
-       Perl_pp_ftpipe,
+       Perl_pp_fteowned,       /* implemented by Perl_pp_ftrowned */
+       Perl_pp_ftzero, /* implemented by Perl_pp_ftrowned */
+       Perl_pp_ftsock, /* implemented by Perl_pp_ftrowned */
+       Perl_pp_ftchr,  /* implemented by Perl_pp_ftrowned */
+       Perl_pp_ftblk,  /* implemented by Perl_pp_ftrowned */
+       Perl_pp_ftfile, /* implemented by Perl_pp_ftrowned */
+       Perl_pp_ftdir,  /* implemented by Perl_pp_ftrowned */
+       Perl_pp_ftpipe, /* implemented by Perl_pp_ftrowned */
+       Perl_pp_ftsuid, /* implemented by Perl_pp_ftrowned */
+       Perl_pp_ftsgid, /* implemented by Perl_pp_ftrowned */
+       Perl_pp_ftsvtx, /* implemented by Perl_pp_ftrowned */
        Perl_pp_ftlink,
-       Perl_pp_ftsuid,
-       Perl_pp_ftsgid,
-       Perl_pp_ftsvtx,
        Perl_pp_fttty,
        Perl_pp_fttext,
-       Perl_pp_ftbinary,
+       Perl_pp_ftbinary,       /* implemented by Perl_pp_fttext */
        Perl_pp_chdir,
        Perl_pp_chown,
        Perl_pp_chroot,
-       Perl_pp_unlink,
-       Perl_pp_chmod,
-       Perl_pp_utime,
+       Perl_pp_unlink, /* implemented by Perl_pp_chown */
+       Perl_pp_chmod,  /* implemented by Perl_pp_chown */
+       Perl_pp_utime,  /* implemented by Perl_pp_chown */
        Perl_pp_rename,
        Perl_pp_link,
-       Perl_pp_symlink,
+       Perl_pp_symlink,        /* implemented by Perl_pp_link */
        Perl_pp_readlink,
        Perl_pp_mkdir,
        Perl_pp_rmdir,
@@ -1364,7 +1221,7 @@ EXT OP * (CPERLscope(*PL_ppaddr)[])(pTHX) = {
        Perl_pp_waitpid,
        Perl_pp_system,
        Perl_pp_exec,
-       Perl_pp_kill,
+       Perl_pp_kill,   /* implemented by Perl_pp_chown */
        Perl_pp_getppid,
        Perl_pp_getpgrp,
        Perl_pp_setpgrp,
@@ -1372,772 +1229,846 @@ EXT OP * (CPERLscope(*PL_ppaddr)[])(pTHX) = {
        Perl_pp_setpriority,
        Perl_pp_time,
        Perl_pp_tms,
-       Perl_pp_localtime,
+       Perl_pp_localtime,      /* implemented by Perl_pp_gmtime */
        Perl_pp_gmtime,
        Perl_pp_alarm,
        Perl_pp_sleep,
-       Perl_pp_shmget,
-       Perl_pp_shmctl,
-       Perl_pp_shmread,
+       Perl_pp_shmget, /* implemented by Perl_pp_semget */
+       Perl_pp_shmctl, /* implemented by Perl_pp_semctl */
+       Perl_pp_shmread,        /* implemented by Perl_pp_shmwrite */
        Perl_pp_shmwrite,
-       Perl_pp_msgget,
-       Perl_pp_msgctl,
-       Perl_pp_msgsnd,
-       Perl_pp_msgrcv,
+       Perl_pp_msgget, /* implemented by Perl_pp_semget */
+       Perl_pp_msgctl, /* implemented by Perl_pp_semctl */
+       Perl_pp_msgsnd, /* implemented by Perl_pp_shmwrite */
+       Perl_pp_msgrcv, /* implemented by Perl_pp_shmwrite */
+       Perl_pp_semop,  /* implemented by Perl_pp_shmwrite */
        Perl_pp_semget,
        Perl_pp_semctl,
-       Perl_pp_semop,
        Perl_pp_require,
-       Perl_pp_dofile,
+       Perl_pp_dofile, /* implemented by Perl_pp_require */
+       Perl_pp_hintseval,
        Perl_pp_entereval,
        Perl_pp_leaveeval,
        Perl_pp_entertry,
        Perl_pp_leavetry,
-       Perl_pp_ghbyname,
-       Perl_pp_ghbyaddr,
+       Perl_pp_ghbyname,       /* implemented by Perl_pp_ghostent */
+       Perl_pp_ghbyaddr,       /* implemented by Perl_pp_ghostent */
        Perl_pp_ghostent,
-       Perl_pp_gnbyname,
-       Perl_pp_gnbyaddr,
+       Perl_pp_gnbyname,       /* implemented by Perl_pp_gnetent */
+       Perl_pp_gnbyaddr,       /* implemented by Perl_pp_gnetent */
        Perl_pp_gnetent,
-       Perl_pp_gpbyname,
-       Perl_pp_gpbynumber,
+       Perl_pp_gpbyname,       /* implemented by Perl_pp_gprotoent */
+       Perl_pp_gpbynumber,     /* implemented by Perl_pp_gprotoent */
        Perl_pp_gprotoent,
-       Perl_pp_gsbyname,
-       Perl_pp_gsbyport,
+       Perl_pp_gsbyname,       /* implemented by Perl_pp_gservent */
+       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,
-       Perl_pp_eprotoent,
-       Perl_pp_eservent,
-       Perl_pp_gpwnam,
-       Perl_pp_gpwuid,
+       Perl_pp_enetent,        /* implemented by Perl_pp_ehostent */
+       Perl_pp_eprotoent,      /* implemented by Perl_pp_ehostent */
+       Perl_pp_eservent,       /* implemented by Perl_pp_ehostent */
+       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_ggrnam,
-       Perl_pp_ggrgid,
+       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,
-       Perl_pp_threadsv,
-};
+       Perl_pp_once,
+       Perl_pp_custom, /* implemented by Perl_unimplemented_op */
+       Perl_pp_reach,  /* implemented by Perl_pp_rkeys */
+       Perl_pp_rkeys,
+       Perl_pp_rvalues,        /* implemented by Perl_pp_rkeys */
+       Perl_pp_coreargs,
+}
+#endif
+#ifdef PERL_PPADDR_INITED
+;
 #endif
 
-#ifndef DOINIT
-EXT OP * (CPERLscope(*PL_check)[]) (pTHX_ OP *op);
+#ifdef PERL_GLOBAL_STRUCT_INIT
+#  define PERL_CHECK_INITED
+static const Perl_check_t Gcheck[]
 #else
-EXT OP * (CPERLscope(*PL_check)[]) (pTHX_ OP *op) = {
-       Perl_ck_null,   /* null */
-       Perl_ck_null,   /* stub */
-       Perl_ck_fun,    /* scalar */
-       Perl_ck_null,   /* pushmark */
-       Perl_ck_null,   /* wantarray */
-       Perl_ck_svconst,/* const */
-       Perl_ck_null,   /* gvsv */
-       Perl_ck_null,   /* gv */
-       Perl_ck_null,   /* gelem */
-       Perl_ck_null,   /* padsv */
-       Perl_ck_null,   /* padav */
-       Perl_ck_null,   /* padhv */
-       Perl_ck_null,   /* padany */
-       Perl_ck_null,   /* pushre */
-       Perl_ck_rvconst,/* rv2gv */
-       Perl_ck_rvconst,/* rv2sv */
-       Perl_ck_null,   /* av2arylen */
-       Perl_ck_rvconst,/* rv2cv */
-       Perl_ck_anoncode,/* anoncode */
-       Perl_ck_null,   /* prototype */
-       Perl_ck_spair,  /* refgen */
-       Perl_ck_null,   /* srefgen */
-       Perl_ck_fun,    /* ref */
-       Perl_ck_fun,    /* bless */
-       Perl_ck_null,   /* backtick */
-       Perl_ck_glob,   /* glob */
-       Perl_ck_null,   /* readline */
-       Perl_ck_null,   /* rcatline */
-       Perl_ck_fun,    /* regcmaybe */
-       Perl_ck_fun,    /* regcreset */
-       Perl_ck_null,   /* regcomp */
-       Perl_ck_match,  /* match */
-       Perl_ck_match,  /* qr */
-       Perl_ck_null,   /* subst */
-       Perl_ck_null,   /* substcont */
-       Perl_ck_null,   /* trans */
-       Perl_ck_sassign,/* sassign */
-       Perl_ck_null,   /* aassign */
-       Perl_ck_spair,  /* chop */
-       Perl_ck_null,   /* schop */
-       Perl_ck_spair,  /* chomp */
-       Perl_ck_null,   /* schomp */
-       Perl_ck_defined,/* defined */
-       Perl_ck_lfun,   /* undef */
-       Perl_ck_fun,    /* study */
-       Perl_ck_lfun,   /* pos */
-       Perl_ck_lfun,   /* preinc */
-       Perl_ck_lfun,   /* i_preinc */
-       Perl_ck_lfun,   /* predec */
-       Perl_ck_lfun,   /* i_predec */
-       Perl_ck_lfun,   /* postinc */
-       Perl_ck_lfun,   /* i_postinc */
-       Perl_ck_lfun,   /* postdec */
-       Perl_ck_lfun,   /* i_postdec */
-       Perl_ck_null,   /* pow */
-       Perl_ck_null,   /* multiply */
-       Perl_ck_null,   /* i_multiply */
-       Perl_ck_null,   /* divide */
-       Perl_ck_null,   /* i_divide */
-       Perl_ck_null,   /* modulo */
-       Perl_ck_null,   /* i_modulo */
-       Perl_ck_repeat, /* repeat */
-       Perl_ck_null,   /* add */
-       Perl_ck_null,   /* i_add */
-       Perl_ck_null,   /* subtract */
-       Perl_ck_null,   /* i_subtract */
-       Perl_ck_concat, /* concat */
-       Perl_ck_fun,    /* stringify */
-       Perl_ck_bitop,  /* left_shift */
-       Perl_ck_bitop,  /* right_shift */
-       Perl_ck_null,   /* lt */
-       Perl_ck_null,   /* i_lt */
-       Perl_ck_null,   /* gt */
-       Perl_ck_null,   /* i_gt */
-       Perl_ck_null,   /* le */
-       Perl_ck_null,   /* i_le */
-       Perl_ck_null,   /* ge */
-       Perl_ck_null,   /* i_ge */
-       Perl_ck_null,   /* eq */
-       Perl_ck_null,   /* i_eq */
-       Perl_ck_null,   /* ne */
-       Perl_ck_null,   /* i_ne */
-       Perl_ck_null,   /* ncmp */
-       Perl_ck_null,   /* i_ncmp */
-       Perl_ck_scmp,   /* slt */
-       Perl_ck_scmp,   /* sgt */
-       Perl_ck_scmp,   /* sle */
-       Perl_ck_scmp,   /* sge */
-       Perl_ck_null,   /* seq */
-       Perl_ck_null,   /* sne */
-       Perl_ck_scmp,   /* scmp */
-       Perl_ck_bitop,  /* bit_and */
-       Perl_ck_bitop,  /* bit_xor */
-       Perl_ck_bitop,  /* bit_or */
-       Perl_ck_null,   /* negate */
-       Perl_ck_null,   /* i_negate */
-       Perl_ck_null,   /* not */
-       Perl_ck_bitop,  /* complement */
-       Perl_ck_fun,    /* atan2 */
-       Perl_ck_fun,    /* sin */
-       Perl_ck_fun,    /* cos */
-       Perl_ck_fun,    /* rand */
-       Perl_ck_fun,    /* srand */
-       Perl_ck_fun,    /* exp */
-       Perl_ck_fun,    /* log */
-       Perl_ck_fun,    /* sqrt */
-       Perl_ck_fun,    /* int */
-       Perl_ck_fun,    /* hex */
-       Perl_ck_fun,    /* oct */
-       Perl_ck_fun,    /* abs */
-       Perl_ck_lengthconst,/* length */
-       Perl_ck_fun,    /* substr */
-       Perl_ck_fun,    /* vec */
-       Perl_ck_index,  /* index */
-       Perl_ck_index,  /* rindex */
-       Perl_ck_fun_locale,/* sprintf */
-       Perl_ck_fun,    /* formline */
-       Perl_ck_fun,    /* ord */
-       Perl_ck_fun,    /* chr */
-       Perl_ck_fun,    /* crypt */
-       Perl_ck_fun_locale,/* ucfirst */
-       Perl_ck_fun_locale,/* lcfirst */
-       Perl_ck_fun_locale,/* uc */
-       Perl_ck_fun_locale,/* lc */
-       Perl_ck_fun,    /* quotemeta */
-       Perl_ck_rvconst,/* rv2av */
-       Perl_ck_null,   /* aelemfast */
-       Perl_ck_null,   /* aelem */
-       Perl_ck_null,   /* aslice */
-       Perl_ck_fun,    /* each */
-       Perl_ck_fun,    /* values */
-       Perl_ck_fun,    /* keys */
-       Perl_ck_delete, /* delete */
-       Perl_ck_exists, /* exists */
-       Perl_ck_rvconst,/* rv2hv */
-       Perl_ck_null,   /* helem */
-       Perl_ck_null,   /* hslice */
-       Perl_ck_fun,    /* unpack */
-       Perl_ck_fun,    /* pack */
-       Perl_ck_split,  /* split */
-       Perl_ck_fun,    /* join */
-       Perl_ck_null,   /* list */
-       Perl_ck_null,   /* lslice */
-       Perl_ck_fun,    /* anonlist */
-       Perl_ck_fun,    /* anonhash */
-       Perl_ck_fun,    /* splice */
-       Perl_ck_fun,    /* push */
-       Perl_ck_shift,  /* pop */
-       Perl_ck_shift,  /* shift */
-       Perl_ck_fun,    /* unshift */
-       Perl_ck_sort,   /* sort */
-       Perl_ck_fun,    /* reverse */
-       Perl_ck_grep,   /* grepstart */
-       Perl_ck_null,   /* grepwhile */
-       Perl_ck_grep,   /* mapstart */
-       Perl_ck_null,   /* mapwhile */
-       Perl_ck_null,   /* range */
-       Perl_ck_null,   /* flip */
-       Perl_ck_null,   /* flop */
-       Perl_ck_null,   /* and */
-       Perl_ck_null,   /* or */
-       Perl_ck_null,   /* xor */
-       Perl_ck_null,   /* cond_expr */
-       Perl_ck_null,   /* andassign */
-       Perl_ck_null,   /* orassign */
-       Perl_ck_null,   /* method */
-       Perl_ck_subr,   /* entersub */
-       Perl_ck_null,   /* leavesub */
-       Perl_ck_fun,    /* caller */
-       Perl_ck_fun,    /* warn */
-       Perl_ck_fun,    /* die */
-       Perl_ck_fun,    /* reset */
-       Perl_ck_null,   /* lineseq */
-       Perl_ck_null,   /* nextstate */
-       Perl_ck_null,   /* dbstate */
-       Perl_ck_null,   /* unstack */
-       Perl_ck_null,   /* enter */
-       Perl_ck_null,   /* leave */
-       Perl_ck_null,   /* scope */
-       Perl_ck_null,   /* enteriter */
-       Perl_ck_null,   /* iter */
-       Perl_ck_null,   /* enterloop */
-       Perl_ck_null,   /* leaveloop */
-       Perl_ck_null,   /* return */
-       Perl_ck_null,   /* last */
-       Perl_ck_null,   /* next */
-       Perl_ck_null,   /* redo */
-       Perl_ck_null,   /* dump */
-       Perl_ck_null,   /* goto */
-       Perl_ck_fun,    /* exit */
-       Perl_ck_fun,    /* open */
-       Perl_ck_fun,    /* close */
-       Perl_ck_fun,    /* pipe_op */
-       Perl_ck_fun,    /* fileno */
-       Perl_ck_fun,    /* umask */
-       Perl_ck_fun,    /* binmode */
-       Perl_ck_fun,    /* tie */
-       Perl_ck_fun,    /* untie */
-       Perl_ck_fun,    /* tied */
-       Perl_ck_fun,    /* dbmopen */
-       Perl_ck_fun,    /* dbmclose */
-       Perl_ck_select, /* sselect */
-       Perl_ck_select, /* select */
-       Perl_ck_eof,    /* getc */
-       Perl_ck_fun,    /* read */
-       Perl_ck_fun,    /* enterwrite */
-       Perl_ck_null,   /* leavewrite */
-       Perl_ck_listiob,/* prtf */
-       Perl_ck_listiob,/* print */
-       Perl_ck_fun,    /* sysopen */
-       Perl_ck_fun,    /* sysseek */
-       Perl_ck_fun,    /* sysread */
-       Perl_ck_fun,    /* syswrite */
-       Perl_ck_fun,    /* send */
-       Perl_ck_fun,    /* recv */
-       Perl_ck_eof,    /* eof */
-       Perl_ck_fun,    /* tell */
-       Perl_ck_fun,    /* seek */
-       Perl_ck_trunc,  /* truncate */
-       Perl_ck_fun,    /* fcntl */
-       Perl_ck_fun,    /* ioctl */
-       Perl_ck_fun,    /* flock */
-       Perl_ck_fun,    /* socket */
-       Perl_ck_fun,    /* sockpair */
-       Perl_ck_fun,    /* bind */
-       Perl_ck_fun,    /* connect */
-       Perl_ck_fun,    /* listen */
-       Perl_ck_fun,    /* accept */
-       Perl_ck_fun,    /* shutdown */
-       Perl_ck_fun,    /* gsockopt */
-       Perl_ck_fun,    /* ssockopt */
-       Perl_ck_fun,    /* getsockname */
-       Perl_ck_fun,    /* getpeername */
-       Perl_ck_ftst,   /* lstat */
-       Perl_ck_ftst,   /* stat */
-       Perl_ck_ftst,   /* ftrread */
-       Perl_ck_ftst,   /* ftrwrite */
-       Perl_ck_ftst,   /* ftrexec */
-       Perl_ck_ftst,   /* fteread */
-       Perl_ck_ftst,   /* ftewrite */
-       Perl_ck_ftst,   /* fteexec */
-       Perl_ck_ftst,   /* ftis */
-       Perl_ck_ftst,   /* fteowned */
-       Perl_ck_ftst,   /* ftrowned */
-       Perl_ck_ftst,   /* ftzero */
-       Perl_ck_ftst,   /* ftsize */
-       Perl_ck_ftst,   /* ftmtime */
-       Perl_ck_ftst,   /* ftatime */
-       Perl_ck_ftst,   /* ftctime */
-       Perl_ck_ftst,   /* ftsock */
-       Perl_ck_ftst,   /* ftchr */
-       Perl_ck_ftst,   /* ftblk */
-       Perl_ck_ftst,   /* ftfile */
-       Perl_ck_ftst,   /* ftdir */
-       Perl_ck_ftst,   /* ftpipe */
-       Perl_ck_ftst,   /* ftlink */
-       Perl_ck_ftst,   /* ftsuid */
-       Perl_ck_ftst,   /* ftsgid */
-       Perl_ck_ftst,   /* ftsvtx */
-       Perl_ck_ftst,   /* fttty */
-       Perl_ck_ftst,   /* fttext */
-       Perl_ck_ftst,   /* ftbinary */
-       Perl_ck_fun,    /* chdir */
-       Perl_ck_fun,    /* chown */
-       Perl_ck_fun,    /* chroot */
-       Perl_ck_fun,    /* unlink */
-       Perl_ck_fun,    /* chmod */
-       Perl_ck_fun,    /* utime */
-       Perl_ck_fun,    /* rename */
-       Perl_ck_fun,    /* link */
-       Perl_ck_fun,    /* symlink */
-       Perl_ck_fun,    /* readlink */
-       Perl_ck_fun,    /* mkdir */
-       Perl_ck_fun,    /* rmdir */
-       Perl_ck_fun,    /* open_dir */
-       Perl_ck_fun,    /* readdir */
-       Perl_ck_fun,    /* telldir */
-       Perl_ck_fun,    /* seekdir */
-       Perl_ck_fun,    /* rewinddir */
-       Perl_ck_fun,    /* closedir */
-       Perl_ck_null,   /* fork */
-       Perl_ck_null,   /* wait */
-       Perl_ck_fun,    /* waitpid */
-       Perl_ck_exec,   /* system */
-       Perl_ck_exec,   /* exec */
-       Perl_ck_fun,    /* kill */
-       Perl_ck_null,   /* getppid */
-       Perl_ck_fun,    /* getpgrp */
-       Perl_ck_fun,    /* setpgrp */
-       Perl_ck_fun,    /* getpriority */
-       Perl_ck_fun,    /* setpriority */
-       Perl_ck_null,   /* time */
-       Perl_ck_null,   /* tms */
-       Perl_ck_fun,    /* localtime */
-       Perl_ck_fun,    /* gmtime */
-       Perl_ck_fun,    /* alarm */
-       Perl_ck_fun,    /* sleep */
-       Perl_ck_fun,    /* shmget */
-       Perl_ck_fun,    /* shmctl */
-       Perl_ck_fun,    /* shmread */
-       Perl_ck_fun,    /* shmwrite */
-       Perl_ck_fun,    /* msgget */
-       Perl_ck_fun,    /* msgctl */
-       Perl_ck_fun,    /* msgsnd */
-       Perl_ck_fun,    /* msgrcv */
-       Perl_ck_fun,    /* semget */
-       Perl_ck_fun,    /* semctl */
-       Perl_ck_fun,    /* semop */
-       Perl_ck_require,/* require */
-       Perl_ck_fun,    /* dofile */
-       Perl_ck_eval,   /* entereval */
-       Perl_ck_null,   /* leaveeval */
-       Perl_ck_null,   /* entertry */
-       Perl_ck_null,   /* leavetry */
-       Perl_ck_fun,    /* ghbyname */
-       Perl_ck_fun,    /* ghbyaddr */
-       Perl_ck_null,   /* ghostent */
-       Perl_ck_fun,    /* gnbyname */
-       Perl_ck_fun,    /* gnbyaddr */
-       Perl_ck_null,   /* gnetent */
-       Perl_ck_fun,    /* gpbyname */
-       Perl_ck_fun,    /* gpbynumber */
-       Perl_ck_null,   /* gprotoent */
-       Perl_ck_fun,    /* gsbyname */
-       Perl_ck_fun,    /* gsbyport */
-       Perl_ck_null,   /* gservent */
-       Perl_ck_fun,    /* shostent */
-       Perl_ck_fun,    /* snetent */
-       Perl_ck_fun,    /* sprotoent */
-       Perl_ck_fun,    /* sservent */
-       Perl_ck_null,   /* ehostent */
-       Perl_ck_null,   /* enetent */
-       Perl_ck_null,   /* eprotoent */
-       Perl_ck_null,   /* eservent */
-       Perl_ck_fun,    /* gpwnam */
-       Perl_ck_fun,    /* gpwuid */
-       Perl_ck_null,   /* gpwent */
-       Perl_ck_null,   /* spwent */
-       Perl_ck_null,   /* epwent */
-       Perl_ck_fun,    /* ggrnam */
-       Perl_ck_fun,    /* ggrgid */
-       Perl_ck_null,   /* ggrent */
-       Perl_ck_null,   /* sgrent */
-       Perl_ck_null,   /* egrent */
-       Perl_ck_null,   /* getlogin */
-       Perl_ck_fun,    /* syscall */
-       Perl_ck_rfun,   /* lock */
-       Perl_ck_null,   /* threadsv */
-};
+#  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
+= {
+       Perl_ck_null,           /* null */
+       Perl_ck_null,           /* stub */
+       Perl_ck_fun,            /* scalar */
+       Perl_ck_null,           /* pushmark */
+       Perl_ck_null,           /* wantarray */
+       Perl_ck_svconst,        /* const */
+       Perl_ck_null,           /* gvsv */
+       Perl_ck_null,           /* gv */
+       Perl_ck_null,           /* gelem */
+       Perl_ck_null,           /* padsv */
+       Perl_ck_null,           /* padav */
+       Perl_ck_null,           /* padhv */
+       Perl_ck_null,           /* padany */
+       Perl_ck_null,           /* pushre */
+       Perl_ck_rvconst,        /* rv2gv */
+       Perl_ck_rvconst,        /* rv2sv */
+       Perl_ck_null,           /* av2arylen */
+       Perl_ck_rvconst,        /* rv2cv */
+       Perl_ck_anoncode,       /* anoncode */
+       Perl_ck_null,           /* prototype */
+       Perl_ck_spair,          /* refgen */
+       Perl_ck_null,           /* srefgen */
+       Perl_ck_fun,            /* ref */
+       Perl_ck_fun,            /* bless */
+       Perl_ck_open,           /* backtick */
+       Perl_ck_glob,           /* glob */
+       Perl_ck_readline,       /* readline */
+       Perl_ck_null,           /* rcatline */
+       Perl_ck_fun,            /* regcmaybe */
+       Perl_ck_fun,            /* regcreset */
+       Perl_ck_null,           /* regcomp */
+       Perl_ck_match,          /* match */
+       Perl_ck_match,          /* qr */
+       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 */
+       Perl_ck_null,           /* schop */
+       Perl_ck_spair,          /* chomp */
+       Perl_ck_null,           /* schomp */
+       Perl_ck_defined,        /* defined */
+       Perl_ck_lfun,           /* undef */
+       Perl_ck_fun,            /* study */
+       Perl_ck_lfun,           /* pos */
+       Perl_ck_lfun,           /* preinc */
+       Perl_ck_lfun,           /* i_preinc */
+       Perl_ck_lfun,           /* predec */
+       Perl_ck_lfun,           /* i_predec */
+       Perl_ck_lfun,           /* postinc */
+       Perl_ck_lfun,           /* i_postinc */
+       Perl_ck_lfun,           /* postdec */
+       Perl_ck_lfun,           /* i_postdec */
+       Perl_ck_null,           /* pow */
+       Perl_ck_null,           /* multiply */
+       Perl_ck_null,           /* i_multiply */
+       Perl_ck_null,           /* divide */
+       Perl_ck_null,           /* i_divide */
+       Perl_ck_null,           /* modulo */
+       Perl_ck_null,           /* i_modulo */
+       Perl_ck_repeat,         /* repeat */
+       Perl_ck_null,           /* add */
+       Perl_ck_null,           /* i_add */
+       Perl_ck_null,           /* subtract */
+       Perl_ck_null,           /* i_subtract */
+       Perl_ck_concat,         /* concat */
+       Perl_ck_fun,            /* stringify */
+       Perl_ck_bitop,          /* left_shift */
+       Perl_ck_bitop,          /* right_shift */
+       Perl_ck_null,           /* lt */
+       Perl_ck_null,           /* i_lt */
+       Perl_ck_null,           /* gt */
+       Perl_ck_null,           /* i_gt */
+       Perl_ck_null,           /* le */
+       Perl_ck_null,           /* i_le */
+       Perl_ck_null,           /* ge */
+       Perl_ck_null,           /* i_ge */
+       Perl_ck_null,           /* eq */
+       Perl_ck_null,           /* i_eq */
+       Perl_ck_null,           /* ne */
+       Perl_ck_null,           /* i_ne */
+       Perl_ck_null,           /* ncmp */
+       Perl_ck_null,           /* i_ncmp */
+       Perl_ck_null,           /* slt */
+       Perl_ck_null,           /* sgt */
+       Perl_ck_null,           /* sle */
+       Perl_ck_null,           /* sge */
+       Perl_ck_null,           /* seq */
+       Perl_ck_null,           /* sne */
+       Perl_ck_null,           /* scmp */
+       Perl_ck_bitop,          /* bit_and */
+       Perl_ck_bitop,          /* bit_xor */
+       Perl_ck_bitop,          /* bit_or */
+       Perl_ck_null,           /* negate */
+       Perl_ck_null,           /* i_negate */
+       Perl_ck_null,           /* not */
+       Perl_ck_bitop,          /* complement */
+       Perl_ck_smartmatch,     /* smartmatch */
+       Perl_ck_fun,            /* atan2 */
+       Perl_ck_fun,            /* sin */
+       Perl_ck_fun,            /* cos */
+       Perl_ck_fun,            /* rand */
+       Perl_ck_fun,            /* srand */
+       Perl_ck_fun,            /* exp */
+       Perl_ck_fun,            /* log */
+       Perl_ck_fun,            /* sqrt */
+       Perl_ck_fun,            /* int */
+       Perl_ck_fun,            /* hex */
+       Perl_ck_fun,            /* oct */
+       Perl_ck_fun,            /* abs */
+       Perl_ck_fun,            /* length */
+       Perl_ck_substr,         /* substr */
+       Perl_ck_fun,            /* vec */
+       Perl_ck_index,          /* index */
+       Perl_ck_index,          /* rindex */
+       Perl_ck_fun,            /* sprintf */
+       Perl_ck_fun,            /* formline */
+       Perl_ck_fun,            /* ord */
+       Perl_ck_fun,            /* chr */
+       Perl_ck_fun,            /* crypt */
+       Perl_ck_fun,            /* ucfirst */
+       Perl_ck_fun,            /* lcfirst */
+       Perl_ck_fun,            /* uc */
+       Perl_ck_fun,            /* lc */
+       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 */
+       Perl_ck_each,           /* akeys */
+       Perl_ck_each,           /* avalues */
+       Perl_ck_each,           /* each */
+       Perl_ck_each,           /* values */
+       Perl_ck_each,           /* keys */
+       Perl_ck_delete,         /* delete */
+       Perl_ck_exists,         /* exists */
+       Perl_ck_rvconst,        /* rv2hv */
+       Perl_ck_null,           /* helem */
+       Perl_ck_null,           /* hslice */
+       Perl_ck_fun,            /* boolkeys */
+       Perl_ck_fun,            /* unpack */
+       Perl_ck_fun,            /* pack */
+       Perl_ck_split,          /* split */
+       Perl_ck_join,           /* join */
+       Perl_ck_null,           /* list */
+       Perl_ck_null,           /* lslice */
+       Perl_ck_fun,            /* anonlist */
+       Perl_ck_fun,            /* anonhash */
+       Perl_ck_fun,            /* splice */
+       Perl_ck_fun,            /* push */
+       Perl_ck_shift,          /* pop */
+       Perl_ck_shift,          /* shift */
+       Perl_ck_fun,            /* unshift */
+       Perl_ck_sort,           /* sort */
+       Perl_ck_fun,            /* reverse */
+       Perl_ck_grep,           /* grepstart */
+       Perl_ck_null,           /* grepwhile */
+       Perl_ck_grep,           /* mapstart */
+       Perl_ck_null,           /* mapwhile */
+       Perl_ck_null,           /* range */
+       Perl_ck_null,           /* flip */
+       Perl_ck_null,           /* flop */
+       Perl_ck_null,           /* and */
+       Perl_ck_null,           /* or */
+       Perl_ck_null,           /* xor */
+       Perl_ck_null,           /* dor */
+       Perl_ck_null,           /* cond_expr */
+       Perl_ck_null,           /* andassign */
+       Perl_ck_null,           /* orassign */
+       Perl_ck_null,           /* dorassign */
+       Perl_ck_method,         /* method */
+       Perl_ck_subr,           /* entersub */
+       Perl_ck_null,           /* leavesub */
+       Perl_ck_null,           /* leavesublv */
+       Perl_ck_fun,            /* caller */
+       Perl_ck_fun,            /* warn */
+       Perl_ck_die,            /* die */
+       Perl_ck_fun,            /* reset */
+       Perl_ck_null,           /* lineseq */
+       Perl_ck_null,           /* nextstate */
+       Perl_ck_null,           /* dbstate */
+       Perl_ck_null,           /* unstack */
+       Perl_ck_null,           /* enter */
+       Perl_ck_null,           /* leave */
+       Perl_ck_null,           /* scope */
+       Perl_ck_null,           /* enteriter */
+       Perl_ck_null,           /* iter */
+       Perl_ck_null,           /* enterloop */
+       Perl_ck_null,           /* leaveloop */
+       Perl_ck_return,         /* return */
+       Perl_ck_null,           /* last */
+       Perl_ck_null,           /* next */
+       Perl_ck_null,           /* redo */
+       Perl_ck_null,           /* dump */
+       Perl_ck_null,           /* goto */
+       Perl_ck_exit,           /* exit */
+       Perl_ck_null,           /* method_named */
+       Perl_ck_null,           /* entergiven */
+       Perl_ck_null,           /* leavegiven */
+       Perl_ck_null,           /* enterwhen */
+       Perl_ck_null,           /* leavewhen */
+       Perl_ck_null,           /* break */
+       Perl_ck_null,           /* continue */
+       Perl_ck_open,           /* open */
+       Perl_ck_fun,            /* close */
+       Perl_ck_fun,            /* pipe_op */
+       Perl_ck_fun,            /* fileno */
+       Perl_ck_fun,            /* umask */
+       Perl_ck_fun,            /* binmode */
+       Perl_ck_fun,            /* tie */
+       Perl_ck_fun,            /* untie */
+       Perl_ck_fun,            /* tied */
+       Perl_ck_fun,            /* dbmopen */
+       Perl_ck_fun,            /* dbmclose */
+       Perl_ck_select,         /* sselect */
+       Perl_ck_select,         /* select */
+       Perl_ck_eof,            /* getc */
+       Perl_ck_fun,            /* read */
+       Perl_ck_fun,            /* enterwrite */
+       Perl_ck_null,           /* leavewrite */
+       Perl_ck_listiob,        /* prtf */
+       Perl_ck_listiob,        /* print */
+       Perl_ck_listiob,        /* say */
+       Perl_ck_fun,            /* sysopen */
+       Perl_ck_fun,            /* sysseek */
+       Perl_ck_fun,            /* sysread */
+       Perl_ck_fun,            /* syswrite */
+       Perl_ck_eof,            /* eof */
+       Perl_ck_fun,            /* tell */
+       Perl_ck_fun,            /* seek */
+       Perl_ck_trunc,          /* truncate */
+       Perl_ck_fun,            /* fcntl */
+       Perl_ck_fun,            /* ioctl */
+       Perl_ck_fun,            /* flock */
+       Perl_ck_fun,            /* send */
+       Perl_ck_fun,            /* recv */
+       Perl_ck_fun,            /* socket */
+       Perl_ck_fun,            /* sockpair */
+       Perl_ck_fun,            /* bind */
+       Perl_ck_fun,            /* connect */
+       Perl_ck_fun,            /* listen */
+       Perl_ck_fun,            /* accept */
+       Perl_ck_fun,            /* shutdown */
+       Perl_ck_fun,            /* gsockopt */
+       Perl_ck_fun,            /* ssockopt */
+       Perl_ck_fun,            /* getsockname */
+       Perl_ck_fun,            /* getpeername */
+       Perl_ck_ftst,           /* lstat */
+       Perl_ck_ftst,           /* stat */
+       Perl_ck_ftst,           /* ftrread */
+       Perl_ck_ftst,           /* ftrwrite */
+       Perl_ck_ftst,           /* ftrexec */
+       Perl_ck_ftst,           /* fteread */
+       Perl_ck_ftst,           /* ftewrite */
+       Perl_ck_ftst,           /* fteexec */
+       Perl_ck_ftst,           /* ftis */
+       Perl_ck_ftst,           /* ftsize */
+       Perl_ck_ftst,           /* ftmtime */
+       Perl_ck_ftst,           /* ftatime */
+       Perl_ck_ftst,           /* ftctime */
+       Perl_ck_ftst,           /* ftrowned */
+       Perl_ck_ftst,           /* fteowned */
+       Perl_ck_ftst,           /* ftzero */
+       Perl_ck_ftst,           /* ftsock */
+       Perl_ck_ftst,           /* ftchr */
+       Perl_ck_ftst,           /* ftblk */
+       Perl_ck_ftst,           /* ftfile */
+       Perl_ck_ftst,           /* ftdir */
+       Perl_ck_ftst,           /* ftpipe */
+       Perl_ck_ftst,           /* ftsuid */
+       Perl_ck_ftst,           /* ftsgid */
+       Perl_ck_ftst,           /* ftsvtx */
+       Perl_ck_ftst,           /* ftlink */
+       Perl_ck_ftst,           /* fttty */
+       Perl_ck_ftst,           /* fttext */
+       Perl_ck_ftst,           /* ftbinary */
+       Perl_ck_chdir,          /* chdir */
+       Perl_ck_fun,            /* chown */
+       Perl_ck_fun,            /* chroot */
+       Perl_ck_fun,            /* unlink */
+       Perl_ck_fun,            /* chmod */
+       Perl_ck_fun,            /* utime */
+       Perl_ck_fun,            /* rename */
+       Perl_ck_fun,            /* link */
+       Perl_ck_fun,            /* symlink */
+       Perl_ck_fun,            /* readlink */
+       Perl_ck_fun,            /* mkdir */
+       Perl_ck_fun,            /* rmdir */
+       Perl_ck_fun,            /* open_dir */
+       Perl_ck_fun,            /* readdir */
+       Perl_ck_fun,            /* telldir */
+       Perl_ck_fun,            /* seekdir */
+       Perl_ck_fun,            /* rewinddir */
+       Perl_ck_fun,            /* closedir */
+       Perl_ck_null,           /* fork */
+       Perl_ck_null,           /* wait */
+       Perl_ck_fun,            /* waitpid */
+       Perl_ck_exec,           /* system */
+       Perl_ck_exec,           /* exec */
+       Perl_ck_fun,            /* kill */
+       Perl_ck_null,           /* getppid */
+       Perl_ck_fun,            /* getpgrp */
+       Perl_ck_fun,            /* setpgrp */
+       Perl_ck_fun,            /* getpriority */
+       Perl_ck_fun,            /* setpriority */
+       Perl_ck_null,           /* time */
+       Perl_ck_null,           /* tms */
+       Perl_ck_fun,            /* localtime */
+       Perl_ck_fun,            /* gmtime */
+       Perl_ck_fun,            /* alarm */
+       Perl_ck_fun,            /* sleep */
+       Perl_ck_fun,            /* shmget */
+       Perl_ck_fun,            /* shmctl */
+       Perl_ck_fun,            /* shmread */
+       Perl_ck_fun,            /* shmwrite */
+       Perl_ck_fun,            /* msgget */
+       Perl_ck_fun,            /* msgctl */
+       Perl_ck_fun,            /* msgsnd */
+       Perl_ck_fun,            /* msgrcv */
+       Perl_ck_fun,            /* semop */
+       Perl_ck_fun,            /* semget */
+       Perl_ck_fun,            /* semctl */
+       Perl_ck_require,        /* require */
+       Perl_ck_fun,            /* dofile */
+       Perl_ck_svconst,        /* hintseval */
+       Perl_ck_eval,           /* entereval */
+       Perl_ck_null,           /* leaveeval */
+       Perl_ck_eval,           /* entertry */
+       Perl_ck_null,           /* leavetry */
+       Perl_ck_fun,            /* ghbyname */
+       Perl_ck_fun,            /* ghbyaddr */
+       Perl_ck_null,           /* ghostent */
+       Perl_ck_fun,            /* gnbyname */
+       Perl_ck_fun,            /* gnbyaddr */
+       Perl_ck_null,           /* gnetent */
+       Perl_ck_fun,            /* gpbyname */
+       Perl_ck_fun,            /* gpbynumber */
+       Perl_ck_null,           /* gprotoent */
+       Perl_ck_fun,            /* gsbyname */
+       Perl_ck_fun,            /* gsbyport */
+       Perl_ck_null,           /* gservent */
+       Perl_ck_fun,            /* shostent */
+       Perl_ck_fun,            /* snetent */
+       Perl_ck_fun,            /* sprotoent */
+       Perl_ck_fun,            /* sservent */
+       Perl_ck_null,           /* ehostent */
+       Perl_ck_null,           /* enetent */
+       Perl_ck_null,           /* eprotoent */
+       Perl_ck_null,           /* eservent */
+       Perl_ck_fun,            /* gpwnam */
+       Perl_ck_fun,            /* gpwuid */
+       Perl_ck_null,           /* gpwent */
+       Perl_ck_null,           /* spwent */
+       Perl_ck_null,           /* epwent */
+       Perl_ck_fun,            /* ggrnam */
+       Perl_ck_fun,            /* ggrgid */
+       Perl_ck_null,           /* ggrent */
+       Perl_ck_null,           /* sgrent */
+       Perl_ck_null,           /* egrent */
+       Perl_ck_null,           /* getlogin */
+       Perl_ck_fun,            /* syscall */
+       Perl_ck_rfun,           /* lock */
+       Perl_ck_null,           /* once */
+       Perl_ck_null,           /* custom */
+       Perl_ck_each,           /* reach */
+       Perl_ck_each,           /* rkeys */
+       Perl_ck_each,           /* rvalues */
+       Perl_ck_null,           /* coreargs */
+}
 #endif
+#ifdef PERL_CHECK_INITED
+;
+#endif /* #ifdef PERL_CHECK_INITED */
+
+#ifndef PERL_GLOBAL_STRUCT_INIT
 
 #ifndef DOINIT
-EXT U32 PL_opargs[];
+EXTCONST U32 PL_opargs[];
 #else
-EXT U32 PL_opargs[] = {
+EXTCONST U32 PL_opargs[] = {
        0x00000000,     /* null */
        0x00000000,     /* stub */
-       0x00003804,     /* scalar */
+       0x00001b04,     /* scalar */
        0x00000004,     /* pushmark */
-       0x00000014,     /* wantarray */
-       0x00000e04,     /* const */
-       0x00001044,     /* gvsv */
-       0x00001044,     /* gv */
-       0x00022440,     /* gelem */
+       0x00000004,     /* wantarray */
+       0x00000604,     /* const */
+       0x00000644,     /* gvsv */
+       0x00000644,     /* gv */
+       0x00011240,     /* gelem */
        0x00000044,     /* padsv */
        0x00000040,     /* padav */
        0x00000040,     /* padhv */
        0x00000040,     /* padany */
-       0x00000c40,     /* pushre */
-       0x00000244,     /* rv2gv */
-       0x00000244,     /* rv2sv */
-       0x00000214,     /* av2arylen */
-       0x00000240,     /* rv2cv */
-       0x00000e00,     /* anoncode */
-       0x00003804,     /* prototype */
-       0x00004201,     /* refgen */
-       0x00002206,     /* srefgen */
-       0x0001388c,     /* ref */
-       0x00122a04,     /* bless */
-       0x00001808,     /* backtick */
-       0x00132a08,     /* glob */
-       0x00001808,     /* readline */
-       0x00001808,     /* rcatline */
-       0x00002204,     /* regcmaybe */
-       0x00002204,     /* regcreset */
-       0x00002604,     /* regcomp */
-       0x00000c40,     /* match */
-       0x00000c04,     /* qr */
-       0x00002c54,     /* subst */
-       0x00000654,     /* substcont */
-       0x00003214,     /* 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 */
+       0x00001804,     /* transr */
        0x00000004,     /* sassign */
-       0x00044408,     /* aassign */
-       0x0000590d,     /* chop */
-       0x0001398c,     /* schop */
-       0x0000590d,     /* chomp */
-       0x0001398c,     /* schomp */
-       0x00013894,     /* defined */
-       0x00013804,     /* undef */
-       0x00013884,     /* study */
-       0x0001388c,     /* pos */
-       0x00002264,     /* preinc */
-       0x00002254,     /* i_preinc */
-       0x00002264,     /* predec */
-       0x00002254,     /* i_predec */
-       0x0000236c,     /* postinc */
-       0x0000235c,     /* i_postinc */
-       0x0000236c,     /* 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 */
-       0x00002b0e,     /* 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 */
-       0x0002250e,     /* bit_and */
-       0x0002250e,     /* bit_xor */
-       0x0002250e,     /* bit_or */
-       0x0000232e,     /* negate */
-       0x0000231e,     /* i_negate */
-       0x00002216,     /* not */
-       0x0000230e,     /* complement */
-       0x00022b0e,     /* atan2 */
-       0x0001398e,     /* sin */
-       0x0001398e,     /* cos */
-       0x0001390c,     /* rand */
-       0x00013804,     /* srand */
-       0x0001398e,     /* exp */
-       0x0001398e,     /* log */
-       0x0001398e,     /* sqrt */
-       0x0001398e,     /* int */
-       0x0001398e,     /* hex */
-       0x0001398e,     /* oct */
-       0x0001398e,     /* abs */
-       0x0001399c,     /* length */
-       0x13222a0c,     /* substr */
-       0x00222a1c,     /* vec */
-       0x01222b1c,     /* index */
-       0x01222b1c,     /* rindex */
-       0x00042b0f,     /* sprintf */
-       0x00042a05,     /* formline */
-       0x0001399e,     /* ord */
-       0x0001398e,     /* chr */
-       0x00022b0e,     /* crypt */
-       0x0001388e,     /* ucfirst */
-       0x0001388e,     /* lcfirst */
-       0x0001388e,     /* uc */
-       0x0001388e,     /* lc */
-       0x0001398e,     /* quotemeta */
-       0x00000248,     /* rv2av */
-       0x00027004,     /* aelemfast */
-       0x00026404,     /* aelem */
-       0x00046a01,     /* aslice */
-       0x00009808,     /* each */
-       0x00009808,     /* values */
-       0x00009808,     /* keys */
-       0x00003800,     /* delete */
-       0x00003814,     /* exists */
-       0x00000248,     /* rv2hv */
-       0x00028404,     /* helem */
-       0x00048a01,     /* hslice */
-       0x00022a00,     /* unpack */
-       0x00042a0d,     /* pack */
-       0x00222a08,     /* split */
-       0x00042b0d,     /* join */
-       0x00004a01,     /* list */
-       0x00448400,     /* lslice */
-       0x00004a05,     /* anonlist */
-       0x00004a05,     /* anonhash */
-       0x05326a01,     /* splice */
-       0x00046b1d,     /* push */
-       0x00007804,     /* pop */
-       0x00007804,     /* shift */
-       0x00046b1d,     /* unshift */
-       0x0005aa01,     /* sort */
-       0x00004a09,     /* reverse */
-       0x0004aa41,     /* grepstart */
-       0x00000648,     /* grepwhile */
-       0x0004aa41,     /* mapstart */
-       0x00000648,     /* mapwhile */
-       0x00022800,     /* range */
-       0x00022200,     /* flip */
-       0x00000200,     /* flop */
-       0x00000600,     /* and */
-       0x00000600,     /* or */
-       0x00022606,     /* xor */
-       0x00000840,     /* cond_expr */
-       0x00000604,     /* andassign */
-       0x00000604,     /* orassign */
-       0x00000240,     /* method */
-       0x00004249,     /* entersub */
-       0x00000200,     /* leavesub */
-       0x00013808,     /* caller */
-       0x00004a1d,     /* warn */
-       0x00004a5d,     /* die */
-       0x00013814,     /* reset */
-       0x00000a00,     /* lineseq */
-       0x00001604,     /* nextstate */
-       0x00001604,     /* 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 */
+       0x00013040,     /* aelemfast_lex */
+       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 */
+       0x00091480,     /* 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 */
-       0x00000a00,     /* leave */
-       0x00000a00,     /* scope */
-       0x00001440,     /* enteriter */
+       0x00000400,     /* leave */
+       0x00000400,     /* scope */
+       0x00000940,     /* enteriter */
        0x00000000,     /* iter */
-       0x00001440,     /* enterloop */
-       0x00000400,     /* leaveloop */
-       0x00004a41,     /* return */
-       0x00001c44,     /* last */
-       0x00001c44,     /* next */
-       0x00001c44,     /* redo */
-       0x00001c44,     /* dump */
-       0x00001c44,     /* goto */
-       0x00013844,     /* exit */
-       0x0012ca1c,     /* open */
-       0x0001d814,     /* close */
-       0x000cca14,     /* pipe_op */
-       0x0000d81c,     /* fileno */
-       0x0001381c,     /* umask */
-       0x0000d804,     /* binmode */
-       0x0042ea55,     /* tie */
-       0x0000f814,     /* untie */
-       0x0000f804,     /* tied */
-       0x00228a14,     /* dbmopen */
-       0x00009814,     /* dbmclose */
-       0x02222a08,     /* sselect */
-       0x0001ca0c,     /* select */
-       0x0001d80c,     /* getc */
-       0x122eca1d,     /* read */
-       0x0001d854,     /* enterwrite */
-       0x00000200,     /* leavewrite */
-       0x0005ca15,     /* prtf */
-       0x0005ca15,     /* print */
-       0x1222ca04,     /* sysopen */
-       0x0022ca04,     /* sysseek */
-       0x122eca1d,     /* sysread */
-       0x1322ca1d,     /* syswrite */
-       0x1222ca1d,     /* send */
-       0x022eca1d,     /* recv */
-       0x0001d814,     /* eof */
-       0x0001d80c,     /* tell */
-       0x0022ca04,     /* seek */
-       0x00022a14,     /* truncate */
-       0x0022ca0c,     /* fcntl */
-       0x0022ca0c,     /* ioctl */
-       0x0002cb1c,     /* flock */
-       0x0222ca14,     /* socket */
-       0x222cca14,     /* sockpair */
-       0x0002ca14,     /* bind */
-       0x0002ca14,     /* connect */
-       0x0002ca14,     /* listen */
-       0x000cca1c,     /* accept */
-       0x0002ca1c,     /* shutdown */
-       0x0022ca14,     /* gsockopt */
-       0x0222ca14,     /* ssockopt */
-       0x0000d814,     /* getsockname */
-       0x0000d814,     /* getpeername */
-       0x0000da80,     /* lstat */
-       0x0000da80,     /* stat */
-       0x0000da94,     /* ftrread */
-       0x0000da94,     /* ftrwrite */
-       0x0000da94,     /* ftrexec */
-       0x0000da94,     /* fteread */
-       0x0000da94,     /* ftewrite */
-       0x0000da94,     /* fteexec */
-       0x0000da94,     /* ftis */
-       0x0000da94,     /* fteowned */
-       0x0000da94,     /* ftrowned */
-       0x0000da94,     /* ftzero */
-       0x0000da9c,     /* ftsize */
-       0x0000da8c,     /* ftmtime */
-       0x0000da8c,     /* ftatime */
-       0x0000da8c,     /* ftctime */
-       0x0000da94,     /* ftsock */
-       0x0000da94,     /* ftchr */
-       0x0000da94,     /* ftblk */
-       0x0000da94,     /* ftfile */
-       0x0000da94,     /* ftdir */
-       0x0000da94,     /* ftpipe */
-       0x0000da94,     /* ftlink */
-       0x0000da94,     /* ftsuid */
-       0x0000da94,     /* ftsgid */
-       0x0000da94,     /* ftsvtx */
-       0x0000da14,     /* fttty */
-       0x0000da94,     /* fttext */
-       0x0000da94,     /* ftbinary */
-       0x0001391c,     /* chdir */
-       0x00004b1d,     /* chown */
-       0x0001399c,     /* chroot */
-       0x00004b9d,     /* unlink */
-       0x00004b1d,     /* chmod */
-       0x00004b1d,     /* utime */
-       0x00022b1c,     /* rename */
-       0x00022b1c,     /* link */
-       0x00022b1c,     /* symlink */
-       0x0001388c,     /* readlink */
-       0x00022b1c,     /* mkdir */
-       0x0001399c,     /* rmdir */
-       0x0002ca14,     /* open_dir */
-       0x0000d800,     /* readdir */
-       0x0000d80c,     /* telldir */
-       0x0002ca04,     /* seekdir */
-       0x0000d804,     /* rewinddir */
-       0x0000d814,     /* closedir */
-       0x0000001c,     /* fork */
-       0x0000011c,     /* wait */
-       0x00022b1c,     /* waitpid */
-       0x00052b1d,     /* system */
-       0x00052b5d,     /* exec */
-       0x00004b5d,     /* kill */
-       0x0000011c,     /* getppid */
-       0x0001391c,     /* getpgrp */
-       0x00132b1c,     /* setpgrp */
-       0x00022b1c,     /* getpriority */
-       0x00222b1c,     /* 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 */
+       0x0000ec80,     /* lstat */
+       0x0000ec80,     /* 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 */
-       0x00013808,     /* localtime */
-       0x00013808,     /* gmtime */
-       0x0001389c,     /* alarm */
-       0x0001391c,     /* sleep */
-       0x00222a1d,     /* shmget */
-       0x00222a1d,     /* shmctl */
-       0x02222a1d,     /* shmread */
-       0x02222a1d,     /* shmwrite */
-       0x00022a1d,     /* msgget */
-       0x00222a1d,     /* msgctl */
-       0x00222a1d,     /* msgsnd */
-       0x22222a1d,     /* msgrcv */
-       0x00222a1d,     /* semget */
-       0x02222a1d,     /* semctl */
-       0x00022a1d,     /* semop */
-       0x000138c0,     /* require */
-       0x00002240,     /* dofile */
-       0x00003840,     /* entereval */
-       0x00002200,     /* leaveeval */
-       0x00000600,     /* entertry */
-       0x00000a00,     /* leavetry */
-       0x00003800,     /* ghbyname */
-       0x00022a00,     /* 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 */
+       0x00000340,     /* entertry */
+       0x00000400,     /* leavetry */
+       0x00001b00,     /* ghbyname */
+       0x00011400,     /* ghbyaddr */
        0x00000000,     /* ghostent */
-       0x00003800,     /* gnbyname */
-       0x00022a00,     /* gnbyaddr */
+       0x00001b00,     /* gnbyname */
+       0x00011400,     /* gnbyaddr */
        0x00000000,     /* gnetent */
-       0x00003800,     /* gpbyname */
-       0x00002a00,     /* gpbynumber */
+       0x00001b00,     /* gpbyname */
+       0x00001400,     /* gpbynumber */
        0x00000000,     /* gprotoent */
-       0x00022a00,     /* gsbyname */
-       0x00022a00,     /* gsbyport */
+       0x00011400,     /* gsbyname */
+       0x00011400,     /* gsbyport */
        0x00000000,     /* gservent */
-       0x00003814,     /* shostent */
-       0x00003814,     /* snetent */
-       0x00003814,     /* sprotoent */
-       0x00003814,     /* sservent */
-       0x00000014,     /* ehostent */
-       0x00000014,     /* enetent */
-       0x00000014,     /* eprotoent */
-       0x00000014,     /* eservent */
-       0x00003800,     /* gpwnam */
-       0x00003800,     /* 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 */
-       0x00003800,     /* ggrnam */
-       0x00003800,     /* ggrgid */
+       0x00000004,     /* spwent */
+       0x00000004,     /* epwent */
+       0x00001b00,     /* ggrnam */
+       0x00001b00,     /* ggrgid */
        0x00000000,     /* ggrent */
-       0x00000014,     /* sgrent */
-       0x00000014,     /* egrent */
+       0x00000004,     /* sgrent */
+       0x00000004,     /* egrent */
        0x0000000c,     /* getlogin */
-       0x00042a1d,     /* syscall */
-       0x00003804,     /* lock */
-       0x00000044,     /* threadsv */
+       0x0002140d,     /* syscall */
+       0x00007b04,     /* lock */
+       0x00000300,     /* once */
+       0x00000000,     /* custom */
+       0x00001b00,     /* reach */
+       0x00001b08,     /* rkeys */
+       0x00001b08,     /* rvalues */
+       0x00000600,     /* coreargs */
 };
 #endif
 
+#endif /* !PERL_GLOBAL_STRUCT_INIT */
+
 END_EXTERN_C
+
+/* ex: set ro: */