This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Implement "my $_".
[perl5.git] / opcode.h
index a1e9174..81ab818 100644 (file)
--- a/opcode.h
+++ b/opcode.h
-#define pp_i_preinc pp_preinc
-#define pp_i_predec pp_predec
-#define pp_i_postinc pp_postinc
-#define pp_i_postdec pp_postdec
+/*
+ *    opcode.h
+ *
+ *    Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+ *    2000, 2001, 2002, 2003, 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 opcode.pl from its data.  Any changes made here
+ *  will be lost!
+ */
 
-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_SUBST,       /* 32 */
-       OP_SUBSTCONT,   /* 33 */
-       OP_TRANS,       /* 34 */
-       OP_SASSIGN,     /* 35 */
-       OP_AASSIGN,     /* 36 */
-       OP_CHOP,        /* 37 */
-       OP_SCHOP,       /* 38 */
-       OP_CHOMP,       /* 39 */
-       OP_SCHOMP,      /* 40 */
-       OP_DEFINED,     /* 41 */
-       OP_UNDEF,       /* 42 */
-       OP_STUDY,       /* 43 */
-       OP_POS,         /* 44 */
-       OP_PREINC,      /* 45 */
-       OP_I_PREINC,    /* 46 */
-       OP_PREDEC,      /* 47 */
-       OP_I_PREDEC,    /* 48 */
-       OP_POSTINC,     /* 49 */
-       OP_I_POSTINC,   /* 50 */
-       OP_POSTDEC,     /* 51 */
-       OP_I_POSTDEC,   /* 52 */
-       OP_POW,         /* 53 */
-       OP_MULTIPLY,    /* 54 */
-       OP_I_MULTIPLY,  /* 55 */
-       OP_DIVIDE,      /* 56 */
-       OP_I_DIVIDE,    /* 57 */
-       OP_MODULO,      /* 58 */
-       OP_I_MODULO,    /* 59 */
-       OP_REPEAT,      /* 60 */
-       OP_ADD,         /* 61 */
-       OP_I_ADD,       /* 62 */
-       OP_SUBTRACT,    /* 63 */
-       OP_I_SUBTRACT,  /* 64 */
-       OP_CONCAT,      /* 65 */
-       OP_STRINGIFY,   /* 66 */
-       OP_LEFT_SHIFT,  /* 67 */
-       OP_RIGHT_SHIFT, /* 68 */
-       OP_LT,          /* 69 */
-       OP_I_LT,        /* 70 */
-       OP_GT,          /* 71 */
-       OP_I_GT,        /* 72 */
-       OP_LE,          /* 73 */
-       OP_I_LE,        /* 74 */
-       OP_GE,          /* 75 */
-       OP_I_GE,        /* 76 */
-       OP_EQ,          /* 77 */
-       OP_I_EQ,        /* 78 */
-       OP_NE,          /* 79 */
-       OP_I_NE,        /* 80 */
-       OP_NCMP,        /* 81 */
-       OP_I_NCMP,      /* 82 */
-       OP_SLT,         /* 83 */
-       OP_SGT,         /* 84 */
-       OP_SLE,         /* 85 */
-       OP_SGE,         /* 86 */
-       OP_SEQ,         /* 87 */
-       OP_SNE,         /* 88 */
-       OP_SCMP,        /* 89 */
-       OP_BIT_AND,     /* 90 */
-       OP_BIT_XOR,     /* 91 */
-       OP_BIT_OR,      /* 92 */
-       OP_NEGATE,      /* 93 */
-       OP_I_NEGATE,    /* 94 */
-       OP_NOT,         /* 95 */
-       OP_COMPLEMENT,  /* 96 */
-       OP_ATAN2,       /* 97 */
-       OP_SIN,         /* 98 */
-       OP_COS,         /* 99 */
-       OP_RAND,        /* 100 */
-       OP_SRAND,       /* 101 */
-       OP_EXP,         /* 102 */
-       OP_LOG,         /* 103 */
-       OP_SQRT,        /* 104 */
-       OP_INT,         /* 105 */
-       OP_HEX,         /* 106 */
-       OP_OCT,         /* 107 */
-       OP_ABS,         /* 108 */
-       OP_LENGTH,      /* 109 */
-       OP_SUBSTR,      /* 110 */
-       OP_VEC,         /* 111 */
-       OP_INDEX,       /* 112 */
-       OP_RINDEX,      /* 113 */
-       OP_SPRINTF,     /* 114 */
-       OP_FORMLINE,    /* 115 */
-       OP_ORD,         /* 116 */
-       OP_CHR,         /* 117 */
-       OP_CRYPT,       /* 118 */
-       OP_UCFIRST,     /* 119 */
-       OP_LCFIRST,     /* 120 */
-       OP_UC,          /* 121 */
-       OP_LC,          /* 122 */
-       OP_QUOTEMETA,   /* 123 */
-       OP_RV2AV,       /* 124 */
-       OP_AELEMFAST,   /* 125 */
-       OP_AELEM,       /* 126 */
-       OP_ASLICE,      /* 127 */
-       OP_EACH,        /* 128 */
-       OP_VALUES,      /* 129 */
-       OP_KEYS,        /* 130 */
-       OP_DELETE,      /* 131 */
-       OP_EXISTS,      /* 132 */
-       OP_RV2HV,       /* 133 */
-       OP_HELEM,       /* 134 */
-       OP_HSLICE,      /* 135 */
-       OP_UNPACK,      /* 136 */
-       OP_PACK,        /* 137 */
-       OP_SPLIT,       /* 138 */
-       OP_JOIN,        /* 139 */
-       OP_LIST,        /* 140 */
-       OP_LSLICE,      /* 141 */
-       OP_ANONLIST,    /* 142 */
-       OP_ANONHASH,    /* 143 */
-       OP_SPLICE,      /* 144 */
-       OP_PUSH,        /* 145 */
-       OP_POP,         /* 146 */
-       OP_SHIFT,       /* 147 */
-       OP_UNSHIFT,     /* 148 */
-       OP_SORT,        /* 149 */
-       OP_REVERSE,     /* 150 */
-       OP_GREPSTART,   /* 151 */
-       OP_GREPWHILE,   /* 152 */
-       OP_MAPSTART,    /* 153 */
-       OP_MAPWHILE,    /* 154 */
-       OP_RANGE,       /* 155 */
-       OP_FLIP,        /* 156 */
-       OP_FLOP,        /* 157 */
-       OP_AND,         /* 158 */
-       OP_OR,          /* 159 */
-       OP_XOR,         /* 160 */
-       OP_COND_EXPR,   /* 161 */
-       OP_ANDASSIGN,   /* 162 */
-       OP_ORASSIGN,    /* 163 */
-       OP_METHOD,      /* 164 */
-       OP_ENTERSUB,    /* 165 */
-       OP_LEAVESUB,    /* 166 */
-       OP_CALLER,      /* 167 */
-       OP_WARN,        /* 168 */
-       OP_DIE,         /* 169 */
-       OP_RESET,       /* 170 */
-       OP_LINESEQ,     /* 171 */
-       OP_NEXTSTATE,   /* 172 */
-       OP_DBSTATE,     /* 173 */
-       OP_UNSTACK,     /* 174 */
-       OP_ENTER,       /* 175 */
-       OP_LEAVE,       /* 176 */
-       OP_SCOPE,       /* 177 */
-       OP_ENTERITER,   /* 178 */
-       OP_ITER,        /* 179 */
-       OP_ENTERLOOP,   /* 180 */
-       OP_LEAVELOOP,   /* 181 */
-       OP_RETURN,      /* 182 */
-       OP_LAST,        /* 183 */
-       OP_NEXT,        /* 184 */
-       OP_REDO,        /* 185 */
-       OP_DUMP,        /* 186 */
-       OP_GOTO,        /* 187 */
-       OP_EXIT,        /* 188 */
-       OP_OPEN,        /* 189 */
-       OP_CLOSE,       /* 190 */
-       OP_PIPE_OP,     /* 191 */
-       OP_FILENO,      /* 192 */
-       OP_UMASK,       /* 193 */
-       OP_BINMODE,     /* 194 */
-       OP_TIE,         /* 195 */
-       OP_UNTIE,       /* 196 */
-       OP_TIED,        /* 197 */
-       OP_DBMOPEN,     /* 198 */
-       OP_DBMCLOSE,    /* 199 */
-       OP_SSELECT,     /* 200 */
-       OP_SELECT,      /* 201 */
-       OP_GETC,        /* 202 */
-       OP_READ,        /* 203 */
-       OP_ENTERWRITE,  /* 204 */
-       OP_LEAVEWRITE,  /* 205 */
-       OP_PRTF,        /* 206 */
-       OP_PRINT,       /* 207 */
-       OP_SYSOPEN,     /* 208 */
-       OP_SYSSEEK,     /* 209 */
-       OP_SYSREAD,     /* 210 */
-       OP_SYSWRITE,    /* 211 */
-       OP_SEND,        /* 212 */
-       OP_RECV,        /* 213 */
-       OP_EOF,         /* 214 */
-       OP_TELL,        /* 215 */
-       OP_SEEK,        /* 216 */
-       OP_TRUNCATE,    /* 217 */
-       OP_FCNTL,       /* 218 */
-       OP_IOCTL,       /* 219 */
-       OP_FLOCK,       /* 220 */
-       OP_SOCKET,      /* 221 */
-       OP_SOCKPAIR,    /* 222 */
-       OP_BIND,        /* 223 */
-       OP_CONNECT,     /* 224 */
-       OP_LISTEN,      /* 225 */
-       OP_ACCEPT,      /* 226 */
-       OP_SHUTDOWN,    /* 227 */
-       OP_GSOCKOPT,    /* 228 */
-       OP_SSOCKOPT,    /* 229 */
-       OP_GETSOCKNAME, /* 230 */
-       OP_GETPEERNAME, /* 231 */
-       OP_LSTAT,       /* 232 */
-       OP_STAT,        /* 233 */
-       OP_FTRREAD,     /* 234 */
-       OP_FTRWRITE,    /* 235 */
-       OP_FTREXEC,     /* 236 */
-       OP_FTEREAD,     /* 237 */
-       OP_FTEWRITE,    /* 238 */
-       OP_FTEEXEC,     /* 239 */
-       OP_FTIS,        /* 240 */
-       OP_FTEOWNED,    /* 241 */
-       OP_FTROWNED,    /* 242 */
-       OP_FTZERO,      /* 243 */
-       OP_FTSIZE,      /* 244 */
-       OP_FTMTIME,     /* 245 */
-       OP_FTATIME,     /* 246 */
-       OP_FTCTIME,     /* 247 */
-       OP_FTSOCK,      /* 248 */
-       OP_FTCHR,       /* 249 */
-       OP_FTBLK,       /* 250 */
-       OP_FTFILE,      /* 251 */
-       OP_FTDIR,       /* 252 */
-       OP_FTPIPE,      /* 253 */
-       OP_FTLINK,      /* 254 */
-       OP_FTSUID,      /* 255 */
-       OP_FTSGID,      /* 256 */
-       OP_FTSVTX,      /* 257 */
-       OP_FTTTY,       /* 258 */
-       OP_FTTEXT,      /* 259 */
-       OP_FTBINARY,    /* 260 */
-       OP_CHDIR,       /* 261 */
-       OP_CHOWN,       /* 262 */
-       OP_CHROOT,      /* 263 */
-       OP_UNLINK,      /* 264 */
-       OP_CHMOD,       /* 265 */
-       OP_UTIME,       /* 266 */
-       OP_RENAME,      /* 267 */
-       OP_LINK,        /* 268 */
-       OP_SYMLINK,     /* 269 */
-       OP_READLINK,    /* 270 */
-       OP_MKDIR,       /* 271 */
-       OP_RMDIR,       /* 272 */
-       OP_OPEN_DIR,    /* 273 */
-       OP_READDIR,     /* 274 */
-       OP_TELLDIR,     /* 275 */
-       OP_SEEKDIR,     /* 276 */
-       OP_REWINDDIR,   /* 277 */
-       OP_CLOSEDIR,    /* 278 */
-       OP_FORK,        /* 279 */
-       OP_WAIT,        /* 280 */
-       OP_WAITPID,     /* 281 */
-       OP_SYSTEM,      /* 282 */
-       OP_EXEC,        /* 283 */
-       OP_KILL,        /* 284 */
-       OP_GETPPID,     /* 285 */
-       OP_GETPGRP,     /* 286 */
-       OP_SETPGRP,     /* 287 */
-       OP_GETPRIORITY, /* 288 */
-       OP_SETPRIORITY, /* 289 */
-       OP_TIME,        /* 290 */
-       OP_TMS,         /* 291 */
-       OP_LOCALTIME,   /* 292 */
-       OP_GMTIME,      /* 293 */
-       OP_ALARM,       /* 294 */
-       OP_SLEEP,       /* 295 */
-       OP_SHMGET,      /* 296 */
-       OP_SHMCTL,      /* 297 */
-       OP_SHMREAD,     /* 298 */
-       OP_SHMWRITE,    /* 299 */
-       OP_MSGGET,      /* 300 */
-       OP_MSGCTL,      /* 301 */
-       OP_MSGSND,      /* 302 */
-       OP_MSGRCV,      /* 303 */
-       OP_SEMGET,      /* 304 */
-       OP_SEMCTL,      /* 305 */
-       OP_SEMOP,       /* 306 */
-       OP_REQUIRE,     /* 307 */
-       OP_DOFILE,      /* 308 */
-       OP_ENTEREVAL,   /* 309 */
-       OP_LEAVEEVAL,   /* 310 */
-       OP_ENTERTRY,    /* 311 */
-       OP_LEAVETRY,    /* 312 */
-       OP_GHBYNAME,    /* 313 */
-       OP_GHBYADDR,    /* 314 */
-       OP_GHOSTENT,    /* 315 */
-       OP_GNBYNAME,    /* 316 */
-       OP_GNBYADDR,    /* 317 */
-       OP_GNETENT,     /* 318 */
-       OP_GPBYNAME,    /* 319 */
-       OP_GPBYNUMBER,  /* 320 */
-       OP_GPROTOENT,   /* 321 */
-       OP_GSBYNAME,    /* 322 */
-       OP_GSBYPORT,    /* 323 */
-       OP_GSERVENT,    /* 324 */
-       OP_SHOSTENT,    /* 325 */
-       OP_SNETENT,     /* 326 */
-       OP_SPROTOENT,   /* 327 */
-       OP_SSERVENT,    /* 328 */
-       OP_EHOSTENT,    /* 329 */
-       OP_ENETENT,     /* 330 */
-       OP_EPROTOENT,   /* 331 */
-       OP_ESERVENT,    /* 332 */
-       OP_GPWNAM,      /* 333 */
-       OP_GPWUID,      /* 334 */
-       OP_GPWENT,      /* 335 */
-       OP_SPWENT,      /* 336 */
-       OP_EPWENT,      /* 337 */
-       OP_GGRNAM,      /* 338 */
-       OP_GGRGID,      /* 339 */
-       OP_GGRENT,      /* 340 */
-       OP_SGRENT,      /* 341 */
-       OP_EGRENT,      /* 342 */
-       OP_GETLOGIN,    /* 343 */
-       OP_SYSCALL,     /* 344 */
-       OP_LOCK,        /* 345 */
-       OP_THREADSV,    /* 346 */
-       OP_max          
-} opcode;
+#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
 
-#define MAXO 347
+
+START_EXTERN_C
+
+
+#define OP_NAME(o) ((o)->op_type == OP_CUSTOM ? custom_op_name(o) : \
+                    PL_op_name[(o)->op_type])
+#define OP_DESC(o) ((o)->op_type == OP_CUSTOM ? custom_op_desc(o) : \
+                    PL_op_desc[(o)->op_type])
 
 #ifndef DOINIT
-EXT char *op_name[];
+EXT char *PL_op_name[];
 #else
-EXT char *op_name[] = {
+EXT char *PL_op_name[] = {
        "null",
        "stub",
        "scalar",
@@ -392,6 +62,7 @@ EXT char *op_name[] = {
        "regcreset",
        "regcomp",
        "match",
+       "qr",
        "subst",
        "substcont",
        "trans",
@@ -527,6 +198,7 @@ EXT char *op_name[] = {
        "method",
        "entersub",
        "leavesub",
+       "leavesublv",
        "caller",
        "warn",
        "die",
@@ -707,13 +379,18 @@ EXT char *op_name[] = {
        "syscall",
        "lock",
        "threadsv",
+       "setstate",
+       "method_named",
+       "dor",
+       "dorassign",
+       "custom",
 };
 #endif
 
 #ifndef DOINIT
-EXT char *op_desc[];
+EXT char *PL_op_desc[];
 #else
-EXT char *op_desc[] = {
+EXT char *PL_op_desc[] = {
        "null operation",
        "stub",
        "scalar",
@@ -726,91 +403,92 @@ EXT char *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",
-       "scalar ref 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",
-       "substitution",
-       "substitution cont",
-       "character translation",
+       "pattern match (m//)",
+       "pattern quote (qr//)",
+       "substitution (s///)",
+       "substitution iterator",
+       "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 (~)",
        "atan2",
        "sin",
        "cos",
@@ -833,31 +511,31 @@ EXT char *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",
        "array element",
        "array slice",
        "each",
        "values",
        "keys",
        "delete",
-       "exists operator",
-       "hash deref",
-       "hash elem",
+       "exists",
+       "hash dereference",
+       "hash element",
        "hash slice",
        "unpack",
        "pack",
        "split",
-       "join",
+       "join or string",
        "list",
        "list slice",
-       "anonymous list",
-       "anonymous hash",
+       "anonymous list ([])",
+       "anonymous hash ({})",
        "splice",
        "push",
        "pop",
@@ -872,23 +550,24 @@ EXT char *op_desc[] = {
        "flipflop",
        "range (or flip)",
        "range (or flop)",
-       "logical and",
-       "logical or",
+       "logical and (&&)",
+       "logical or (||)",
        "logical xor",
        "conditional expression",
-       "logical and assignment",
-       "logical or assignment",
+       "logical and assignment (&&=)",
+       "logical or assignment (||=)",
        "method lookup",
        "subroutine entry",
        "subroutine exit",
+       "lvalue subroutine return",
        "caller",
        "warn",
        "die",
-       "reset",
+       "symbol reset",
        "line sequence",
        "next statement",
        "debug next statement",
-       "unstack",
+       "iteration finalizer",
        "block entry",
        "block exit",
        "block",
@@ -1022,11 +701,11 @@ EXT char *op_desc[] = {
        "semctl",
        "semop",
        "require",
-       "do 'file'",
-       "eval string",
-       "eval exit",
-       "eval block",
-       "eval block exit",
+       "do \"file\"",
+       "eval \"string\"",
+       "eval \"string\" exit",
+       "eval {block}",
+       "eval {block} exit",
        "gethostbyname",
        "gethostbyaddr",
        "gethostent",
@@ -1060,1459 +739,1100 @@ EXT char *op_desc[] = {
        "getlogin",
        "syscall",
        "lock",
-       "per-thread variable",
+       "per-thread value",
+       "set statement info",
+       "method with known name",
+       "defined or (//)",
+       "defined or assignment (//=)",
+       "unknown custom operator",
 };
 #endif
 
-#ifndef PERL_OBJECT
-START_EXTERN_C
-
-OP *   ck_anoncode     _((OP* o));
-OP *   ck_bitop        _((OP* o));
-OP *   ck_concat       _((OP* o));
-OP *   ck_delete       _((OP* o));
-OP *   ck_eof          _((OP* o));
-OP *   ck_eval         _((OP* o));
-OP *   ck_exec         _((OP* o));
-OP *   ck_exists       _((OP* o));
-OP *   ck_ftst         _((OP* o));
-OP *   ck_fun          _((OP* o));
-OP *   ck_fun_locale   _((OP* o));
-OP *   ck_glob         _((OP* o));
-OP *   ck_grep         _((OP* o));
-OP *   ck_index        _((OP* o));
-OP *   ck_lengthconst  _((OP* o));
-OP *   ck_lfun         _((OP* o));
-OP *   ck_listiob      _((OP* o));
-OP *   ck_match        _((OP* o));
-OP *   ck_null         _((OP* o));
-OP *   ck_repeat       _((OP* o));
-OP *   ck_require      _((OP* o));
-OP *   ck_rfun         _((OP* o));
-OP *   ck_rvconst      _((OP* o));
-OP *   ck_scmp         _((OP* o));
-OP *   ck_select       _((OP* o));
-OP *   ck_shift        _((OP* o));
-OP *   ck_sort         _((OP* o));
-OP *   ck_spair        _((OP* o));
-OP *   ck_split        _((OP* o));
-OP *   ck_subr         _((OP* o));
-OP *   ck_svconst      _((OP* o));
-OP *   ck_trunc        _((OP* o));
+END_EXTERN_C
 
-OP *   pp_null         _((ARGSproto));
-OP *   pp_stub         _((ARGSproto));
-OP *   pp_scalar       _((ARGSproto));
-OP *   pp_pushmark     _((ARGSproto));
-OP *   pp_wantarray    _((ARGSproto));
-OP *   pp_const        _((ARGSproto));
-OP *   pp_gvsv         _((ARGSproto));
-OP *   pp_gv           _((ARGSproto));
-OP *   pp_gelem        _((ARGSproto));
-OP *   pp_padsv        _((ARGSproto));
-OP *   pp_padav        _((ARGSproto));
-OP *   pp_padhv        _((ARGSproto));
-OP *   pp_padany       _((ARGSproto));
-OP *   pp_pushre       _((ARGSproto));
-OP *   pp_rv2gv        _((ARGSproto));
-OP *   pp_rv2sv        _((ARGSproto));
-OP *   pp_av2arylen    _((ARGSproto));
-OP *   pp_rv2cv        _((ARGSproto));
-OP *   pp_anoncode     _((ARGSproto));
-OP *   pp_prototype    _((ARGSproto));
-OP *   pp_refgen       _((ARGSproto));
-OP *   pp_srefgen      _((ARGSproto));
-OP *   pp_ref          _((ARGSproto));
-OP *   pp_bless        _((ARGSproto));
-OP *   pp_backtick     _((ARGSproto));
-OP *   pp_glob         _((ARGSproto));
-OP *   pp_readline     _((ARGSproto));
-OP *   pp_rcatline     _((ARGSproto));
-OP *   pp_regcmaybe    _((ARGSproto));
-OP *   pp_regcreset    _((ARGSproto));
-OP *   pp_regcomp      _((ARGSproto));
-OP *   pp_match        _((ARGSproto));
-OP *   pp_subst        _((ARGSproto));
-OP *   pp_substcont    _((ARGSproto));
-OP *   pp_trans        _((ARGSproto));
-OP *   pp_sassign      _((ARGSproto));
-OP *   pp_aassign      _((ARGSproto));
-OP *   pp_chop         _((ARGSproto));
-OP *   pp_schop        _((ARGSproto));
-OP *   pp_chomp        _((ARGSproto));
-OP *   pp_schomp       _((ARGSproto));
-OP *   pp_defined      _((ARGSproto));
-OP *   pp_undef        _((ARGSproto));
-OP *   pp_study        _((ARGSproto));
-OP *   pp_pos          _((ARGSproto));
-OP *   pp_preinc       _((ARGSproto));
-OP *   pp_i_preinc     _((ARGSproto));
-OP *   pp_predec       _((ARGSproto));
-OP *   pp_i_predec     _((ARGSproto));
-OP *   pp_postinc      _((ARGSproto));
-OP *   pp_i_postinc    _((ARGSproto));
-OP *   pp_postdec      _((ARGSproto));
-OP *   pp_i_postdec    _((ARGSproto));
-OP *   pp_pow          _((ARGSproto));
-OP *   pp_multiply     _((ARGSproto));
-OP *   pp_i_multiply   _((ARGSproto));
-OP *   pp_divide       _((ARGSproto));
-OP *   pp_i_divide     _((ARGSproto));
-OP *   pp_modulo       _((ARGSproto));
-OP *   pp_i_modulo     _((ARGSproto));
-OP *   pp_repeat       _((ARGSproto));
-OP *   pp_add          _((ARGSproto));
-OP *   pp_i_add        _((ARGSproto));
-OP *   pp_subtract     _((ARGSproto));
-OP *   pp_i_subtract   _((ARGSproto));
-OP *   pp_concat       _((ARGSproto));
-OP *   pp_stringify    _((ARGSproto));
-OP *   pp_left_shift   _((ARGSproto));
-OP *   pp_right_shift  _((ARGSproto));
-OP *   pp_lt           _((ARGSproto));
-OP *   pp_i_lt         _((ARGSproto));
-OP *   pp_gt           _((ARGSproto));
-OP *   pp_i_gt         _((ARGSproto));
-OP *   pp_le           _((ARGSproto));
-OP *   pp_i_le         _((ARGSproto));
-OP *   pp_ge           _((ARGSproto));
-OP *   pp_i_ge         _((ARGSproto));
-OP *   pp_eq           _((ARGSproto));
-OP *   pp_i_eq         _((ARGSproto));
-OP *   pp_ne           _((ARGSproto));
-OP *   pp_i_ne         _((ARGSproto));
-OP *   pp_ncmp         _((ARGSproto));
-OP *   pp_i_ncmp       _((ARGSproto));
-OP *   pp_slt          _((ARGSproto));
-OP *   pp_sgt          _((ARGSproto));
-OP *   pp_sle          _((ARGSproto));
-OP *   pp_sge          _((ARGSproto));
-OP *   pp_seq          _((ARGSproto));
-OP *   pp_sne          _((ARGSproto));
-OP *   pp_scmp         _((ARGSproto));
-OP *   pp_bit_and      _((ARGSproto));
-OP *   pp_bit_xor      _((ARGSproto));
-OP *   pp_bit_or       _((ARGSproto));
-OP *   pp_negate       _((ARGSproto));
-OP *   pp_i_negate     _((ARGSproto));
-OP *   pp_not          _((ARGSproto));
-OP *   pp_complement   _((ARGSproto));
-OP *   pp_atan2        _((ARGSproto));
-OP *   pp_sin          _((ARGSproto));
-OP *   pp_cos          _((ARGSproto));
-OP *   pp_rand         _((ARGSproto));
-OP *   pp_srand        _((ARGSproto));
-OP *   pp_exp          _((ARGSproto));
-OP *   pp_log          _((ARGSproto));
-OP *   pp_sqrt         _((ARGSproto));
-OP *   pp_int          _((ARGSproto));
-OP *   pp_hex          _((ARGSproto));
-OP *   pp_oct          _((ARGSproto));
-OP *   pp_abs          _((ARGSproto));
-OP *   pp_length       _((ARGSproto));
-OP *   pp_substr       _((ARGSproto));
-OP *   pp_vec          _((ARGSproto));
-OP *   pp_index        _((ARGSproto));
-OP *   pp_rindex       _((ARGSproto));
-OP *   pp_sprintf      _((ARGSproto));
-OP *   pp_formline     _((ARGSproto));
-OP *   pp_ord          _((ARGSproto));
-OP *   pp_chr          _((ARGSproto));
-OP *   pp_crypt        _((ARGSproto));
-OP *   pp_ucfirst      _((ARGSproto));
-OP *   pp_lcfirst      _((ARGSproto));
-OP *   pp_uc           _((ARGSproto));
-OP *   pp_lc           _((ARGSproto));
-OP *   pp_quotemeta    _((ARGSproto));
-OP *   pp_rv2av        _((ARGSproto));
-OP *   pp_aelemfast    _((ARGSproto));
-OP *   pp_aelem        _((ARGSproto));
-OP *   pp_aslice       _((ARGSproto));
-OP *   pp_each         _((ARGSproto));
-OP *   pp_values       _((ARGSproto));
-OP *   pp_keys         _((ARGSproto));
-OP *   pp_delete       _((ARGSproto));
-OP *   pp_exists       _((ARGSproto));
-OP *   pp_rv2hv        _((ARGSproto));
-OP *   pp_helem        _((ARGSproto));
-OP *   pp_hslice       _((ARGSproto));
-OP *   pp_unpack       _((ARGSproto));
-OP *   pp_pack         _((ARGSproto));
-OP *   pp_split        _((ARGSproto));
-OP *   pp_join         _((ARGSproto));
-OP *   pp_list         _((ARGSproto));
-OP *   pp_lslice       _((ARGSproto));
-OP *   pp_anonlist     _((ARGSproto));
-OP *   pp_anonhash     _((ARGSproto));
-OP *   pp_splice       _((ARGSproto));
-OP *   pp_push         _((ARGSproto));
-OP *   pp_pop          _((ARGSproto));
-OP *   pp_shift        _((ARGSproto));
-OP *   pp_unshift      _((ARGSproto));
-OP *   pp_sort         _((ARGSproto));
-OP *   pp_reverse      _((ARGSproto));
-OP *   pp_grepstart    _((ARGSproto));
-OP *   pp_grepwhile    _((ARGSproto));
-OP *   pp_mapstart     _((ARGSproto));
-OP *   pp_mapwhile     _((ARGSproto));
-OP *   pp_range        _((ARGSproto));
-OP *   pp_flip         _((ARGSproto));
-OP *   pp_flop         _((ARGSproto));
-OP *   pp_and          _((ARGSproto));
-OP *   pp_or           _((ARGSproto));
-OP *   pp_xor          _((ARGSproto));
-OP *   pp_cond_expr    _((ARGSproto));
-OP *   pp_andassign    _((ARGSproto));
-OP *   pp_orassign     _((ARGSproto));
-OP *   pp_method       _((ARGSproto));
-OP *   pp_entersub     _((ARGSproto));
-OP *   pp_leavesub     _((ARGSproto));
-OP *   pp_caller       _((ARGSproto));
-OP *   pp_warn         _((ARGSproto));
-OP *   pp_die          _((ARGSproto));
-OP *   pp_reset        _((ARGSproto));
-OP *   pp_lineseq      _((ARGSproto));
-OP *   pp_nextstate    _((ARGSproto));
-OP *   pp_dbstate      _((ARGSproto));
-OP *   pp_unstack      _((ARGSproto));
-OP *   pp_enter        _((ARGSproto));
-OP *   pp_leave        _((ARGSproto));
-OP *   pp_scope        _((ARGSproto));
-OP *   pp_enteriter    _((ARGSproto));
-OP *   pp_iter         _((ARGSproto));
-OP *   pp_enterloop    _((ARGSproto));
-OP *   pp_leaveloop    _((ARGSproto));
-OP *   pp_return       _((ARGSproto));
-OP *   pp_last         _((ARGSproto));
-OP *   pp_next         _((ARGSproto));
-OP *   pp_redo         _((ARGSproto));
-OP *   pp_dump         _((ARGSproto));
-OP *   pp_goto         _((ARGSproto));
-OP *   pp_exit         _((ARGSproto));
-OP *   pp_open         _((ARGSproto));
-OP *   pp_close        _((ARGSproto));
-OP *   pp_pipe_op      _((ARGSproto));
-OP *   pp_fileno       _((ARGSproto));
-OP *   pp_umask        _((ARGSproto));
-OP *   pp_binmode      _((ARGSproto));
-OP *   pp_tie          _((ARGSproto));
-OP *   pp_untie        _((ARGSproto));
-OP *   pp_tied         _((ARGSproto));
-OP *   pp_dbmopen      _((ARGSproto));
-OP *   pp_dbmclose     _((ARGSproto));
-OP *   pp_sselect      _((ARGSproto));
-OP *   pp_select       _((ARGSproto));
-OP *   pp_getc         _((ARGSproto));
-OP *   pp_read         _((ARGSproto));
-OP *   pp_enterwrite   _((ARGSproto));
-OP *   pp_leavewrite   _((ARGSproto));
-OP *   pp_prtf         _((ARGSproto));
-OP *   pp_print        _((ARGSproto));
-OP *   pp_sysopen      _((ARGSproto));
-OP *   pp_sysseek      _((ARGSproto));
-OP *   pp_sysread      _((ARGSproto));
-OP *   pp_syswrite     _((ARGSproto));
-OP *   pp_send         _((ARGSproto));
-OP *   pp_recv         _((ARGSproto));
-OP *   pp_eof          _((ARGSproto));
-OP *   pp_tell         _((ARGSproto));
-OP *   pp_seek         _((ARGSproto));
-OP *   pp_truncate     _((ARGSproto));
-OP *   pp_fcntl        _((ARGSproto));
-OP *   pp_ioctl        _((ARGSproto));
-OP *   pp_flock        _((ARGSproto));
-OP *   pp_socket       _((ARGSproto));
-OP *   pp_sockpair     _((ARGSproto));
-OP *   pp_bind         _((ARGSproto));
-OP *   pp_connect      _((ARGSproto));
-OP *   pp_listen       _((ARGSproto));
-OP *   pp_accept       _((ARGSproto));
-OP *   pp_shutdown     _((ARGSproto));
-OP *   pp_gsockopt     _((ARGSproto));
-OP *   pp_ssockopt     _((ARGSproto));
-OP *   pp_getsockname  _((ARGSproto));
-OP *   pp_getpeername  _((ARGSproto));
-OP *   pp_lstat        _((ARGSproto));
-OP *   pp_stat         _((ARGSproto));
-OP *   pp_ftrread      _((ARGSproto));
-OP *   pp_ftrwrite     _((ARGSproto));
-OP *   pp_ftrexec      _((ARGSproto));
-OP *   pp_fteread      _((ARGSproto));
-OP *   pp_ftewrite     _((ARGSproto));
-OP *   pp_fteexec      _((ARGSproto));
-OP *   pp_ftis         _((ARGSproto));
-OP *   pp_fteowned     _((ARGSproto));
-OP *   pp_ftrowned     _((ARGSproto));
-OP *   pp_ftzero       _((ARGSproto));
-OP *   pp_ftsize       _((ARGSproto));
-OP *   pp_ftmtime      _((ARGSproto));
-OP *   pp_ftatime      _((ARGSproto));
-OP *   pp_ftctime      _((ARGSproto));
-OP *   pp_ftsock       _((ARGSproto));
-OP *   pp_ftchr        _((ARGSproto));
-OP *   pp_ftblk        _((ARGSproto));
-OP *   pp_ftfile       _((ARGSproto));
-OP *   pp_ftdir        _((ARGSproto));
-OP *   pp_ftpipe       _((ARGSproto));
-OP *   pp_ftlink       _((ARGSproto));
-OP *   pp_ftsuid       _((ARGSproto));
-OP *   pp_ftsgid       _((ARGSproto));
-OP *   pp_ftsvtx       _((ARGSproto));
-OP *   pp_fttty        _((ARGSproto));
-OP *   pp_fttext       _((ARGSproto));
-OP *   pp_ftbinary     _((ARGSproto));
-OP *   pp_chdir        _((ARGSproto));
-OP *   pp_chown        _((ARGSproto));
-OP *   pp_chroot       _((ARGSproto));
-OP *   pp_unlink       _((ARGSproto));
-OP *   pp_chmod        _((ARGSproto));
-OP *   pp_utime        _((ARGSproto));
-OP *   pp_rename       _((ARGSproto));
-OP *   pp_link         _((ARGSproto));
-OP *   pp_symlink      _((ARGSproto));
-OP *   pp_readlink     _((ARGSproto));
-OP *   pp_mkdir        _((ARGSproto));
-OP *   pp_rmdir        _((ARGSproto));
-OP *   pp_open_dir     _((ARGSproto));
-OP *   pp_readdir      _((ARGSproto));
-OP *   pp_telldir      _((ARGSproto));
-OP *   pp_seekdir      _((ARGSproto));
-OP *   pp_rewinddir    _((ARGSproto));
-OP *   pp_closedir     _((ARGSproto));
-OP *   pp_fork         _((ARGSproto));
-OP *   pp_wait         _((ARGSproto));
-OP *   pp_waitpid      _((ARGSproto));
-OP *   pp_system       _((ARGSproto));
-OP *   pp_exec         _((ARGSproto));
-OP *   pp_kill         _((ARGSproto));
-OP *   pp_getppid      _((ARGSproto));
-OP *   pp_getpgrp      _((ARGSproto));
-OP *   pp_setpgrp      _((ARGSproto));
-OP *   pp_getpriority  _((ARGSproto));
-OP *   pp_setpriority  _((ARGSproto));
-OP *   pp_time         _((ARGSproto));
-OP *   pp_tms          _((ARGSproto));
-OP *   pp_localtime    _((ARGSproto));
-OP *   pp_gmtime       _((ARGSproto));
-OP *   pp_alarm        _((ARGSproto));
-OP *   pp_sleep        _((ARGSproto));
-OP *   pp_shmget       _((ARGSproto));
-OP *   pp_shmctl       _((ARGSproto));
-OP *   pp_shmread      _((ARGSproto));
-OP *   pp_shmwrite     _((ARGSproto));
-OP *   pp_msgget       _((ARGSproto));
-OP *   pp_msgctl       _((ARGSproto));
-OP *   pp_msgsnd       _((ARGSproto));
-OP *   pp_msgrcv       _((ARGSproto));
-OP *   pp_semget       _((ARGSproto));
-OP *   pp_semctl       _((ARGSproto));
-OP *   pp_semop        _((ARGSproto));
-OP *   pp_require      _((ARGSproto));
-OP *   pp_dofile       _((ARGSproto));
-OP *   pp_entereval    _((ARGSproto));
-OP *   pp_leaveeval    _((ARGSproto));
-OP *   pp_entertry     _((ARGSproto));
-OP *   pp_leavetry     _((ARGSproto));
-OP *   pp_ghbyname     _((ARGSproto));
-OP *   pp_ghbyaddr     _((ARGSproto));
-OP *   pp_ghostent     _((ARGSproto));
-OP *   pp_gnbyname     _((ARGSproto));
-OP *   pp_gnbyaddr     _((ARGSproto));
-OP *   pp_gnetent      _((ARGSproto));
-OP *   pp_gpbyname     _((ARGSproto));
-OP *   pp_gpbynumber   _((ARGSproto));
-OP *   pp_gprotoent    _((ARGSproto));
-OP *   pp_gsbyname     _((ARGSproto));
-OP *   pp_gsbyport     _((ARGSproto));
-OP *   pp_gservent     _((ARGSproto));
-OP *   pp_shostent     _((ARGSproto));
-OP *   pp_snetent      _((ARGSproto));
-OP *   pp_sprotoent    _((ARGSproto));
-OP *   pp_sservent     _((ARGSproto));
-OP *   pp_ehostent     _((ARGSproto));
-OP *   pp_enetent      _((ARGSproto));
-OP *   pp_eprotoent    _((ARGSproto));
-OP *   pp_eservent     _((ARGSproto));
-OP *   pp_gpwnam       _((ARGSproto));
-OP *   pp_gpwuid       _((ARGSproto));
-OP *   pp_gpwent       _((ARGSproto));
-OP *   pp_spwent       _((ARGSproto));
-OP *   pp_epwent       _((ARGSproto));
-OP *   pp_ggrnam       _((ARGSproto));
-OP *   pp_ggrgid       _((ARGSproto));
-OP *   pp_ggrent       _((ARGSproto));
-OP *   pp_sgrent       _((ARGSproto));
-OP *   pp_egrent       _((ARGSproto));
-OP *   pp_getlogin     _((ARGSproto));
-OP *   pp_syscall      _((ARGSproto));
-OP *   pp_lock         _((ARGSproto));
-OP *   pp_threadsv     _((ARGSproto));
 
-END_EXTERN_C
-#endif /* PERL_OBJECT */
+START_EXTERN_C
 
 #ifndef DOINIT
-EXT OP * (CPERLscope(*ppaddr)[])(ARGSproto);
+EXT OP * (CPERLscope(*PL_ppaddr)[])(pTHX);
 #else
-#ifndef PERL_OBJECT
-EXT OP * (CPERLscope(*ppaddr)[])(ARGSproto) = {
-       pp_null,
-       pp_stub,
-       pp_scalar,
-       pp_pushmark,
-       pp_wantarray,
-       pp_const,
-       pp_gvsv,
-       pp_gv,
-       pp_gelem,
-       pp_padsv,
-       pp_padav,
-       pp_padhv,
-       pp_padany,
-       pp_pushre,
-       pp_rv2gv,
-       pp_rv2sv,
-       pp_av2arylen,
-       pp_rv2cv,
-       pp_anoncode,
-       pp_prototype,
-       pp_refgen,
-       pp_srefgen,
-       pp_ref,
-       pp_bless,
-       pp_backtick,
-       pp_glob,
-       pp_readline,
-       pp_rcatline,
-       pp_regcmaybe,
-       pp_regcreset,
-       pp_regcomp,
-       pp_match,
-       pp_subst,
-       pp_substcont,
-       pp_trans,
-       pp_sassign,
-       pp_aassign,
-       pp_chop,
-       pp_schop,
-       pp_chomp,
-       pp_schomp,
-       pp_defined,
-       pp_undef,
-       pp_study,
-       pp_pos,
-       pp_preinc,
-       pp_i_preinc,
-       pp_predec,
-       pp_i_predec,
-       pp_postinc,
-       pp_i_postinc,
-       pp_postdec,
-       pp_i_postdec,
-       pp_pow,
-       pp_multiply,
-       pp_i_multiply,
-       pp_divide,
-       pp_i_divide,
-       pp_modulo,
-       pp_i_modulo,
-       pp_repeat,
-       pp_add,
-       pp_i_add,
-       pp_subtract,
-       pp_i_subtract,
-       pp_concat,
-       pp_stringify,
-       pp_left_shift,
-       pp_right_shift,
-       pp_lt,
-       pp_i_lt,
-       pp_gt,
-       pp_i_gt,
-       pp_le,
-       pp_i_le,
-       pp_ge,
-       pp_i_ge,
-       pp_eq,
-       pp_i_eq,
-       pp_ne,
-       pp_i_ne,
-       pp_ncmp,
-       pp_i_ncmp,
-       pp_slt,
-       pp_sgt,
-       pp_sle,
-       pp_sge,
-       pp_seq,
-       pp_sne,
-       pp_scmp,
-       pp_bit_and,
-       pp_bit_xor,
-       pp_bit_or,
-       pp_negate,
-       pp_i_negate,
-       pp_not,
-       pp_complement,
-       pp_atan2,
-       pp_sin,
-       pp_cos,
-       pp_rand,
-       pp_srand,
-       pp_exp,
-       pp_log,
-       pp_sqrt,
-       pp_int,
-       pp_hex,
-       pp_oct,
-       pp_abs,
-       pp_length,
-       pp_substr,
-       pp_vec,
-       pp_index,
-       pp_rindex,
-       pp_sprintf,
-       pp_formline,
-       pp_ord,
-       pp_chr,
-       pp_crypt,
-       pp_ucfirst,
-       pp_lcfirst,
-       pp_uc,
-       pp_lc,
-       pp_quotemeta,
-       pp_rv2av,
-       pp_aelemfast,
-       pp_aelem,
-       pp_aslice,
-       pp_each,
-       pp_values,
-       pp_keys,
-       pp_delete,
-       pp_exists,
-       pp_rv2hv,
-       pp_helem,
-       pp_hslice,
-       pp_unpack,
-       pp_pack,
-       pp_split,
-       pp_join,
-       pp_list,
-       pp_lslice,
-       pp_anonlist,
-       pp_anonhash,
-       pp_splice,
-       pp_push,
-       pp_pop,
-       pp_shift,
-       pp_unshift,
-       pp_sort,
-       pp_reverse,
-       pp_grepstart,
-       pp_grepwhile,
-       pp_mapstart,
-       pp_mapwhile,
-       pp_range,
-       pp_flip,
-       pp_flop,
-       pp_and,
-       pp_or,
-       pp_xor,
-       pp_cond_expr,
-       pp_andassign,
-       pp_orassign,
-       pp_method,
-       pp_entersub,
-       pp_leavesub,
-       pp_caller,
-       pp_warn,
-       pp_die,
-       pp_reset,
-       pp_lineseq,
-       pp_nextstate,
-       pp_dbstate,
-       pp_unstack,
-       pp_enter,
-       pp_leave,
-       pp_scope,
-       pp_enteriter,
-       pp_iter,
-       pp_enterloop,
-       pp_leaveloop,
-       pp_return,
-       pp_last,
-       pp_next,
-       pp_redo,
-       pp_dump,
-       pp_goto,
-       pp_exit,
-       pp_open,
-       pp_close,
-       pp_pipe_op,
-       pp_fileno,
-       pp_umask,
-       pp_binmode,
-       pp_tie,
-       pp_untie,
-       pp_tied,
-       pp_dbmopen,
-       pp_dbmclose,
-       pp_sselect,
-       pp_select,
-       pp_getc,
-       pp_read,
-       pp_enterwrite,
-       pp_leavewrite,
-       pp_prtf,
-       pp_print,
-       pp_sysopen,
-       pp_sysseek,
-       pp_sysread,
-       pp_syswrite,
-       pp_send,
-       pp_recv,
-       pp_eof,
-       pp_tell,
-       pp_seek,
-       pp_truncate,
-       pp_fcntl,
-       pp_ioctl,
-       pp_flock,
-       pp_socket,
-       pp_sockpair,
-       pp_bind,
-       pp_connect,
-       pp_listen,
-       pp_accept,
-       pp_shutdown,
-       pp_gsockopt,
-       pp_ssockopt,
-       pp_getsockname,
-       pp_getpeername,
-       pp_lstat,
-       pp_stat,
-       pp_ftrread,
-       pp_ftrwrite,
-       pp_ftrexec,
-       pp_fteread,
-       pp_ftewrite,
-       pp_fteexec,
-       pp_ftis,
-       pp_fteowned,
-       pp_ftrowned,
-       pp_ftzero,
-       pp_ftsize,
-       pp_ftmtime,
-       pp_ftatime,
-       pp_ftctime,
-       pp_ftsock,
-       pp_ftchr,
-       pp_ftblk,
-       pp_ftfile,
-       pp_ftdir,
-       pp_ftpipe,
-       pp_ftlink,
-       pp_ftsuid,
-       pp_ftsgid,
-       pp_ftsvtx,
-       pp_fttty,
-       pp_fttext,
-       pp_ftbinary,
-       pp_chdir,
-       pp_chown,
-       pp_chroot,
-       pp_unlink,
-       pp_chmod,
-       pp_utime,
-       pp_rename,
-       pp_link,
-       pp_symlink,
-       pp_readlink,
-       pp_mkdir,
-       pp_rmdir,
-       pp_open_dir,
-       pp_readdir,
-       pp_telldir,
-       pp_seekdir,
-       pp_rewinddir,
-       pp_closedir,
-       pp_fork,
-       pp_wait,
-       pp_waitpid,
-       pp_system,
-       pp_exec,
-       pp_kill,
-       pp_getppid,
-       pp_getpgrp,
-       pp_setpgrp,
-       pp_getpriority,
-       pp_setpriority,
-       pp_time,
-       pp_tms,
-       pp_localtime,
-       pp_gmtime,
-       pp_alarm,
-       pp_sleep,
-       pp_shmget,
-       pp_shmctl,
-       pp_shmread,
-       pp_shmwrite,
-       pp_msgget,
-       pp_msgctl,
-       pp_msgsnd,
-       pp_msgrcv,
-       pp_semget,
-       pp_semctl,
-       pp_semop,
-       pp_require,
-       pp_dofile,
-       pp_entereval,
-       pp_leaveeval,
-       pp_entertry,
-       pp_leavetry,
-       pp_ghbyname,
-       pp_ghbyaddr,
-       pp_ghostent,
-       pp_gnbyname,
-       pp_gnbyaddr,
-       pp_gnetent,
-       pp_gpbyname,
-       pp_gpbynumber,
-       pp_gprotoent,
-       pp_gsbyname,
-       pp_gsbyport,
-       pp_gservent,
-       pp_shostent,
-       pp_snetent,
-       pp_sprotoent,
-       pp_sservent,
-       pp_ehostent,
-       pp_enetent,
-       pp_eprotoent,
-       pp_eservent,
-       pp_gpwnam,
-       pp_gpwuid,
-       pp_gpwent,
-       pp_spwent,
-       pp_epwent,
-       pp_ggrnam,
-       pp_ggrgid,
-       pp_ggrent,
-       pp_sgrent,
-       pp_egrent,
-       pp_getlogin,
-       pp_syscall,
-       pp_lock,
-       pp_threadsv,
+EXT OP * (CPERLscope(*PL_ppaddr)[])(pTHX) = {
+       MEMBER_TO_FPTR(Perl_pp_null),
+       MEMBER_TO_FPTR(Perl_pp_stub),
+       MEMBER_TO_FPTR(Perl_pp_scalar),
+       MEMBER_TO_FPTR(Perl_pp_pushmark),
+       MEMBER_TO_FPTR(Perl_pp_wantarray),
+       MEMBER_TO_FPTR(Perl_pp_const),
+       MEMBER_TO_FPTR(Perl_pp_gvsv),
+       MEMBER_TO_FPTR(Perl_pp_gv),
+       MEMBER_TO_FPTR(Perl_pp_gelem),
+       MEMBER_TO_FPTR(Perl_pp_padsv),
+       MEMBER_TO_FPTR(Perl_pp_padav),
+       MEMBER_TO_FPTR(Perl_pp_padhv),
+       MEMBER_TO_FPTR(Perl_pp_padany),
+       MEMBER_TO_FPTR(Perl_pp_pushre),
+       MEMBER_TO_FPTR(Perl_pp_rv2gv),
+       MEMBER_TO_FPTR(Perl_pp_rv2sv),
+       MEMBER_TO_FPTR(Perl_pp_av2arylen),
+       MEMBER_TO_FPTR(Perl_pp_rv2cv),
+       MEMBER_TO_FPTR(Perl_pp_anoncode),
+       MEMBER_TO_FPTR(Perl_pp_prototype),
+       MEMBER_TO_FPTR(Perl_pp_refgen),
+       MEMBER_TO_FPTR(Perl_pp_srefgen),
+       MEMBER_TO_FPTR(Perl_pp_ref),
+       MEMBER_TO_FPTR(Perl_pp_bless),
+       MEMBER_TO_FPTR(Perl_pp_backtick),
+       MEMBER_TO_FPTR(Perl_pp_glob),
+       MEMBER_TO_FPTR(Perl_pp_readline),
+       MEMBER_TO_FPTR(Perl_pp_rcatline),
+       MEMBER_TO_FPTR(Perl_pp_regcmaybe),
+       MEMBER_TO_FPTR(Perl_pp_regcreset),
+       MEMBER_TO_FPTR(Perl_pp_regcomp),
+       MEMBER_TO_FPTR(Perl_pp_match),
+       MEMBER_TO_FPTR(Perl_pp_qr),
+       MEMBER_TO_FPTR(Perl_pp_subst),
+       MEMBER_TO_FPTR(Perl_pp_substcont),
+       MEMBER_TO_FPTR(Perl_pp_trans),
+       MEMBER_TO_FPTR(Perl_pp_sassign),
+       MEMBER_TO_FPTR(Perl_pp_aassign),
+       MEMBER_TO_FPTR(Perl_pp_chop),
+       MEMBER_TO_FPTR(Perl_pp_schop),
+       MEMBER_TO_FPTR(Perl_pp_chomp),
+       MEMBER_TO_FPTR(Perl_pp_schomp),
+       MEMBER_TO_FPTR(Perl_pp_defined),
+       MEMBER_TO_FPTR(Perl_pp_undef),
+       MEMBER_TO_FPTR(Perl_pp_study),
+       MEMBER_TO_FPTR(Perl_pp_pos),
+       MEMBER_TO_FPTR(Perl_pp_preinc),
+       MEMBER_TO_FPTR(Perl_pp_i_preinc),
+       MEMBER_TO_FPTR(Perl_pp_predec),
+       MEMBER_TO_FPTR(Perl_pp_i_predec),
+       MEMBER_TO_FPTR(Perl_pp_postinc),
+       MEMBER_TO_FPTR(Perl_pp_i_postinc),
+       MEMBER_TO_FPTR(Perl_pp_postdec),
+       MEMBER_TO_FPTR(Perl_pp_i_postdec),
+       MEMBER_TO_FPTR(Perl_pp_pow),
+       MEMBER_TO_FPTR(Perl_pp_multiply),
+       MEMBER_TO_FPTR(Perl_pp_i_multiply),
+       MEMBER_TO_FPTR(Perl_pp_divide),
+       MEMBER_TO_FPTR(Perl_pp_i_divide),
+       MEMBER_TO_FPTR(Perl_pp_modulo),
+       MEMBER_TO_FPTR(Perl_pp_i_modulo),
+       MEMBER_TO_FPTR(Perl_pp_repeat),
+       MEMBER_TO_FPTR(Perl_pp_add),
+       MEMBER_TO_FPTR(Perl_pp_i_add),
+       MEMBER_TO_FPTR(Perl_pp_subtract),
+       MEMBER_TO_FPTR(Perl_pp_i_subtract),
+       MEMBER_TO_FPTR(Perl_pp_concat),
+       MEMBER_TO_FPTR(Perl_pp_stringify),
+       MEMBER_TO_FPTR(Perl_pp_left_shift),
+       MEMBER_TO_FPTR(Perl_pp_right_shift),
+       MEMBER_TO_FPTR(Perl_pp_lt),
+       MEMBER_TO_FPTR(Perl_pp_i_lt),
+       MEMBER_TO_FPTR(Perl_pp_gt),
+       MEMBER_TO_FPTR(Perl_pp_i_gt),
+       MEMBER_TO_FPTR(Perl_pp_le),
+       MEMBER_TO_FPTR(Perl_pp_i_le),
+       MEMBER_TO_FPTR(Perl_pp_ge),
+       MEMBER_TO_FPTR(Perl_pp_i_ge),
+       MEMBER_TO_FPTR(Perl_pp_eq),
+       MEMBER_TO_FPTR(Perl_pp_i_eq),
+       MEMBER_TO_FPTR(Perl_pp_ne),
+       MEMBER_TO_FPTR(Perl_pp_i_ne),
+       MEMBER_TO_FPTR(Perl_pp_ncmp),
+       MEMBER_TO_FPTR(Perl_pp_i_ncmp),
+       MEMBER_TO_FPTR(Perl_pp_slt),
+       MEMBER_TO_FPTR(Perl_pp_sgt),
+       MEMBER_TO_FPTR(Perl_pp_sle),
+       MEMBER_TO_FPTR(Perl_pp_sge),
+       MEMBER_TO_FPTR(Perl_pp_seq),
+       MEMBER_TO_FPTR(Perl_pp_sne),
+       MEMBER_TO_FPTR(Perl_pp_scmp),
+       MEMBER_TO_FPTR(Perl_pp_bit_and),
+       MEMBER_TO_FPTR(Perl_pp_bit_xor),
+       MEMBER_TO_FPTR(Perl_pp_bit_or),
+       MEMBER_TO_FPTR(Perl_pp_negate),
+       MEMBER_TO_FPTR(Perl_pp_i_negate),
+       MEMBER_TO_FPTR(Perl_pp_not),
+       MEMBER_TO_FPTR(Perl_pp_complement),
+       MEMBER_TO_FPTR(Perl_pp_atan2),
+       MEMBER_TO_FPTR(Perl_pp_sin),
+       MEMBER_TO_FPTR(Perl_pp_cos),
+       MEMBER_TO_FPTR(Perl_pp_rand),
+       MEMBER_TO_FPTR(Perl_pp_srand),
+       MEMBER_TO_FPTR(Perl_pp_exp),
+       MEMBER_TO_FPTR(Perl_pp_log),
+       MEMBER_TO_FPTR(Perl_pp_sqrt),
+       MEMBER_TO_FPTR(Perl_pp_int),
+       MEMBER_TO_FPTR(Perl_pp_hex),
+       MEMBER_TO_FPTR(Perl_pp_oct),
+       MEMBER_TO_FPTR(Perl_pp_abs),
+       MEMBER_TO_FPTR(Perl_pp_length),
+       MEMBER_TO_FPTR(Perl_pp_substr),
+       MEMBER_TO_FPTR(Perl_pp_vec),
+       MEMBER_TO_FPTR(Perl_pp_index),
+       MEMBER_TO_FPTR(Perl_pp_rindex),
+       MEMBER_TO_FPTR(Perl_pp_sprintf),
+       MEMBER_TO_FPTR(Perl_pp_formline),
+       MEMBER_TO_FPTR(Perl_pp_ord),
+       MEMBER_TO_FPTR(Perl_pp_chr),
+       MEMBER_TO_FPTR(Perl_pp_crypt),
+       MEMBER_TO_FPTR(Perl_pp_ucfirst),
+       MEMBER_TO_FPTR(Perl_pp_lcfirst),
+       MEMBER_TO_FPTR(Perl_pp_uc),
+       MEMBER_TO_FPTR(Perl_pp_lc),
+       MEMBER_TO_FPTR(Perl_pp_quotemeta),
+       MEMBER_TO_FPTR(Perl_pp_rv2av),
+       MEMBER_TO_FPTR(Perl_pp_aelemfast),
+       MEMBER_TO_FPTR(Perl_pp_aelem),
+       MEMBER_TO_FPTR(Perl_pp_aslice),
+       MEMBER_TO_FPTR(Perl_pp_each),
+       MEMBER_TO_FPTR(Perl_pp_values),
+       MEMBER_TO_FPTR(Perl_pp_keys),
+       MEMBER_TO_FPTR(Perl_pp_delete),
+       MEMBER_TO_FPTR(Perl_pp_exists),
+       MEMBER_TO_FPTR(Perl_pp_rv2hv),
+       MEMBER_TO_FPTR(Perl_pp_helem),
+       MEMBER_TO_FPTR(Perl_pp_hslice),
+       MEMBER_TO_FPTR(Perl_pp_unpack),
+       MEMBER_TO_FPTR(Perl_pp_pack),
+       MEMBER_TO_FPTR(Perl_pp_split),
+       MEMBER_TO_FPTR(Perl_pp_join),
+       MEMBER_TO_FPTR(Perl_pp_list),
+       MEMBER_TO_FPTR(Perl_pp_lslice),
+       MEMBER_TO_FPTR(Perl_pp_anonlist),
+       MEMBER_TO_FPTR(Perl_pp_anonhash),
+       MEMBER_TO_FPTR(Perl_pp_splice),
+       MEMBER_TO_FPTR(Perl_pp_push),
+       MEMBER_TO_FPTR(Perl_pp_pop),
+       MEMBER_TO_FPTR(Perl_pp_shift),
+       MEMBER_TO_FPTR(Perl_pp_unshift),
+       MEMBER_TO_FPTR(Perl_pp_sort),
+       MEMBER_TO_FPTR(Perl_pp_reverse),
+       MEMBER_TO_FPTR(Perl_pp_grepstart),
+       MEMBER_TO_FPTR(Perl_pp_grepwhile),
+       MEMBER_TO_FPTR(Perl_pp_mapstart),
+       MEMBER_TO_FPTR(Perl_pp_mapwhile),
+       MEMBER_TO_FPTR(Perl_pp_range),
+       MEMBER_TO_FPTR(Perl_pp_flip),
+       MEMBER_TO_FPTR(Perl_pp_flop),
+       MEMBER_TO_FPTR(Perl_pp_and),
+       MEMBER_TO_FPTR(Perl_pp_or),
+       MEMBER_TO_FPTR(Perl_pp_xor),
+       MEMBER_TO_FPTR(Perl_pp_cond_expr),
+       MEMBER_TO_FPTR(Perl_pp_andassign),
+       MEMBER_TO_FPTR(Perl_pp_orassign),
+       MEMBER_TO_FPTR(Perl_pp_method),
+       MEMBER_TO_FPTR(Perl_pp_entersub),
+       MEMBER_TO_FPTR(Perl_pp_leavesub),
+       MEMBER_TO_FPTR(Perl_pp_leavesublv),
+       MEMBER_TO_FPTR(Perl_pp_caller),
+       MEMBER_TO_FPTR(Perl_pp_warn),
+       MEMBER_TO_FPTR(Perl_pp_die),
+       MEMBER_TO_FPTR(Perl_pp_reset),
+       MEMBER_TO_FPTR(Perl_pp_lineseq),
+       MEMBER_TO_FPTR(Perl_pp_nextstate),
+       MEMBER_TO_FPTR(Perl_pp_dbstate),
+       MEMBER_TO_FPTR(Perl_pp_unstack),
+       MEMBER_TO_FPTR(Perl_pp_enter),
+       MEMBER_TO_FPTR(Perl_pp_leave),
+       MEMBER_TO_FPTR(Perl_pp_scope),
+       MEMBER_TO_FPTR(Perl_pp_enteriter),
+       MEMBER_TO_FPTR(Perl_pp_iter),
+       MEMBER_TO_FPTR(Perl_pp_enterloop),
+       MEMBER_TO_FPTR(Perl_pp_leaveloop),
+       MEMBER_TO_FPTR(Perl_pp_return),
+       MEMBER_TO_FPTR(Perl_pp_last),
+       MEMBER_TO_FPTR(Perl_pp_next),
+       MEMBER_TO_FPTR(Perl_pp_redo),
+       MEMBER_TO_FPTR(Perl_pp_dump),
+       MEMBER_TO_FPTR(Perl_pp_goto),
+       MEMBER_TO_FPTR(Perl_pp_exit),
+       MEMBER_TO_FPTR(Perl_pp_open),
+       MEMBER_TO_FPTR(Perl_pp_close),
+       MEMBER_TO_FPTR(Perl_pp_pipe_op),
+       MEMBER_TO_FPTR(Perl_pp_fileno),
+       MEMBER_TO_FPTR(Perl_pp_umask),
+       MEMBER_TO_FPTR(Perl_pp_binmode),
+       MEMBER_TO_FPTR(Perl_pp_tie),
+       MEMBER_TO_FPTR(Perl_pp_untie),
+       MEMBER_TO_FPTR(Perl_pp_tied),
+       MEMBER_TO_FPTR(Perl_pp_dbmopen),
+       MEMBER_TO_FPTR(Perl_pp_dbmclose),
+       MEMBER_TO_FPTR(Perl_pp_sselect),
+       MEMBER_TO_FPTR(Perl_pp_select),
+       MEMBER_TO_FPTR(Perl_pp_getc),
+       MEMBER_TO_FPTR(Perl_pp_read),
+       MEMBER_TO_FPTR(Perl_pp_enterwrite),
+       MEMBER_TO_FPTR(Perl_pp_leavewrite),
+       MEMBER_TO_FPTR(Perl_pp_prtf),
+       MEMBER_TO_FPTR(Perl_pp_print),
+       MEMBER_TO_FPTR(Perl_pp_sysopen),
+       MEMBER_TO_FPTR(Perl_pp_sysseek),
+       MEMBER_TO_FPTR(Perl_pp_sysread),
+       MEMBER_TO_FPTR(Perl_pp_syswrite),
+       MEMBER_TO_FPTR(Perl_pp_send),
+       MEMBER_TO_FPTR(Perl_pp_recv),
+       MEMBER_TO_FPTR(Perl_pp_eof),
+       MEMBER_TO_FPTR(Perl_pp_tell),
+       MEMBER_TO_FPTR(Perl_pp_seek),
+       MEMBER_TO_FPTR(Perl_pp_truncate),
+       MEMBER_TO_FPTR(Perl_pp_fcntl),
+       MEMBER_TO_FPTR(Perl_pp_ioctl),
+       MEMBER_TO_FPTR(Perl_pp_flock),
+       MEMBER_TO_FPTR(Perl_pp_socket),
+       MEMBER_TO_FPTR(Perl_pp_sockpair),
+       MEMBER_TO_FPTR(Perl_pp_bind),
+       MEMBER_TO_FPTR(Perl_pp_connect),
+       MEMBER_TO_FPTR(Perl_pp_listen),
+       MEMBER_TO_FPTR(Perl_pp_accept),
+       MEMBER_TO_FPTR(Perl_pp_shutdown),
+       MEMBER_TO_FPTR(Perl_pp_gsockopt),
+       MEMBER_TO_FPTR(Perl_pp_ssockopt),
+       MEMBER_TO_FPTR(Perl_pp_getsockname),
+       MEMBER_TO_FPTR(Perl_pp_getpeername),
+       MEMBER_TO_FPTR(Perl_pp_lstat),
+       MEMBER_TO_FPTR(Perl_pp_stat),
+       MEMBER_TO_FPTR(Perl_pp_ftrread),
+       MEMBER_TO_FPTR(Perl_pp_ftrwrite),
+       MEMBER_TO_FPTR(Perl_pp_ftrexec),
+       MEMBER_TO_FPTR(Perl_pp_fteread),
+       MEMBER_TO_FPTR(Perl_pp_ftewrite),
+       MEMBER_TO_FPTR(Perl_pp_fteexec),
+       MEMBER_TO_FPTR(Perl_pp_ftis),
+       MEMBER_TO_FPTR(Perl_pp_fteowned),
+       MEMBER_TO_FPTR(Perl_pp_ftrowned),
+       MEMBER_TO_FPTR(Perl_pp_ftzero),
+       MEMBER_TO_FPTR(Perl_pp_ftsize),
+       MEMBER_TO_FPTR(Perl_pp_ftmtime),
+       MEMBER_TO_FPTR(Perl_pp_ftatime),
+       MEMBER_TO_FPTR(Perl_pp_ftctime),
+       MEMBER_TO_FPTR(Perl_pp_ftsock),
+       MEMBER_TO_FPTR(Perl_pp_ftchr),
+       MEMBER_TO_FPTR(Perl_pp_ftblk),
+       MEMBER_TO_FPTR(Perl_pp_ftfile),
+       MEMBER_TO_FPTR(Perl_pp_ftdir),
+       MEMBER_TO_FPTR(Perl_pp_ftpipe),
+       MEMBER_TO_FPTR(Perl_pp_ftlink),
+       MEMBER_TO_FPTR(Perl_pp_ftsuid),
+       MEMBER_TO_FPTR(Perl_pp_ftsgid),
+       MEMBER_TO_FPTR(Perl_pp_ftsvtx),
+       MEMBER_TO_FPTR(Perl_pp_fttty),
+       MEMBER_TO_FPTR(Perl_pp_fttext),
+       MEMBER_TO_FPTR(Perl_pp_ftbinary),
+       MEMBER_TO_FPTR(Perl_pp_chdir),
+       MEMBER_TO_FPTR(Perl_pp_chown),
+       MEMBER_TO_FPTR(Perl_pp_chroot),
+       MEMBER_TO_FPTR(Perl_pp_unlink),
+       MEMBER_TO_FPTR(Perl_pp_chmod),
+       MEMBER_TO_FPTR(Perl_pp_utime),
+       MEMBER_TO_FPTR(Perl_pp_rename),
+       MEMBER_TO_FPTR(Perl_pp_link),
+       MEMBER_TO_FPTR(Perl_pp_symlink),
+       MEMBER_TO_FPTR(Perl_pp_readlink),
+       MEMBER_TO_FPTR(Perl_pp_mkdir),
+       MEMBER_TO_FPTR(Perl_pp_rmdir),
+       MEMBER_TO_FPTR(Perl_pp_open_dir),
+       MEMBER_TO_FPTR(Perl_pp_readdir),
+       MEMBER_TO_FPTR(Perl_pp_telldir),
+       MEMBER_TO_FPTR(Perl_pp_seekdir),
+       MEMBER_TO_FPTR(Perl_pp_rewinddir),
+       MEMBER_TO_FPTR(Perl_pp_closedir),
+       MEMBER_TO_FPTR(Perl_pp_fork),
+       MEMBER_TO_FPTR(Perl_pp_wait),
+       MEMBER_TO_FPTR(Perl_pp_waitpid),
+       MEMBER_TO_FPTR(Perl_pp_system),
+       MEMBER_TO_FPTR(Perl_pp_exec),
+       MEMBER_TO_FPTR(Perl_pp_kill),
+       MEMBER_TO_FPTR(Perl_pp_getppid),
+       MEMBER_TO_FPTR(Perl_pp_getpgrp),
+       MEMBER_TO_FPTR(Perl_pp_setpgrp),
+       MEMBER_TO_FPTR(Perl_pp_getpriority),
+       MEMBER_TO_FPTR(Perl_pp_setpriority),
+       MEMBER_TO_FPTR(Perl_pp_time),
+       MEMBER_TO_FPTR(Perl_pp_tms),
+       MEMBER_TO_FPTR(Perl_pp_localtime),
+       MEMBER_TO_FPTR(Perl_pp_gmtime),
+       MEMBER_TO_FPTR(Perl_pp_alarm),
+       MEMBER_TO_FPTR(Perl_pp_sleep),
+       MEMBER_TO_FPTR(Perl_pp_shmget),
+       MEMBER_TO_FPTR(Perl_pp_shmctl),
+       MEMBER_TO_FPTR(Perl_pp_shmread),
+       MEMBER_TO_FPTR(Perl_pp_shmwrite),
+       MEMBER_TO_FPTR(Perl_pp_msgget),
+       MEMBER_TO_FPTR(Perl_pp_msgctl),
+       MEMBER_TO_FPTR(Perl_pp_msgsnd),
+       MEMBER_TO_FPTR(Perl_pp_msgrcv),
+       MEMBER_TO_FPTR(Perl_pp_semget),
+       MEMBER_TO_FPTR(Perl_pp_semctl),
+       MEMBER_TO_FPTR(Perl_pp_semop),
+       MEMBER_TO_FPTR(Perl_pp_require),
+       MEMBER_TO_FPTR(Perl_pp_dofile),
+       MEMBER_TO_FPTR(Perl_pp_entereval),
+       MEMBER_TO_FPTR(Perl_pp_leaveeval),
+       MEMBER_TO_FPTR(Perl_pp_entertry),
+       MEMBER_TO_FPTR(Perl_pp_leavetry),
+       MEMBER_TO_FPTR(Perl_pp_ghbyname),
+       MEMBER_TO_FPTR(Perl_pp_ghbyaddr),
+       MEMBER_TO_FPTR(Perl_pp_ghostent),
+       MEMBER_TO_FPTR(Perl_pp_gnbyname),
+       MEMBER_TO_FPTR(Perl_pp_gnbyaddr),
+       MEMBER_TO_FPTR(Perl_pp_gnetent),
+       MEMBER_TO_FPTR(Perl_pp_gpbyname),
+       MEMBER_TO_FPTR(Perl_pp_gpbynumber),
+       MEMBER_TO_FPTR(Perl_pp_gprotoent),
+       MEMBER_TO_FPTR(Perl_pp_gsbyname),
+       MEMBER_TO_FPTR(Perl_pp_gsbyport),
+       MEMBER_TO_FPTR(Perl_pp_gservent),
+       MEMBER_TO_FPTR(Perl_pp_shostent),
+       MEMBER_TO_FPTR(Perl_pp_snetent),
+       MEMBER_TO_FPTR(Perl_pp_sprotoent),
+       MEMBER_TO_FPTR(Perl_pp_sservent),
+       MEMBER_TO_FPTR(Perl_pp_ehostent),
+       MEMBER_TO_FPTR(Perl_pp_enetent),
+       MEMBER_TO_FPTR(Perl_pp_eprotoent),
+       MEMBER_TO_FPTR(Perl_pp_eservent),
+       MEMBER_TO_FPTR(Perl_pp_gpwnam),
+       MEMBER_TO_FPTR(Perl_pp_gpwuid),
+       MEMBER_TO_FPTR(Perl_pp_gpwent),
+       MEMBER_TO_FPTR(Perl_pp_spwent),
+       MEMBER_TO_FPTR(Perl_pp_epwent),
+       MEMBER_TO_FPTR(Perl_pp_ggrnam),
+       MEMBER_TO_FPTR(Perl_pp_ggrgid),
+       MEMBER_TO_FPTR(Perl_pp_ggrent),
+       MEMBER_TO_FPTR(Perl_pp_sgrent),
+       MEMBER_TO_FPTR(Perl_pp_egrent),
+       MEMBER_TO_FPTR(Perl_pp_getlogin),
+       MEMBER_TO_FPTR(Perl_pp_syscall),
+       MEMBER_TO_FPTR(Perl_pp_lock),
+       MEMBER_TO_FPTR(Perl_pp_threadsv),
+       MEMBER_TO_FPTR(Perl_pp_setstate),
+       MEMBER_TO_FPTR(Perl_pp_method_named),
+       MEMBER_TO_FPTR(Perl_pp_dor),
+       MEMBER_TO_FPTR(Perl_pp_dorassign),
 };
-#endif /* PERL_OBJECT */
 #endif
 
 #ifndef DOINIT
-EXT OP * (CPERLscope(*check)[]) _((OP *op));
+EXT OP * (CPERLscope(*PL_check)[]) (pTHX_ OP *op);
 #else
-#ifndef PERL_OBJECT
-EXT OP * (CPERLscope(*check)[]) _((OP *op)) = {
-       ck_null,        /* null */
-       ck_null,        /* stub */
-       ck_fun,         /* scalar */
-       ck_null,        /* pushmark */
-       ck_null,        /* wantarray */
-       ck_svconst,     /* const */
-       ck_null,        /* gvsv */
-       ck_null,        /* gv */
-       ck_null,        /* gelem */
-       ck_null,        /* padsv */
-       ck_null,        /* padav */
-       ck_null,        /* padhv */
-       ck_null,        /* padany */
-       ck_null,        /* pushre */
-       ck_rvconst,     /* rv2gv */
-       ck_rvconst,     /* rv2sv */
-       ck_null,        /* av2arylen */
-       ck_rvconst,     /* rv2cv */
-       ck_anoncode,    /* anoncode */
-       ck_null,        /* prototype */
-       ck_spair,       /* refgen */
-       ck_null,        /* srefgen */
-       ck_fun,         /* ref */
-       ck_fun,         /* bless */
-       ck_null,        /* backtick */
-       ck_glob,        /* glob */
-       ck_null,        /* readline */
-       ck_null,        /* rcatline */
-       ck_fun,         /* regcmaybe */
-       ck_fun,         /* regcreset */
-       ck_null,        /* regcomp */
-       ck_match,       /* match */
-       ck_null,        /* subst */
-       ck_null,        /* substcont */
-       ck_null,        /* trans */
-       ck_null,        /* sassign */
-       ck_null,        /* aassign */
-       ck_spair,       /* chop */
-       ck_null,        /* schop */
-       ck_spair,       /* chomp */
-       ck_null,        /* schomp */
-       ck_rfun,        /* defined */
-       ck_lfun,        /* undef */
-       ck_fun,         /* study */
-       ck_lfun,        /* pos */
-       ck_lfun,        /* preinc */
-       ck_lfun,        /* i_preinc */
-       ck_lfun,        /* predec */
-       ck_lfun,        /* i_predec */
-       ck_lfun,        /* postinc */
-       ck_lfun,        /* i_postinc */
-       ck_lfun,        /* postdec */
-       ck_lfun,        /* i_postdec */
-       ck_null,        /* pow */
-       ck_null,        /* multiply */
-       ck_null,        /* i_multiply */
-       ck_null,        /* divide */
-       ck_null,        /* i_divide */
-       ck_null,        /* modulo */
-       ck_null,        /* i_modulo */
-       ck_repeat,      /* repeat */
-       ck_null,        /* add */
-       ck_null,        /* i_add */
-       ck_null,        /* subtract */
-       ck_null,        /* i_subtract */
-       ck_concat,      /* concat */
-       ck_fun,         /* stringify */
-       ck_bitop,       /* left_shift */
-       ck_bitop,       /* right_shift */
-       ck_null,        /* lt */
-       ck_null,        /* i_lt */
-       ck_null,        /* gt */
-       ck_null,        /* i_gt */
-       ck_null,        /* le */
-       ck_null,        /* i_le */
-       ck_null,        /* ge */
-       ck_null,        /* i_ge */
-       ck_null,        /* eq */
-       ck_null,        /* i_eq */
-       ck_null,        /* ne */
-       ck_null,        /* i_ne */
-       ck_null,        /* ncmp */
-       ck_null,        /* i_ncmp */
-       ck_scmp,        /* slt */
-       ck_scmp,        /* sgt */
-       ck_scmp,        /* sle */
-       ck_scmp,        /* sge */
-       ck_null,        /* seq */
-       ck_null,        /* sne */
-       ck_scmp,        /* scmp */
-       ck_bitop,       /* bit_and */
-       ck_bitop,       /* bit_xor */
-       ck_bitop,       /* bit_or */
-       ck_null,        /* negate */
-       ck_null,        /* i_negate */
-       ck_null,        /* not */
-       ck_bitop,       /* complement */
-       ck_fun,         /* atan2 */
-       ck_fun,         /* sin */
-       ck_fun,         /* cos */
-       ck_fun,         /* rand */
-       ck_fun,         /* srand */
-       ck_fun,         /* exp */
-       ck_fun,         /* log */
-       ck_fun,         /* sqrt */
-       ck_fun,         /* int */
-       ck_fun,         /* hex */
-       ck_fun,         /* oct */
-       ck_fun,         /* abs */
-       ck_lengthconst, /* length */
-       ck_fun,         /* substr */
-       ck_fun,         /* vec */
-       ck_index,       /* index */
-       ck_index,       /* rindex */
-       ck_fun_locale,  /* sprintf */
-       ck_fun,         /* formline */
-       ck_fun,         /* ord */
-       ck_fun,         /* chr */
-       ck_fun,         /* crypt */
-       ck_fun_locale,  /* ucfirst */
-       ck_fun_locale,  /* lcfirst */
-       ck_fun_locale,  /* uc */
-       ck_fun_locale,  /* lc */
-       ck_fun,         /* quotemeta */
-       ck_rvconst,     /* rv2av */
-       ck_null,        /* aelemfast */
-       ck_null,        /* aelem */
-       ck_null,        /* aslice */
-       ck_fun,         /* each */
-       ck_fun,         /* values */
-       ck_fun,         /* keys */
-       ck_delete,      /* delete */
-       ck_exists,      /* exists */
-       ck_rvconst,     /* rv2hv */
-       ck_null,        /* helem */
-       ck_null,        /* hslice */
-       ck_fun,         /* unpack */
-       ck_fun,         /* pack */
-       ck_split,       /* split */
-       ck_fun,         /* join */
-       ck_null,        /* list */
-       ck_null,        /* lslice */
-       ck_fun,         /* anonlist */
-       ck_fun,         /* anonhash */
-       ck_fun,         /* splice */
-       ck_fun,         /* push */
-       ck_shift,       /* pop */
-       ck_shift,       /* shift */
-       ck_fun,         /* unshift */
-       ck_sort,        /* sort */
-       ck_fun,         /* reverse */
-       ck_grep,        /* grepstart */
-       ck_null,        /* grepwhile */
-       ck_grep,        /* mapstart */
-       ck_null,        /* mapwhile */
-       ck_null,        /* range */
-       ck_null,        /* flip */
-       ck_null,        /* flop */
-       ck_null,        /* and */
-       ck_null,        /* or */
-       ck_null,        /* xor */
-       ck_null,        /* cond_expr */
-       ck_null,        /* andassign */
-       ck_null,        /* orassign */
-       ck_null,        /* method */
-       ck_subr,        /* entersub */
-       ck_null,        /* leavesub */
-       ck_fun,         /* caller */
-       ck_fun,         /* warn */
-       ck_fun,         /* die */
-       ck_fun,         /* reset */
-       ck_null,        /* lineseq */
-       ck_null,        /* nextstate */
-       ck_null,        /* dbstate */
-       ck_null,        /* unstack */
-       ck_null,        /* enter */
-       ck_null,        /* leave */
-       ck_null,        /* scope */
-       ck_null,        /* enteriter */
-       ck_null,        /* iter */
-       ck_null,        /* enterloop */
-       ck_null,        /* leaveloop */
-       ck_null,        /* return */
-       ck_null,        /* last */
-       ck_null,        /* next */
-       ck_null,        /* redo */
-       ck_null,        /* dump */
-       ck_null,        /* goto */
-       ck_fun,         /* exit */
-       ck_fun,         /* open */
-       ck_fun,         /* close */
-       ck_fun,         /* pipe_op */
-       ck_fun,         /* fileno */
-       ck_fun,         /* umask */
-       ck_fun,         /* binmode */
-       ck_fun,         /* tie */
-       ck_fun,         /* untie */
-       ck_fun,         /* tied */
-       ck_fun,         /* dbmopen */
-       ck_fun,         /* dbmclose */
-       ck_select,      /* sselect */
-       ck_select,      /* select */
-       ck_eof,         /* getc */
-       ck_fun,         /* read */
-       ck_fun,         /* enterwrite */
-       ck_null,        /* leavewrite */
-       ck_listiob,     /* prtf */
-       ck_listiob,     /* print */
-       ck_fun,         /* sysopen */
-       ck_fun,         /* sysseek */
-       ck_fun,         /* sysread */
-       ck_fun,         /* syswrite */
-       ck_fun,         /* send */
-       ck_fun,         /* recv */
-       ck_eof,         /* eof */
-       ck_fun,         /* tell */
-       ck_fun,         /* seek */
-       ck_trunc,       /* truncate */
-       ck_fun,         /* fcntl */
-       ck_fun,         /* ioctl */
-       ck_fun,         /* flock */
-       ck_fun,         /* socket */
-       ck_fun,         /* sockpair */
-       ck_fun,         /* bind */
-       ck_fun,         /* connect */
-       ck_fun,         /* listen */
-       ck_fun,         /* accept */
-       ck_fun,         /* shutdown */
-       ck_fun,         /* gsockopt */
-       ck_fun,         /* ssockopt */
-       ck_fun,         /* getsockname */
-       ck_fun,         /* getpeername */
-       ck_ftst,        /* lstat */
-       ck_ftst,        /* stat */
-       ck_ftst,        /* ftrread */
-       ck_ftst,        /* ftrwrite */
-       ck_ftst,        /* ftrexec */
-       ck_ftst,        /* fteread */
-       ck_ftst,        /* ftewrite */
-       ck_ftst,        /* fteexec */
-       ck_ftst,        /* ftis */
-       ck_ftst,        /* fteowned */
-       ck_ftst,        /* ftrowned */
-       ck_ftst,        /* ftzero */
-       ck_ftst,        /* ftsize */
-       ck_ftst,        /* ftmtime */
-       ck_ftst,        /* ftatime */
-       ck_ftst,        /* ftctime */
-       ck_ftst,        /* ftsock */
-       ck_ftst,        /* ftchr */
-       ck_ftst,        /* ftblk */
-       ck_ftst,        /* ftfile */
-       ck_ftst,        /* ftdir */
-       ck_ftst,        /* ftpipe */
-       ck_ftst,        /* ftlink */
-       ck_ftst,        /* ftsuid */
-       ck_ftst,        /* ftsgid */
-       ck_ftst,        /* ftsvtx */
-       ck_ftst,        /* fttty */
-       ck_ftst,        /* fttext */
-       ck_ftst,        /* ftbinary */
-       ck_fun,         /* chdir */
-       ck_fun,         /* chown */
-       ck_fun,         /* chroot */
-       ck_fun,         /* unlink */
-       ck_fun,         /* chmod */
-       ck_fun,         /* utime */
-       ck_fun,         /* rename */
-       ck_fun,         /* link */
-       ck_fun,         /* symlink */
-       ck_fun,         /* readlink */
-       ck_fun,         /* mkdir */
-       ck_fun,         /* rmdir */
-       ck_fun,         /* open_dir */
-       ck_fun,         /* readdir */
-       ck_fun,         /* telldir */
-       ck_fun,         /* seekdir */
-       ck_fun,         /* rewinddir */
-       ck_fun,         /* closedir */
-       ck_null,        /* fork */
-       ck_null,        /* wait */
-       ck_fun,         /* waitpid */
-       ck_exec,        /* system */
-       ck_exec,        /* exec */
-       ck_fun,         /* kill */
-       ck_null,        /* getppid */
-       ck_fun,         /* getpgrp */
-       ck_fun,         /* setpgrp */
-       ck_fun,         /* getpriority */
-       ck_fun,         /* setpriority */
-       ck_null,        /* time */
-       ck_null,        /* tms */
-       ck_fun,         /* localtime */
-       ck_fun,         /* gmtime */
-       ck_fun,         /* alarm */
-       ck_fun,         /* sleep */
-       ck_fun,         /* shmget */
-       ck_fun,         /* shmctl */
-       ck_fun,         /* shmread */
-       ck_fun,         /* shmwrite */
-       ck_fun,         /* msgget */
-       ck_fun,         /* msgctl */
-       ck_fun,         /* msgsnd */
-       ck_fun,         /* msgrcv */
-       ck_fun,         /* semget */
-       ck_fun,         /* semctl */
-       ck_fun,         /* semop */
-       ck_require,     /* require */
-       ck_fun,         /* dofile */
-       ck_eval,        /* entereval */
-       ck_null,        /* leaveeval */
-       ck_null,        /* entertry */
-       ck_null,        /* leavetry */
-       ck_fun,         /* ghbyname */
-       ck_fun,         /* ghbyaddr */
-       ck_null,        /* ghostent */
-       ck_fun,         /* gnbyname */
-       ck_fun,         /* gnbyaddr */
-       ck_null,        /* gnetent */
-       ck_fun,         /* gpbyname */
-       ck_fun,         /* gpbynumber */
-       ck_null,        /* gprotoent */
-       ck_fun,         /* gsbyname */
-       ck_fun,         /* gsbyport */
-       ck_null,        /* gservent */
-       ck_fun,         /* shostent */
-       ck_fun,         /* snetent */
-       ck_fun,         /* sprotoent */
-       ck_fun,         /* sservent */
-       ck_null,        /* ehostent */
-       ck_null,        /* enetent */
-       ck_null,        /* eprotoent */
-       ck_null,        /* eservent */
-       ck_fun,         /* gpwnam */
-       ck_fun,         /* gpwuid */
-       ck_null,        /* gpwent */
-       ck_null,        /* spwent */
-       ck_null,        /* epwent */
-       ck_fun,         /* ggrnam */
-       ck_fun,         /* ggrgid */
-       ck_null,        /* ggrent */
-       ck_null,        /* sgrent */
-       ck_null,        /* egrent */
-       ck_null,        /* getlogin */
-       ck_fun,         /* syscall */
-       ck_rfun,        /* lock */
-       ck_null,        /* threadsv */
+EXT OP * (CPERLscope(*PL_check)[]) (pTHX_ OP *op) = {
+       MEMBER_TO_FPTR(Perl_ck_null),   /* null */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* stub */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* scalar */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* pushmark */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* wantarray */
+       MEMBER_TO_FPTR(Perl_ck_svconst),        /* const */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* gvsv */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* gv */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* gelem */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* padsv */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* padav */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* padhv */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* padany */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* pushre */
+       MEMBER_TO_FPTR(Perl_ck_rvconst),        /* rv2gv */
+       MEMBER_TO_FPTR(Perl_ck_rvconst),        /* rv2sv */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* av2arylen */
+       MEMBER_TO_FPTR(Perl_ck_rvconst),        /* rv2cv */
+       MEMBER_TO_FPTR(Perl_ck_anoncode),       /* anoncode */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* prototype */
+       MEMBER_TO_FPTR(Perl_ck_spair),  /* refgen */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* srefgen */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* ref */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* bless */
+       MEMBER_TO_FPTR(Perl_ck_open),   /* backtick */
+       MEMBER_TO_FPTR(Perl_ck_glob),   /* glob */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* readline */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* rcatline */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* regcmaybe */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* regcreset */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* regcomp */
+       MEMBER_TO_FPTR(Perl_ck_match),  /* match */
+       MEMBER_TO_FPTR(Perl_ck_match),  /* qr */
+       MEMBER_TO_FPTR(Perl_ck_match),  /* subst */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* substcont */
+       MEMBER_TO_FPTR(Perl_ck_match),  /* trans */
+       MEMBER_TO_FPTR(Perl_ck_sassign),        /* sassign */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* aassign */
+       MEMBER_TO_FPTR(Perl_ck_spair),  /* chop */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* schop */
+       MEMBER_TO_FPTR(Perl_ck_spair),  /* chomp */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* schomp */
+       MEMBER_TO_FPTR(Perl_ck_defined),        /* defined */
+       MEMBER_TO_FPTR(Perl_ck_lfun),   /* undef */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* study */
+       MEMBER_TO_FPTR(Perl_ck_lfun),   /* pos */
+       MEMBER_TO_FPTR(Perl_ck_lfun),   /* preinc */
+       MEMBER_TO_FPTR(Perl_ck_lfun),   /* i_preinc */
+       MEMBER_TO_FPTR(Perl_ck_lfun),   /* predec */
+       MEMBER_TO_FPTR(Perl_ck_lfun),   /* i_predec */
+       MEMBER_TO_FPTR(Perl_ck_lfun),   /* postinc */
+       MEMBER_TO_FPTR(Perl_ck_lfun),   /* i_postinc */
+       MEMBER_TO_FPTR(Perl_ck_lfun),   /* postdec */
+       MEMBER_TO_FPTR(Perl_ck_lfun),   /* i_postdec */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* pow */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* multiply */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* i_multiply */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* divide */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* i_divide */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* modulo */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* i_modulo */
+       MEMBER_TO_FPTR(Perl_ck_repeat), /* repeat */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* add */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* i_add */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* subtract */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* i_subtract */
+       MEMBER_TO_FPTR(Perl_ck_concat), /* concat */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* stringify */
+       MEMBER_TO_FPTR(Perl_ck_bitop),  /* left_shift */
+       MEMBER_TO_FPTR(Perl_ck_bitop),  /* right_shift */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* lt */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* i_lt */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* gt */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* i_gt */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* le */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* i_le */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* ge */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* i_ge */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* eq */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* i_eq */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* ne */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* i_ne */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* ncmp */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* i_ncmp */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* slt */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* sgt */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* sle */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* sge */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* seq */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* sne */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* scmp */
+       MEMBER_TO_FPTR(Perl_ck_bitop),  /* bit_and */
+       MEMBER_TO_FPTR(Perl_ck_bitop),  /* bit_xor */
+       MEMBER_TO_FPTR(Perl_ck_bitop),  /* bit_or */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* negate */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* i_negate */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* not */
+       MEMBER_TO_FPTR(Perl_ck_bitop),  /* complement */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* atan2 */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* sin */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* cos */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* rand */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* srand */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* exp */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* log */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* sqrt */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* int */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* hex */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* oct */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* abs */
+       MEMBER_TO_FPTR(Perl_ck_lengthconst),    /* length */
+       MEMBER_TO_FPTR(Perl_ck_substr), /* substr */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* vec */
+       MEMBER_TO_FPTR(Perl_ck_index),  /* index */
+       MEMBER_TO_FPTR(Perl_ck_index),  /* rindex */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* sprintf */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* formline */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* ord */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* chr */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* crypt */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* ucfirst */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* lcfirst */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* uc */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* lc */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* quotemeta */
+       MEMBER_TO_FPTR(Perl_ck_rvconst),        /* rv2av */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* aelemfast */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* aelem */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* aslice */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* each */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* values */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* keys */
+       MEMBER_TO_FPTR(Perl_ck_delete), /* delete */
+       MEMBER_TO_FPTR(Perl_ck_exists), /* exists */
+       MEMBER_TO_FPTR(Perl_ck_rvconst),        /* rv2hv */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* helem */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* hslice */
+       MEMBER_TO_FPTR(Perl_ck_unpack), /* unpack */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* pack */
+       MEMBER_TO_FPTR(Perl_ck_split),  /* split */
+       MEMBER_TO_FPTR(Perl_ck_join),   /* join */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* list */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* lslice */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* anonlist */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* anonhash */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* splice */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* push */
+       MEMBER_TO_FPTR(Perl_ck_shift),  /* pop */
+       MEMBER_TO_FPTR(Perl_ck_shift),  /* shift */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* unshift */
+       MEMBER_TO_FPTR(Perl_ck_sort),   /* sort */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* reverse */
+       MEMBER_TO_FPTR(Perl_ck_grep),   /* grepstart */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* grepwhile */
+       MEMBER_TO_FPTR(Perl_ck_grep),   /* mapstart */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* mapwhile */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* range */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* flip */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* flop */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* and */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* or */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* xor */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* cond_expr */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* andassign */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* orassign */
+       MEMBER_TO_FPTR(Perl_ck_method), /* method */
+       MEMBER_TO_FPTR(Perl_ck_subr),   /* entersub */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* leavesub */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* leavesublv */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* caller */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* warn */
+       MEMBER_TO_FPTR(Perl_ck_die),    /* die */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* reset */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* lineseq */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* nextstate */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* dbstate */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* unstack */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* enter */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* leave */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* scope */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* enteriter */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* iter */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* enterloop */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* leaveloop */
+       MEMBER_TO_FPTR(Perl_ck_return), /* return */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* last */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* next */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* redo */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* dump */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* goto */
+       MEMBER_TO_FPTR(Perl_ck_exit),   /* exit */
+       MEMBER_TO_FPTR(Perl_ck_open),   /* open */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* close */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* pipe_op */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* fileno */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* umask */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* binmode */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* tie */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* untie */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* tied */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* dbmopen */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* dbmclose */
+       MEMBER_TO_FPTR(Perl_ck_select), /* sselect */
+       MEMBER_TO_FPTR(Perl_ck_select), /* select */
+       MEMBER_TO_FPTR(Perl_ck_eof),    /* getc */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* read */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* enterwrite */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* leavewrite */
+       MEMBER_TO_FPTR(Perl_ck_listiob),        /* prtf */
+       MEMBER_TO_FPTR(Perl_ck_listiob),        /* print */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* sysopen */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* sysseek */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* sysread */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* syswrite */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* send */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* recv */
+       MEMBER_TO_FPTR(Perl_ck_eof),    /* eof */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* tell */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* seek */
+       MEMBER_TO_FPTR(Perl_ck_trunc),  /* truncate */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* fcntl */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* ioctl */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* flock */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* socket */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* sockpair */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* bind */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* connect */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* listen */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* accept */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* shutdown */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* gsockopt */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* ssockopt */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* getsockname */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* getpeername */
+       MEMBER_TO_FPTR(Perl_ck_ftst),   /* lstat */
+       MEMBER_TO_FPTR(Perl_ck_ftst),   /* stat */
+       MEMBER_TO_FPTR(Perl_ck_ftst),   /* ftrread */
+       MEMBER_TO_FPTR(Perl_ck_ftst),   /* ftrwrite */
+       MEMBER_TO_FPTR(Perl_ck_ftst),   /* ftrexec */
+       MEMBER_TO_FPTR(Perl_ck_ftst),   /* fteread */
+       MEMBER_TO_FPTR(Perl_ck_ftst),   /* ftewrite */
+       MEMBER_TO_FPTR(Perl_ck_ftst),   /* fteexec */
+       MEMBER_TO_FPTR(Perl_ck_ftst),   /* ftis */
+       MEMBER_TO_FPTR(Perl_ck_ftst),   /* fteowned */
+       MEMBER_TO_FPTR(Perl_ck_ftst),   /* ftrowned */
+       MEMBER_TO_FPTR(Perl_ck_ftst),   /* ftzero */
+       MEMBER_TO_FPTR(Perl_ck_ftst),   /* ftsize */
+       MEMBER_TO_FPTR(Perl_ck_ftst),   /* ftmtime */
+       MEMBER_TO_FPTR(Perl_ck_ftst),   /* ftatime */
+       MEMBER_TO_FPTR(Perl_ck_ftst),   /* ftctime */
+       MEMBER_TO_FPTR(Perl_ck_ftst),   /* ftsock */
+       MEMBER_TO_FPTR(Perl_ck_ftst),   /* ftchr */
+       MEMBER_TO_FPTR(Perl_ck_ftst),   /* ftblk */
+       MEMBER_TO_FPTR(Perl_ck_ftst),   /* ftfile */
+       MEMBER_TO_FPTR(Perl_ck_ftst),   /* ftdir */
+       MEMBER_TO_FPTR(Perl_ck_ftst),   /* ftpipe */
+       MEMBER_TO_FPTR(Perl_ck_ftst),   /* ftlink */
+       MEMBER_TO_FPTR(Perl_ck_ftst),   /* ftsuid */
+       MEMBER_TO_FPTR(Perl_ck_ftst),   /* ftsgid */
+       MEMBER_TO_FPTR(Perl_ck_ftst),   /* ftsvtx */
+       MEMBER_TO_FPTR(Perl_ck_ftst),   /* fttty */
+       MEMBER_TO_FPTR(Perl_ck_ftst),   /* fttext */
+       MEMBER_TO_FPTR(Perl_ck_ftst),   /* ftbinary */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* chdir */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* chown */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* chroot */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* unlink */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* chmod */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* utime */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* rename */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* link */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* symlink */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* readlink */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* mkdir */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* rmdir */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* open_dir */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* readdir */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* telldir */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* seekdir */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* rewinddir */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* closedir */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* fork */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* wait */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* waitpid */
+       MEMBER_TO_FPTR(Perl_ck_exec),   /* system */
+       MEMBER_TO_FPTR(Perl_ck_exec),   /* exec */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* kill */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* getppid */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* getpgrp */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* setpgrp */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* getpriority */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* setpriority */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* time */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* tms */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* localtime */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* gmtime */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* alarm */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* sleep */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* shmget */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* shmctl */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* shmread */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* shmwrite */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* msgget */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* msgctl */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* msgsnd */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* msgrcv */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* semget */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* semctl */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* semop */
+       MEMBER_TO_FPTR(Perl_ck_require),        /* require */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* dofile */
+       MEMBER_TO_FPTR(Perl_ck_eval),   /* entereval */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* leaveeval */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* entertry */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* leavetry */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* ghbyname */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* ghbyaddr */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* ghostent */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* gnbyname */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* gnbyaddr */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* gnetent */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* gpbyname */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* gpbynumber */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* gprotoent */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* gsbyname */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* gsbyport */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* gservent */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* shostent */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* snetent */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* sprotoent */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* sservent */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* ehostent */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* enetent */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* eprotoent */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* eservent */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* gpwnam */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* gpwuid */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* gpwent */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* spwent */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* epwent */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* ggrnam */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* ggrgid */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* ggrent */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* sgrent */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* egrent */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* getlogin */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* syscall */
+       MEMBER_TO_FPTR(Perl_ck_rfun),   /* lock */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* threadsv */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* setstate */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* method_named */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* dor */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* dorassign */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* custom */
 };
-#endif /* PERL_OBJECT */
 #endif
 
 #ifndef DOINIT
-EXT U32 opargs[];
+EXT U32 PL_opargs[];
 #else
-EXT U32 opargs[] = {
+EXT U32 PL_opargs[] = {
        0x00000000,     /* null */
        0x00000000,     /* stub */
-       0x00001c04,     /* scalar */
+       0x00003604,     /* scalar */
        0x00000004,     /* pushmark */
        0x00000014,     /* wantarray */
-       0x00000704,     /* const */
-       0x00000844,     /* gvsv */
-       0x00000844,     /* gv */
-       0x00011240,     /* gelem */
+       0x00000c04,     /* const */
+       0x00000c44,     /* gvsv */
+       0x00000c44,     /* gv */
+       0x00022440,     /* gelem */
        0x00000044,     /* padsv */
        0x00000040,     /* padav */
        0x00000040,     /* padhv */
        0x00000040,     /* padany */
-       0x00000600,     /* pushre */
-       0x00000144,     /* rv2gv */
-       0x00000144,     /* rv2sv */
-       0x00000114,     /* av2arylen */
-       0x00000140,     /* rv2cv */
-       0x00000700,     /* anoncode */
-       0x00001c04,     /* prototype */
-       0x00002101,     /* refgen */
-       0x00001106,     /* srefgen */
-       0x00009c8c,     /* ref */
-       0x00091504,     /* bless */
-       0x00000c08,     /* backtick */
-       0x00099508,     /* glob */
-       0x00000c08,     /* readline */
+       0x00000a40,     /* pushre */
+       0x00000244,     /* rv2gv */
+       0x00000244,     /* rv2sv */
+       0x00000214,     /* av2arylen */
+       0x00000240,     /* rv2cv */
+       0x00000c00,     /* anoncode */
+       0x00003604,     /* prototype */
+       0x00004201,     /* refgen */
+       0x00002206,     /* srefgen */
+       0x0001368c,     /* ref */
+       0x00122804,     /* bless */
+       0x00001608,     /* backtick */
+       0x00012808,     /* glob */
+       0x0001d608,     /* readline */
        0x00000c08,     /* rcatline */
-       0x00001104,     /* regcmaybe */
-       0x00001104,     /* regcreset */
-       0x00001304,     /* regcomp */
-       0x00000640,     /* match */
-       0x00001654,     /* subst */
-       0x00000354,     /* substcont */
-       0x00001914,     /* trans */
+       0x00002204,     /* regcmaybe */
+       0x00002204,     /* regcreset */
+       0x00002604,     /* regcomp */
+       0x00000a40,     /* match */
+       0x00000a04,     /* qr */
+       0x00002a54,     /* subst */
+       0x00000654,     /* substcont */
+       0x00003014,     /* trans */
        0x00000004,     /* sassign */
-       0x00022208,     /* aassign */
-       0x00002c0d,     /* chop */
-       0x00009c8c,     /* schop */
-       0x00002c0d,     /* chomp */
-       0x00009c8c,     /* schomp */
-       0x00009c94,     /* defined */
-       0x00009c04,     /* undef */
-       0x00009c84,     /* study */
-       0x00009c8c,     /* pos */
-       0x00001164,     /* preinc */
-       0x00001154,     /* i_preinc */
-       0x00001164,     /* predec */
-       0x00001154,     /* i_predec */
-       0x0000116c,     /* postinc */
-       0x0000115c,     /* i_postinc */
-       0x0000116c,     /* postdec */
-       0x0000115c,     /* i_postdec */
-       0x0001120e,     /* pow */
-       0x0001122e,     /* multiply */
-       0x0001121e,     /* i_multiply */
-       0x0001122e,     /* divide */
-       0x0001121e,     /* i_divide */
-       0x0001123e,     /* modulo */
-       0x0001121e,     /* i_modulo */
-       0x00012209,     /* repeat */
-       0x0001122e,     /* add */
-       0x0001121e,     /* i_add */
-       0x0001122e,     /* subtract */
-       0x0001121e,     /* i_subtract */
-       0x0001120e,     /* concat */
-       0x0000150e,     /* stringify */
-       0x0001120e,     /* left_shift */
-       0x0001120e,     /* right_shift */
-       0x00011236,     /* lt */
-       0x00011216,     /* i_lt */
-       0x00011236,     /* gt */
-       0x00011216,     /* i_gt */
-       0x00011236,     /* le */
-       0x00011216,     /* i_le */
-       0x00011236,     /* ge */
-       0x00011216,     /* i_ge */
-       0x00011236,     /* eq */
-       0x00011216,     /* i_eq */
-       0x00011236,     /* ne */
-       0x00011216,     /* i_ne */
-       0x0001123e,     /* ncmp */
-       0x0001121e,     /* i_ncmp */
-       0x00011216,     /* slt */
-       0x00011216,     /* sgt */
-       0x00011216,     /* sle */
-       0x00011216,     /* sge */
-       0x00011216,     /* seq */
-       0x00011216,     /* sne */
-       0x0001121e,     /* scmp */
-       0x0001120e,     /* bit_and */
-       0x0001120e,     /* bit_xor */
-       0x0001120e,     /* bit_or */
-       0x0000112e,     /* negate */
-       0x0000111e,     /* i_negate */
-       0x00001116,     /* not */
-       0x0000110e,     /* complement */
-       0x0001150e,     /* atan2 */
-       0x00009c8e,     /* sin */
-       0x00009c8e,     /* cos */
-       0x00009c0c,     /* rand */
-       0x00009c04,     /* srand */
-       0x00009c8e,     /* exp */
-       0x00009c8e,     /* log */
-       0x00009c8e,     /* sqrt */
-       0x00009c8e,     /* int */
-       0x00009c8e,     /* hex */
-       0x00009c8e,     /* oct */
-       0x00009c8e,     /* abs */
-       0x00009c9c,     /* length */
-       0x0991150c,     /* substr */
-       0x0011151c,     /* vec */
-       0x0091151c,     /* index */
-       0x0091151c,     /* rindex */
-       0x0002150f,     /* sprintf */
-       0x00021505,     /* formline */
-       0x00009c9e,     /* ord */
-       0x00009c8e,     /* chr */
-       0x0001150e,     /* crypt */
-       0x00009c8e,     /* ucfirst */
-       0x00009c8e,     /* lcfirst */
-       0x00009c8e,     /* uc */
-       0x00009c8e,     /* lc */
-       0x00009c8e,     /* quotemeta */
-       0x00000148,     /* rv2av */
-       0x00013804,     /* aelemfast */
-       0x00013204,     /* aelem */
-       0x00023501,     /* aslice */
-       0x00004c08,     /* each */
-       0x00004c08,     /* values */
-       0x00004c08,     /* keys */
-       0x00001c00,     /* delete */
-       0x00001c14,     /* exists */
-       0x00000148,     /* rv2hv */
-       0x00014204,     /* helem */
-       0x00024501,     /* hslice */
-       0x00011500,     /* unpack */
-       0x0002150d,     /* pack */
-       0x00111508,     /* split */
-       0x0002150d,     /* join */
-       0x00002501,     /* list */
-       0x00224200,     /* lslice */
-       0x00002505,     /* anonlist */
-       0x00002505,     /* anonhash */
-       0x02993501,     /* splice */
-       0x0002351d,     /* push */
-       0x00003c14,     /* pop */
-       0x00003c04,     /* shift */
-       0x0002351d,     /* unshift */
-       0x0002d501,     /* sort */
-       0x00002509,     /* reverse */
-       0x00025541,     /* grepstart */
-       0x00000348,     /* grepwhile */
-       0x00025541,     /* mapstart */
-       0x00000348,     /* mapwhile */
-       0x00011400,     /* range */
-       0x00011100,     /* flip */
-       0x00000100,     /* flop */
-       0x00000300,     /* and */
-       0x00000300,     /* or */
-       0x00011306,     /* xor */
-       0x00000440,     /* cond_expr */
-       0x00000304,     /* andassign */
-       0x00000304,     /* orassign */
-       0x00000140,     /* method */
-       0x00002149,     /* entersub */
-       0x00000100,     /* leavesub */
-       0x00009c08,     /* caller */
-       0x0000251d,     /* warn */
-       0x0000255d,     /* die */
-       0x00009c14,     /* reset */
-       0x00000500,     /* lineseq */
-       0x00000b04,     /* nextstate */
-       0x00000b04,     /* dbstate */
+       0x00044408,     /* aassign */
+       0x0000560d,     /* chop */
+       0x0001368c,     /* schop */
+       0x0000570d,     /* chomp */
+       0x0001378c,     /* schomp */
+       0x00013694,     /* defined */
+       0x00013604,     /* undef */
+       0x00013684,     /* study */
+       0x0001368c,     /* pos */
+       0x00002264,     /* preinc */
+       0x00002254,     /* i_preinc */
+       0x00002264,     /* predec */
+       0x00002254,     /* i_predec */
+       0x0000226c,     /* postinc */
+       0x0000235c,     /* i_postinc */
+       0x0000226c,     /* postdec */
+       0x0000235c,     /* i_postdec */
+       0x0002250e,     /* pow */
+       0x0002252e,     /* multiply */
+       0x0002251e,     /* i_multiply */
+       0x0002252e,     /* divide */
+       0x0002251e,     /* i_divide */
+       0x0002253e,     /* modulo */
+       0x0002251e,     /* i_modulo */
+       0x00024409,     /* repeat */
+       0x0002252e,     /* add */
+       0x0002251e,     /* i_add */
+       0x0002252e,     /* subtract */
+       0x0002251e,     /* i_subtract */
+       0x0002250e,     /* concat */
+       0x0000290e,     /* stringify */
+       0x0002250e,     /* left_shift */
+       0x0002250e,     /* right_shift */
+       0x00022436,     /* lt */
+       0x00022416,     /* i_lt */
+       0x00022436,     /* gt */
+       0x00022416,     /* i_gt */
+       0x00022436,     /* le */
+       0x00022416,     /* i_le */
+       0x00022436,     /* ge */
+       0x00022416,     /* i_ge */
+       0x00022436,     /* eq */
+       0x00022416,     /* i_eq */
+       0x00022436,     /* ne */
+       0x00022416,     /* i_ne */
+       0x0002243e,     /* ncmp */
+       0x0002241e,     /* i_ncmp */
+       0x00022416,     /* slt */
+       0x00022416,     /* sgt */
+       0x00022416,     /* sle */
+       0x00022416,     /* sge */
+       0x00022416,     /* seq */
+       0x00022416,     /* sne */
+       0x0002241e,     /* scmp */
+       0x0002240e,     /* bit_and */
+       0x0002240e,     /* bit_xor */
+       0x0002240e,     /* bit_or */
+       0x0000222e,     /* negate */
+       0x0000231e,     /* i_negate */
+       0x00002216,     /* not */
+       0x0000220e,     /* complement */
+       0x0002290e,     /* atan2 */
+       0x0001378e,     /* sin */
+       0x0001378e,     /* cos */
+       0x0001370c,     /* rand */
+       0x00013604,     /* srand */
+       0x0001378e,     /* exp */
+       0x0001378e,     /* log */
+       0x0001378e,     /* sqrt */
+       0x0001378e,     /* int */
+       0x0001378e,     /* hex */
+       0x0001378e,     /* oct */
+       0x0001378e,     /* abs */
+       0x0001379c,     /* length */
+       0x1322280c,     /* substr */
+       0x0022281c,     /* vec */
+       0x0122291c,     /* index */
+       0x0122291c,     /* rindex */
+       0x0004280f,     /* sprintf */
+       0x00042805,     /* formline */
+       0x0001379e,     /* ord */
+       0x0001378e,     /* chr */
+       0x0002290e,     /* crypt */
+       0x0001368e,     /* ucfirst */
+       0x0001368e,     /* lcfirst */
+       0x0001368e,     /* uc */
+       0x0001368e,     /* lc */
+       0x0001368e,     /* quotemeta */
+       0x00000248,     /* rv2av */
+       0x00026c04,     /* aelemfast */
+       0x00026404,     /* aelem */
+       0x00046801,     /* aslice */
+       0x00009600,     /* each */
+       0x00009608,     /* values */
+       0x00009608,     /* keys */
+       0x00003600,     /* delete */
+       0x00003614,     /* exists */
+       0x00000248,     /* rv2hv */
+       0x00028404,     /* helem */
+       0x00048801,     /* hslice */
+       0x00122800,     /* unpack */
+       0x0004280d,     /* pack */
+       0x00222808,     /* split */
+       0x0004280d,     /* join */
+       0x00004801,     /* list */
+       0x00448400,     /* lslice */
+       0x00004805,     /* anonlist */
+       0x00004805,     /* anonhash */
+       0x05326801,     /* splice */
+       0x0004691d,     /* push */
+       0x00017604,     /* pop */
+       0x00017604,     /* shift */
+       0x0004691d,     /* unshift */
+       0x0005a801,     /* sort */
+       0x00004809,     /* reverse */
+       0x0004a841,     /* grepstart */
+       0x00000648,     /* grepwhile */
+       0x0004a841,     /* mapstart */
+       0x00000648,     /* mapwhile */
+       0x00022600,     /* range */
+       0x00022200,     /* flip */
+       0x00000200,     /* flop */
+       0x00000600,     /* and */
+       0x00000600,     /* or */
+       0x00022406,     /* xor */
+       0x00000640,     /* cond_expr */
+       0x00000604,     /* andassign */
+       0x00000604,     /* orassign */
+       0x00000240,     /* method */
+       0x00004249,     /* entersub */
+       0x00000200,     /* leavesub */
+       0x00000200,     /* leavesublv */
+       0x00013608,     /* caller */
+       0x0000481d,     /* warn */
+       0x0000485d,     /* die */
+       0x00013614,     /* reset */
+       0x00000800,     /* lineseq */
+       0x00001404,     /* nextstate */
+       0x00001404,     /* dbstate */
        0x00000004,     /* unstack */
        0x00000000,     /* enter */
-       0x00000500,     /* leave */
-       0x00000500,     /* scope */
-       0x00000a40,     /* enteriter */
+       0x00000800,     /* leave */
+       0x00000800,     /* scope */
+       0x00001240,     /* enteriter */
        0x00000000,     /* iter */
-       0x00000a40,     /* enterloop */
-       0x00000200,     /* leaveloop */
-       0x00002541,     /* return */
-       0x00000e44,     /* last */
-       0x00000e44,     /* next */
-       0x00000e44,     /* redo */
-       0x00000e44,     /* dump */
-       0x00000e44,     /* goto */
-       0x00009c44,     /* exit */
-       0x0009651c,     /* open */
-       0x0000ec14,     /* close */
-       0x00066514,     /* pipe_op */
-       0x00006c1c,     /* fileno */
-       0x00009c1c,     /* umask */
-       0x00006c04,     /* binmode */
-       0x00217555,     /* tie */
-       0x00007c14,     /* untie */
-       0x00007c04,     /* tied */
-       0x00114514,     /* dbmopen */
-       0x00004c14,     /* dbmclose */
-       0x01111508,     /* sselect */
-       0x0000e50c,     /* select */
-       0x0000ec0c,     /* getc */
-       0x0917651d,     /* read */
-       0x0000ec54,     /* enterwrite */
-       0x00000100,     /* leavewrite */
-       0x0002e515,     /* prtf */
-       0x0002e515,     /* print */
-       0x09116504,     /* sysopen */
-       0x00116504,     /* sysseek */
-       0x0917651d,     /* sysread */
-       0x0911651d,     /* syswrite */
-       0x0911651d,     /* send */
-       0x0117651d,     /* recv */
-       0x0000ec14,     /* eof */
-       0x0000ec0c,     /* tell */
-       0x00116504,     /* seek */
-       0x00011514,     /* truncate */
-       0x0011650c,     /* fcntl */
-       0x0011650c,     /* ioctl */
-       0x0001651c,     /* flock */
-       0x01116514,     /* socket */
-       0x11166514,     /* sockpair */
-       0x00016514,     /* bind */
-       0x00016514,     /* connect */
-       0x00016514,     /* listen */
-       0x0006651c,     /* accept */
-       0x0001651c,     /* shutdown */
-       0x00116514,     /* gsockopt */
-       0x01116514,     /* ssockopt */
-       0x00006c14,     /* getsockname */
-       0x00006c14,     /* getpeername */
-       0x00006d80,     /* lstat */
-       0x00006d80,     /* stat */
-       0x00006d94,     /* ftrread */
-       0x00006d94,     /* ftrwrite */
-       0x00006d94,     /* ftrexec */
-       0x00006d94,     /* fteread */
-       0x00006d94,     /* ftewrite */
-       0x00006d94,     /* fteexec */
-       0x00006d94,     /* ftis */
-       0x00006d94,     /* fteowned */
-       0x00006d94,     /* ftrowned */
-       0x00006d94,     /* ftzero */
-       0x00006d9c,     /* ftsize */
-       0x00006d8c,     /* ftmtime */
-       0x00006d8c,     /* ftatime */
-       0x00006d8c,     /* ftctime */
-       0x00006d94,     /* ftsock */
-       0x00006d94,     /* ftchr */
-       0x00006d94,     /* ftblk */
-       0x00006d94,     /* ftfile */
-       0x00006d94,     /* ftdir */
-       0x00006d94,     /* ftpipe */
-       0x00006d94,     /* ftlink */
-       0x00006d94,     /* ftsuid */
-       0x00006d94,     /* ftsgid */
-       0x00006d94,     /* ftsvtx */
-       0x00006d14,     /* fttty */
-       0x00006d94,     /* fttext */
-       0x00006d94,     /* ftbinary */
-       0x00009c1c,     /* chdir */
-       0x0000251d,     /* chown */
-       0x00009c9c,     /* chroot */
-       0x0000259d,     /* unlink */
-       0x0000251d,     /* chmod */
-       0x0000251d,     /* utime */
-       0x0001151c,     /* rename */
-       0x0001151c,     /* link */
-       0x0001151c,     /* symlink */
-       0x00009c8c,     /* readlink */
-       0x0001151c,     /* mkdir */
-       0x00009c9c,     /* rmdir */
-       0x00016514,     /* open_dir */
-       0x00006c00,     /* readdir */
-       0x00006c0c,     /* telldir */
-       0x00016504,     /* seekdir */
-       0x00006c04,     /* rewinddir */
-       0x00006c14,     /* closedir */
+       0x00001240,     /* enterloop */
+       0x00000400,     /* leaveloop */
+       0x00004841,     /* return */
+       0x00001a44,     /* last */
+       0x00001a44,     /* next */
+       0x00001a44,     /* redo */
+       0x00001a44,     /* dump */
+       0x00001a44,     /* goto */
+       0x00013644,     /* exit */
+       0x0052c81d,     /* open */
+       0x0001d614,     /* close */
+       0x000cc814,     /* pipe_op */
+       0x0000d61c,     /* fileno */
+       0x0001361c,     /* umask */
+       0x0012c804,     /* binmode */
+       0x0042e855,     /* tie */
+       0x0000f614,     /* untie */
+       0x0000f604,     /* tied */
+       0x00228814,     /* dbmopen */
+       0x00009614,     /* dbmclose */
+       0x02222808,     /* sselect */
+       0x0001c80c,     /* select */
+       0x0001d60c,     /* getc */
+       0x122ec81d,     /* read */
+       0x0001d654,     /* enterwrite */
+       0x00000200,     /* leavewrite */
+       0x0005c815,     /* prtf */
+       0x0005c815,     /* print */
+       0x1222c804,     /* sysopen */
+       0x0022c804,     /* sysseek */
+       0x122ec81d,     /* sysread */
+       0x1322c81d,     /* syswrite */
+       0x1222c81d,     /* send */
+       0x022ec81d,     /* recv */
+       0x0001d614,     /* eof */
+       0x0001d60c,     /* tell */
+       0x0022c804,     /* seek */
+       0x00022814,     /* truncate */
+       0x0022c80c,     /* fcntl */
+       0x0022c80c,     /* ioctl */
+       0x0002c91c,     /* flock */
+       0x0222c814,     /* socket */
+       0x222cc814,     /* sockpair */
+       0x0002c814,     /* bind */
+       0x0002c814,     /* connect */
+       0x0002c814,     /* listen */
+       0x000cc81c,     /* accept */
+       0x0002c81c,     /* shutdown */
+       0x0022c814,     /* gsockopt */
+       0x0222c814,     /* ssockopt */
+       0x0000d614,     /* getsockname */
+       0x0000d614,     /* getpeername */
+       0x0000d880,     /* lstat */
+       0x0000d880,     /* stat */
+       0x0000d894,     /* ftrread */
+       0x0000d894,     /* ftrwrite */
+       0x0000d894,     /* ftrexec */
+       0x0000d894,     /* fteread */
+       0x0000d894,     /* ftewrite */
+       0x0000d894,     /* fteexec */
+       0x0000d894,     /* ftis */
+       0x0000d894,     /* fteowned */
+       0x0000d894,     /* ftrowned */
+       0x0000d894,     /* ftzero */
+       0x0000d89c,     /* ftsize */
+       0x0000d88c,     /* ftmtime */
+       0x0000d88c,     /* ftatime */
+       0x0000d88c,     /* ftctime */
+       0x0000d894,     /* ftsock */
+       0x0000d894,     /* ftchr */
+       0x0000d894,     /* ftblk */
+       0x0000d894,     /* ftfile */
+       0x0000d894,     /* ftdir */
+       0x0000d894,     /* ftpipe */
+       0x0000d894,     /* ftlink */
+       0x0000d894,     /* ftsuid */
+       0x0000d894,     /* ftsgid */
+       0x0000d894,     /* ftsvtx */
+       0x0000d814,     /* fttty */
+       0x0000d894,     /* fttext */
+       0x0000d894,     /* ftbinary */
+       0x0001371c,     /* chdir */
+       0x0000491d,     /* chown */
+       0x0001379c,     /* chroot */
+       0x0000499d,     /* unlink */
+       0x0000491d,     /* chmod */
+       0x0000491d,     /* utime */
+       0x0002291c,     /* rename */
+       0x0002291c,     /* link */
+       0x0002291c,     /* symlink */
+       0x0001368c,     /* readlink */
+       0x0012291c,     /* mkdir */
+       0x0001379c,     /* rmdir */
+       0x0002c814,     /* open_dir */
+       0x0000d600,     /* readdir */
+       0x0000d60c,     /* telldir */
+       0x0002c804,     /* seekdir */
+       0x0000d604,     /* rewinddir */
+       0x0000d614,     /* closedir */
        0x0000001c,     /* fork */
-       0x0000001c,     /* wait */
-       0x0001151c,     /* waitpid */
-       0x0002951d,     /* system */
-       0x0002955d,     /* exec */
-       0x0000255d,     /* kill */
-       0x0000001c,     /* getppid */
-       0x00009c1c,     /* getpgrp */
-       0x0009951c,     /* setpgrp */
-       0x0001151c,     /* getpriority */
-       0x0011151c,     /* setpriority */
-       0x0000001c,     /* time */
+       0x0000011c,     /* wait */
+       0x0002291c,     /* waitpid */
+       0x0005291d,     /* system */
+       0x0005295d,     /* exec */
+       0x0000495d,     /* kill */
+       0x0000011c,     /* getppid */
+       0x0001371c,     /* getpgrp */
+       0x0013291c,     /* setpgrp */
+       0x0002291c,     /* getpriority */
+       0x0022291c,     /* setpriority */
+       0x0000011c,     /* time */
        0x00000000,     /* tms */
-       0x00009c08,     /* localtime */
-       0x00009c08,     /* gmtime */
-       0x00009c9c,     /* alarm */
-       0x00009c1c,     /* sleep */
-       0x0011151d,     /* shmget */
-       0x0011151d,     /* shmctl */
-       0x0111151d,     /* shmread */
-       0x0111151d,     /* shmwrite */
-       0x0001151d,     /* msgget */
-       0x0011151d,     /* msgctl */
-       0x0011151d,     /* msgsnd */
-       0x1111151d,     /* msgrcv */
-       0x0011151d,     /* semget */
-       0x0111151d,     /* semctl */
-       0x0001151d,     /* semop */
-       0x00009cc0,     /* require */
-       0x00001140,     /* dofile */
-       0x00001c40,     /* entereval */
-       0x00001100,     /* leaveeval */
-       0x00000300,     /* entertry */
-       0x00000500,     /* leavetry */
-       0x00001c00,     /* ghbyname */
-       0x00011500,     /* ghbyaddr */
+       0x00013608,     /* localtime */
+       0x00013608,     /* gmtime */
+       0x0001369c,     /* alarm */
+       0x0001371c,     /* sleep */
+       0x0022281d,     /* shmget */
+       0x0022281d,     /* shmctl */
+       0x0222281d,     /* shmread */
+       0x0222281d,     /* shmwrite */
+       0x0002281d,     /* msgget */
+       0x0022281d,     /* msgctl */
+       0x0022281d,     /* msgsnd */
+       0x2222281d,     /* msgrcv */
+       0x0022281d,     /* semget */
+       0x0222281d,     /* semctl */
+       0x0002281d,     /* semop */
+       0x000136c0,     /* require */
+       0x00002240,     /* dofile */
+       0x00003640,     /* entereval */
+       0x00002200,     /* leaveeval */
+       0x00000600,     /* entertry */
+       0x00000800,     /* leavetry */
+       0x00003600,     /* ghbyname */
+       0x00022800,     /* ghbyaddr */
        0x00000000,     /* ghostent */
-       0x00001c00,     /* gnbyname */
-       0x00011500,     /* gnbyaddr */
+       0x00003600,     /* gnbyname */
+       0x00022800,     /* gnbyaddr */
        0x00000000,     /* gnetent */
-       0x00001c00,     /* gpbyname */
-       0x00001500,     /* gpbynumber */
+       0x00003600,     /* gpbyname */
+       0x00002800,     /* gpbynumber */
        0x00000000,     /* gprotoent */
-       0x00011500,     /* gsbyname */
-       0x00011500,     /* gsbyport */
+       0x00022800,     /* gsbyname */
+       0x00022800,     /* gsbyport */
        0x00000000,     /* gservent */
-       0x00001c14,     /* shostent */
-       0x00001c14,     /* snetent */
-       0x00001c14,     /* sprotoent */
-       0x00001c14,     /* sservent */
+       0x00003614,     /* shostent */
+       0x00003614,     /* snetent */
+       0x00003614,     /* sprotoent */
+       0x00003614,     /* sservent */
        0x00000014,     /* ehostent */
        0x00000014,     /* enetent */
        0x00000014,     /* eprotoent */
        0x00000014,     /* eservent */
-       0x00001c00,     /* gpwnam */
-       0x00001c00,     /* gpwuid */
+       0x00003600,     /* gpwnam */
+       0x00003600,     /* gpwuid */
        0x00000000,     /* gpwent */
        0x00000014,     /* spwent */
        0x00000014,     /* epwent */
-       0x00001c00,     /* ggrnam */
-       0x00001c00,     /* ggrgid */
+       0x00003600,     /* ggrnam */
+       0x00003600,     /* ggrgid */
        0x00000000,     /* ggrent */
        0x00000014,     /* sgrent */
        0x00000014,     /* egrent */
        0x0000000c,     /* getlogin */
-       0x0002151d,     /* syscall */
-       0x00001c04,     /* lock */
+       0x0004281d,     /* syscall */
+       0x0000f604,     /* lock */
        0x00000044,     /* threadsv */
+       0x00001404,     /* setstate */
+       0x00000c40,     /* method_named */
+       0x00000600,     /* dor */
+       0x00000604,     /* dorassign */
+       0x00000000,     /* custom */
 };
 #endif
+
+END_EXTERN_C