perl/opcode.h
David Mitchell fecade69c5 eval_sv(): call pp_entereval() via runops
Like the previous commit which did it for amagic_call() and call_sv(),
this commit makes executing the faked-up OP_ENTEREVAL be executed as
part of the runops loop rather than as a separate call. This is to allow
shortly fixing up for a reference-counted stack. (CALLRUNOPS() will
reify the stack if necessary, while the raw call to pp_entereval() won't
fix up the stack unless its part of the runops loop too.)

However, this is a bit more complex than call_sv() etc in that there is
a good reason for calling pp_entereval() separately. The faked up
OP_ENTEREVAL has its op_next set to NULL - this is the op which would
normally be returned on failure of the eval compilation.  By seeing
whether the retuned value from pp_entereval() is NULL or not, eval_sv()
can tell whether compilation failed.

On the other hand, if pp_entereval() was made to be called as part of
the runops loop, then the runops loop *always* finishes with PL_op set
to NULL. So we can no lo longer distinguish between compile-failed and
compile-succeeded-and-eval-ran-to-completion.

This commit moves the entereval into the runops loop, but restores the
ability to distinguish in a slightly hacky way. It adds a new private
flag for OP_ENTEREVAL - OPpEVAL_EVALSV - which indicates to
pp_entereval() that it was called from eval_sv(). And of course
eval_sv() sets this flag on the OPpEVAL_EVALSV op it fakes up.  If
pp_entereval() fails to compile, then if that flag is set, it pushes a
null pointer onto the argument stack before returning.

Thus by checking whether *PL_stack_sp is NULL or not on return from
CALLRUNOPS(), eval_sv() regains the ability to distinguish the two
cases.
2023-02-28 20:53:51 +08:00

3514 lines
144 KiB
C
Generated

/* -*- mode: C; buffer-read-only: t -*-
*
* opcode.h
*
* Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
* 2002, 2003, 2004, 2005, 2006, 2007 by Larry Wall and others
*
* You may distribute under the terms of either the GNU General Public
* License or the Artistic License, as specified in the README file.
*
* !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
* This file is built by regen/opcode.pl from its data.
* Any changes made here will be lost!
*/
#if defined(PERL_CORE) || defined(PERL_EXT)
#define Perl_pp_scalar Perl_pp_null
#define Perl_pp_padany Perl_unimplemented_op
#define Perl_pp_regcmaybe Perl_pp_null
#define Perl_pp_transr Perl_pp_trans
#define Perl_pp_chomp Perl_pp_chop
#define Perl_pp_schomp Perl_pp_schop
#define Perl_pp_i_preinc Perl_pp_preinc
#define Perl_pp_i_predec Perl_pp_predec
#define Perl_pp_i_postinc Perl_pp_postinc
#define Perl_pp_i_postdec Perl_pp_postdec
#define Perl_pp_slt Perl_pp_sle
#define Perl_pp_sgt Perl_pp_sle
#define Perl_pp_sge Perl_pp_sle
#define Perl_pp_bit_xor Perl_pp_bit_or
#define Perl_pp_nbit_xor Perl_pp_nbit_or
#define Perl_pp_sbit_xor Perl_pp_sbit_or
#define Perl_pp_cos Perl_pp_sin
#define Perl_pp_exp Perl_pp_sin
#define Perl_pp_log Perl_pp_sin
#define Perl_pp_sqrt Perl_pp_sin
#define Perl_pp_hex Perl_pp_oct
#define Perl_pp_rindex Perl_pp_index
#define Perl_pp_lcfirst Perl_pp_ucfirst
#define Perl_pp_aelemfast_lex Perl_pp_aelemfast
#define Perl_pp_avalues Perl_pp_akeys
#define Perl_pp_values Perl_do_kv
#define Perl_pp_keys Perl_do_kv
#define Perl_pp_rv2hv Perl_pp_rv2av
#define Perl_pp_pop Perl_pp_shift
#define Perl_pp_mapstart Perl_pp_grepstart
#define Perl_pp_dor Perl_pp_defined
#define Perl_pp_andassign Perl_pp_and
#define Perl_pp_orassign Perl_pp_or
#define Perl_pp_dorassign Perl_pp_defined
#define Perl_pp_lineseq Perl_pp_null
#define Perl_pp_scope Perl_pp_null
#define Perl_pp_dump Perl_pp_goto
#define Perl_pp_dbmclose Perl_pp_untie
#define Perl_pp_read Perl_pp_sysread
#define Perl_pp_say Perl_pp_print
#define Perl_pp_seek Perl_pp_sysseek
#define Perl_pp_fcntl Perl_pp_ioctl
#ifdef HAS_SOCKET
#define Perl_pp_send Perl_pp_syswrite
#define Perl_pp_recv Perl_pp_sysread
#else
#define Perl_pp_send Perl_unimplemented_op
#define Perl_pp_recv Perl_unimplemented_op
#define Perl_pp_socket Perl_unimplemented_op
#endif
#ifdef HAS_SOCKET
#define Perl_pp_connect Perl_pp_bind
#define Perl_pp_gsockopt Perl_pp_ssockopt
#define Perl_pp_getsockname Perl_pp_getpeername
#else
#define Perl_pp_bind Perl_unimplemented_op
#define Perl_pp_connect Perl_unimplemented_op
#define Perl_pp_listen Perl_unimplemented_op
#define Perl_pp_accept Perl_unimplemented_op
#define Perl_pp_shutdown Perl_unimplemented_op
#define Perl_pp_gsockopt Perl_unimplemented_op
#define Perl_pp_ssockopt Perl_unimplemented_op
#define Perl_pp_getsockname Perl_unimplemented_op
#define Perl_pp_getpeername Perl_unimplemented_op
#endif
#define Perl_pp_lstat Perl_pp_stat
#define Perl_pp_ftrwrite Perl_pp_ftrread
#define Perl_pp_ftrexec Perl_pp_ftrread
#define Perl_pp_fteread Perl_pp_ftrread
#define Perl_pp_ftewrite Perl_pp_ftrread
#define Perl_pp_fteexec Perl_pp_ftrread
#define Perl_pp_ftsize Perl_pp_ftis
#define Perl_pp_ftmtime Perl_pp_ftis
#define Perl_pp_ftatime Perl_pp_ftis
#define Perl_pp_ftctime Perl_pp_ftis
#define Perl_pp_fteowned Perl_pp_ftrowned
#define Perl_pp_ftzero Perl_pp_ftrowned
#define Perl_pp_ftsock Perl_pp_ftrowned
#define Perl_pp_ftchr Perl_pp_ftrowned
#define Perl_pp_ftblk Perl_pp_ftrowned
#define Perl_pp_ftfile Perl_pp_ftrowned
#define Perl_pp_ftdir Perl_pp_ftrowned
#define Perl_pp_ftpipe Perl_pp_ftrowned
#define Perl_pp_ftsuid Perl_pp_ftrowned
#define Perl_pp_ftsgid Perl_pp_ftrowned
#define Perl_pp_ftsvtx Perl_pp_ftrowned
#define Perl_pp_ftbinary Perl_pp_fttext
#define Perl_pp_unlink Perl_pp_chown
#define Perl_pp_chmod Perl_pp_chown
#define Perl_pp_utime Perl_pp_chown
#define Perl_pp_symlink Perl_pp_link
#define Perl_pp_kill Perl_pp_chown
#define Perl_pp_localtime Perl_pp_gmtime
#define Perl_pp_shmget Perl_pp_semget
#define Perl_pp_shmctl Perl_pp_semctl
#define Perl_pp_shmread Perl_pp_shmwrite
#define Perl_pp_msgget Perl_pp_semget
#define Perl_pp_msgctl Perl_pp_semctl
#define Perl_pp_msgsnd Perl_pp_shmwrite
#define Perl_pp_msgrcv Perl_pp_shmwrite
#define Perl_pp_semop Perl_pp_shmwrite
#define Perl_pp_dofile Perl_pp_require
#define Perl_pp_ghbyname Perl_pp_ghostent
#define Perl_pp_ghbyaddr Perl_pp_ghostent
#define Perl_pp_gnbyname Perl_pp_gnetent
#define Perl_pp_gnbyaddr Perl_pp_gnetent
#define Perl_pp_gpbyname Perl_pp_gprotoent
#define Perl_pp_gpbynumber Perl_pp_gprotoent
#define Perl_pp_gsbyname Perl_pp_gservent
#define Perl_pp_gsbyport Perl_pp_gservent
#define Perl_pp_snetent Perl_pp_shostent
#define Perl_pp_sprotoent Perl_pp_shostent
#define Perl_pp_sservent Perl_pp_shostent
#define Perl_pp_enetent Perl_pp_ehostent
#define Perl_pp_eprotoent Perl_pp_ehostent
#define Perl_pp_eservent Perl_pp_ehostent
#define Perl_pp_gpwnam Perl_pp_gpwent
#define Perl_pp_gpwuid Perl_pp_gpwent
#define Perl_pp_spwent Perl_pp_ehostent
#define Perl_pp_epwent Perl_pp_ehostent
#define Perl_pp_ggrnam Perl_pp_ggrent
#define Perl_pp_ggrgid Perl_pp_ggrent
#define Perl_pp_sgrent Perl_pp_ehostent
#define Perl_pp_egrent Perl_pp_ehostent
#define Perl_pp_custom Perl_unimplemented_op
#endif /* End of if defined(PERL_CORE) || defined(PERL_EXT) */
START_EXTERN_C
EXTCONST char* const PL_op_name[] INIT({
[OP_NULL] = "null",
[OP_STUB] = "stub",
[OP_SCALAR] = "scalar",
[OP_PUSHMARK] = "pushmark",
[OP_WANTARRAY] = "wantarray",
[OP_CONST] = "const",
[OP_GVSV] = "gvsv",
[OP_GV] = "gv",
[OP_GELEM] = "gelem",
[OP_PADSV] = "padsv",
[OP_PADSV_STORE] = "padsv_store",
[OP_PADAV] = "padav",
[OP_PADHV] = "padhv",
[OP_PADANY] = "padany",
[OP_RV2GV] = "rv2gv",
[OP_RV2SV] = "rv2sv",
[OP_AV2ARYLEN] = "av2arylen",
[OP_RV2CV] = "rv2cv",
[OP_ANONCODE] = "anoncode",
[OP_PROTOTYPE] = "prototype",
[OP_REFGEN] = "refgen",
[OP_SREFGEN] = "srefgen",
[OP_REF] = "ref",
[OP_BLESS] = "bless",
[OP_BACKTICK] = "backtick",
[OP_GLOB] = "glob",
[OP_READLINE] = "readline",
[OP_RCATLINE] = "rcatline",
[OP_REGCMAYBE] = "regcmaybe",
[OP_REGCRESET] = "regcreset",
[OP_REGCOMP] = "regcomp",
[OP_MATCH] = "match",
[OP_QR] = "qr",
[OP_SUBST] = "subst",
[OP_SUBSTCONT] = "substcont",
[OP_TRANS] = "trans",
[OP_TRANSR] = "transr",
[OP_SASSIGN] = "sassign",
[OP_AASSIGN] = "aassign",
[OP_CHOP] = "chop",
[OP_SCHOP] = "schop",
[OP_CHOMP] = "chomp",
[OP_SCHOMP] = "schomp",
[OP_DEFINED] = "defined",
[OP_UNDEF] = "undef",
[OP_STUDY] = "study",
[OP_POS] = "pos",
[OP_PREINC] = "preinc",
[OP_I_PREINC] = "i_preinc",
[OP_PREDEC] = "predec",
[OP_I_PREDEC] = "i_predec",
[OP_POSTINC] = "postinc",
[OP_I_POSTINC] = "i_postinc",
[OP_POSTDEC] = "postdec",
[OP_I_POSTDEC] = "i_postdec",
[OP_POW] = "pow",
[OP_MULTIPLY] = "multiply",
[OP_I_MULTIPLY] = "i_multiply",
[OP_DIVIDE] = "divide",
[OP_I_DIVIDE] = "i_divide",
[OP_MODULO] = "modulo",
[OP_I_MODULO] = "i_modulo",
[OP_REPEAT] = "repeat",
[OP_ADD] = "add",
[OP_I_ADD] = "i_add",
[OP_SUBTRACT] = "subtract",
[OP_I_SUBTRACT] = "i_subtract",
[OP_CONCAT] = "concat",
[OP_MULTICONCAT] = "multiconcat",
[OP_STRINGIFY] = "stringify",
[OP_LEFT_SHIFT] = "left_shift",
[OP_RIGHT_SHIFT] = "right_shift",
[OP_LT] = "lt",
[OP_I_LT] = "i_lt",
[OP_GT] = "gt",
[OP_I_GT] = "i_gt",
[OP_LE] = "le",
[OP_I_LE] = "i_le",
[OP_GE] = "ge",
[OP_I_GE] = "i_ge",
[OP_EQ] = "eq",
[OP_I_EQ] = "i_eq",
[OP_NE] = "ne",
[OP_I_NE] = "i_ne",
[OP_NCMP] = "ncmp",
[OP_I_NCMP] = "i_ncmp",
[OP_SLT] = "slt",
[OP_SGT] = "sgt",
[OP_SLE] = "sle",
[OP_SGE] = "sge",
[OP_SEQ] = "seq",
[OP_SNE] = "sne",
[OP_SCMP] = "scmp",
[OP_BIT_AND] = "bit_and",
[OP_BIT_XOR] = "bit_xor",
[OP_BIT_OR] = "bit_or",
[OP_NBIT_AND] = "nbit_and",
[OP_NBIT_XOR] = "nbit_xor",
[OP_NBIT_OR] = "nbit_or",
[OP_SBIT_AND] = "sbit_and",
[OP_SBIT_XOR] = "sbit_xor",
[OP_SBIT_OR] = "sbit_or",
[OP_NEGATE] = "negate",
[OP_I_NEGATE] = "i_negate",
[OP_NOT] = "not",
[OP_COMPLEMENT] = "complement",
[OP_NCOMPLEMENT] = "ncomplement",
[OP_SCOMPLEMENT] = "scomplement",
[OP_SMARTMATCH] = "smartmatch",
[OP_ATAN2] = "atan2",
[OP_SIN] = "sin",
[OP_COS] = "cos",
[OP_RAND] = "rand",
[OP_SRAND] = "srand",
[OP_EXP] = "exp",
[OP_LOG] = "log",
[OP_SQRT] = "sqrt",
[OP_INT] = "int",
[OP_HEX] = "hex",
[OP_OCT] = "oct",
[OP_ABS] = "abs",
[OP_LENGTH] = "length",
[OP_SUBSTR] = "substr",
[OP_VEC] = "vec",
[OP_INDEX] = "index",
[OP_RINDEX] = "rindex",
[OP_SPRINTF] = "sprintf",
[OP_FORMLINE] = "formline",
[OP_ORD] = "ord",
[OP_CHR] = "chr",
[OP_CRYPT] = "crypt",
[OP_UCFIRST] = "ucfirst",
[OP_LCFIRST] = "lcfirst",
[OP_UC] = "uc",
[OP_LC] = "lc",
[OP_QUOTEMETA] = "quotemeta",
[OP_RV2AV] = "rv2av",
[OP_AELEMFAST] = "aelemfast",
[OP_AELEMFAST_LEX] = "aelemfast_lex",
[OP_AELEMFASTLEX_STORE] = "aelemfastlex_store",
[OP_AELEM] = "aelem",
[OP_ASLICE] = "aslice",
[OP_KVASLICE] = "kvaslice",
[OP_AEACH] = "aeach",
[OP_AVALUES] = "avalues",
[OP_AKEYS] = "akeys",
[OP_EACH] = "each",
[OP_VALUES] = "values",
[OP_KEYS] = "keys",
[OP_DELETE] = "delete",
[OP_EXISTS] = "exists",
[OP_RV2HV] = "rv2hv",
[OP_HELEM] = "helem",
[OP_HSLICE] = "hslice",
[OP_KVHSLICE] = "kvhslice",
[OP_MULTIDEREF] = "multideref",
[OP_UNPACK] = "unpack",
[OP_PACK] = "pack",
[OP_SPLIT] = "split",
[OP_JOIN] = "join",
[OP_LIST] = "list",
[OP_LSLICE] = "lslice",
[OP_ANONLIST] = "anonlist",
[OP_ANONHASH] = "anonhash",
[OP_EMPTYAVHV] = "emptyavhv",
[OP_SPLICE] = "splice",
[OP_PUSH] = "push",
[OP_POP] = "pop",
[OP_SHIFT] = "shift",
[OP_UNSHIFT] = "unshift",
[OP_SORT] = "sort",
[OP_REVERSE] = "reverse",
[OP_GREPSTART] = "grepstart",
[OP_GREPWHILE] = "grepwhile",
[OP_MAPSTART] = "mapstart",
[OP_MAPWHILE] = "mapwhile",
[OP_RANGE] = "range",
[OP_FLIP] = "flip",
[OP_FLOP] = "flop",
[OP_AND] = "and",
[OP_OR] = "or",
[OP_XOR] = "xor",
[OP_DOR] = "dor",
[OP_COND_EXPR] = "cond_expr",
[OP_ANDASSIGN] = "andassign",
[OP_ORASSIGN] = "orassign",
[OP_DORASSIGN] = "dorassign",
[OP_ENTERSUB] = "entersub",
[OP_LEAVESUB] = "leavesub",
[OP_LEAVESUBLV] = "leavesublv",
[OP_ARGCHECK] = "argcheck",
[OP_ARGELEM] = "argelem",
[OP_ARGDEFELEM] = "argdefelem",
[OP_CALLER] = "caller",
[OP_WARN] = "warn",
[OP_DIE] = "die",
[OP_RESET] = "reset",
[OP_LINESEQ] = "lineseq",
[OP_NEXTSTATE] = "nextstate",
[OP_DBSTATE] = "dbstate",
[OP_UNSTACK] = "unstack",
[OP_ENTER] = "enter",
[OP_LEAVE] = "leave",
[OP_SCOPE] = "scope",
[OP_ENTERITER] = "enteriter",
[OP_ITER] = "iter",
[OP_ENTERLOOP] = "enterloop",
[OP_LEAVELOOP] = "leaveloop",
[OP_RETURN] = "return",
[OP_LAST] = "last",
[OP_NEXT] = "next",
[OP_REDO] = "redo",
[OP_DUMP] = "dump",
[OP_GOTO] = "goto",
[OP_EXIT] = "exit",
[OP_METHOD] = "method",
[OP_METHOD_NAMED] = "method_named",
[OP_METHOD_SUPER] = "method_super",
[OP_METHOD_REDIR] = "method_redir",
[OP_METHOD_REDIR_SUPER] = "method_redir_super",
[OP_ENTERGIVEN] = "entergiven",
[OP_LEAVEGIVEN] = "leavegiven",
[OP_ENTERWHEN] = "enterwhen",
[OP_LEAVEWHEN] = "leavewhen",
[OP_BREAK] = "break",
[OP_CONTINUE] = "continue",
[OP_OPEN] = "open",
[OP_CLOSE] = "close",
[OP_PIPE_OP] = "pipe_op",
[OP_FILENO] = "fileno",
[OP_UMASK] = "umask",
[OP_BINMODE] = "binmode",
[OP_TIE] = "tie",
[OP_UNTIE] = "untie",
[OP_TIED] = "tied",
[OP_DBMOPEN] = "dbmopen",
[OP_DBMCLOSE] = "dbmclose",
[OP_SSELECT] = "sselect",
[OP_SELECT] = "select",
[OP_GETC] = "getc",
[OP_READ] = "read",
[OP_ENTERWRITE] = "enterwrite",
[OP_LEAVEWRITE] = "leavewrite",
[OP_PRTF] = "prtf",
[OP_PRINT] = "print",
[OP_SAY] = "say",
[OP_SYSOPEN] = "sysopen",
[OP_SYSSEEK] = "sysseek",
[OP_SYSREAD] = "sysread",
[OP_SYSWRITE] = "syswrite",
[OP_EOF] = "eof",
[OP_TELL] = "tell",
[OP_SEEK] = "seek",
[OP_TRUNCATE] = "truncate",
[OP_FCNTL] = "fcntl",
[OP_IOCTL] = "ioctl",
[OP_FLOCK] = "flock",
[OP_SEND] = "send",
[OP_RECV] = "recv",
[OP_SOCKET] = "socket",
[OP_SOCKPAIR] = "sockpair",
[OP_BIND] = "bind",
[OP_CONNECT] = "connect",
[OP_LISTEN] = "listen",
[OP_ACCEPT] = "accept",
[OP_SHUTDOWN] = "shutdown",
[OP_GSOCKOPT] = "gsockopt",
[OP_SSOCKOPT] = "ssockopt",
[OP_GETSOCKNAME] = "getsockname",
[OP_GETPEERNAME] = "getpeername",
[OP_LSTAT] = "lstat",
[OP_STAT] = "stat",
[OP_FTRREAD] = "ftrread",
[OP_FTRWRITE] = "ftrwrite",
[OP_FTREXEC] = "ftrexec",
[OP_FTEREAD] = "fteread",
[OP_FTEWRITE] = "ftewrite",
[OP_FTEEXEC] = "fteexec",
[OP_FTIS] = "ftis",
[OP_FTSIZE] = "ftsize",
[OP_FTMTIME] = "ftmtime",
[OP_FTATIME] = "ftatime",
[OP_FTCTIME] = "ftctime",
[OP_FTROWNED] = "ftrowned",
[OP_FTEOWNED] = "fteowned",
[OP_FTZERO] = "ftzero",
[OP_FTSOCK] = "ftsock",
[OP_FTCHR] = "ftchr",
[OP_FTBLK] = "ftblk",
[OP_FTFILE] = "ftfile",
[OP_FTDIR] = "ftdir",
[OP_FTPIPE] = "ftpipe",
[OP_FTSUID] = "ftsuid",
[OP_FTSGID] = "ftsgid",
[OP_FTSVTX] = "ftsvtx",
[OP_FTLINK] = "ftlink",
[OP_FTTTY] = "fttty",
[OP_FTTEXT] = "fttext",
[OP_FTBINARY] = "ftbinary",
[OP_CHDIR] = "chdir",
[OP_CHOWN] = "chown",
[OP_CHROOT] = "chroot",
[OP_UNLINK] = "unlink",
[OP_CHMOD] = "chmod",
[OP_UTIME] = "utime",
[OP_RENAME] = "rename",
[OP_LINK] = "link",
[OP_SYMLINK] = "symlink",
[OP_READLINK] = "readlink",
[OP_MKDIR] = "mkdir",
[OP_RMDIR] = "rmdir",
[OP_OPEN_DIR] = "open_dir",
[OP_READDIR] = "readdir",
[OP_TELLDIR] = "telldir",
[OP_SEEKDIR] = "seekdir",
[OP_REWINDDIR] = "rewinddir",
[OP_CLOSEDIR] = "closedir",
[OP_FORK] = "fork",
[OP_WAIT] = "wait",
[OP_WAITPID] = "waitpid",
[OP_SYSTEM] = "system",
[OP_EXEC] = "exec",
[OP_KILL] = "kill",
[OP_GETPPID] = "getppid",
[OP_GETPGRP] = "getpgrp",
[OP_SETPGRP] = "setpgrp",
[OP_GETPRIORITY] = "getpriority",
[OP_SETPRIORITY] = "setpriority",
[OP_TIME] = "time",
[OP_TMS] = "tms",
[OP_LOCALTIME] = "localtime",
[OP_GMTIME] = "gmtime",
[OP_ALARM] = "alarm",
[OP_SLEEP] = "sleep",
[OP_SHMGET] = "shmget",
[OP_SHMCTL] = "shmctl",
[OP_SHMREAD] = "shmread",
[OP_SHMWRITE] = "shmwrite",
[OP_MSGGET] = "msgget",
[OP_MSGCTL] = "msgctl",
[OP_MSGSND] = "msgsnd",
[OP_MSGRCV] = "msgrcv",
[OP_SEMOP] = "semop",
[OP_SEMGET] = "semget",
[OP_SEMCTL] = "semctl",
[OP_REQUIRE] = "require",
[OP_DOFILE] = "dofile",
[OP_HINTSEVAL] = "hintseval",
[OP_ENTEREVAL] = "entereval",
[OP_LEAVEEVAL] = "leaveeval",
[OP_ENTERTRY] = "entertry",
[OP_LEAVETRY] = "leavetry",
[OP_GHBYNAME] = "ghbyname",
[OP_GHBYADDR] = "ghbyaddr",
[OP_GHOSTENT] = "ghostent",
[OP_GNBYNAME] = "gnbyname",
[OP_GNBYADDR] = "gnbyaddr",
[OP_GNETENT] = "gnetent",
[OP_GPBYNAME] = "gpbyname",
[OP_GPBYNUMBER] = "gpbynumber",
[OP_GPROTOENT] = "gprotoent",
[OP_GSBYNAME] = "gsbyname",
[OP_GSBYPORT] = "gsbyport",
[OP_GSERVENT] = "gservent",
[OP_SHOSTENT] = "shostent",
[OP_SNETENT] = "snetent",
[OP_SPROTOENT] = "sprotoent",
[OP_SSERVENT] = "sservent",
[OP_EHOSTENT] = "ehostent",
[OP_ENETENT] = "enetent",
[OP_EPROTOENT] = "eprotoent",
[OP_ESERVENT] = "eservent",
[OP_GPWNAM] = "gpwnam",
[OP_GPWUID] = "gpwuid",
[OP_GPWENT] = "gpwent",
[OP_SPWENT] = "spwent",
[OP_EPWENT] = "epwent",
[OP_GGRNAM] = "ggrnam",
[OP_GGRGID] = "ggrgid",
[OP_GGRENT] = "ggrent",
[OP_SGRENT] = "sgrent",
[OP_EGRENT] = "egrent",
[OP_GETLOGIN] = "getlogin",
[OP_SYSCALL] = "syscall",
[OP_LOCK] = "lock",
[OP_ONCE] = "once",
[OP_CUSTOM] = "custom",
[OP_COREARGS] = "coreargs",
[OP_AVHVSWITCH] = "avhvswitch",
[OP_RUNCV] = "runcv",
[OP_FC] = "fc",
[OP_PADCV] = "padcv",
[OP_INTROCV] = "introcv",
[OP_CLONECV] = "clonecv",
[OP_PADRANGE] = "padrange",
[OP_REFASSIGN] = "refassign",
[OP_LVREF] = "lvref",
[OP_LVREFSLICE] = "lvrefslice",
[OP_LVAVREF] = "lvavref",
[OP_ANONCONST] = "anonconst",
[OP_ISA] = "isa",
[OP_CMPCHAIN_AND] = "cmpchain_and",
[OP_CMPCHAIN_DUP] = "cmpchain_dup",
[OP_ENTERTRYCATCH] = "entertrycatch",
[OP_LEAVETRYCATCH] = "leavetrycatch",
[OP_POPTRY] = "poptry",
[OP_CATCH] = "catch",
[OP_PUSHDEFER] = "pushdefer",
[OP_IS_BOOL] = "is_bool",
[OP_IS_WEAK] = "is_weak",
[OP_WEAKEN] = "weaken",
[OP_UNWEAKEN] = "unweaken",
[OP_BLESSED] = "blessed",
[OP_REFADDR] = "refaddr",
[OP_REFTYPE] = "reftype",
[OP_CEIL] = "ceil",
[OP_FLOOR] = "floor",
[OP_IS_TAINTED] = "is_tainted",
[OP_HELEMEXISTSOR] = "helemexistsor",
[OP_METHSTART] = "methstart",
[OP_INITFIELD] = "initfield",
[OP_max] = "freed",
});
EXTCONST char* const PL_op_desc[] INIT({
[OP_NULL] = "null operation",
[OP_STUB] = "stub",
[OP_SCALAR] = "scalar",
[OP_PUSHMARK] = "pushmark",
[OP_WANTARRAY] = "wantarray",
[OP_CONST] = "constant item",
[OP_GVSV] = "scalar variable",
[OP_GV] = "glob value",
[OP_GELEM] = "glob elem",
[OP_PADSV] = "private variable",
[OP_PADSV_STORE] = "padsv scalar assignment",
[OP_PADAV] = "private array",
[OP_PADHV] = "private hash",
[OP_PADANY] = "private value",
[OP_RV2GV] = "ref-to-glob cast",
[OP_RV2SV] = "scalar dereference",
[OP_AV2ARYLEN] = "array length",
[OP_RV2CV] = "subroutine dereference",
[OP_ANONCODE] = "anonymous subroutine",
[OP_PROTOTYPE] = "subroutine prototype",
[OP_REFGEN] = "reference constructor",
[OP_SREFGEN] = "single ref constructor",
[OP_REF] = "reference-type operator",
[OP_BLESS] = "bless",
[OP_BACKTICK] = "quoted execution (``, qx)",
[OP_GLOB] = "glob",
[OP_READLINE] = "<HANDLE>",
[OP_RCATLINE] = "append I/O operator",
[OP_REGCMAYBE] = "regexp internal guard",
[OP_REGCRESET] = "regexp internal reset",
[OP_REGCOMP] = "regexp compilation",
[OP_MATCH] = "pattern match (m//)",
[OP_QR] = "pattern quote (qr//)",
[OP_SUBST] = "substitution (s///)",
[OP_SUBSTCONT] = "substitution iterator",
[OP_TRANS] = "transliteration (tr///)",
[OP_TRANSR] = "transliteration (tr///)",
[OP_SASSIGN] = "scalar assignment",
[OP_AASSIGN] = "list assignment",
[OP_CHOP] = "chop",
[OP_SCHOP] = "scalar chop",
[OP_CHOMP] = "chomp",
[OP_SCHOMP] = "scalar chomp",
[OP_DEFINED] = "defined operator",
[OP_UNDEF] = "undef operator",
[OP_STUDY] = "study",
[OP_POS] = "match position",
[OP_PREINC] = "preincrement (++)",
[OP_I_PREINC] = "integer preincrement (++)",
[OP_PREDEC] = "predecrement (--)",
[OP_I_PREDEC] = "integer predecrement (--)",
[OP_POSTINC] = "postincrement (++)",
[OP_I_POSTINC] = "integer postincrement (++)",
[OP_POSTDEC] = "postdecrement (--)",
[OP_I_POSTDEC] = "integer postdecrement (--)",
[OP_POW] = "exponentiation (**)",
[OP_MULTIPLY] = "multiplication (*)",
[OP_I_MULTIPLY] = "integer multiplication (*)",
[OP_DIVIDE] = "division (/)",
[OP_I_DIVIDE] = "integer division (/)",
[OP_MODULO] = "modulus (%)",
[OP_I_MODULO] = "integer modulus (%)",
[OP_REPEAT] = "repeat (x)",
[OP_ADD] = "addition (+)",
[OP_I_ADD] = "integer addition (+)",
[OP_SUBTRACT] = "subtraction (-)",
[OP_I_SUBTRACT] = "integer subtraction (-)",
[OP_CONCAT] = "concatenation (.) or string",
[OP_MULTICONCAT] = "concatenation (.) or string",
[OP_STRINGIFY] = "string",
[OP_LEFT_SHIFT] = "left bitshift (<<)",
[OP_RIGHT_SHIFT] = "right bitshift (>>)",
[OP_LT] = "numeric lt (<)",
[OP_I_LT] = "integer lt (<)",
[OP_GT] = "numeric gt (>)",
[OP_I_GT] = "integer gt (>)",
[OP_LE] = "numeric le (<=)",
[OP_I_LE] = "integer le (<=)",
[OP_GE] = "numeric ge (>=)",
[OP_I_GE] = "integer ge (>=)",
[OP_EQ] = "numeric eq (==)",
[OP_I_EQ] = "integer eq (==)",
[OP_NE] = "numeric ne (!=)",
[OP_I_NE] = "integer ne (!=)",
[OP_NCMP] = "numeric comparison (<=>)",
[OP_I_NCMP] = "integer comparison (<=>)",
[OP_SLT] = "string lt",
[OP_SGT] = "string gt",
[OP_SLE] = "string le",
[OP_SGE] = "string ge",
[OP_SEQ] = "string eq",
[OP_SNE] = "string ne",
[OP_SCMP] = "string comparison (cmp)",
[OP_BIT_AND] = "bitwise and (&)",
[OP_BIT_XOR] = "bitwise xor (^)",
[OP_BIT_OR] = "bitwise or (|)",
[OP_NBIT_AND] = "numeric bitwise and (&)",
[OP_NBIT_XOR] = "numeric bitwise xor (^)",
[OP_NBIT_OR] = "numeric bitwise or (|)",
[OP_SBIT_AND] = "string bitwise and (&.)",
[OP_SBIT_XOR] = "string bitwise xor (^.)",
[OP_SBIT_OR] = "string bitwise or (|.)",
[OP_NEGATE] = "negation (-)",
[OP_I_NEGATE] = "integer negation (-)",
[OP_NOT] = "not",
[OP_COMPLEMENT] = "1's complement (~)",
[OP_NCOMPLEMENT] = "numeric 1's complement (~)",
[OP_SCOMPLEMENT] = "string 1's complement (~)",
[OP_SMARTMATCH] = "smart match",
[OP_ATAN2] = "atan2",
[OP_SIN] = "sin",
[OP_COS] = "cos",
[OP_RAND] = "rand",
[OP_SRAND] = "srand",
[OP_EXP] = "exp",
[OP_LOG] = "log",
[OP_SQRT] = "sqrt",
[OP_INT] = "int",
[OP_HEX] = "hex",
[OP_OCT] = "oct",
[OP_ABS] = "abs",
[OP_LENGTH] = "length",
[OP_SUBSTR] = "substr",
[OP_VEC] = "vec",
[OP_INDEX] = "index",
[OP_RINDEX] = "rindex",
[OP_SPRINTF] = "sprintf",
[OP_FORMLINE] = "formline",
[OP_ORD] = "ord",
[OP_CHR] = "chr",
[OP_CRYPT] = "crypt",
[OP_UCFIRST] = "ucfirst",
[OP_LCFIRST] = "lcfirst",
[OP_UC] = "uc",
[OP_LC] = "lc",
[OP_QUOTEMETA] = "quotemeta",
[OP_RV2AV] = "array dereference",
[OP_AELEMFAST] = "constant array element",
[OP_AELEMFAST_LEX] = "constant lexical array element",
[OP_AELEMFASTLEX_STORE] = "const lexical array element store",
[OP_AELEM] = "array element",
[OP_ASLICE] = "array slice",
[OP_KVASLICE] = "index/value array slice",
[OP_AEACH] = "each on array",
[OP_AVALUES] = "values on array",
[OP_AKEYS] = "keys on array",
[OP_EACH] = "each",
[OP_VALUES] = "values",
[OP_KEYS] = "keys",
[OP_DELETE] = "delete",
[OP_EXISTS] = "exists",
[OP_RV2HV] = "hash dereference",
[OP_HELEM] = "hash element",
[OP_HSLICE] = "hash slice",
[OP_KVHSLICE] = "key/value hash slice",
[OP_MULTIDEREF] = "array or hash lookup",
[OP_UNPACK] = "unpack",
[OP_PACK] = "pack",
[OP_SPLIT] = "split",
[OP_JOIN] = "join or string",
[OP_LIST] = "list",
[OP_LSLICE] = "list slice",
[OP_ANONLIST] = "anonymous array ([])",
[OP_ANONHASH] = "anonymous hash ({})",
[OP_EMPTYAVHV] = "empty anon hash/array",
[OP_SPLICE] = "splice",
[OP_PUSH] = "push",
[OP_POP] = "pop",
[OP_SHIFT] = "shift",
[OP_UNSHIFT] = "unshift",
[OP_SORT] = "sort",
[OP_REVERSE] = "reverse",
[OP_GREPSTART] = "grep",
[OP_GREPWHILE] = "grep iterator",
[OP_MAPSTART] = "map",
[OP_MAPWHILE] = "map iterator",
[OP_RANGE] = "flipflop",
[OP_FLIP] = "range (or flip)",
[OP_FLOP] = "range (or flop)",
[OP_AND] = "logical and (&&)",
[OP_OR] = "logical or (||)",
[OP_XOR] = "logical xor",
[OP_DOR] = "defined or (//)",
[OP_COND_EXPR] = "conditional expression",
[OP_ANDASSIGN] = "logical and assignment (&&=)",
[OP_ORASSIGN] = "logical or assignment (||=)",
[OP_DORASSIGN] = "defined or assignment (//=)",
[OP_ENTERSUB] = "subroutine entry",
[OP_LEAVESUB] = "subroutine exit",
[OP_LEAVESUBLV] = "lvalue subroutine return",
[OP_ARGCHECK] = "check subroutine arguments",
[OP_ARGELEM] = "subroutine argument",
[OP_ARGDEFELEM] = "subroutine argument default value",
[OP_CALLER] = "caller",
[OP_WARN] = "warn",
[OP_DIE] = "die",
[OP_RESET] = "symbol reset",
[OP_LINESEQ] = "line sequence",
[OP_NEXTSTATE] = "next statement",
[OP_DBSTATE] = "debug next statement",
[OP_UNSTACK] = "iteration finalizer",
[OP_ENTER] = "block entry",
[OP_LEAVE] = "block exit",
[OP_SCOPE] = "block",
[OP_ENTERITER] = "foreach loop entry",
[OP_ITER] = "foreach loop iterator",
[OP_ENTERLOOP] = "loop entry",
[OP_LEAVELOOP] = "loop exit",
[OP_RETURN] = "return",
[OP_LAST] = "last",
[OP_NEXT] = "next",
[OP_REDO] = "redo",
[OP_DUMP] = "dump",
[OP_GOTO] = "goto",
[OP_EXIT] = "exit",
[OP_METHOD] = "method lookup",
[OP_METHOD_NAMED] = "method with known name",
[OP_METHOD_SUPER] = "super with known name",
[OP_METHOD_REDIR] = "redirect method with known name",
[OP_METHOD_REDIR_SUPER] = "redirect super method with known name",
[OP_ENTERGIVEN] = "given()",
[OP_LEAVEGIVEN] = "leave given block",
[OP_ENTERWHEN] = "when()",
[OP_LEAVEWHEN] = "leave when block",
[OP_BREAK] = "break",
[OP_CONTINUE] = "continue",
[OP_OPEN] = "open",
[OP_CLOSE] = "close",
[OP_PIPE_OP] = "pipe",
[OP_FILENO] = "fileno",
[OP_UMASK] = "umask",
[OP_BINMODE] = "binmode",
[OP_TIE] = "tie",
[OP_UNTIE] = "untie",
[OP_TIED] = "tied",
[OP_DBMOPEN] = "dbmopen",
[OP_DBMCLOSE] = "dbmclose",
[OP_SSELECT] = "select system call",
[OP_SELECT] = "select",
[OP_GETC] = "getc",
[OP_READ] = "read",
[OP_ENTERWRITE] = "write",
[OP_LEAVEWRITE] = "write exit",
[OP_PRTF] = "printf",
[OP_PRINT] = "print",
[OP_SAY] = "say",
[OP_SYSOPEN] = "sysopen",
[OP_SYSSEEK] = "sysseek",
[OP_SYSREAD] = "sysread",
[OP_SYSWRITE] = "syswrite",
[OP_EOF] = "eof",
[OP_TELL] = "tell",
[OP_SEEK] = "seek",
[OP_TRUNCATE] = "truncate",
[OP_FCNTL] = "fcntl",
[OP_IOCTL] = "ioctl",
[OP_FLOCK] = "flock",
[OP_SEND] = "send",
[OP_RECV] = "recv",
[OP_SOCKET] = "socket",
[OP_SOCKPAIR] = "socketpair",
[OP_BIND] = "bind",
[OP_CONNECT] = "connect",
[OP_LISTEN] = "listen",
[OP_ACCEPT] = "accept",
[OP_SHUTDOWN] = "shutdown",
[OP_GSOCKOPT] = "getsockopt",
[OP_SSOCKOPT] = "setsockopt",
[OP_GETSOCKNAME] = "getsockname",
[OP_GETPEERNAME] = "getpeername",
[OP_LSTAT] = "lstat",
[OP_STAT] = "stat",
[OP_FTRREAD] = "-R",
[OP_FTRWRITE] = "-W",
[OP_FTREXEC] = "-X",
[OP_FTEREAD] = "-r",
[OP_FTEWRITE] = "-w",
[OP_FTEEXEC] = "-x",
[OP_FTIS] = "-e",
[OP_FTSIZE] = "-s",
[OP_FTMTIME] = "-M",
[OP_FTATIME] = "-A",
[OP_FTCTIME] = "-C",
[OP_FTROWNED] = "-O",
[OP_FTEOWNED] = "-o",
[OP_FTZERO] = "-z",
[OP_FTSOCK] = "-S",
[OP_FTCHR] = "-c",
[OP_FTBLK] = "-b",
[OP_FTFILE] = "-f",
[OP_FTDIR] = "-d",
[OP_FTPIPE] = "-p",
[OP_FTSUID] = "-u",
[OP_FTSGID] = "-g",
[OP_FTSVTX] = "-k",
[OP_FTLINK] = "-l",
[OP_FTTTY] = "-t",
[OP_FTTEXT] = "-T",
[OP_FTBINARY] = "-B",
[OP_CHDIR] = "chdir",
[OP_CHOWN] = "chown",
[OP_CHROOT] = "chroot",
[OP_UNLINK] = "unlink",
[OP_CHMOD] = "chmod",
[OP_UTIME] = "utime",
[OP_RENAME] = "rename",
[OP_LINK] = "link",
[OP_SYMLINK] = "symlink",
[OP_READLINK] = "readlink",
[OP_MKDIR] = "mkdir",
[OP_RMDIR] = "rmdir",
[OP_OPEN_DIR] = "opendir",
[OP_READDIR] = "readdir",
[OP_TELLDIR] = "telldir",
[OP_SEEKDIR] = "seekdir",
[OP_REWINDDIR] = "rewinddir",
[OP_CLOSEDIR] = "closedir",
[OP_FORK] = "fork",
[OP_WAIT] = "wait",
[OP_WAITPID] = "waitpid",
[OP_SYSTEM] = "system",
[OP_EXEC] = "exec",
[OP_KILL] = "kill",
[OP_GETPPID] = "getppid",
[OP_GETPGRP] = "getpgrp",
[OP_SETPGRP] = "setpgrp",
[OP_GETPRIORITY] = "getpriority",
[OP_SETPRIORITY] = "setpriority",
[OP_TIME] = "time",
[OP_TMS] = "times",
[OP_LOCALTIME] = "localtime",
[OP_GMTIME] = "gmtime",
[OP_ALARM] = "alarm",
[OP_SLEEP] = "sleep",
[OP_SHMGET] = "shmget",
[OP_SHMCTL] = "shmctl",
[OP_SHMREAD] = "shmread",
[OP_SHMWRITE] = "shmwrite",
[OP_MSGGET] = "msgget",
[OP_MSGCTL] = "msgctl",
[OP_MSGSND] = "msgsnd",
[OP_MSGRCV] = "msgrcv",
[OP_SEMOP] = "semop",
[OP_SEMGET] = "semget",
[OP_SEMCTL] = "semctl",
[OP_REQUIRE] = "require",
[OP_DOFILE] = "do \"file\"",
[OP_HINTSEVAL] = "eval hints",
[OP_ENTEREVAL] = "eval \"string\"",
[OP_LEAVEEVAL] = "eval \"string\" exit",
[OP_ENTERTRY] = "eval {block}",
[OP_LEAVETRY] = "eval {block} exit",
[OP_GHBYNAME] = "gethostbyname",
[OP_GHBYADDR] = "gethostbyaddr",
[OP_GHOSTENT] = "gethostent",
[OP_GNBYNAME] = "getnetbyname",
[OP_GNBYADDR] = "getnetbyaddr",
[OP_GNETENT] = "getnetent",
[OP_GPBYNAME] = "getprotobyname",
[OP_GPBYNUMBER] = "getprotobynumber",
[OP_GPROTOENT] = "getprotoent",
[OP_GSBYNAME] = "getservbyname",
[OP_GSBYPORT] = "getservbyport",
[OP_GSERVENT] = "getservent",
[OP_SHOSTENT] = "sethostent",
[OP_SNETENT] = "setnetent",
[OP_SPROTOENT] = "setprotoent",
[OP_SSERVENT] = "setservent",
[OP_EHOSTENT] = "endhostent",
[OP_ENETENT] = "endnetent",
[OP_EPROTOENT] = "endprotoent",
[OP_ESERVENT] = "endservent",
[OP_GPWNAM] = "getpwnam",
[OP_GPWUID] = "getpwuid",
[OP_GPWENT] = "getpwent",
[OP_SPWENT] = "setpwent",
[OP_EPWENT] = "endpwent",
[OP_GGRNAM] = "getgrnam",
[OP_GGRGID] = "getgrgid",
[OP_GGRENT] = "getgrent",
[OP_SGRENT] = "setgrent",
[OP_EGRENT] = "endgrent",
[OP_GETLOGIN] = "getlogin",
[OP_SYSCALL] = "syscall",
[OP_LOCK] = "lock",
[OP_ONCE] = "once",
[OP_CUSTOM] = "unknown custom operator",
[OP_COREARGS] = "CORE:: subroutine",
[OP_AVHVSWITCH] = "Array/hash switch",
[OP_RUNCV] = "__SUB__",
[OP_FC] = "fc",
[OP_PADCV] = "private subroutine",
[OP_INTROCV] = "private subroutine",
[OP_CLONECV] = "private subroutine",
[OP_PADRANGE] = "list of private variables",
[OP_REFASSIGN] = "lvalue ref assignment",
[OP_LVREF] = "lvalue ref assignment",
[OP_LVREFSLICE] = "lvalue ref assignment",
[OP_LVAVREF] = "lvalue array reference",
[OP_ANONCONST] = "anonymous constant",
[OP_ISA] = "derived class test",
[OP_CMPCHAIN_AND] = "comparison chaining",
[OP_CMPCHAIN_DUP] = "comparand shuffling",
[OP_ENTERTRYCATCH] = "try {block}",
[OP_LEAVETRYCATCH] = "try {block} exit",
[OP_POPTRY] = "pop try",
[OP_CATCH] = "catch {} block",
[OP_PUSHDEFER] = "push defer {} block",
[OP_IS_BOOL] = "boolean type test",
[OP_IS_WEAK] = "weakref type test",
[OP_WEAKEN] = "reference weaken",
[OP_UNWEAKEN] = "reference unweaken",
[OP_BLESSED] = "blessed",
[OP_REFADDR] = "refaddr",
[OP_REFTYPE] = "reftype",
[OP_CEIL] = "ceil",
[OP_FLOOR] = "floor",
[OP_IS_TAINTED] = "is_tainted",
[OP_HELEMEXISTSOR] = "hash element exists or",
[OP_METHSTART] = "method start",
[OP_INITFIELD] = "initialise field",
[OP_max] = "freed op",
});
END_EXTERN_C
START_EXTERN_C
EXT Perl_ppaddr_t PL_ppaddr[] /* or perlvars.h */
INIT({
[OP_NULL] = Perl_pp_null,
[OP_STUB] = Perl_pp_stub,
[OP_SCALAR] = Perl_pp_scalar, /* implemented by Perl_pp_null */
[OP_PUSHMARK] = Perl_pp_pushmark,
[OP_WANTARRAY] = Perl_pp_wantarray,
[OP_CONST] = Perl_pp_const,
[OP_GVSV] = Perl_pp_gvsv,
[OP_GV] = Perl_pp_gv,
[OP_GELEM] = Perl_pp_gelem,
[OP_PADSV] = Perl_pp_padsv,
[OP_PADSV_STORE] = Perl_pp_padsv_store,
[OP_PADAV] = Perl_pp_padav,
[OP_PADHV] = Perl_pp_padhv,
[OP_PADANY] = Perl_pp_padany, /* implemented by Perl_unimplemented_op */
[OP_RV2GV] = Perl_pp_rv2gv,
[OP_RV2SV] = Perl_pp_rv2sv,
[OP_AV2ARYLEN] = Perl_pp_av2arylen,
[OP_RV2CV] = Perl_pp_rv2cv,
[OP_ANONCODE] = Perl_pp_anoncode,
[OP_PROTOTYPE] = Perl_pp_prototype,
[OP_REFGEN] = Perl_pp_refgen,
[OP_SREFGEN] = Perl_pp_srefgen,
[OP_REF] = Perl_pp_ref,
[OP_BLESS] = Perl_pp_bless,
[OP_BACKTICK] = Perl_pp_backtick,
[OP_GLOB] = Perl_pp_glob,
[OP_READLINE] = Perl_pp_readline,
[OP_RCATLINE] = Perl_pp_rcatline,
[OP_REGCMAYBE] = Perl_pp_regcmaybe, /* implemented by Perl_pp_null */
[OP_REGCRESET] = Perl_pp_regcreset,
[OP_REGCOMP] = Perl_pp_regcomp,
[OP_MATCH] = Perl_pp_match,
[OP_QR] = Perl_pp_qr,
[OP_SUBST] = Perl_pp_subst,
[OP_SUBSTCONT] = Perl_pp_substcont,
[OP_TRANS] = Perl_pp_trans,
[OP_TRANSR] = Perl_pp_transr, /* implemented by Perl_pp_trans */
[OP_SASSIGN] = Perl_pp_sassign,
[OP_AASSIGN] = Perl_pp_aassign,
[OP_CHOP] = Perl_pp_chop,
[OP_SCHOP] = Perl_pp_schop,
[OP_CHOMP] = Perl_pp_chomp, /* implemented by Perl_pp_chop */
[OP_SCHOMP] = Perl_pp_schomp, /* implemented by Perl_pp_schop */
[OP_DEFINED] = Perl_pp_defined,
[OP_UNDEF] = Perl_pp_undef,
[OP_STUDY] = Perl_pp_study,
[OP_POS] = Perl_pp_pos,
[OP_PREINC] = Perl_pp_preinc,
[OP_I_PREINC] = Perl_pp_i_preinc, /* implemented by Perl_pp_preinc */
[OP_PREDEC] = Perl_pp_predec,
[OP_I_PREDEC] = Perl_pp_i_predec, /* implemented by Perl_pp_predec */
[OP_POSTINC] = Perl_pp_postinc,
[OP_I_POSTINC] = Perl_pp_i_postinc, /* implemented by Perl_pp_postinc */
[OP_POSTDEC] = Perl_pp_postdec,
[OP_I_POSTDEC] = Perl_pp_i_postdec, /* implemented by Perl_pp_postdec */
[OP_POW] = Perl_pp_pow,
[OP_MULTIPLY] = Perl_pp_multiply,
[OP_I_MULTIPLY] = Perl_pp_i_multiply,
[OP_DIVIDE] = Perl_pp_divide,
[OP_I_DIVIDE] = Perl_pp_i_divide,
[OP_MODULO] = Perl_pp_modulo,
[OP_I_MODULO] = Perl_pp_i_modulo,
[OP_REPEAT] = Perl_pp_repeat,
[OP_ADD] = Perl_pp_add,
[OP_I_ADD] = Perl_pp_i_add,
[OP_SUBTRACT] = Perl_pp_subtract,
[OP_I_SUBTRACT] = Perl_pp_i_subtract,
[OP_CONCAT] = Perl_pp_concat,
[OP_MULTICONCAT] = Perl_pp_multiconcat,
[OP_STRINGIFY] = Perl_pp_stringify,
[OP_LEFT_SHIFT] = Perl_pp_left_shift,
[OP_RIGHT_SHIFT] = Perl_pp_right_shift,
[OP_LT] = Perl_pp_lt,
[OP_I_LT] = Perl_pp_i_lt,
[OP_GT] = Perl_pp_gt,
[OP_I_GT] = Perl_pp_i_gt,
[OP_LE] = Perl_pp_le,
[OP_I_LE] = Perl_pp_i_le,
[OP_GE] = Perl_pp_ge,
[OP_I_GE] = Perl_pp_i_ge,
[OP_EQ] = Perl_pp_eq,
[OP_I_EQ] = Perl_pp_i_eq,
[OP_NE] = Perl_pp_ne,
[OP_I_NE] = Perl_pp_i_ne,
[OP_NCMP] = Perl_pp_ncmp,
[OP_I_NCMP] = Perl_pp_i_ncmp,
[OP_SLT] = Perl_pp_slt, /* implemented by Perl_pp_sle */
[OP_SGT] = Perl_pp_sgt, /* implemented by Perl_pp_sle */
[OP_SLE] = Perl_pp_sle,
[OP_SGE] = Perl_pp_sge, /* implemented by Perl_pp_sle */
[OP_SEQ] = Perl_pp_seq,
[OP_SNE] = Perl_pp_sne,
[OP_SCMP] = Perl_pp_scmp,
[OP_BIT_AND] = Perl_pp_bit_and,
[OP_BIT_XOR] = Perl_pp_bit_xor, /* implemented by Perl_pp_bit_or */
[OP_BIT_OR] = Perl_pp_bit_or,
[OP_NBIT_AND] = Perl_pp_nbit_and,
[OP_NBIT_XOR] = Perl_pp_nbit_xor, /* implemented by Perl_pp_nbit_or */
[OP_NBIT_OR] = Perl_pp_nbit_or,
[OP_SBIT_AND] = Perl_pp_sbit_and,
[OP_SBIT_XOR] = Perl_pp_sbit_xor, /* implemented by Perl_pp_sbit_or */
[OP_SBIT_OR] = Perl_pp_sbit_or,
[OP_NEGATE] = Perl_pp_negate,
[OP_I_NEGATE] = Perl_pp_i_negate,
[OP_NOT] = Perl_pp_not,
[OP_COMPLEMENT] = Perl_pp_complement,
[OP_NCOMPLEMENT] = Perl_pp_ncomplement,
[OP_SCOMPLEMENT] = Perl_pp_scomplement,
[OP_SMARTMATCH] = Perl_pp_smartmatch,
[OP_ATAN2] = Perl_pp_atan2,
[OP_SIN] = Perl_pp_sin,
[OP_COS] = Perl_pp_cos, /* implemented by Perl_pp_sin */
[OP_RAND] = Perl_pp_rand,
[OP_SRAND] = Perl_pp_srand,
[OP_EXP] = Perl_pp_exp, /* implemented by Perl_pp_sin */
[OP_LOG] = Perl_pp_log, /* implemented by Perl_pp_sin */
[OP_SQRT] = Perl_pp_sqrt, /* implemented by Perl_pp_sin */
[OP_INT] = Perl_pp_int,
[OP_HEX] = Perl_pp_hex, /* implemented by Perl_pp_oct */
[OP_OCT] = Perl_pp_oct,
[OP_ABS] = Perl_pp_abs,
[OP_LENGTH] = Perl_pp_length,
[OP_SUBSTR] = Perl_pp_substr,
[OP_VEC] = Perl_pp_vec,
[OP_INDEX] = Perl_pp_index,
[OP_RINDEX] = Perl_pp_rindex, /* implemented by Perl_pp_index */
[OP_SPRINTF] = Perl_pp_sprintf,
[OP_FORMLINE] = Perl_pp_formline,
[OP_ORD] = Perl_pp_ord,
[OP_CHR] = Perl_pp_chr,
[OP_CRYPT] = Perl_pp_crypt,
[OP_UCFIRST] = Perl_pp_ucfirst,
[OP_LCFIRST] = Perl_pp_lcfirst, /* implemented by Perl_pp_ucfirst */
[OP_UC] = Perl_pp_uc,
[OP_LC] = Perl_pp_lc,
[OP_QUOTEMETA] = Perl_pp_quotemeta,
[OP_RV2AV] = Perl_pp_rv2av,
[OP_AELEMFAST] = Perl_pp_aelemfast,
[OP_AELEMFAST_LEX] = Perl_pp_aelemfast_lex, /* implemented by Perl_pp_aelemfast */
[OP_AELEMFASTLEX_STORE] = Perl_pp_aelemfastlex_store,
[OP_AELEM] = Perl_pp_aelem,
[OP_ASLICE] = Perl_pp_aslice,
[OP_KVASLICE] = Perl_pp_kvaslice,
[OP_AEACH] = Perl_pp_aeach,
[OP_AVALUES] = Perl_pp_avalues, /* implemented by Perl_pp_akeys */
[OP_AKEYS] = Perl_pp_akeys,
[OP_EACH] = Perl_pp_each,
[OP_VALUES] = Perl_pp_values, /* implemented by Perl_do_kv */
[OP_KEYS] = Perl_pp_keys, /* implemented by Perl_do_kv */
[OP_DELETE] = Perl_pp_delete,
[OP_EXISTS] = Perl_pp_exists,
[OP_RV2HV] = Perl_pp_rv2hv, /* implemented by Perl_pp_rv2av */
[OP_HELEM] = Perl_pp_helem,
[OP_HSLICE] = Perl_pp_hslice,
[OP_KVHSLICE] = Perl_pp_kvhslice,
[OP_MULTIDEREF] = Perl_pp_multideref,
[OP_UNPACK] = Perl_pp_unpack,
[OP_PACK] = Perl_pp_pack,
[OP_SPLIT] = Perl_pp_split,
[OP_JOIN] = Perl_pp_join,
[OP_LIST] = Perl_pp_list,
[OP_LSLICE] = Perl_pp_lslice,
[OP_ANONLIST] = Perl_pp_anonlist,
[OP_ANONHASH] = Perl_pp_anonhash,
[OP_EMPTYAVHV] = Perl_pp_emptyavhv,
[OP_SPLICE] = Perl_pp_splice,
[OP_PUSH] = Perl_pp_push,
[OP_POP] = Perl_pp_pop, /* implemented by Perl_pp_shift */
[OP_SHIFT] = Perl_pp_shift,
[OP_UNSHIFT] = Perl_pp_unshift,
[OP_SORT] = Perl_pp_sort,
[OP_REVERSE] = Perl_pp_reverse,
[OP_GREPSTART] = Perl_pp_grepstart,
[OP_GREPWHILE] = Perl_pp_grepwhile,
[OP_MAPSTART] = Perl_pp_mapstart, /* implemented by Perl_pp_grepstart */
[OP_MAPWHILE] = Perl_pp_mapwhile,
[OP_RANGE] = Perl_pp_range,
[OP_FLIP] = Perl_pp_flip,
[OP_FLOP] = Perl_pp_flop,
[OP_AND] = Perl_pp_and,
[OP_OR] = Perl_pp_or,
[OP_XOR] = Perl_pp_xor,
[OP_DOR] = Perl_pp_dor, /* implemented by Perl_pp_defined */
[OP_COND_EXPR] = Perl_pp_cond_expr,
[OP_ANDASSIGN] = Perl_pp_andassign, /* implemented by Perl_pp_and */
[OP_ORASSIGN] = Perl_pp_orassign, /* implemented by Perl_pp_or */
[OP_DORASSIGN] = Perl_pp_dorassign, /* implemented by Perl_pp_defined */
[OP_ENTERSUB] = Perl_pp_entersub,
[OP_LEAVESUB] = Perl_pp_leavesub,
[OP_LEAVESUBLV] = Perl_pp_leavesublv,
[OP_ARGCHECK] = Perl_pp_argcheck,
[OP_ARGELEM] = Perl_pp_argelem,
[OP_ARGDEFELEM] = Perl_pp_argdefelem,
[OP_CALLER] = Perl_pp_caller,
[OP_WARN] = Perl_pp_warn,
[OP_DIE] = Perl_pp_die,
[OP_RESET] = Perl_pp_reset,
[OP_LINESEQ] = Perl_pp_lineseq, /* implemented by Perl_pp_null */
[OP_NEXTSTATE] = Perl_pp_nextstate,
[OP_DBSTATE] = Perl_pp_dbstate,
[OP_UNSTACK] = Perl_pp_unstack,
[OP_ENTER] = Perl_pp_enter,
[OP_LEAVE] = Perl_pp_leave,
[OP_SCOPE] = Perl_pp_scope, /* implemented by Perl_pp_null */
[OP_ENTERITER] = Perl_pp_enteriter,
[OP_ITER] = Perl_pp_iter,
[OP_ENTERLOOP] = Perl_pp_enterloop,
[OP_LEAVELOOP] = Perl_pp_leaveloop,
[OP_RETURN] = Perl_pp_return,
[OP_LAST] = Perl_pp_last,
[OP_NEXT] = Perl_pp_next,
[OP_REDO] = Perl_pp_redo,
[OP_DUMP] = Perl_pp_dump, /* implemented by Perl_pp_goto */
[OP_GOTO] = Perl_pp_goto,
[OP_EXIT] = Perl_pp_exit,
[OP_METHOD] = Perl_pp_method,
[OP_METHOD_NAMED] = Perl_pp_method_named,
[OP_METHOD_SUPER] = Perl_pp_method_super,
[OP_METHOD_REDIR] = Perl_pp_method_redir,
[OP_METHOD_REDIR_SUPER] = Perl_pp_method_redir_super,
[OP_ENTERGIVEN] = Perl_pp_entergiven,
[OP_LEAVEGIVEN] = Perl_pp_leavegiven,
[OP_ENTERWHEN] = Perl_pp_enterwhen,
[OP_LEAVEWHEN] = Perl_pp_leavewhen,
[OP_BREAK] = Perl_pp_break,
[OP_CONTINUE] = Perl_pp_continue,
[OP_OPEN] = Perl_pp_open,
[OP_CLOSE] = Perl_pp_close,
[OP_PIPE_OP] = Perl_pp_pipe_op,
[OP_FILENO] = Perl_pp_fileno,
[OP_UMASK] = Perl_pp_umask,
[OP_BINMODE] = Perl_pp_binmode,
[OP_TIE] = Perl_pp_tie,
[OP_UNTIE] = Perl_pp_untie,
[OP_TIED] = Perl_pp_tied,
[OP_DBMOPEN] = Perl_pp_dbmopen,
[OP_DBMCLOSE] = Perl_pp_dbmclose, /* implemented by Perl_pp_untie */
[OP_SSELECT] = Perl_pp_sselect,
[OP_SELECT] = Perl_pp_select,
[OP_GETC] = Perl_pp_getc,
[OP_READ] = Perl_pp_read, /* implemented by Perl_pp_sysread */
[OP_ENTERWRITE] = Perl_pp_enterwrite,
[OP_LEAVEWRITE] = Perl_pp_leavewrite,
[OP_PRTF] = Perl_pp_prtf,
[OP_PRINT] = Perl_pp_print,
[OP_SAY] = Perl_pp_say, /* implemented by Perl_pp_print */
[OP_SYSOPEN] = Perl_pp_sysopen,
[OP_SYSSEEK] = Perl_pp_sysseek,
[OP_SYSREAD] = Perl_pp_sysread,
[OP_SYSWRITE] = Perl_pp_syswrite,
[OP_EOF] = Perl_pp_eof,
[OP_TELL] = Perl_pp_tell,
[OP_SEEK] = Perl_pp_seek, /* implemented by Perl_pp_sysseek */
[OP_TRUNCATE] = Perl_pp_truncate,
[OP_FCNTL] = Perl_pp_fcntl, /* implemented by Perl_pp_ioctl */
[OP_IOCTL] = Perl_pp_ioctl,
[OP_FLOCK] = Perl_pp_flock,
[OP_SEND] = Perl_pp_send, /* implemented by Perl_pp_syswrite */
[OP_RECV] = Perl_pp_recv, /* implemented by Perl_pp_sysread */
[OP_SOCKET] = Perl_pp_socket,
[OP_SOCKPAIR] = Perl_pp_sockpair,
[OP_BIND] = Perl_pp_bind,
[OP_CONNECT] = Perl_pp_connect, /* implemented by Perl_pp_bind */
[OP_LISTEN] = Perl_pp_listen,
[OP_ACCEPT] = Perl_pp_accept,
[OP_SHUTDOWN] = Perl_pp_shutdown,
[OP_GSOCKOPT] = Perl_pp_gsockopt, /* implemented by Perl_pp_ssockopt */
[OP_SSOCKOPT] = Perl_pp_ssockopt,
[OP_GETSOCKNAME] = Perl_pp_getsockname, /* implemented by Perl_pp_getpeername */
[OP_GETPEERNAME] = Perl_pp_getpeername,
[OP_LSTAT] = Perl_pp_lstat, /* implemented by Perl_pp_stat */
[OP_STAT] = Perl_pp_stat,
[OP_FTRREAD] = Perl_pp_ftrread,
[OP_FTRWRITE] = Perl_pp_ftrwrite, /* implemented by Perl_pp_ftrread */
[OP_FTREXEC] = Perl_pp_ftrexec, /* implemented by Perl_pp_ftrread */
[OP_FTEREAD] = Perl_pp_fteread, /* implemented by Perl_pp_ftrread */
[OP_FTEWRITE] = Perl_pp_ftewrite, /* implemented by Perl_pp_ftrread */
[OP_FTEEXEC] = Perl_pp_fteexec, /* implemented by Perl_pp_ftrread */
[OP_FTIS] = Perl_pp_ftis,
[OP_FTSIZE] = Perl_pp_ftsize, /* implemented by Perl_pp_ftis */
[OP_FTMTIME] = Perl_pp_ftmtime, /* implemented by Perl_pp_ftis */
[OP_FTATIME] = Perl_pp_ftatime, /* implemented by Perl_pp_ftis */
[OP_FTCTIME] = Perl_pp_ftctime, /* implemented by Perl_pp_ftis */
[OP_FTROWNED] = Perl_pp_ftrowned,
[OP_FTEOWNED] = Perl_pp_fteowned, /* implemented by Perl_pp_ftrowned */
[OP_FTZERO] = Perl_pp_ftzero, /* implemented by Perl_pp_ftrowned */
[OP_FTSOCK] = Perl_pp_ftsock, /* implemented by Perl_pp_ftrowned */
[OP_FTCHR] = Perl_pp_ftchr, /* implemented by Perl_pp_ftrowned */
[OP_FTBLK] = Perl_pp_ftblk, /* implemented by Perl_pp_ftrowned */
[OP_FTFILE] = Perl_pp_ftfile, /* implemented by Perl_pp_ftrowned */
[OP_FTDIR] = Perl_pp_ftdir, /* implemented by Perl_pp_ftrowned */
[OP_FTPIPE] = Perl_pp_ftpipe, /* implemented by Perl_pp_ftrowned */
[OP_FTSUID] = Perl_pp_ftsuid, /* implemented by Perl_pp_ftrowned */
[OP_FTSGID] = Perl_pp_ftsgid, /* implemented by Perl_pp_ftrowned */
[OP_FTSVTX] = Perl_pp_ftsvtx, /* implemented by Perl_pp_ftrowned */
[OP_FTLINK] = Perl_pp_ftlink,
[OP_FTTTY] = Perl_pp_fttty,
[OP_FTTEXT] = Perl_pp_fttext,
[OP_FTBINARY] = Perl_pp_ftbinary, /* implemented by Perl_pp_fttext */
[OP_CHDIR] = Perl_pp_chdir,
[OP_CHOWN] = Perl_pp_chown,
[OP_CHROOT] = Perl_pp_chroot,
[OP_UNLINK] = Perl_pp_unlink, /* implemented by Perl_pp_chown */
[OP_CHMOD] = Perl_pp_chmod, /* implemented by Perl_pp_chown */
[OP_UTIME] = Perl_pp_utime, /* implemented by Perl_pp_chown */
[OP_RENAME] = Perl_pp_rename,
[OP_LINK] = Perl_pp_link,
[OP_SYMLINK] = Perl_pp_symlink, /* implemented by Perl_pp_link */
[OP_READLINK] = Perl_pp_readlink,
[OP_MKDIR] = Perl_pp_mkdir,
[OP_RMDIR] = Perl_pp_rmdir,
[OP_OPEN_DIR] = Perl_pp_open_dir,
[OP_READDIR] = Perl_pp_readdir,
[OP_TELLDIR] = Perl_pp_telldir,
[OP_SEEKDIR] = Perl_pp_seekdir,
[OP_REWINDDIR] = Perl_pp_rewinddir,
[OP_CLOSEDIR] = Perl_pp_closedir,
[OP_FORK] = Perl_pp_fork,
[OP_WAIT] = Perl_pp_wait,
[OP_WAITPID] = Perl_pp_waitpid,
[OP_SYSTEM] = Perl_pp_system,
[OP_EXEC] = Perl_pp_exec,
[OP_KILL] = Perl_pp_kill, /* implemented by Perl_pp_chown */
[OP_GETPPID] = Perl_pp_getppid,
[OP_GETPGRP] = Perl_pp_getpgrp,
[OP_SETPGRP] = Perl_pp_setpgrp,
[OP_GETPRIORITY] = Perl_pp_getpriority,
[OP_SETPRIORITY] = Perl_pp_setpriority,
[OP_TIME] = Perl_pp_time,
[OP_TMS] = Perl_pp_tms,
[OP_LOCALTIME] = Perl_pp_localtime, /* implemented by Perl_pp_gmtime */
[OP_GMTIME] = Perl_pp_gmtime,
[OP_ALARM] = Perl_pp_alarm,
[OP_SLEEP] = Perl_pp_sleep,
[OP_SHMGET] = Perl_pp_shmget, /* implemented by Perl_pp_semget */
[OP_SHMCTL] = Perl_pp_shmctl, /* implemented by Perl_pp_semctl */
[OP_SHMREAD] = Perl_pp_shmread, /* implemented by Perl_pp_shmwrite */
[OP_SHMWRITE] = Perl_pp_shmwrite,
[OP_MSGGET] = Perl_pp_msgget, /* implemented by Perl_pp_semget */
[OP_MSGCTL] = Perl_pp_msgctl, /* implemented by Perl_pp_semctl */
[OP_MSGSND] = Perl_pp_msgsnd, /* implemented by Perl_pp_shmwrite */
[OP_MSGRCV] = Perl_pp_msgrcv, /* implemented by Perl_pp_shmwrite */
[OP_SEMOP] = Perl_pp_semop, /* implemented by Perl_pp_shmwrite */
[OP_SEMGET] = Perl_pp_semget,
[OP_SEMCTL] = Perl_pp_semctl,
[OP_REQUIRE] = Perl_pp_require,
[OP_DOFILE] = Perl_pp_dofile, /* implemented by Perl_pp_require */
[OP_HINTSEVAL] = Perl_pp_hintseval,
[OP_ENTEREVAL] = Perl_pp_entereval,
[OP_LEAVEEVAL] = Perl_pp_leaveeval,
[OP_ENTERTRY] = Perl_pp_entertry,
[OP_LEAVETRY] = Perl_pp_leavetry,
[OP_GHBYNAME] = Perl_pp_ghbyname, /* implemented by Perl_pp_ghostent */
[OP_GHBYADDR] = Perl_pp_ghbyaddr, /* implemented by Perl_pp_ghostent */
[OP_GHOSTENT] = Perl_pp_ghostent,
[OP_GNBYNAME] = Perl_pp_gnbyname, /* implemented by Perl_pp_gnetent */
[OP_GNBYADDR] = Perl_pp_gnbyaddr, /* implemented by Perl_pp_gnetent */
[OP_GNETENT] = Perl_pp_gnetent,
[OP_GPBYNAME] = Perl_pp_gpbyname, /* implemented by Perl_pp_gprotoent */
[OP_GPBYNUMBER] = Perl_pp_gpbynumber, /* implemented by Perl_pp_gprotoent */
[OP_GPROTOENT] = Perl_pp_gprotoent,
[OP_GSBYNAME] = Perl_pp_gsbyname, /* implemented by Perl_pp_gservent */
[OP_GSBYPORT] = Perl_pp_gsbyport, /* implemented by Perl_pp_gservent */
[OP_GSERVENT] = Perl_pp_gservent,
[OP_SHOSTENT] = Perl_pp_shostent,
[OP_SNETENT] = Perl_pp_snetent, /* implemented by Perl_pp_shostent */
[OP_SPROTOENT] = Perl_pp_sprotoent, /* implemented by Perl_pp_shostent */
[OP_SSERVENT] = Perl_pp_sservent, /* implemented by Perl_pp_shostent */
[OP_EHOSTENT] = Perl_pp_ehostent,
[OP_ENETENT] = Perl_pp_enetent, /* implemented by Perl_pp_ehostent */
[OP_EPROTOENT] = Perl_pp_eprotoent, /* implemented by Perl_pp_ehostent */
[OP_ESERVENT] = Perl_pp_eservent, /* implemented by Perl_pp_ehostent */
[OP_GPWNAM] = Perl_pp_gpwnam, /* implemented by Perl_pp_gpwent */
[OP_GPWUID] = Perl_pp_gpwuid, /* implemented by Perl_pp_gpwent */
[OP_GPWENT] = Perl_pp_gpwent,
[OP_SPWENT] = Perl_pp_spwent, /* implemented by Perl_pp_ehostent */
[OP_EPWENT] = Perl_pp_epwent, /* implemented by Perl_pp_ehostent */
[OP_GGRNAM] = Perl_pp_ggrnam, /* implemented by Perl_pp_ggrent */
[OP_GGRGID] = Perl_pp_ggrgid, /* implemented by Perl_pp_ggrent */
[OP_GGRENT] = Perl_pp_ggrent,
[OP_SGRENT] = Perl_pp_sgrent, /* implemented by Perl_pp_ehostent */
[OP_EGRENT] = Perl_pp_egrent, /* implemented by Perl_pp_ehostent */
[OP_GETLOGIN] = Perl_pp_getlogin,
[OP_SYSCALL] = Perl_pp_syscall,
[OP_LOCK] = Perl_pp_lock,
[OP_ONCE] = Perl_pp_once,
[OP_CUSTOM] = Perl_pp_custom, /* implemented by Perl_unimplemented_op */
[OP_COREARGS] = Perl_pp_coreargs,
[OP_AVHVSWITCH] = Perl_pp_avhvswitch,
[OP_RUNCV] = Perl_pp_runcv,
[OP_FC] = Perl_pp_fc,
[OP_PADCV] = Perl_pp_padcv,
[OP_INTROCV] = Perl_pp_introcv,
[OP_CLONECV] = Perl_pp_clonecv,
[OP_PADRANGE] = Perl_pp_padrange,
[OP_REFASSIGN] = Perl_pp_refassign,
[OP_LVREF] = Perl_pp_lvref,
[OP_LVREFSLICE] = Perl_pp_lvrefslice,
[OP_LVAVREF] = Perl_pp_lvavref,
[OP_ANONCONST] = Perl_pp_anonconst,
[OP_ISA] = Perl_pp_isa,
[OP_CMPCHAIN_AND] = Perl_pp_cmpchain_and,
[OP_CMPCHAIN_DUP] = Perl_pp_cmpchain_dup,
[OP_ENTERTRYCATCH] = Perl_pp_entertrycatch,
[OP_LEAVETRYCATCH] = Perl_pp_leavetrycatch,
[OP_POPTRY] = Perl_pp_poptry,
[OP_CATCH] = Perl_pp_catch,
[OP_PUSHDEFER] = Perl_pp_pushdefer,
[OP_IS_BOOL] = Perl_pp_is_bool,
[OP_IS_WEAK] = Perl_pp_is_weak,
[OP_WEAKEN] = Perl_pp_weaken,
[OP_UNWEAKEN] = Perl_pp_unweaken,
[OP_BLESSED] = Perl_pp_blessed,
[OP_REFADDR] = Perl_pp_refaddr,
[OP_REFTYPE] = Perl_pp_reftype,
[OP_CEIL] = Perl_pp_ceil,
[OP_FLOOR] = Perl_pp_floor,
[OP_IS_TAINTED] = Perl_pp_is_tainted,
[OP_HELEMEXISTSOR] = Perl_pp_helemexistsor,
[OP_METHSTART] = Perl_pp_methstart,
[OP_INITFIELD] = Perl_pp_initfield,
});
EXT Perl_check_t PL_check[] /* or perlvars.h */
INIT({
[OP_NULL] = Perl_ck_null,
[OP_STUB] = Perl_ck_null,
[OP_SCALAR] = Perl_ck_fun,
[OP_PUSHMARK] = Perl_ck_null,
[OP_WANTARRAY] = Perl_ck_null,
[OP_CONST] = Perl_ck_svconst,
[OP_GVSV] = Perl_ck_null,
[OP_GV] = Perl_ck_null,
[OP_GELEM] = Perl_ck_null,
[OP_PADSV] = Perl_ck_null,
[OP_PADSV_STORE] = Perl_ck_sassign,
[OP_PADAV] = Perl_ck_null,
[OP_PADHV] = Perl_ck_null,
[OP_PADANY] = Perl_ck_null,
[OP_RV2GV] = Perl_ck_rvconst,
[OP_RV2SV] = Perl_ck_rvconst,
[OP_AV2ARYLEN] = Perl_ck_null,
[OP_RV2CV] = Perl_ck_rvconst,
[OP_ANONCODE] = Perl_ck_anoncode,
[OP_PROTOTYPE] = Perl_ck_prototype,
[OP_REFGEN] = Perl_ck_spair,
[OP_SREFGEN] = Perl_ck_null,
[OP_REF] = Perl_ck_fun,
[OP_BLESS] = Perl_ck_fun,
[OP_BACKTICK] = Perl_ck_backtick,
[OP_GLOB] = Perl_ck_glob,
[OP_READLINE] = Perl_ck_readline,
[OP_RCATLINE] = Perl_ck_null,
[OP_REGCMAYBE] = Perl_ck_fun,
[OP_REGCRESET] = Perl_ck_fun,
[OP_REGCOMP] = Perl_ck_null,
[OP_MATCH] = Perl_ck_match,
[OP_QR] = Perl_ck_match,
[OP_SUBST] = Perl_ck_match,
[OP_SUBSTCONT] = Perl_ck_null,
[OP_TRANS] = Perl_ck_match,
[OP_TRANSR] = Perl_ck_match,
[OP_SASSIGN] = Perl_ck_sassign,
[OP_AASSIGN] = Perl_ck_null,
[OP_CHOP] = Perl_ck_spair,
[OP_SCHOP] = Perl_ck_null,
[OP_CHOMP] = Perl_ck_spair,
[OP_SCHOMP] = Perl_ck_null,
[OP_DEFINED] = Perl_ck_defined,
[OP_UNDEF] = Perl_ck_fun,
[OP_STUDY] = Perl_ck_fun,
[OP_POS] = Perl_ck_fun,
[OP_PREINC] = Perl_ck_lfun,
[OP_I_PREINC] = Perl_ck_lfun,
[OP_PREDEC] = Perl_ck_lfun,
[OP_I_PREDEC] = Perl_ck_lfun,
[OP_POSTINC] = Perl_ck_lfun,
[OP_I_POSTINC] = Perl_ck_lfun,
[OP_POSTDEC] = Perl_ck_lfun,
[OP_I_POSTDEC] = Perl_ck_lfun,
[OP_POW] = Perl_ck_null,
[OP_MULTIPLY] = Perl_ck_null,
[OP_I_MULTIPLY] = Perl_ck_null,
[OP_DIVIDE] = Perl_ck_null,
[OP_I_DIVIDE] = Perl_ck_null,
[OP_MODULO] = Perl_ck_null,
[OP_I_MODULO] = Perl_ck_null,
[OP_REPEAT] = Perl_ck_repeat,
[OP_ADD] = Perl_ck_null,
[OP_I_ADD] = Perl_ck_null,
[OP_SUBTRACT] = Perl_ck_null,
[OP_I_SUBTRACT] = Perl_ck_null,
[OP_CONCAT] = Perl_ck_concat,
[OP_MULTICONCAT] = Perl_ck_null,
[OP_STRINGIFY] = Perl_ck_stringify,
[OP_LEFT_SHIFT] = Perl_ck_bitop,
[OP_RIGHT_SHIFT] = Perl_ck_bitop,
[OP_LT] = Perl_ck_cmp,
[OP_I_LT] = Perl_ck_cmp,
[OP_GT] = Perl_ck_cmp,
[OP_I_GT] = Perl_ck_cmp,
[OP_LE] = Perl_ck_cmp,
[OP_I_LE] = Perl_ck_cmp,
[OP_GE] = Perl_ck_cmp,
[OP_I_GE] = Perl_ck_cmp,
[OP_EQ] = Perl_ck_cmp,
[OP_I_EQ] = Perl_ck_cmp,
[OP_NE] = Perl_ck_cmp,
[OP_I_NE] = Perl_ck_cmp,
[OP_NCMP] = Perl_ck_null,
[OP_I_NCMP] = Perl_ck_null,
[OP_SLT] = Perl_ck_null,
[OP_SGT] = Perl_ck_null,
[OP_SLE] = Perl_ck_null,
[OP_SGE] = Perl_ck_null,
[OP_SEQ] = Perl_ck_null,
[OP_SNE] = Perl_ck_null,
[OP_SCMP] = Perl_ck_null,
[OP_BIT_AND] = Perl_ck_bitop,
[OP_BIT_XOR] = Perl_ck_bitop,
[OP_BIT_OR] = Perl_ck_bitop,
[OP_NBIT_AND] = Perl_ck_bitop,
[OP_NBIT_XOR] = Perl_ck_bitop,
[OP_NBIT_OR] = Perl_ck_bitop,
[OP_SBIT_AND] = Perl_ck_bitop,
[OP_SBIT_XOR] = Perl_ck_bitop,
[OP_SBIT_OR] = Perl_ck_bitop,
[OP_NEGATE] = Perl_ck_null,
[OP_I_NEGATE] = Perl_ck_null,
[OP_NOT] = Perl_ck_null,
[OP_COMPLEMENT] = Perl_ck_bitop,
[OP_NCOMPLEMENT] = Perl_ck_bitop,
[OP_SCOMPLEMENT] = Perl_ck_null,
[OP_SMARTMATCH] = Perl_ck_smartmatch,
[OP_ATAN2] = Perl_ck_fun,
[OP_SIN] = Perl_ck_fun,
[OP_COS] = Perl_ck_fun,
[OP_RAND] = Perl_ck_fun,
[OP_SRAND] = Perl_ck_fun,
[OP_EXP] = Perl_ck_fun,
[OP_LOG] = Perl_ck_fun,
[OP_SQRT] = Perl_ck_fun,
[OP_INT] = Perl_ck_fun,
[OP_HEX] = Perl_ck_fun,
[OP_OCT] = Perl_ck_fun,
[OP_ABS] = Perl_ck_fun,
[OP_LENGTH] = Perl_ck_length,
[OP_SUBSTR] = Perl_ck_substr,
[OP_VEC] = Perl_ck_fun,
[OP_INDEX] = Perl_ck_index,
[OP_RINDEX] = Perl_ck_index,
[OP_SPRINTF] = Perl_ck_lfun,
[OP_FORMLINE] = Perl_ck_fun,
[OP_ORD] = Perl_ck_fun,
[OP_CHR] = Perl_ck_fun,
[OP_CRYPT] = Perl_ck_fun,
[OP_UCFIRST] = Perl_ck_fun,
[OP_LCFIRST] = Perl_ck_fun,
[OP_UC] = Perl_ck_fun,
[OP_LC] = Perl_ck_fun,
[OP_QUOTEMETA] = Perl_ck_fun,
[OP_RV2AV] = Perl_ck_rvconst,
[OP_AELEMFAST] = Perl_ck_null,
[OP_AELEMFAST_LEX] = Perl_ck_null,
[OP_AELEMFASTLEX_STORE] = Perl_ck_null,
[OP_AELEM] = Perl_ck_null,
[OP_ASLICE] = Perl_ck_null,
[OP_KVASLICE] = Perl_ck_null,
[OP_AEACH] = Perl_ck_each,
[OP_AVALUES] = Perl_ck_each,
[OP_AKEYS] = Perl_ck_each,
[OP_EACH] = Perl_ck_each,
[OP_VALUES] = Perl_ck_each,
[OP_KEYS] = Perl_ck_each,
[OP_DELETE] = Perl_ck_delete,
[OP_EXISTS] = Perl_ck_exists,
[OP_RV2HV] = Perl_ck_rvconst,
[OP_HELEM] = Perl_ck_null,
[OP_HSLICE] = Perl_ck_null,
[OP_KVHSLICE] = Perl_ck_null,
[OP_MULTIDEREF] = Perl_ck_null,
[OP_UNPACK] = Perl_ck_fun,
[OP_PACK] = Perl_ck_fun,
[OP_SPLIT] = Perl_ck_split,
[OP_JOIN] = Perl_ck_join,
[OP_LIST] = Perl_ck_null,
[OP_LSLICE] = Perl_ck_null,
[OP_ANONLIST] = Perl_ck_fun,
[OP_ANONHASH] = Perl_ck_fun,
[OP_EMPTYAVHV] = Perl_ck_fun,
[OP_SPLICE] = Perl_ck_fun,
[OP_PUSH] = Perl_ck_fun,
[OP_POP] = Perl_ck_shift,
[OP_SHIFT] = Perl_ck_shift,
[OP_UNSHIFT] = Perl_ck_fun,
[OP_SORT] = Perl_ck_sort,
[OP_REVERSE] = Perl_ck_fun,
[OP_GREPSTART] = Perl_ck_grep,
[OP_GREPWHILE] = Perl_ck_null,
[OP_MAPSTART] = Perl_ck_grep,
[OP_MAPWHILE] = Perl_ck_null,
[OP_RANGE] = Perl_ck_null,
[OP_FLIP] = Perl_ck_null,
[OP_FLOP] = Perl_ck_null,
[OP_AND] = Perl_ck_null,
[OP_OR] = Perl_ck_null,
[OP_XOR] = Perl_ck_null,
[OP_DOR] = Perl_ck_null,
[OP_COND_EXPR] = Perl_ck_null,
[OP_ANDASSIGN] = Perl_ck_null,
[OP_ORASSIGN] = Perl_ck_null,
[OP_DORASSIGN] = Perl_ck_null,
[OP_ENTERSUB] = Perl_ck_subr,
[OP_LEAVESUB] = Perl_ck_null,
[OP_LEAVESUBLV] = Perl_ck_null,
[OP_ARGCHECK] = Perl_ck_null,
[OP_ARGELEM] = Perl_ck_null,
[OP_ARGDEFELEM] = Perl_ck_null,
[OP_CALLER] = Perl_ck_fun,
[OP_WARN] = Perl_ck_fun,
[OP_DIE] = Perl_ck_fun,
[OP_RESET] = Perl_ck_fun,
[OP_LINESEQ] = Perl_ck_null,
[OP_NEXTSTATE] = Perl_ck_null,
[OP_DBSTATE] = Perl_ck_null,
[OP_UNSTACK] = Perl_ck_null,
[OP_ENTER] = Perl_ck_null,
[OP_LEAVE] = Perl_ck_null,
[OP_SCOPE] = Perl_ck_null,
[OP_ENTERITER] = Perl_ck_null,
[OP_ITER] = Perl_ck_null,
[OP_ENTERLOOP] = Perl_ck_null,
[OP_LEAVELOOP] = Perl_ck_null,
[OP_RETURN] = Perl_ck_return,
[OP_LAST] = Perl_ck_null,
[OP_NEXT] = Perl_ck_null,
[OP_REDO] = Perl_ck_null,
[OP_DUMP] = Perl_ck_null,
[OP_GOTO] = Perl_ck_null,
[OP_EXIT] = Perl_ck_fun,
[OP_METHOD] = Perl_ck_method,
[OP_METHOD_NAMED] = Perl_ck_null,
[OP_METHOD_SUPER] = Perl_ck_null,
[OP_METHOD_REDIR] = Perl_ck_null,
[OP_METHOD_REDIR_SUPER] = Perl_ck_null,
[OP_ENTERGIVEN] = Perl_ck_null,
[OP_LEAVEGIVEN] = Perl_ck_null,
[OP_ENTERWHEN] = Perl_ck_null,
[OP_LEAVEWHEN] = Perl_ck_null,
[OP_BREAK] = Perl_ck_null,
[OP_CONTINUE] = Perl_ck_null,
[OP_OPEN] = Perl_ck_open,
[OP_CLOSE] = Perl_ck_fun,
[OP_PIPE_OP] = Perl_ck_fun,
[OP_FILENO] = Perl_ck_fun,
[OP_UMASK] = Perl_ck_fun,
[OP_BINMODE] = Perl_ck_fun,
[OP_TIE] = Perl_ck_fun,
[OP_UNTIE] = Perl_ck_fun,
[OP_TIED] = Perl_ck_fun,
[OP_DBMOPEN] = Perl_ck_fun,
[OP_DBMCLOSE] = Perl_ck_fun,
[OP_SSELECT] = Perl_ck_select,
[OP_SELECT] = Perl_ck_select,
[OP_GETC] = Perl_ck_eof,
[OP_READ] = Perl_ck_fun,
[OP_ENTERWRITE] = Perl_ck_fun,
[OP_LEAVEWRITE] = Perl_ck_null,
[OP_PRTF] = Perl_ck_listiob,
[OP_PRINT] = Perl_ck_listiob,
[OP_SAY] = Perl_ck_listiob,
[OP_SYSOPEN] = Perl_ck_fun,
[OP_SYSSEEK] = Perl_ck_fun,
[OP_SYSREAD] = Perl_ck_fun,
[OP_SYSWRITE] = Perl_ck_fun,
[OP_EOF] = Perl_ck_eof,
[OP_TELL] = Perl_ck_tell,
[OP_SEEK] = Perl_ck_tell,
[OP_TRUNCATE] = Perl_ck_trunc,
[OP_FCNTL] = Perl_ck_fun,
[OP_IOCTL] = Perl_ck_fun,
[OP_FLOCK] = Perl_ck_fun,
[OP_SEND] = Perl_ck_fun,
[OP_RECV] = Perl_ck_fun,
[OP_SOCKET] = Perl_ck_fun,
[OP_SOCKPAIR] = Perl_ck_fun,
[OP_BIND] = Perl_ck_fun,
[OP_CONNECT] = Perl_ck_fun,
[OP_LISTEN] = Perl_ck_fun,
[OP_ACCEPT] = Perl_ck_fun,
[OP_SHUTDOWN] = Perl_ck_fun,
[OP_GSOCKOPT] = Perl_ck_fun,
[OP_SSOCKOPT] = Perl_ck_fun,
[OP_GETSOCKNAME] = Perl_ck_fun,
[OP_GETPEERNAME] = Perl_ck_fun,
[OP_LSTAT] = Perl_ck_ftst,
[OP_STAT] = Perl_ck_ftst,
[OP_FTRREAD] = Perl_ck_ftst,
[OP_FTRWRITE] = Perl_ck_ftst,
[OP_FTREXEC] = Perl_ck_ftst,
[OP_FTEREAD] = Perl_ck_ftst,
[OP_FTEWRITE] = Perl_ck_ftst,
[OP_FTEEXEC] = Perl_ck_ftst,
[OP_FTIS] = Perl_ck_ftst,
[OP_FTSIZE] = Perl_ck_ftst,
[OP_FTMTIME] = Perl_ck_ftst,
[OP_FTATIME] = Perl_ck_ftst,
[OP_FTCTIME] = Perl_ck_ftst,
[OP_FTROWNED] = Perl_ck_ftst,
[OP_FTEOWNED] = Perl_ck_ftst,
[OP_FTZERO] = Perl_ck_ftst,
[OP_FTSOCK] = Perl_ck_ftst,
[OP_FTCHR] = Perl_ck_ftst,
[OP_FTBLK] = Perl_ck_ftst,
[OP_FTFILE] = Perl_ck_ftst,
[OP_FTDIR] = Perl_ck_ftst,
[OP_FTPIPE] = Perl_ck_ftst,
[OP_FTSUID] = Perl_ck_ftst,
[OP_FTSGID] = Perl_ck_ftst,
[OP_FTSVTX] = Perl_ck_ftst,
[OP_FTLINK] = Perl_ck_ftst,
[OP_FTTTY] = Perl_ck_ftst,
[OP_FTTEXT] = Perl_ck_ftst,
[OP_FTBINARY] = Perl_ck_ftst,
[OP_CHDIR] = Perl_ck_trunc,
[OP_CHOWN] = Perl_ck_fun,
[OP_CHROOT] = Perl_ck_fun,
[OP_UNLINK] = Perl_ck_fun,
[OP_CHMOD] = Perl_ck_fun,
[OP_UTIME] = Perl_ck_fun,
[OP_RENAME] = Perl_ck_fun,
[OP_LINK] = Perl_ck_fun,
[OP_SYMLINK] = Perl_ck_fun,
[OP_READLINK] = Perl_ck_fun,
[OP_MKDIR] = Perl_ck_fun,
[OP_RMDIR] = Perl_ck_fun,
[OP_OPEN_DIR] = Perl_ck_fun,
[OP_READDIR] = Perl_ck_fun,
[OP_TELLDIR] = Perl_ck_fun,
[OP_SEEKDIR] = Perl_ck_fun,
[OP_REWINDDIR] = Perl_ck_fun,
[OP_CLOSEDIR] = Perl_ck_fun,
[OP_FORK] = Perl_ck_null,
[OP_WAIT] = Perl_ck_null,
[OP_WAITPID] = Perl_ck_fun,
[OP_SYSTEM] = Perl_ck_exec,
[OP_EXEC] = Perl_ck_exec,
[OP_KILL] = Perl_ck_fun,
[OP_GETPPID] = Perl_ck_null,
[OP_GETPGRP] = Perl_ck_fun,
[OP_SETPGRP] = Perl_ck_fun,
[OP_GETPRIORITY] = Perl_ck_fun,
[OP_SETPRIORITY] = Perl_ck_fun,
[OP_TIME] = Perl_ck_null,
[OP_TMS] = Perl_ck_null,
[OP_LOCALTIME] = Perl_ck_fun,
[OP_GMTIME] = Perl_ck_fun,
[OP_ALARM] = Perl_ck_fun,
[OP_SLEEP] = Perl_ck_fun,
[OP_SHMGET] = Perl_ck_fun,
[OP_SHMCTL] = Perl_ck_fun,
[OP_SHMREAD] = Perl_ck_fun,
[OP_SHMWRITE] = Perl_ck_fun,
[OP_MSGGET] = Perl_ck_fun,
[OP_MSGCTL] = Perl_ck_fun,
[OP_MSGSND] = Perl_ck_fun,
[OP_MSGRCV] = Perl_ck_fun,
[OP_SEMOP] = Perl_ck_fun,
[OP_SEMGET] = Perl_ck_fun,
[OP_SEMCTL] = Perl_ck_fun,
[OP_REQUIRE] = Perl_ck_require,
[OP_DOFILE] = Perl_ck_fun,
[OP_HINTSEVAL] = Perl_ck_svconst,
[OP_ENTEREVAL] = Perl_ck_eval,
[OP_LEAVEEVAL] = Perl_ck_null,
[OP_ENTERTRY] = Perl_ck_eval,
[OP_LEAVETRY] = Perl_ck_null,
[OP_GHBYNAME] = Perl_ck_fun,
[OP_GHBYADDR] = Perl_ck_fun,
[OP_GHOSTENT] = Perl_ck_null,
[OP_GNBYNAME] = Perl_ck_fun,
[OP_GNBYADDR] = Perl_ck_fun,
[OP_GNETENT] = Perl_ck_null,
[OP_GPBYNAME] = Perl_ck_fun,
[OP_GPBYNUMBER] = Perl_ck_fun,
[OP_GPROTOENT] = Perl_ck_null,
[OP_GSBYNAME] = Perl_ck_fun,
[OP_GSBYPORT] = Perl_ck_fun,
[OP_GSERVENT] = Perl_ck_null,
[OP_SHOSTENT] = Perl_ck_fun,
[OP_SNETENT] = Perl_ck_fun,
[OP_SPROTOENT] = Perl_ck_fun,
[OP_SSERVENT] = Perl_ck_fun,
[OP_EHOSTENT] = Perl_ck_null,
[OP_ENETENT] = Perl_ck_null,
[OP_EPROTOENT] = Perl_ck_null,
[OP_ESERVENT] = Perl_ck_null,
[OP_GPWNAM] = Perl_ck_fun,
[OP_GPWUID] = Perl_ck_fun,
[OP_GPWENT] = Perl_ck_null,
[OP_SPWENT] = Perl_ck_null,
[OP_EPWENT] = Perl_ck_null,
[OP_GGRNAM] = Perl_ck_fun,
[OP_GGRGID] = Perl_ck_fun,
[OP_GGRENT] = Perl_ck_null,
[OP_SGRENT] = Perl_ck_null,
[OP_EGRENT] = Perl_ck_null,
[OP_GETLOGIN] = Perl_ck_null,
[OP_SYSCALL] = Perl_ck_fun,
[OP_LOCK] = Perl_ck_rfun,
[OP_ONCE] = Perl_ck_null,
[OP_CUSTOM] = Perl_ck_null,
[OP_COREARGS] = Perl_ck_null,
[OP_AVHVSWITCH] = Perl_ck_null,
[OP_RUNCV] = Perl_ck_null,
[OP_FC] = Perl_ck_fun,
[OP_PADCV] = Perl_ck_null,
[OP_INTROCV] = Perl_ck_null,
[OP_CLONECV] = Perl_ck_null,
[OP_PADRANGE] = Perl_ck_null,
[OP_REFASSIGN] = Perl_ck_refassign,
[OP_LVREF] = Perl_ck_null,
[OP_LVREFSLICE] = Perl_ck_null,
[OP_LVAVREF] = Perl_ck_null,
[OP_ANONCONST] = Perl_ck_null,
[OP_ISA] = Perl_ck_isa,
[OP_CMPCHAIN_AND] = Perl_ck_null,
[OP_CMPCHAIN_DUP] = Perl_ck_null,
[OP_ENTERTRYCATCH] = Perl_ck_trycatch,
[OP_LEAVETRYCATCH] = Perl_ck_null,
[OP_POPTRY] = Perl_ck_null,
[OP_CATCH] = Perl_ck_null,
[OP_PUSHDEFER] = Perl_ck_null,
[OP_IS_BOOL] = Perl_ck_null,
[OP_IS_WEAK] = Perl_ck_null,
[OP_WEAKEN] = Perl_ck_null,
[OP_UNWEAKEN] = Perl_ck_null,
[OP_BLESSED] = Perl_ck_null,
[OP_REFADDR] = Perl_ck_null,
[OP_REFTYPE] = Perl_ck_null,
[OP_CEIL] = Perl_ck_null,
[OP_FLOOR] = Perl_ck_null,
[OP_IS_TAINTED] = Perl_ck_null,
[OP_HELEMEXISTSOR] = Perl_ck_helemexistsor,
[OP_METHSTART] = Perl_ck_null,
[OP_INITFIELD] = Perl_ck_null,
});
EXTCONST U32 PL_opargs[] INIT({
[OP_NULL] = 0x00000000,
[OP_STUB] = 0x00000000,
[OP_SCALAR] = 0x00001b04,
[OP_PUSHMARK] = 0x00000004,
[OP_WANTARRAY] = 0x00000004,
[OP_CONST] = 0x00000604,
[OP_GVSV] = 0x00000644,
[OP_GV] = 0x00000644,
[OP_GELEM] = 0x00011244,
[OP_PADSV] = 0x00000044,
[OP_PADSV_STORE] = 0x00011104,
[OP_PADAV] = 0x00000040,
[OP_PADHV] = 0x00000040,
[OP_PADANY] = 0x00000040,
[OP_RV2GV] = 0x00000144,
[OP_RV2SV] = 0x00000144,
[OP_AV2ARYLEN] = 0x00000104,
[OP_RV2CV] = 0x00000140,
[OP_ANONCODE] = 0x00000604,
[OP_PROTOTYPE] = 0x00009b84,
[OP_REFGEN] = 0x00002101,
[OP_SREFGEN] = 0x00001106,
[OP_REF] = 0x00009b8c,
[OP_BLESS] = 0x00091404,
[OP_BACKTICK] = 0x00009b88,
[OP_GLOB] = 0x00009408,
[OP_READLINE] = 0x0000eb08,
[OP_RCATLINE] = 0x00000608,
[OP_REGCMAYBE] = 0x00001104,
[OP_REGCRESET] = 0x00001104,
[OP_REGCOMP] = 0x00001304,
[OP_MATCH] = 0x00000500,
[OP_QR] = 0x00000504,
[OP_SUBST] = 0x00001504,
[OP_SUBSTCONT] = 0x00000304,
[OP_TRANS] = 0x00001804,
[OP_TRANSR] = 0x00001804,
[OP_SASSIGN] = 0x00011204,
[OP_AASSIGN] = 0x00022208,
[OP_CHOP] = 0x00002b0d,
[OP_SCHOP] = 0x00009b8c,
[OP_CHOMP] = 0x00002b1d,
[OP_SCHOMP] = 0x00009b9c,
[OP_DEFINED] = 0x00009b84,
[OP_UNDEF] = 0x0000fb04,
[OP_STUDY] = 0x00009b84,
[OP_POS] = 0x0000fb8c,
[OP_PREINC] = 0x00001164,
[OP_I_PREINC] = 0x00001144,
[OP_PREDEC] = 0x00001164,
[OP_I_PREDEC] = 0x00001144,
[OP_POSTINC] = 0x0000112c,
[OP_I_POSTINC] = 0x0000110c,
[OP_POSTDEC] = 0x0000112c,
[OP_I_POSTDEC] = 0x0000110c,
[OP_POW] = 0x0001121e,
[OP_MULTIPLY] = 0x0001123e,
[OP_I_MULTIPLY] = 0x0001121e,
[OP_DIVIDE] = 0x0001123e,
[OP_I_DIVIDE] = 0x0001121e,
[OP_MODULO] = 0x0001123e,
[OP_I_MODULO] = 0x0001121e,
[OP_REPEAT] = 0x0001220b,
[OP_ADD] = 0x0001123e,
[OP_I_ADD] = 0x0001121e,
[OP_SUBTRACT] = 0x0001123e,
[OP_I_SUBTRACT] = 0x0001121e,
[OP_CONCAT] = 0x0001121e,
[OP_MULTICONCAT] = 0x00000f1c,
[OP_STRINGIFY] = 0x0000141e,
[OP_LEFT_SHIFT] = 0x0001121e,
[OP_RIGHT_SHIFT] = 0x0001121e,
[OP_LT] = 0x00011226,
[OP_I_LT] = 0x00011206,
[OP_GT] = 0x00011226,
[OP_I_GT] = 0x00011206,
[OP_LE] = 0x00011226,
[OP_I_LE] = 0x00011206,
[OP_GE] = 0x00011226,
[OP_I_GE] = 0x00011206,
[OP_EQ] = 0x00011226,
[OP_I_EQ] = 0x00011206,
[OP_NE] = 0x00011226,
[OP_I_NE] = 0x00011206,
[OP_NCMP] = 0x0001122e,
[OP_I_NCMP] = 0x0001120e,
[OP_SLT] = 0x00011206,
[OP_SGT] = 0x00011206,
[OP_SLE] = 0x00011206,
[OP_SGE] = 0x00011206,
[OP_SEQ] = 0x00011206,
[OP_SNE] = 0x00011206,
[OP_SCMP] = 0x0001120e,
[OP_BIT_AND] = 0x0001120e,
[OP_BIT_XOR] = 0x0001120e,
[OP_BIT_OR] = 0x0001120e,
[OP_NBIT_AND] = 0x0001121e,
[OP_NBIT_XOR] = 0x0001121e,
[OP_NBIT_OR] = 0x0001121e,
[OP_SBIT_AND] = 0x0001120e,
[OP_SBIT_XOR] = 0x0001120e,
[OP_SBIT_OR] = 0x0001120e,
[OP_NEGATE] = 0x0000112e,
[OP_I_NEGATE] = 0x0000110e,
[OP_NOT] = 0x00001106,
[OP_COMPLEMENT] = 0x0000110e,
[OP_NCOMPLEMENT] = 0x0000111e,
[OP_SCOMPLEMENT] = 0x0000111e,
[OP_SMARTMATCH] = 0x00000204,
[OP_ATAN2] = 0x0001141e,
[OP_SIN] = 0x00009b9e,
[OP_COS] = 0x00009b9e,
[OP_RAND] = 0x00009b1c,
[OP_SRAND] = 0x00009b1c,
[OP_EXP] = 0x00009b9e,
[OP_LOG] = 0x00009b9e,
[OP_SQRT] = 0x00009b9e,
[OP_INT] = 0x00009b9e,
[OP_HEX] = 0x00009b9e,
[OP_OCT] = 0x00009b9e,
[OP_ABS] = 0x00009b9e,
[OP_LENGTH] = 0x00009b9e,
[OP_SUBSTR] = 0x0991140c,
[OP_VEC] = 0x0011140c,
[OP_INDEX] = 0x0091141c,
[OP_RINDEX] = 0x0091141c,
[OP_SPRINTF] = 0x0002140f,
[OP_FORMLINE] = 0x00021405,
[OP_ORD] = 0x00009b9e,
[OP_CHR] = 0x00009b9e,
[OP_CRYPT] = 0x0001141e,
[OP_UCFIRST] = 0x00009b8e,
[OP_LCFIRST] = 0x00009b8e,
[OP_UC] = 0x00009b8e,
[OP_LC] = 0x00009b8e,
[OP_QUOTEMETA] = 0x00009b8e,
[OP_RV2AV] = 0x00000148,
[OP_AELEMFAST] = 0x00013644,
[OP_AELEMFAST_LEX] = 0x00013040,
[OP_AELEMFASTLEX_STORE] = 0x00013140,
[OP_AELEM] = 0x00013204,
[OP_ASLICE] = 0x00023401,
[OP_KVASLICE] = 0x00023401,
[OP_AEACH] = 0x00003b40,
[OP_AVALUES] = 0x00003b48,
[OP_AKEYS] = 0x00003b08,
[OP_EACH] = 0x00004b40,
[OP_VALUES] = 0x00004b48,
[OP_KEYS] = 0x00004b08,
[OP_DELETE] = 0x00001b00,
[OP_EXISTS] = 0x00001b04,
[OP_RV2HV] = 0x00000148,
[OP_HELEM] = 0x00014204,
[OP_HSLICE] = 0x00024401,
[OP_KVHSLICE] = 0x00024401,
[OP_MULTIDEREF] = 0x00000f44,
[OP_UNPACK] = 0x00091480,
[OP_PACK] = 0x0002140f,
[OP_SPLIT] = 0x00111508,
[OP_JOIN] = 0x0002140f,
[OP_LIST] = 0x00002401,
[OP_LSLICE] = 0x00224200,
[OP_ANONLIST] = 0x00002405,
[OP_ANONHASH] = 0x00002405,
[OP_EMPTYAVHV] = 0x0000241c,
[OP_SPLICE] = 0x02993401,
[OP_PUSH] = 0x0002341d,
[OP_POP] = 0x0000bb04,
[OP_SHIFT] = 0x0000bb04,
[OP_UNSHIFT] = 0x0002341d,
[OP_SORT] = 0x0002d401,
[OP_REVERSE] = 0x00002409,
[OP_GREPSTART] = 0x00025401,
[OP_GREPWHILE] = 0x00000308,
[OP_MAPSTART] = 0x00025401,
[OP_MAPWHILE] = 0x00000308,
[OP_RANGE] = 0x00011300,
[OP_FLIP] = 0x00011100,
[OP_FLOP] = 0x00000100,
[OP_AND] = 0x00000300,
[OP_OR] = 0x00000300,
[OP_XOR] = 0x00011206,
[OP_DOR] = 0x00000300,
[OP_COND_EXPR] = 0x00000300,
[OP_ANDASSIGN] = 0x00000304,
[OP_ORASSIGN] = 0x00000304,
[OP_DORASSIGN] = 0x00000304,
[OP_ENTERSUB] = 0x00002141,
[OP_LEAVESUB] = 0x00000100,
[OP_LEAVESUBLV] = 0x00000100,
[OP_ARGCHECK] = 0x00000f00,
[OP_ARGELEM] = 0x00000f00,
[OP_ARGDEFELEM] = 0x00000300,
[OP_CALLER] = 0x00009b08,
[OP_WARN] = 0x0000240d,
[OP_DIE] = 0x0000240d,
[OP_RESET] = 0x00009b04,
[OP_LINESEQ] = 0x00000400,
[OP_NEXTSTATE] = 0x00000a04,
[OP_DBSTATE] = 0x00000a04,
[OP_UNSTACK] = 0x00000004,
[OP_ENTER] = 0x00000000,
[OP_LEAVE] = 0x00000400,
[OP_SCOPE] = 0x00000400,
[OP_ENTERITER] = 0x00000940,
[OP_ITER] = 0x00000000,
[OP_ENTERLOOP] = 0x00000940,
[OP_LEAVELOOP] = 0x00000200,
[OP_RETURN] = 0x00002401,
[OP_LAST] = 0x00000d04,
[OP_NEXT] = 0x00000d04,
[OP_REDO] = 0x00000d04,
[OP_DUMP] = 0x00000d44,
[OP_GOTO] = 0x00000d04,
[OP_EXIT] = 0x00009b04,
[OP_METHOD] = 0x00000e40,
[OP_METHOD_NAMED] = 0x00000e40,
[OP_METHOD_SUPER] = 0x00000e40,
[OP_METHOD_REDIR] = 0x00000e40,
[OP_METHOD_REDIR_SUPER] = 0x00000e40,
[OP_ENTERGIVEN] = 0x00000340,
[OP_LEAVEGIVEN] = 0x00000100,
[OP_ENTERWHEN] = 0x00000340,
[OP_LEAVEWHEN] = 0x00000100,
[OP_BREAK] = 0x00000000,
[OP_CONTINUE] = 0x00000000,
[OP_OPEN] = 0x0029640d,
[OP_CLOSE] = 0x0000eb04,
[OP_PIPE_OP] = 0x00066404,
[OP_FILENO] = 0x00006b0c,
[OP_UMASK] = 0x00009b0c,
[OP_BINMODE] = 0x00096404,
[OP_TIE] = 0x00217445,
[OP_UNTIE] = 0x00007b04,
[OP_TIED] = 0x00007b44,
[OP_DBMOPEN] = 0x00114404,
[OP_DBMCLOSE] = 0x00004b04,
[OP_SSELECT] = 0x01111408,
[OP_SELECT] = 0x0000e40c,
[OP_GETC] = 0x0000eb0c,
[OP_READ] = 0x0917640d,
[OP_ENTERWRITE] = 0x0000eb04,
[OP_LEAVEWRITE] = 0x00000100,
[OP_PRTF] = 0x0002e405,
[OP_PRINT] = 0x0002e405,
[OP_SAY] = 0x0002e405,
[OP_SYSOPEN] = 0x09116404,
[OP_SYSSEEK] = 0x00116404,
[OP_SYSREAD] = 0x0917640d,
[OP_SYSWRITE] = 0x0991640d,
[OP_EOF] = 0x0000eb04,
[OP_TELL] = 0x0000eb0c,
[OP_SEEK] = 0x00116404,
[OP_TRUNCATE] = 0x00011404,
[OP_FCNTL] = 0x0011640c,
[OP_IOCTL] = 0x0011640c,
[OP_FLOCK] = 0x0001641c,
[OP_SEND] = 0x0911640d,
[OP_RECV] = 0x0117640d,
[OP_SOCKET] = 0x01116404,
[OP_SOCKPAIR] = 0x11166404,
[OP_BIND] = 0x00016404,
[OP_CONNECT] = 0x00016404,
[OP_LISTEN] = 0x00016404,
[OP_ACCEPT] = 0x0006640c,
[OP_SHUTDOWN] = 0x0001640c,
[OP_GSOCKOPT] = 0x00116404,
[OP_SSOCKOPT] = 0x01116404,
[OP_GETSOCKNAME] = 0x00006b04,
[OP_GETPEERNAME] = 0x00006b04,
[OP_LSTAT] = 0x0000ec80,
[OP_STAT] = 0x0000ec80,
[OP_FTRREAD] = 0x00006c84,
[OP_FTRWRITE] = 0x00006c84,
[OP_FTREXEC] = 0x00006c84,
[OP_FTEREAD] = 0x00006c84,
[OP_FTEWRITE] = 0x00006c84,
[OP_FTEEXEC] = 0x00006c84,
[OP_FTIS] = 0x00006c84,
[OP_FTSIZE] = 0x00006c8c,
[OP_FTMTIME] = 0x00006c8c,
[OP_FTATIME] = 0x00006c8c,
[OP_FTCTIME] = 0x00006c8c,
[OP_FTROWNED] = 0x00006c84,
[OP_FTEOWNED] = 0x00006c84,
[OP_FTZERO] = 0x00006c84,
[OP_FTSOCK] = 0x00006c84,
[OP_FTCHR] = 0x00006c84,
[OP_FTBLK] = 0x00006c84,
[OP_FTFILE] = 0x00006c84,
[OP_FTDIR] = 0x00006c84,
[OP_FTPIPE] = 0x00006c84,
[OP_FTSUID] = 0x00006c84,
[OP_FTSGID] = 0x00006c84,
[OP_FTSVTX] = 0x00006c84,
[OP_FTLINK] = 0x00006c84,
[OP_FTTTY] = 0x00006c04,
[OP_FTTEXT] = 0x00006c84,
[OP_FTBINARY] = 0x00006c84,
[OP_CHDIR] = 0x00009b1c,
[OP_CHOWN] = 0x0000241d,
[OP_CHROOT] = 0x00009b9c,
[OP_UNLINK] = 0x0000249d,
[OP_CHMOD] = 0x0000241d,
[OP_UTIME] = 0x0000241d,
[OP_RENAME] = 0x0001141c,
[OP_LINK] = 0x0001141c,
[OP_SYMLINK] = 0x0001141c,
[OP_READLINK] = 0x00009b8c,
[OP_MKDIR] = 0x0009949c,
[OP_RMDIR] = 0x00009b9c,
[OP_OPEN_DIR] = 0x00016404,
[OP_READDIR] = 0x00006b00,
[OP_TELLDIR] = 0x00006b0c,
[OP_SEEKDIR] = 0x00016404,
[OP_REWINDDIR] = 0x00006b04,
[OP_CLOSEDIR] = 0x00006b04,
[OP_FORK] = 0x0000000c,
[OP_WAIT] = 0x0000001c,
[OP_WAITPID] = 0x0001141c,
[OP_SYSTEM] = 0x0002941d,
[OP_EXEC] = 0x0002941d,
[OP_KILL] = 0x0000241d,
[OP_GETPPID] = 0x0000001c,
[OP_GETPGRP] = 0x00009b1c,
[OP_SETPGRP] = 0x0009941c,
[OP_GETPRIORITY] = 0x0001141c,
[OP_SETPRIORITY] = 0x0011141c,
[OP_TIME] = 0x0000001c,
[OP_TMS] = 0x00000000,
[OP_LOCALTIME] = 0x00009b08,
[OP_GMTIME] = 0x00009b08,
[OP_ALARM] = 0x00009b8c,
[OP_SLEEP] = 0x00009b1c,
[OP_SHMGET] = 0x0011140d,
[OP_SHMCTL] = 0x0011140d,
[OP_SHMREAD] = 0x0111140d,
[OP_SHMWRITE] = 0x0111140d,
[OP_MSGGET] = 0x0001140d,
[OP_MSGCTL] = 0x0011140d,
[OP_MSGSND] = 0x0011140d,
[OP_MSGRCV] = 0x1111140d,
[OP_SEMOP] = 0x0001140d,
[OP_SEMGET] = 0x0011140d,
[OP_SEMCTL] = 0x0111140d,
[OP_REQUIRE] = 0x00009bc4,
[OP_DOFILE] = 0x00001140,
[OP_HINTSEVAL] = 0x00000604,
[OP_ENTEREVAL] = 0x00009bc0,
[OP_LEAVEEVAL] = 0x00001100,
[OP_ENTERTRY] = 0x00000340,
[OP_LEAVETRY] = 0x00000400,
[OP_GHBYNAME] = 0x00001b00,
[OP_GHBYADDR] = 0x00011400,
[OP_GHOSTENT] = 0x00000000,
[OP_GNBYNAME] = 0x00001b00,
[OP_GNBYADDR] = 0x00011400,
[OP_GNETENT] = 0x00000000,
[OP_GPBYNAME] = 0x00001b00,
[OP_GPBYNUMBER] = 0x00001400,
[OP_GPROTOENT] = 0x00000000,
[OP_GSBYNAME] = 0x00011400,
[OP_GSBYPORT] = 0x00011400,
[OP_GSERVENT] = 0x00000000,
[OP_SHOSTENT] = 0x00001b04,
[OP_SNETENT] = 0x00001b04,
[OP_SPROTOENT] = 0x00001b04,
[OP_SSERVENT] = 0x00001b04,
[OP_EHOSTENT] = 0x00000004,
[OP_ENETENT] = 0x00000004,
[OP_EPROTOENT] = 0x00000004,
[OP_ESERVENT] = 0x00000004,
[OP_GPWNAM] = 0x00001b00,
[OP_GPWUID] = 0x00001b00,
[OP_GPWENT] = 0x00000000,
[OP_SPWENT] = 0x00000004,
[OP_EPWENT] = 0x00000004,
[OP_GGRNAM] = 0x00001b00,
[OP_GGRGID] = 0x00001b00,
[OP_GGRENT] = 0x00000000,
[OP_SGRENT] = 0x00000004,
[OP_EGRENT] = 0x00000004,
[OP_GETLOGIN] = 0x0000000c,
[OP_SYSCALL] = 0x0002140d,
[OP_LOCK] = 0x00007b04,
[OP_ONCE] = 0x00000300,
[OP_CUSTOM] = 0x00000000,
[OP_COREARGS] = 0x00000600,
[OP_AVHVSWITCH] = 0x00000108,
[OP_RUNCV] = 0x00000004,
[OP_FC] = 0x00009b8e,
[OP_PADCV] = 0x00000040,
[OP_INTROCV] = 0x00000040,
[OP_CLONECV] = 0x00000040,
[OP_PADRANGE] = 0x00000040,
[OP_REFASSIGN] = 0x00000244,
[OP_LVREF] = 0x00000b40,
[OP_LVREFSLICE] = 0x00000440,
[OP_LVAVREF] = 0x00000b40,
[OP_ANONCONST] = 0x00000144,
[OP_ISA] = 0x00000204,
[OP_CMPCHAIN_AND] = 0x00000300,
[OP_CMPCHAIN_DUP] = 0x00000100,
[OP_ENTERTRYCATCH] = 0x00000300,
[OP_LEAVETRYCATCH] = 0x00000400,
[OP_POPTRY] = 0x00000400,
[OP_CATCH] = 0x00000300,
[OP_PUSHDEFER] = 0x00000300,
[OP_IS_BOOL] = 0x00000106,
[OP_IS_WEAK] = 0x00000106,
[OP_WEAKEN] = 0x00000100,
[OP_UNWEAKEN] = 0x00000100,
[OP_BLESSED] = 0x00000106,
[OP_REFADDR] = 0x0000011e,
[OP_REFTYPE] = 0x0000011e,
[OP_CEIL] = 0x0000011e,
[OP_FLOOR] = 0x0000011e,
[OP_IS_TAINTED] = 0x00000106,
[OP_HELEMEXISTSOR] = 0x00011300,
[OP_METHSTART] = 0x00000f00,
[OP_INITFIELD] = 0x00000f00,
});
END_EXTERN_C
#define OPpARGELEM_SV 0x00
#define OPpLVREF_SV 0x00
#define OPpARG1_MASK 0x01
#define OPpCOREARGS_DEREF1 0x01
#define OPpENTERSUB_INARGS 0x01
#define OPpPADHV_ISKEYS 0x01
#define OPpRV2HV_ISKEYS 0x01
#define OPpSORT_NUMERIC 0x01
#define OPpTRANS_CAN_FORCE_UTF8 0x01
#define OPpARGELEM_AV 0x02
#define OPpCONST_NOVER 0x02
#define OPpCOREARGS_DEREF2 0x02
#define OPpEVAL_HAS_HH 0x02
#define OPpFT_ACCESS 0x02
#define OPpHINT_STRICT_REFS 0x02
#define OPpINITFIELD_AV 0x02
#define OPpITER_REVERSED 0x02
#define OPpSORT_INTEGER 0x02
#define OPpTRANS_USE_SVOP 0x02
#define OPpARG2_MASK 0x03
#define OPpAVHVSWITCH_MASK 0x03
#define OPpARGELEM_HV 0x04
#define OPpASSIGN_TRUEBOOL 0x04
#define OPpCONST_SHORTCIRCUIT 0x04
#define OPpDONT_INIT_GV 0x04
#define OPpENTERSUB_HASTARG 0x04
#define OPpEVAL_UNICODE 0x04
#define OPpFT_STACKED 0x04
#define OPpINITFIELD_HV 0x04
#define OPpLVREF_ELEM 0x04
#define OPpSLICEWARNING 0x04
#define OPpSORT_REVERSE 0x04
#define OPpSPLIT_IMPLIM 0x04
#define OPpTRANS_IDENTICAL 0x04
#define OPpUSEINT 0x04
#define OPpARGELEM_MASK 0x06
#define OPpARG3_MASK 0x07
#define OPpPADRANGE_COUNTSHIFT 0x07
#define OPpCONST_STRICT 0x08
#define OPpENTERSUB_AMPER 0x08
#define OPpEVAL_BYTES 0x08
#define OPpFT_STACKING 0x08
#define OPpITER_DEF 0x08
#define OPpLVREF_ITER 0x08
#define OPpMAYBE_LVSUB 0x08
#define OPpMULTICONCAT_STRINGIFY 0x08
#define OPpREVERSE_INPLACE 0x08
#define OPpSORT_INPLACE 0x08
#define OPpSPLIT_LEX 0x08
#define OPpTRANS_SQUASH 0x08
#define OPpARG4_MASK 0x0f
#define OPpASSIGN_COMMON_AGG 0x10
#define OPpCONST_ENTERED 0x10
#define OPpDEREF_AV 0x10
#define OPpEVAL_COPHH 0x10
#define OPpFT_AFTER_t 0x10
#define OPpLVREF_AV 0x10
#define OPpMAYBE_TRUEBOOL 0x10
#define OPpMULTIDEREF_EXISTS 0x10
#define OPpOPEN_IN_RAW 0x10
#define OPpSORT_DESCEND 0x10
#define OPpSPLIT_ASSIGN 0x10
#define OPpSUBSTR_REPL_FIRST 0x10
#define OPpTARGET_MY 0x10
#define OPpASSIGN_COMMON_RC1 0x20
#define OPpDEREF_HV 0x20
#define OPpEARLY_CV 0x20
#define OPpEMPTYAVHV_IS_HV 0x20
#define OPpEVAL_RE_REPARSING 0x20
#define OPpHUSH_VMSISH 0x20
#define OPpKVSLICE 0x20
#define OPpLVREF_HV 0x20
#define OPpMAY_RETURN_CONSTANT 0x20
#define OPpMULTICONCAT_FAKE 0x20
#define OPpMULTIDEREF_DELETE 0x20
#define OPpOPEN_IN_CRLF 0x20
#define OPpTRANS_COMPLEMENT 0x20
#define OPpTRUEBOOL 0x20
#define OPpUNDEF_KEEP_PV 0x20
#define OPpDEREF 0x30
#define OPpDEREF_SV 0x30
#define OPpLVREF_CV 0x30
#define OPpLVREF_TYPE 0x30
#define OPpALLOW_FAKE 0x40
#define OPpARG_IF_FALSE 0x40
#define OPpASSIGN_BACKWARDS 0x40
#define OPpASSIGN_COMMON_SCALAR 0x40
#define OPpCONCAT_NESTED 0x40
#define OPpCONST_BARE 0x40
#define OPpCOREARGS_SCALARMOD 0x40
#define OPpENTERSUB_DB 0x40
#define OPpEVAL_EVALSV 0x40
#define OPpEXISTS_SUB 0x40
#define OPpFLIP_LINENUM 0x40
#define OPpINDEX_BOOLNEG 0x40
#define OPpLIST_GUESSED 0x40
#define OPpLVAL_DEFER 0x40
#define OPpMULTICONCAT_APPEND 0x40
#define OPpOPEN_OUT_RAW 0x40
#define OPpOUR_INTRO 0x40
#define OPpPAD_STATE 0x40
#define OPpREFCOUNTED 0x40
#define OPpREPEAT_DOLIST 0x40
#define OPpSLICE 0x40
#define OPpTRANS_GROWS 0x40
#define OPpPADRANGE_COUNTMASK 0x7f
#define OPpARG_IF_UNDEF 0x80
#define OPpASSIGN_CV_TO_GV 0x80
#define OPpCOREARGS_PUSHMARK 0x80
#define OPpDEFER_FINALLY 0x80
#define OPpENTERSUB_NOPAREN 0x80
#define OPpHELEMEXISTSOR_DELETE 0x80
#define OPpINITFIELDS 0x80
#define OPpLVALUE 0x80
#define OPpLVAL_INTRO 0x80
#define OPpOFFBYONE 0x80
#define OPpOPEN_OUT_CRLF 0x80
#define OPpPV_IS_UTF8 0x80
#define OPpTRANS_DELETE 0x80
START_EXTERN_C
#ifndef DOINIT
/* data about the flags in op_private */
EXTCONST I16 PL_op_private_bitdef_ix[];
EXTCONST U16 PL_op_private_bitdefs[];
EXTCONST char PL_op_private_labels[];
EXTCONST I16 PL_op_private_bitfields[];
EXTCONST U8 PL_op_private_valid[];
#else
/* PL_op_private_labels[]: the short descriptions of private flags.
* All labels are concatenated into a single char array
* (separated by \0's) for compactness.
*/
EXTCONST char PL_op_private_labels[] = {
'$','M','O','D','\0',
'+','1','\0',
'-','\0',
'A','M','P','E','R','\0',
'A','N','O','N','H','A','S','H','\0',
'A','P','P','E','N','D','\0',
'A','S','S','I','G','N','\0',
'A','V','\0',
'B','A','R','E','\0',
'B','K','W','A','R','D','\0',
'B','O','O','L','\0',
'B','O','O','L','?','\0',
'B','Y','T','E','S','\0',
'C','A','N','_','F','O','R','C','E','_','U','T','F','8','\0',
'C','O','M','P','L','\0',
'C','O','M','_','A','G','G','\0',
'C','O','M','_','R','C','1','\0',
'C','O','M','_','S','C','A','L','A','R','\0',
'C','O','N','S','T','\0',
'C','O','P','H','H','\0',
'C','V','\0',
'C','V','2','G','V','\0',
'D','B','G','\0',
'D','E','F','\0',
'D','E','L','\0',
'D','E','L','E','T','E','\0',
'D','E','R','E','F','1','\0',
'D','E','R','E','F','2','\0',
'D','E','S','C','\0',
'D','O','L','I','S','T','\0',
'D','R','E','F','A','V','\0',
'D','R','E','F','H','V','\0',
'D','R','E','F','S','V','\0',
'E','A','R','L','Y','C','V','\0',
'E','L','E','M','\0',
'E','N','T','E','R','E','D','\0',
'E','V','A','L','S','V','\0',
'E','X','I','S','T','S','\0',
'F','A','K','E','\0',
'F','I','N','A','L','L','Y','\0',
'F','T','A','C','C','E','S','S','\0',
'F','T','A','F','T','E','R','t','\0',
'F','T','S','T','A','C','K','E','D','\0',
'F','T','S','T','A','C','K','I','N','G','\0',
'G','R','O','W','S','\0',
'G','U','E','S','S','E','D','\0',
'H','A','S','_','H','H','\0',
'H','U','S','H','\0',
'H','V','\0',
'I','D','E','N','T','\0',
'I','F','_','F','A','L','S','E','\0',
'I','F','_','U','N','D','E','F','\0',
'I','M','P','L','I','M','\0',
'I','N','A','R','G','S','\0',
'I','N','B','I','N','\0',
'I','N','C','R','\0',
'I','N','I','T','F','I','E','L','D','S','\0',
'I','N','I','T','F','I','E','L','D','_','A','V','\0',
'I','N','I','T','F','I','E','L','D','_','H','V','\0',
'I','N','P','L','A','C','E','\0',
'I','N','T','\0',
'I','T','E','R','\0',
'K','E','E','P','_','P','V','\0',
'K','E','Y','S','\0',
'K','V','S','L','I','C','E','\0',
'L','E','X','\0',
'L','I','N','E','N','U','M','\0',
'L','V','\0',
'L','V','D','E','F','E','R','\0',
'L','V','I','N','T','R','O','\0',
'L','V','S','U','B','\0',
'M','A','R','K','\0',
'N','E','G','\0',
'N','E','S','T','E','D','\0',
'N','O','(',')','\0',
'N','O','I','N','I','T','\0',
'N','O','V','E','R','\0',
'N','U','M','\0',
'O','U','R','I','N','T','R','\0',
'O','U','T','B','I','N','\0',
'O','U','T','C','R','\0',
'R','E','F','C','\0',
'R','E','P','A','R','S','E','\0',
'R','E','P','L','1','S','T','\0',
'R','E','V','\0',
'R','E','V','E','R','S','E','D','\0',
'S','H','O','R','T','\0',
'S','L','I','C','E','\0',
'S','L','I','C','E','W','A','R','N','\0',
'S','Q','U','A','S','H','\0',
'S','T','A','T','E','\0',
'S','T','R','I','C','T','\0',
'S','T','R','I','N','G','I','F','Y','\0',
'S','U','B','\0',
'S','V','\0',
'T','A','R','G','\0',
'T','A','R','G','M','Y','\0',
'U','N','I','\0',
'U','S','E','I','N','T','\0',
'U','S','E','_','S','V','O','P','\0',
'U','T','F','\0',
'k','e','y','\0',
'o','f','f','s','e','t','\0',
'r','a','n','g','e','\0',
};
/* PL_op_private_bitfields[]: details about each bit field type.
* Each definition consists of the following list of words:
* bitmin
* label (index into PL_op_private_labels[]; -1 if no label)
* repeat for each enum entry (if any):
* enum value
* enum label (index into PL_op_private_labels[])
* -1
*/
EXTCONST I16 PL_op_private_bitfields[] = {
0, 8, -1,
0, 8, -1,
0, 675, -1,
0, 8, -1,
0, 8, -1,
0, 682, -1,
0, 671, -1,
1, -1, 0, 632, 1, 39, 2, 319, -1,
4, -1, 1, 185, 2, 192, 3, 199, -1,
4, -1, 0, 632, 1, 39, 2, 319, 3, 131, -1,
};
/* PL_op_private_bitdef_ix[]: map an op number to a starting position
* in PL_op_private_bitdefs. If -1, the op has no bits defined */
EXTCONST I16 PL_op_private_bitdef_ix[] = {
[OP_NULL] = -1,
[OP_STUB] = -1,
[OP_SCALAR] = 0,
[OP_PUSHMARK] = 1,
[OP_WANTARRAY] = 3,
[OP_CONST] = 4,
[OP_GVSV] = 9,
[OP_GV] = 11,
[OP_GELEM] = 12,
[OP_PADSV] = 13,
[OP_PADSV_STORE] = 16,
[OP_PADAV] = 19,
[OP_PADHV] = 24,
[OP_PADANY] = -1,
[OP_RV2GV] = 31,
[OP_RV2SV] = 38,
[OP_AV2ARYLEN] = 43,
[OP_RV2CV] = 45,
[OP_ANONCODE] = -1,
[OP_PROTOTYPE] = 0,
[OP_REFGEN] = 0,
[OP_SREFGEN] = 0,
[OP_REF] = 52,
[OP_BLESS] = 55,
[OP_BACKTICK] = 56,
[OP_GLOB] = 55,
[OP_READLINE] = 0,
[OP_RCATLINE] = -1,
[OP_REGCMAYBE] = 0,
[OP_REGCRESET] = 0,
[OP_REGCOMP] = 0,
[OP_MATCH] = -1,
[OP_QR] = -1,
[OP_SUBST] = 61,
[OP_SUBSTCONT] = 0,
[OP_TRANS] = 62,
[OP_TRANSR] = 62,
[OP_SASSIGN] = 69,
[OP_AASSIGN] = 72,
[OP_CHOP] = 0,
[OP_SCHOP] = 0,
[OP_CHOMP] = 78,
[OP_SCHOMP] = 78,
[OP_DEFINED] = 0,
[OP_UNDEF] = 80,
[OP_STUDY] = 0,
[OP_POS] = 85,
[OP_PREINC] = 0,
[OP_I_PREINC] = 0,
[OP_PREDEC] = 0,
[OP_I_PREDEC] = 0,
[OP_POSTINC] = 0,
[OP_I_POSTINC] = 0,
[OP_POSTDEC] = 0,
[OP_I_POSTDEC] = 0,
[OP_POW] = 88,
[OP_MULTIPLY] = 88,
[OP_I_MULTIPLY] = 88,
[OP_DIVIDE] = 88,
[OP_I_DIVIDE] = 88,
[OP_MODULO] = 88,
[OP_I_MODULO] = 88,
[OP_REPEAT] = 90,
[OP_ADD] = 88,
[OP_I_ADD] = 88,
[OP_SUBTRACT] = 88,
[OP_I_SUBTRACT] = 88,
[OP_CONCAT] = 92,
[OP_MULTICONCAT] = 95,
[OP_STRINGIFY] = 101,
[OP_LEFT_SHIFT] = 103,
[OP_RIGHT_SHIFT] = 103,
[OP_LT] = 12,
[OP_I_LT] = 12,
[OP_GT] = 12,
[OP_I_GT] = 12,
[OP_LE] = 12,
[OP_I_LE] = 12,
[OP_GE] = 12,
[OP_I_GE] = 12,
[OP_EQ] = 12,
[OP_I_EQ] = 12,
[OP_NE] = 12,
[OP_I_NE] = 12,
[OP_NCMP] = 12,
[OP_I_NCMP] = 12,
[OP_SLT] = 12,
[OP_SGT] = 12,
[OP_SLE] = 12,
[OP_SGE] = 12,
[OP_SEQ] = 12,
[OP_SNE] = 12,
[OP_SCMP] = 12,
[OP_BIT_AND] = 105,
[OP_BIT_XOR] = 105,
[OP_BIT_OR] = 105,
[OP_NBIT_AND] = 103,
[OP_NBIT_XOR] = 103,
[OP_NBIT_OR] = 103,
[OP_SBIT_AND] = 105,
[OP_SBIT_XOR] = 105,
[OP_SBIT_OR] = 105,
[OP_NEGATE] = 0,
[OP_I_NEGATE] = 0,
[OP_NOT] = 0,
[OP_COMPLEMENT] = 105,
[OP_NCOMPLEMENT] = 103,
[OP_SCOMPLEMENT] = 78,
[OP_SMARTMATCH] = 12,
[OP_ATAN2] = 101,
[OP_SIN] = 78,
[OP_COS] = 78,
[OP_RAND] = 101,
[OP_SRAND] = 101,
[OP_EXP] = 78,
[OP_LOG] = 78,
[OP_SQRT] = 78,
[OP_INT] = 78,
[OP_HEX] = 78,
[OP_OCT] = 78,
[OP_ABS] = 78,
[OP_LENGTH] = 106,
[OP_SUBSTR] = 109,
[OP_VEC] = 112,
[OP_INDEX] = 114,
[OP_RINDEX] = 114,
[OP_SPRINTF] = 55,
[OP_FORMLINE] = 55,
[OP_ORD] = 78,
[OP_CHR] = 78,
[OP_CRYPT] = 101,
[OP_UCFIRST] = 0,
[OP_LCFIRST] = 0,
[OP_UC] = 0,
[OP_LC] = 0,
[OP_QUOTEMETA] = 0,
[OP_RV2AV] = 118,
[OP_AELEMFAST] = 125,
[OP_AELEMFAST_LEX] = 125,
[OP_AELEMFASTLEX_STORE] = 125,
[OP_AELEM] = 126,
[OP_ASLICE] = 131,
[OP_KVASLICE] = 134,
[OP_AEACH] = 0,
[OP_AVALUES] = 0,
[OP_AKEYS] = 43,
[OP_EACH] = 0,
[OP_VALUES] = 43,
[OP_KEYS] = 43,
[OP_DELETE] = 135,
[OP_EXISTS] = 139,
[OP_RV2HV] = 141,
[OP_HELEM] = 126,
[OP_HSLICE] = 131,
[OP_KVHSLICE] = 134,
[OP_MULTIDEREF] = 149,
[OP_UNPACK] = 55,
[OP_PACK] = 55,
[OP_SPLIT] = 156,
[OP_JOIN] = 55,
[OP_LIST] = 161,
[OP_LSLICE] = 12,
[OP_ANONLIST] = 55,
[OP_ANONHASH] = 55,
[OP_EMPTYAVHV] = 163,
[OP_SPLICE] = 55,
[OP_PUSH] = 101,
[OP_POP] = 0,
[OP_SHIFT] = 0,
[OP_UNSHIFT] = 101,
[OP_SORT] = 168,
[OP_REVERSE] = 173,
[OP_GREPSTART] = 0,
[OP_GREPWHILE] = 175,
[OP_MAPSTART] = 0,
[OP_MAPWHILE] = 0,
[OP_RANGE] = 0,
[OP_FLIP] = 177,
[OP_FLOP] = 177,
[OP_AND] = 0,
[OP_OR] = 0,
[OP_XOR] = 12,
[OP_DOR] = 0,
[OP_COND_EXPR] = 179,
[OP_ANDASSIGN] = 0,
[OP_ORASSIGN] = 0,
[OP_DORASSIGN] = 0,
[OP_ENTERSUB] = 181,
[OP_LEAVESUB] = 188,
[OP_LEAVESUBLV] = 188,
[OP_ARGCHECK] = 0,
[OP_ARGELEM] = 190,
[OP_ARGDEFELEM] = 192,
[OP_CALLER] = 195,
[OP_WARN] = 55,
[OP_DIE] = 55,
[OP_RESET] = 55,
[OP_LINESEQ] = -1,
[OP_NEXTSTATE] = 197,
[OP_DBSTATE] = 197,
[OP_UNSTACK] = -1,
[OP_ENTER] = -1,
[OP_LEAVE] = 198,
[OP_SCOPE] = -1,
[OP_ENTERITER] = 200,
[OP_ITER] = 204,
[OP_ENTERLOOP] = -1,
[OP_LEAVELOOP] = 205,
[OP_RETURN] = -1,
[OP_LAST] = 207,
[OP_NEXT] = 207,
[OP_REDO] = 207,
[OP_DUMP] = 207,
[OP_GOTO] = 207,
[OP_EXIT] = 55,
[OP_METHOD] = 0,
[OP_METHOD_NAMED] = 0,
[OP_METHOD_SUPER] = 0,
[OP_METHOD_REDIR] = 0,
[OP_METHOD_REDIR_SUPER] = 0,
[OP_ENTERGIVEN] = 0,
[OP_LEAVEGIVEN] = 0,
[OP_ENTERWHEN] = 0,
[OP_LEAVEWHEN] = 0,
[OP_BREAK] = -1,
[OP_CONTINUE] = -1,
[OP_OPEN] = 209,
[OP_CLOSE] = 55,
[OP_PIPE_OP] = 55,
[OP_FILENO] = 55,
[OP_UMASK] = 55,
[OP_BINMODE] = 55,
[OP_TIE] = 55,
[OP_UNTIE] = 0,
[OP_TIED] = 0,
[OP_DBMOPEN] = 55,
[OP_DBMCLOSE] = 0,
[OP_SSELECT] = 55,
[OP_SELECT] = 55,
[OP_GETC] = 55,
[OP_READ] = 55,
[OP_ENTERWRITE] = 55,
[OP_LEAVEWRITE] = 188,
[OP_PRTF] = -1,
[OP_PRINT] = -1,
[OP_SAY] = -1,
[OP_SYSOPEN] = 55,
[OP_SYSSEEK] = 55,
[OP_SYSREAD] = 55,
[OP_SYSWRITE] = 55,
[OP_EOF] = 55,
[OP_TELL] = 55,
[OP_SEEK] = 55,
[OP_TRUNCATE] = 55,
[OP_FCNTL] = 55,
[OP_IOCTL] = 55,
[OP_FLOCK] = 101,
[OP_SEND] = 55,
[OP_RECV] = 55,
[OP_SOCKET] = 55,
[OP_SOCKPAIR] = 55,
[OP_BIND] = 55,
[OP_CONNECT] = 55,
[OP_LISTEN] = 55,
[OP_ACCEPT] = 55,
[OP_SHUTDOWN] = 55,
[OP_GSOCKOPT] = 55,
[OP_SSOCKOPT] = 55,
[OP_GETSOCKNAME] = 0,
[OP_GETPEERNAME] = 0,
[OP_LSTAT] = 0,
[OP_STAT] = 0,
[OP_FTRREAD] = 214,
[OP_FTRWRITE] = 214,
[OP_FTREXEC] = 214,
[OP_FTEREAD] = 214,
[OP_FTEWRITE] = 214,
[OP_FTEEXEC] = 214,
[OP_FTIS] = 219,
[OP_FTSIZE] = 219,
[OP_FTMTIME] = 219,
[OP_FTATIME] = 219,
[OP_FTCTIME] = 219,
[OP_FTROWNED] = 219,
[OP_FTEOWNED] = 219,
[OP_FTZERO] = 219,
[OP_FTSOCK] = 219,
[OP_FTCHR] = 219,
[OP_FTBLK] = 219,
[OP_FTFILE] = 219,
[OP_FTDIR] = 219,
[OP_FTPIPE] = 219,
[OP_FTSUID] = 219,
[OP_FTSGID] = 219,
[OP_FTSVTX] = 219,
[OP_FTLINK] = 219,
[OP_FTTTY] = 219,
[OP_FTTEXT] = 219,
[OP_FTBINARY] = 219,
[OP_CHDIR] = 101,
[OP_CHOWN] = 101,
[OP_CHROOT] = 78,
[OP_UNLINK] = 101,
[OP_CHMOD] = 101,
[OP_UTIME] = 101,
[OP_RENAME] = 101,
[OP_LINK] = 101,
[OP_SYMLINK] = 101,
[OP_READLINK] = 0,
[OP_MKDIR] = 101,
[OP_RMDIR] = 78,
[OP_OPEN_DIR] = 55,
[OP_READDIR] = 0,
[OP_TELLDIR] = 0,
[OP_SEEKDIR] = 55,
[OP_REWINDDIR] = 0,
[OP_CLOSEDIR] = 0,
[OP_FORK] = -1,
[OP_WAIT] = 223,
[OP_WAITPID] = 101,
[OP_SYSTEM] = 101,
[OP_EXEC] = 101,
[OP_KILL] = 101,
[OP_GETPPID] = 223,
[OP_GETPGRP] = 101,
[OP_SETPGRP] = 101,
[OP_GETPRIORITY] = 101,
[OP_SETPRIORITY] = 101,
[OP_TIME] = 223,
[OP_TMS] = -1,
[OP_LOCALTIME] = 0,
[OP_GMTIME] = 55,
[OP_ALARM] = 0,
[OP_SLEEP] = 101,
[OP_SHMGET] = 55,
[OP_SHMCTL] = 55,
[OP_SHMREAD] = 55,
[OP_SHMWRITE] = 55,
[OP_MSGGET] = 55,
[OP_MSGCTL] = 55,
[OP_MSGSND] = 55,
[OP_MSGRCV] = 55,
[OP_SEMOP] = 55,
[OP_SEMGET] = 55,
[OP_SEMCTL] = 55,
[OP_REQUIRE] = 0,
[OP_DOFILE] = 0,
[OP_HINTSEVAL] = -1,
[OP_ENTEREVAL] = 224,
[OP_LEAVEEVAL] = 188,
[OP_ENTERTRY] = 0,
[OP_LEAVETRY] = -1,
[OP_GHBYNAME] = 0,
[OP_GHBYADDR] = 55,
[OP_GHOSTENT] = -1,
[OP_GNBYNAME] = 0,
[OP_GNBYADDR] = 55,
[OP_GNETENT] = -1,
[OP_GPBYNAME] = 0,
[OP_GPBYNUMBER] = 55,
[OP_GPROTOENT] = -1,
[OP_GSBYNAME] = 55,
[OP_GSBYPORT] = 55,
[OP_GSERVENT] = -1,
[OP_SHOSTENT] = 0,
[OP_SNETENT] = 0,
[OP_SPROTOENT] = 0,
[OP_SSERVENT] = 0,
[OP_EHOSTENT] = -1,
[OP_ENETENT] = -1,
[OP_EPROTOENT] = -1,
[OP_ESERVENT] = -1,
[OP_GPWNAM] = 0,
[OP_GPWUID] = 0,
[OP_GPWENT] = -1,
[OP_SPWENT] = -1,
[OP_EPWENT] = -1,
[OP_GGRNAM] = 0,
[OP_GGRGID] = 0,
[OP_GGRENT] = -1,
[OP_SGRENT] = -1,
[OP_EGRENT] = -1,
[OP_GETLOGIN] = -1,
[OP_SYSCALL] = 55,
[OP_LOCK] = 0,
[OP_ONCE] = 0,
[OP_CUSTOM] = -1,
[OP_COREARGS] = 231,
[OP_AVHVSWITCH] = 235,
[OP_RUNCV] = 3,
[OP_FC] = 0,
[OP_PADCV] = -1,
[OP_INTROCV] = -1,
[OP_CLONECV] = -1,
[OP_PADRANGE] = 237,
[OP_REFASSIGN] = 239,
[OP_LVREF] = 245,
[OP_LVREFSLICE] = 251,
[OP_LVAVREF] = 16,
[OP_ANONCONST] = 0,
[OP_ISA] = 12,
[OP_CMPCHAIN_AND] = 0,
[OP_CMPCHAIN_DUP] = 0,
[OP_ENTERTRYCATCH] = 0,
[OP_LEAVETRYCATCH] = -1,
[OP_POPTRY] = -1,
[OP_CATCH] = 0,
[OP_PUSHDEFER] = 252,
[OP_IS_BOOL] = 0,
[OP_IS_WEAK] = 0,
[OP_WEAKEN] = 0,
[OP_UNWEAKEN] = 0,
[OP_BLESSED] = 52,
[OP_REFADDR] = 78,
[OP_REFTYPE] = 78,
[OP_CEIL] = 78,
[OP_FLOOR] = 78,
[OP_IS_TAINTED] = 0,
[OP_HELEMEXISTSOR] = 254,
[OP_METHSTART] = 256,
[OP_INITFIELD] = 258,
};
/* PL_op_private_bitdefs[]: given a starting position in this array (as
* supplied by PL_op_private_bitdef_ix[]), each word (until a stop bit is
* seen) defines the meaning of a particular op_private bit for a
* particular op. Each word consists of:
* bit 0: stop bit: this is the last bit def for the current op
* bit 1: bitfield: if set, this defines a bit field rather than a flag
* bits 2..4: unsigned number in the range 0..7 which is the bit number
* bits 5..15: unsigned number in the range 0..2047 which is an index
* into PL_op_private_labels[] (for a flag), or
* into PL_op_private_bitfields[] (for a bit field)
*/
EXTCONST U16 PL_op_private_bitdefs[] = {
0x0003, /* scalar, prototype, refgen, srefgen, readline, regcmaybe, regcreset, regcomp, substcont, chop, schop, defined, study, preinc, i_preinc, predec, i_predec, postinc, i_postinc, postdec, i_postdec, negate, i_negate, not, ucfirst, lcfirst, uc, lc, quotemeta, aeach, avalues, each, pop, shift, grepstart, mapstart, mapwhile, range, and, or, dor, andassign, orassign, dorassign, argcheck, method, method_named, method_super, method_redir, method_redir_super, entergiven, leavegiven, enterwhen, leavewhen, untie, tied, dbmclose, getsockname, getpeername, lstat, stat, readlink, readdir, telldir, rewinddir, closedir, localtime, alarm, require, dofile, entertry, ghbyname, gnbyname, gpbyname, shostent, snetent, sprotoent, sservent, gpwnam, gpwuid, ggrnam, ggrgid, lock, once, fc, anonconst, cmpchain_and, cmpchain_dup, entertrycatch, catch, is_bool, is_weak, weaken, unweaken, is_tainted */
0x3abc, 0x4bb9, /* pushmark */
0x00bd, /* wantarray, runcv */
0x0558, 0x1b70, 0x4c6c, 0x4808, 0x3fe5, /* const */
0x3abc, 0x4139, /* gvsv */
0x19d5, /* gv */
0x0067, /* gelem, lt, i_lt, gt, i_gt, le, i_le, ge, i_ge, eq, i_eq, ne, i_ne, ncmp, i_ncmp, slt, sgt, sle, sge, seq, sne, scmp, smartmatch, lslice, xor, isa */
0x3abc, 0x4bb8, 0x03d7, /* padsv */
0x3abc, 0x4bb8, 0x0003, /* padsv_store, lvavref */
0x3abc, 0x4bb8, 0x06d4, 0x3bac, 0x4989, /* padav */
0x3abc, 0x4bb8, 0x06d4, 0x0770, 0x3bac, 0x4988, 0x3621, /* padhv */
0x3abc, 0x1e38, 0x03d6, 0x3bac, 0x3f08, 0x4c64, 0x0003, /* rv2gv */
0x3abc, 0x4138, 0x03d6, 0x4c64, 0x0003, /* rv2sv */
0x3bac, 0x0003, /* av2arylen, akeys, values, keys */
0x3e7c, 0x1198, 0x0ef4, 0x014c, 0x4f68, 0x4c64, 0x0003, /* rv2cv */
0x06d4, 0x0770, 0x0003, /* ref, blessed */
0x018f, /* bless, glob, sprintf, formline, unpack, pack, join, anonlist, anonhash, splice, warn, die, reset, exit, close, pipe_op, fileno, umask, binmode, tie, dbmopen, sselect, select, getc, read, enterwrite, sysopen, sysseek, sysread, syswrite, eof, tell, seek, truncate, fcntl, ioctl, send, recv, socket, sockpair, bind, connect, listen, accept, shutdown, gsockopt, ssockopt, open_dir, seekdir, gmtime, shmget, shmctl, shmread, shmwrite, msgget, msgctl, msgsnd, msgrcv, semop, semget, semctl, ghbyaddr, gnbyaddr, gpbynumber, gsbyname, gsbyport, syscall */
0x431c, 0x4238, 0x2dd4, 0x2d10, 0x0003, /* backtick */
0x06d5, /* subst */
0x129c, 0x24b8, 0x0ad4, 0x4acc, 0x2848, 0x5244, 0x08e1, /* trans, transr */
0x10dc, 0x05f8, 0x0067, /* sassign */
0x0d98, 0x0c94, 0x0b90, 0x3bac, 0x06c8, 0x0067, /* aassign */
0x5010, 0x0003, /* chomp, schomp, scomplement, sin, cos, exp, log, sqrt, int, hex, oct, abs, ord, chr, chroot, rmdir, refaddr, reftype, ceil, floor */
0x3abc, 0x4bb8, 0x3534, 0x5010, 0x0003, /* undef */
0x06d4, 0x3bac, 0x0003, /* pos */
0x5010, 0x0067, /* pow, multiply, i_multiply, divide, i_divide, modulo, i_modulo, add, i_add, subtract, i_subtract */
0x1658, 0x0067, /* repeat */
0x3d98, 0x5010, 0x0067, /* concat */
0x3abc, 0x0338, 0x1e34, 0x5010, 0x4d4c, 0x0003, /* multiconcat */
0x5010, 0x018f, /* stringify, atan2, rand, srand, crypt, push, unshift, flock, chdir, chown, unlink, chmod, utime, rename, link, symlink, mkdir, waitpid, system, exec, kill, getpgrp, setpgrp, getpriority, setpriority, sleep */
0x5010, 0x5169, /* left_shift, right_shift, nbit_and, nbit_xor, nbit_or, ncomplement */
0x5169, /* bit_and, bit_xor, bit_or, sbit_and, sbit_xor, sbit_or, complement */
0x06d4, 0x5010, 0x0003, /* length */
0x4570, 0x3bac, 0x012b, /* substr */
0x3bac, 0x0067, /* vec */
0x3d18, 0x06d4, 0x5010, 0x018f, /* index, rindex */
0x3abc, 0x4138, 0x06d4, 0x3bac, 0x4988, 0x4c64, 0x0003, /* rv2av */
0x025f, /* aelemfast, aelemfast_lex, aelemfastlex_store */
0x3abc, 0x39b8, 0x03d6, 0x3bac, 0x0067, /* aelem, helem */
0x3abc, 0x3bac, 0x4989, /* aslice, hslice */
0x3bad, /* kvaslice, kvhslice */
0x3abc, 0x48d8, 0x36d4, 0x0003, /* delete */
0x4e98, 0x0003, /* exists */
0x3abc, 0x4138, 0x06d4, 0x0770, 0x3bac, 0x4988, 0x4c64, 0x3621, /* rv2hv */
0x3abc, 0x39b8, 0x1314, 0x1d50, 0x3bac, 0x4c64, 0x0003, /* multideref */
0x3abc, 0x4138, 0x0410, 0x37cc, 0x2b49, /* split */
0x3abc, 0x2579, /* list */
0x3abc, 0x4bb8, 0x0214, 0x5010, 0x018f, /* emptyavhv */
0x15b0, 0x330c, 0x4668, 0x3404, 0x40a1, /* sort */
0x330c, 0x0003, /* reverse */
0x06d4, 0x0003, /* grepwhile */
0x3858, 0x0003, /* flip, flop */
0x3abc, 0x0003, /* cond_expr */
0x3abc, 0x1198, 0x03d6, 0x014c, 0x4f68, 0x4c64, 0x2c21, /* entersub */
0x43d8, 0x0003, /* leavesub, leavesublv, leavewrite, leaveeval */
0x02aa, 0x0003, /* argelem */
0x2a3c, 0x2918, 0x0003, /* argdefelem */
0x00bc, 0x018f, /* caller */
0x2755, /* nextstate, dbstate */
0x395c, 0x43d9, /* leave */
0x3abc, 0x4138, 0x120c, 0x46e5, /* enteriter */
0x46e5, /* iter */
0x395c, 0x0067, /* leaveloop */
0x537c, 0x0003, /* last, next, redo, dump, goto */
0x431c, 0x4238, 0x2dd4, 0x2d10, 0x018f, /* open */
0x20f0, 0x234c, 0x2208, 0x1fc4, 0x0003, /* ftrread, ftrwrite, ftrexec, fteread, ftewrite, fteexec */
0x20f0, 0x234c, 0x2208, 0x0003, /* ftis, ftsize, ftmtime, ftatime, ftctime, ftrowned, fteowned, ftzero, ftsock, ftchr, ftblk, ftfile, ftdir, ftpipe, ftsuid, ftsgid, ftsvtx, ftlink, fttty, fttext, ftbinary */
0x5011, /* wait, getppid, time */
0x1c78, 0x4474, 0x0fb0, 0x082c, 0x50e8, 0x2664, 0x0003, /* entereval */
0x3c7c, 0x0018, 0x14c4, 0x13e1, /* coreargs */
0x3bac, 0x00c7, /* avhvswitch */
0x3abc, 0x01fb, /* padrange */
0x3abc, 0x4bb8, 0x04f6, 0x348c, 0x1ac8, 0x0067, /* refassign */
0x3abc, 0x4bb8, 0x04f6, 0x348c, 0x1ac8, 0x0003, /* lvref */
0x3abd, /* lvrefslice */
0x1edc, 0x0003, /* pushdefer */
0x131c, 0x0003, /* helemexistsor */
0x2e7c, 0x0003, /* methstart */
0x3168, 0x2fc4, 0x0003, /* initfield */
};
/* PL_op_private_valid: for each op, indexed by op_type, indicate which
* flags bits in op_private are legal */
EXTCONST U8 PL_op_private_valid[] = {
[OP_NULL] = (0xff),
[OP_STUB] = (0),
[OP_SCALAR] = (OPpARG1_MASK),
[OP_PUSHMARK] = (OPpPAD_STATE|OPpLVAL_INTRO),
[OP_WANTARRAY] = (OPpOFFBYONE),
[OP_CONST] = (OPpCONST_NOVER|OPpCONST_SHORTCIRCUIT|OPpCONST_STRICT|OPpCONST_ENTERED|OPpCONST_BARE),
[OP_GVSV] = (OPpOUR_INTRO|OPpLVAL_INTRO),
[OP_GV] = (OPpEARLY_CV),
[OP_GELEM] = (OPpARG2_MASK),
[OP_PADSV] = (OPpDEREF|OPpPAD_STATE|OPpLVAL_INTRO),
[OP_PADSV_STORE] = (OPpARG1_MASK|OPpPAD_STATE|OPpLVAL_INTRO),
[OP_PADAV] = (OPpSLICEWARNING|OPpMAYBE_LVSUB|OPpTRUEBOOL|OPpPAD_STATE|OPpLVAL_INTRO),
[OP_PADHV] = (OPpPADHV_ISKEYS|OPpSLICEWARNING|OPpMAYBE_LVSUB|OPpMAYBE_TRUEBOOL|OPpTRUEBOOL|OPpPAD_STATE|OPpLVAL_INTRO),
[OP_PADANY] = (0),
[OP_RV2GV] = (OPpARG1_MASK|OPpHINT_STRICT_REFS|OPpDONT_INIT_GV|OPpMAYBE_LVSUB|OPpDEREF|OPpALLOW_FAKE|OPpLVAL_INTRO),
[OP_RV2SV] = (OPpARG1_MASK|OPpHINT_STRICT_REFS|OPpDEREF|OPpOUR_INTRO|OPpLVAL_INTRO),
[OP_AV2ARYLEN] = (OPpARG1_MASK|OPpMAYBE_LVSUB),
[OP_RV2CV] = (OPpARG1_MASK|OPpHINT_STRICT_REFS|OPpENTERSUB_HASTARG|OPpENTERSUB_AMPER|OPpMAY_RETURN_CONSTANT|OPpENTERSUB_DB|OPpENTERSUB_NOPAREN),
[OP_ANONCODE] = (0),
[OP_PROTOTYPE] = (OPpARG1_MASK),
[OP_REFGEN] = (OPpARG1_MASK),
[OP_SREFGEN] = (OPpARG1_MASK),
[OP_REF] = (OPpARG1_MASK|OPpMAYBE_TRUEBOOL|OPpTRUEBOOL),
[OP_BLESS] = (OPpARG4_MASK),
[OP_BACKTICK] = (OPpARG1_MASK|OPpOPEN_IN_RAW|OPpOPEN_IN_CRLF|OPpOPEN_OUT_RAW|OPpOPEN_OUT_CRLF),
[OP_GLOB] = (OPpARG4_MASK),
[OP_READLINE] = (OPpARG1_MASK),
[OP_RCATLINE] = (0),
[OP_REGCMAYBE] = (OPpARG1_MASK),
[OP_REGCRESET] = (OPpARG1_MASK),
[OP_REGCOMP] = (OPpARG1_MASK),
[OP_MATCH] = (0),
[OP_QR] = (0),
[OP_SUBST] = (OPpTRUEBOOL),
[OP_SUBSTCONT] = (OPpARG1_MASK),
[OP_TRANS] = (OPpTRANS_CAN_FORCE_UTF8|OPpTRANS_USE_SVOP|OPpTRANS_IDENTICAL|OPpTRANS_SQUASH|OPpTRANS_COMPLEMENT|OPpTRANS_GROWS|OPpTRANS_DELETE),
[OP_TRANSR] = (OPpTRANS_CAN_FORCE_UTF8|OPpTRANS_USE_SVOP|OPpTRANS_IDENTICAL|OPpTRANS_SQUASH|OPpTRANS_COMPLEMENT|OPpTRANS_GROWS|OPpTRANS_DELETE),
[OP_SASSIGN] = (OPpARG2_MASK|OPpASSIGN_BACKWARDS|OPpASSIGN_CV_TO_GV),
[OP_AASSIGN] = (OPpARG2_MASK|OPpASSIGN_TRUEBOOL|OPpMAYBE_LVSUB|OPpASSIGN_COMMON_AGG|OPpASSIGN_COMMON_RC1|OPpASSIGN_COMMON_SCALAR),
[OP_CHOP] = (OPpARG1_MASK),
[OP_SCHOP] = (OPpARG1_MASK),
[OP_CHOMP] = (OPpARG1_MASK|OPpTARGET_MY),
[OP_SCHOMP] = (OPpARG1_MASK|OPpTARGET_MY),
[OP_DEFINED] = (OPpARG1_MASK),
[OP_UNDEF] = (OPpARG1_MASK|OPpTARGET_MY|OPpUNDEF_KEEP_PV|OPpPAD_STATE|OPpLVAL_INTRO),
[OP_STUDY] = (OPpARG1_MASK),
[OP_POS] = (OPpARG1_MASK|OPpMAYBE_LVSUB|OPpTRUEBOOL),
[OP_PREINC] = (OPpARG1_MASK),
[OP_I_PREINC] = (OPpARG1_MASK),
[OP_PREDEC] = (OPpARG1_MASK),
[OP_I_PREDEC] = (OPpARG1_MASK),
[OP_POSTINC] = (OPpARG1_MASK),
[OP_I_POSTINC] = (OPpARG1_MASK),
[OP_POSTDEC] = (OPpARG1_MASK),
[OP_I_POSTDEC] = (OPpARG1_MASK),
[OP_POW] = (OPpARG2_MASK|OPpTARGET_MY),
[OP_MULTIPLY] = (OPpARG2_MASK|OPpTARGET_MY),
[OP_I_MULTIPLY] = (OPpARG2_MASK|OPpTARGET_MY),
[OP_DIVIDE] = (OPpARG2_MASK|OPpTARGET_MY),
[OP_I_DIVIDE] = (OPpARG2_MASK|OPpTARGET_MY),
[OP_MODULO] = (OPpARG2_MASK|OPpTARGET_MY),
[OP_I_MODULO] = (OPpARG2_MASK|OPpTARGET_MY),
[OP_REPEAT] = (OPpARG2_MASK|OPpREPEAT_DOLIST),
[OP_ADD] = (OPpARG2_MASK|OPpTARGET_MY),
[OP_I_ADD] = (OPpARG2_MASK|OPpTARGET_MY),
[OP_SUBTRACT] = (OPpARG2_MASK|OPpTARGET_MY),
[OP_I_SUBTRACT] = (OPpARG2_MASK|OPpTARGET_MY),
[OP_CONCAT] = (OPpARG2_MASK|OPpTARGET_MY|OPpCONCAT_NESTED),
[OP_MULTICONCAT] = (OPpARG1_MASK|OPpMULTICONCAT_STRINGIFY|OPpTARGET_MY|OPpMULTICONCAT_FAKE|OPpMULTICONCAT_APPEND|OPpLVAL_INTRO),
[OP_STRINGIFY] = (OPpARG4_MASK|OPpTARGET_MY),
[OP_LEFT_SHIFT] = (OPpUSEINT|OPpTARGET_MY),
[OP_RIGHT_SHIFT] = (OPpUSEINT|OPpTARGET_MY),
[OP_LT] = (OPpARG2_MASK),
[OP_I_LT] = (OPpARG2_MASK),
[OP_GT] = (OPpARG2_MASK),
[OP_I_GT] = (OPpARG2_MASK),
[OP_LE] = (OPpARG2_MASK),
[OP_I_LE] = (OPpARG2_MASK),
[OP_GE] = (OPpARG2_MASK),
[OP_I_GE] = (OPpARG2_MASK),
[OP_EQ] = (OPpARG2_MASK),
[OP_I_EQ] = (OPpARG2_MASK),
[OP_NE] = (OPpARG2_MASK),
[OP_I_NE] = (OPpARG2_MASK),
[OP_NCMP] = (OPpARG2_MASK),
[OP_I_NCMP] = (OPpARG2_MASK),
[OP_SLT] = (OPpARG2_MASK),
[OP_SGT] = (OPpARG2_MASK),
[OP_SLE] = (OPpARG2_MASK),
[OP_SGE] = (OPpARG2_MASK),
[OP_SEQ] = (OPpARG2_MASK),
[OP_SNE] = (OPpARG2_MASK),
[OP_SCMP] = (OPpARG2_MASK),
[OP_BIT_AND] = (OPpUSEINT),
[OP_BIT_XOR] = (OPpUSEINT),
[OP_BIT_OR] = (OPpUSEINT),
[OP_NBIT_AND] = (OPpUSEINT|OPpTARGET_MY),
[OP_NBIT_XOR] = (OPpUSEINT|OPpTARGET_MY),
[OP_NBIT_OR] = (OPpUSEINT|OPpTARGET_MY),
[OP_SBIT_AND] = (OPpUSEINT),
[OP_SBIT_XOR] = (OPpUSEINT),
[OP_SBIT_OR] = (OPpUSEINT),
[OP_NEGATE] = (OPpARG1_MASK),
[OP_I_NEGATE] = (OPpARG1_MASK),
[OP_NOT] = (OPpARG1_MASK),
[OP_COMPLEMENT] = (OPpUSEINT),
[OP_NCOMPLEMENT] = (OPpUSEINT|OPpTARGET_MY),
[OP_SCOMPLEMENT] = (OPpARG1_MASK|OPpTARGET_MY),
[OP_SMARTMATCH] = (OPpARG2_MASK),
[OP_ATAN2] = (OPpARG4_MASK|OPpTARGET_MY),
[OP_SIN] = (OPpARG1_MASK|OPpTARGET_MY),
[OP_COS] = (OPpARG1_MASK|OPpTARGET_MY),
[OP_RAND] = (OPpARG4_MASK|OPpTARGET_MY),
[OP_SRAND] = (OPpARG4_MASK|OPpTARGET_MY),
[OP_EXP] = (OPpARG1_MASK|OPpTARGET_MY),
[OP_LOG] = (OPpARG1_MASK|OPpTARGET_MY),
[OP_SQRT] = (OPpARG1_MASK|OPpTARGET_MY),
[OP_INT] = (OPpARG1_MASK|OPpTARGET_MY),
[OP_HEX] = (OPpARG1_MASK|OPpTARGET_MY),
[OP_OCT] = (OPpARG1_MASK|OPpTARGET_MY),
[OP_ABS] = (OPpARG1_MASK|OPpTARGET_MY),
[OP_LENGTH] = (OPpARG1_MASK|OPpTARGET_MY|OPpTRUEBOOL),
[OP_SUBSTR] = (OPpARG3_MASK|OPpMAYBE_LVSUB|OPpSUBSTR_REPL_FIRST),
[OP_VEC] = (OPpARG2_MASK|OPpMAYBE_LVSUB),
[OP_INDEX] = (OPpARG4_MASK|OPpTARGET_MY|OPpTRUEBOOL|OPpINDEX_BOOLNEG),
[OP_RINDEX] = (OPpARG4_MASK|OPpTARGET_MY|OPpTRUEBOOL|OPpINDEX_BOOLNEG),
[OP_SPRINTF] = (OPpARG4_MASK),
[OP_FORMLINE] = (OPpARG4_MASK),
[OP_ORD] = (OPpARG1_MASK|OPpTARGET_MY),
[OP_CHR] = (OPpARG1_MASK|OPpTARGET_MY),
[OP_CRYPT] = (OPpARG4_MASK|OPpTARGET_MY),
[OP_UCFIRST] = (OPpARG1_MASK),
[OP_LCFIRST] = (OPpARG1_MASK),
[OP_UC] = (OPpARG1_MASK),
[OP_LC] = (OPpARG1_MASK),
[OP_QUOTEMETA] = (OPpARG1_MASK),
[OP_RV2AV] = (OPpARG1_MASK|OPpHINT_STRICT_REFS|OPpSLICEWARNING|OPpMAYBE_LVSUB|OPpTRUEBOOL|OPpOUR_INTRO|OPpLVAL_INTRO),
[OP_AELEMFAST] = (255),
[OP_AELEMFAST_LEX] = (255),
[OP_AELEMFASTLEX_STORE] = (255),
[OP_AELEM] = (OPpARG2_MASK|OPpMAYBE_LVSUB|OPpDEREF|OPpLVAL_DEFER|OPpLVAL_INTRO),
[OP_ASLICE] = (OPpSLICEWARNING|OPpMAYBE_LVSUB|OPpLVAL_INTRO),
[OP_KVASLICE] = (OPpMAYBE_LVSUB),
[OP_AEACH] = (OPpARG1_MASK),
[OP_AVALUES] = (OPpARG1_MASK),
[OP_AKEYS] = (OPpARG1_MASK|OPpMAYBE_LVSUB),
[OP_EACH] = (OPpARG1_MASK),
[OP_VALUES] = (OPpARG1_MASK|OPpMAYBE_LVSUB),
[OP_KEYS] = (OPpARG1_MASK|OPpMAYBE_LVSUB),
[OP_DELETE] = (OPpARG1_MASK|OPpKVSLICE|OPpSLICE|OPpLVAL_INTRO),
[OP_EXISTS] = (OPpARG1_MASK|OPpEXISTS_SUB),
[OP_RV2HV] = (OPpRV2HV_ISKEYS|OPpHINT_STRICT_REFS|OPpSLICEWARNING|OPpMAYBE_LVSUB|OPpMAYBE_TRUEBOOL|OPpTRUEBOOL|OPpOUR_INTRO|OPpLVAL_INTRO),
[OP_HELEM] = (OPpARG2_MASK|OPpMAYBE_LVSUB|OPpDEREF|OPpLVAL_DEFER|OPpLVAL_INTRO),
[OP_HSLICE] = (OPpSLICEWARNING|OPpMAYBE_LVSUB|OPpLVAL_INTRO),
[OP_KVHSLICE] = (OPpMAYBE_LVSUB),
[OP_MULTIDEREF] = (OPpARG1_MASK|OPpHINT_STRICT_REFS|OPpMAYBE_LVSUB|OPpMULTIDEREF_EXISTS|OPpMULTIDEREF_DELETE|OPpLVAL_DEFER|OPpLVAL_INTRO),
[OP_UNPACK] = (OPpARG4_MASK),
[OP_PACK] = (OPpARG4_MASK),
[OP_SPLIT] = (OPpSPLIT_IMPLIM|OPpSPLIT_LEX|OPpSPLIT_ASSIGN|OPpOUR_INTRO|OPpLVAL_INTRO),
[OP_JOIN] = (OPpARG4_MASK),
[OP_LIST] = (OPpLIST_GUESSED|OPpLVAL_INTRO),
[OP_LSLICE] = (OPpARG2_MASK),
[OP_ANONLIST] = (OPpARG4_MASK),
[OP_ANONHASH] = (OPpARG4_MASK),
[OP_EMPTYAVHV] = (OPpARG4_MASK|OPpTARGET_MY|OPpEMPTYAVHV_IS_HV|OPpPAD_STATE|OPpLVAL_INTRO),
[OP_SPLICE] = (OPpARG4_MASK),
[OP_PUSH] = (OPpARG4_MASK|OPpTARGET_MY),
[OP_POP] = (OPpARG1_MASK),
[OP_SHIFT] = (OPpARG1_MASK),
[OP_UNSHIFT] = (OPpARG4_MASK|OPpTARGET_MY),
[OP_SORT] = (OPpSORT_NUMERIC|OPpSORT_INTEGER|OPpSORT_REVERSE|OPpSORT_INPLACE|OPpSORT_DESCEND),
[OP_REVERSE] = (OPpARG1_MASK|OPpREVERSE_INPLACE),
[OP_GREPSTART] = (OPpARG1_MASK),
[OP_GREPWHILE] = (OPpARG1_MASK|OPpTRUEBOOL),
[OP_MAPSTART] = (OPpARG1_MASK),
[OP_MAPWHILE] = (OPpARG1_MASK),
[OP_RANGE] = (OPpARG1_MASK),
[OP_FLIP] = (OPpARG1_MASK|OPpFLIP_LINENUM),
[OP_FLOP] = (OPpARG1_MASK|OPpFLIP_LINENUM),
[OP_AND] = (OPpARG1_MASK),
[OP_OR] = (OPpARG1_MASK),
[OP_XOR] = (OPpARG2_MASK),
[OP_DOR] = (OPpARG1_MASK),
[OP_COND_EXPR] = (OPpARG1_MASK|OPpLVAL_INTRO),
[OP_ANDASSIGN] = (OPpARG1_MASK),
[OP_ORASSIGN] = (OPpARG1_MASK),
[OP_DORASSIGN] = (OPpARG1_MASK),
[OP_ENTERSUB] = (OPpENTERSUB_INARGS|OPpHINT_STRICT_REFS|OPpENTERSUB_HASTARG|OPpENTERSUB_AMPER|OPpDEREF|OPpENTERSUB_DB|OPpLVAL_INTRO),
[OP_LEAVESUB] = (OPpARG1_MASK|OPpREFCOUNTED),
[OP_LEAVESUBLV] = (OPpARG1_MASK|OPpREFCOUNTED),
[OP_ARGCHECK] = (OPpARG1_MASK),
[OP_ARGELEM] = (OPpARG1_MASK|OPpARGELEM_MASK),
[OP_ARGDEFELEM] = (OPpARG1_MASK|OPpARG_IF_FALSE|OPpARG_IF_UNDEF),
[OP_CALLER] = (OPpARG4_MASK|OPpOFFBYONE),
[OP_WARN] = (OPpARG4_MASK),
[OP_DIE] = (OPpARG4_MASK),
[OP_RESET] = (OPpARG4_MASK),
[OP_LINESEQ] = (0),
[OP_NEXTSTATE] = (OPpHUSH_VMSISH),
[OP_DBSTATE] = (OPpHUSH_VMSISH),
[OP_UNSTACK] = (0),
[OP_ENTER] = (0),
[OP_LEAVE] = (OPpREFCOUNTED|OPpLVALUE),
[OP_SCOPE] = (0),
[OP_ENTERITER] = (OPpITER_REVERSED|OPpITER_DEF|OPpOUR_INTRO|OPpLVAL_INTRO),
[OP_ITER] = (OPpITER_REVERSED),
[OP_ENTERLOOP] = (0),
[OP_LEAVELOOP] = (OPpARG2_MASK|OPpLVALUE),
[OP_RETURN] = (0),
[OP_LAST] = (OPpARG1_MASK|OPpPV_IS_UTF8),
[OP_NEXT] = (OPpARG1_MASK|OPpPV_IS_UTF8),
[OP_REDO] = (OPpARG1_MASK|OPpPV_IS_UTF8),
[OP_DUMP] = (OPpARG1_MASK|OPpPV_IS_UTF8),
[OP_GOTO] = (OPpARG1_MASK|OPpPV_IS_UTF8),
[OP_EXIT] = (OPpARG4_MASK),
[OP_METHOD] = (OPpARG1_MASK),
[OP_METHOD_NAMED] = (OPpARG1_MASK),
[OP_METHOD_SUPER] = (OPpARG1_MASK),
[OP_METHOD_REDIR] = (OPpARG1_MASK),
[OP_METHOD_REDIR_SUPER] = (OPpARG1_MASK),
[OP_ENTERGIVEN] = (OPpARG1_MASK),
[OP_LEAVEGIVEN] = (OPpARG1_MASK),
[OP_ENTERWHEN] = (OPpARG1_MASK),
[OP_LEAVEWHEN] = (OPpARG1_MASK),
[OP_BREAK] = (0),
[OP_CONTINUE] = (0),
[OP_OPEN] = (OPpARG4_MASK|OPpOPEN_IN_RAW|OPpOPEN_IN_CRLF|OPpOPEN_OUT_RAW|OPpOPEN_OUT_CRLF),
[OP_CLOSE] = (OPpARG4_MASK),
[OP_PIPE_OP] = (OPpARG4_MASK),
[OP_FILENO] = (OPpARG4_MASK),
[OP_UMASK] = (OPpARG4_MASK),
[OP_BINMODE] = (OPpARG4_MASK),
[OP_TIE] = (OPpARG4_MASK),
[OP_UNTIE] = (OPpARG1_MASK),
[OP_TIED] = (OPpARG1_MASK),
[OP_DBMOPEN] = (OPpARG4_MASK),
[OP_DBMCLOSE] = (OPpARG1_MASK),
[OP_SSELECT] = (OPpARG4_MASK),
[OP_SELECT] = (OPpARG4_MASK),
[OP_GETC] = (OPpARG4_MASK),
[OP_READ] = (OPpARG4_MASK),
[OP_ENTERWRITE] = (OPpARG4_MASK),
[OP_LEAVEWRITE] = (OPpARG1_MASK|OPpREFCOUNTED),
[OP_PRTF] = (0),
[OP_PRINT] = (0),
[OP_SAY] = (0),
[OP_SYSOPEN] = (OPpARG4_MASK),
[OP_SYSSEEK] = (OPpARG4_MASK),
[OP_SYSREAD] = (OPpARG4_MASK),
[OP_SYSWRITE] = (OPpARG4_MASK),
[OP_EOF] = (OPpARG4_MASK),
[OP_TELL] = (OPpARG4_MASK),
[OP_SEEK] = (OPpARG4_MASK),
[OP_TRUNCATE] = (OPpARG4_MASK),
[OP_FCNTL] = (OPpARG4_MASK),
[OP_IOCTL] = (OPpARG4_MASK),
[OP_FLOCK] = (OPpARG4_MASK|OPpTARGET_MY),
[OP_SEND] = (OPpARG4_MASK),
[OP_RECV] = (OPpARG4_MASK),
[OP_SOCKET] = (OPpARG4_MASK),
[OP_SOCKPAIR] = (OPpARG4_MASK),
[OP_BIND] = (OPpARG4_MASK),
[OP_CONNECT] = (OPpARG4_MASK),
[OP_LISTEN] = (OPpARG4_MASK),
[OP_ACCEPT] = (OPpARG4_MASK),
[OP_SHUTDOWN] = (OPpARG4_MASK),
[OP_GSOCKOPT] = (OPpARG4_MASK),
[OP_SSOCKOPT] = (OPpARG4_MASK),
[OP_GETSOCKNAME] = (OPpARG1_MASK),
[OP_GETPEERNAME] = (OPpARG1_MASK),
[OP_LSTAT] = (OPpARG1_MASK),
[OP_STAT] = (OPpARG1_MASK),
[OP_FTRREAD] = (OPpARG1_MASK|OPpFT_ACCESS|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t),
[OP_FTRWRITE] = (OPpARG1_MASK|OPpFT_ACCESS|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t),
[OP_FTREXEC] = (OPpARG1_MASK|OPpFT_ACCESS|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t),
[OP_FTEREAD] = (OPpARG1_MASK|OPpFT_ACCESS|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t),
[OP_FTEWRITE] = (OPpARG1_MASK|OPpFT_ACCESS|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t),
[OP_FTEEXEC] = (OPpARG1_MASK|OPpFT_ACCESS|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t),
[OP_FTIS] = (OPpARG1_MASK|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t),
[OP_FTSIZE] = (OPpARG1_MASK|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t),
[OP_FTMTIME] = (OPpARG1_MASK|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t),
[OP_FTATIME] = (OPpARG1_MASK|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t),
[OP_FTCTIME] = (OPpARG1_MASK|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t),
[OP_FTROWNED] = (OPpARG1_MASK|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t),
[OP_FTEOWNED] = (OPpARG1_MASK|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t),
[OP_FTZERO] = (OPpARG1_MASK|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t),
[OP_FTSOCK] = (OPpARG1_MASK|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t),
[OP_FTCHR] = (OPpARG1_MASK|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t),
[OP_FTBLK] = (OPpARG1_MASK|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t),
[OP_FTFILE] = (OPpARG1_MASK|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t),
[OP_FTDIR] = (OPpARG1_MASK|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t),
[OP_FTPIPE] = (OPpARG1_MASK|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t),
[OP_FTSUID] = (OPpARG1_MASK|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t),
[OP_FTSGID] = (OPpARG1_MASK|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t),
[OP_FTSVTX] = (OPpARG1_MASK|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t),
[OP_FTLINK] = (OPpARG1_MASK|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t),
[OP_FTTTY] = (OPpARG1_MASK|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t),
[OP_FTTEXT] = (OPpARG1_MASK|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t),
[OP_FTBINARY] = (OPpARG1_MASK|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t),
[OP_CHDIR] = (OPpARG4_MASK|OPpTARGET_MY),
[OP_CHOWN] = (OPpARG4_MASK|OPpTARGET_MY),
[OP_CHROOT] = (OPpARG1_MASK|OPpTARGET_MY),
[OP_UNLINK] = (OPpARG4_MASK|OPpTARGET_MY),
[OP_CHMOD] = (OPpARG4_MASK|OPpTARGET_MY),
[OP_UTIME] = (OPpARG4_MASK|OPpTARGET_MY),
[OP_RENAME] = (OPpARG4_MASK|OPpTARGET_MY),
[OP_LINK] = (OPpARG4_MASK|OPpTARGET_MY),
[OP_SYMLINK] = (OPpARG4_MASK|OPpTARGET_MY),
[OP_READLINK] = (OPpARG1_MASK),
[OP_MKDIR] = (OPpARG4_MASK|OPpTARGET_MY),
[OP_RMDIR] = (OPpARG1_MASK|OPpTARGET_MY),
[OP_OPEN_DIR] = (OPpARG4_MASK),
[OP_READDIR] = (OPpARG1_MASK),
[OP_TELLDIR] = (OPpARG1_MASK),
[OP_SEEKDIR] = (OPpARG4_MASK),
[OP_REWINDDIR] = (OPpARG1_MASK),
[OP_CLOSEDIR] = (OPpARG1_MASK),
[OP_FORK] = (0),
[OP_WAIT] = (OPpTARGET_MY),
[OP_WAITPID] = (OPpARG4_MASK|OPpTARGET_MY),
[OP_SYSTEM] = (OPpARG4_MASK|OPpTARGET_MY),
[OP_EXEC] = (OPpARG4_MASK|OPpTARGET_MY),
[OP_KILL] = (OPpARG4_MASK|OPpTARGET_MY),
[OP_GETPPID] = (OPpTARGET_MY),
[OP_GETPGRP] = (OPpARG4_MASK|OPpTARGET_MY),
[OP_SETPGRP] = (OPpARG4_MASK|OPpTARGET_MY),
[OP_GETPRIORITY] = (OPpARG4_MASK|OPpTARGET_MY),
[OP_SETPRIORITY] = (OPpARG4_MASK|OPpTARGET_MY),
[OP_TIME] = (OPpTARGET_MY),
[OP_TMS] = (0),
[OP_LOCALTIME] = (OPpARG1_MASK),
[OP_GMTIME] = (OPpARG4_MASK),
[OP_ALARM] = (OPpARG1_MASK),
[OP_SLEEP] = (OPpARG4_MASK|OPpTARGET_MY),
[OP_SHMGET] = (OPpARG4_MASK),
[OP_SHMCTL] = (OPpARG4_MASK),
[OP_SHMREAD] = (OPpARG4_MASK),
[OP_SHMWRITE] = (OPpARG4_MASK),
[OP_MSGGET] = (OPpARG4_MASK),
[OP_MSGCTL] = (OPpARG4_MASK),
[OP_MSGSND] = (OPpARG4_MASK),
[OP_MSGRCV] = (OPpARG4_MASK),
[OP_SEMOP] = (OPpARG4_MASK),
[OP_SEMGET] = (OPpARG4_MASK),
[OP_SEMCTL] = (OPpARG4_MASK),
[OP_REQUIRE] = (OPpARG1_MASK),
[OP_DOFILE] = (OPpARG1_MASK),
[OP_HINTSEVAL] = (0),
[OP_ENTEREVAL] = (OPpARG1_MASK|OPpEVAL_HAS_HH|OPpEVAL_UNICODE|OPpEVAL_BYTES|OPpEVAL_COPHH|OPpEVAL_RE_REPARSING|OPpEVAL_EVALSV),
[OP_LEAVEEVAL] = (OPpARG1_MASK|OPpREFCOUNTED),
[OP_ENTERTRY] = (OPpARG1_MASK),
[OP_LEAVETRY] = (0),
[OP_GHBYNAME] = (OPpARG1_MASK),
[OP_GHBYADDR] = (OPpARG4_MASK),
[OP_GHOSTENT] = (0),
[OP_GNBYNAME] = (OPpARG1_MASK),
[OP_GNBYADDR] = (OPpARG4_MASK),
[OP_GNETENT] = (0),
[OP_GPBYNAME] = (OPpARG1_MASK),
[OP_GPBYNUMBER] = (OPpARG4_MASK),
[OP_GPROTOENT] = (0),
[OP_GSBYNAME] = (OPpARG4_MASK),
[OP_GSBYPORT] = (OPpARG4_MASK),
[OP_GSERVENT] = (0),
[OP_SHOSTENT] = (OPpARG1_MASK),
[OP_SNETENT] = (OPpARG1_MASK),
[OP_SPROTOENT] = (OPpARG1_MASK),
[OP_SSERVENT] = (OPpARG1_MASK),
[OP_EHOSTENT] = (0),
[OP_ENETENT] = (0),
[OP_EPROTOENT] = (0),
[OP_ESERVENT] = (0),
[OP_GPWNAM] = (OPpARG1_MASK),
[OP_GPWUID] = (OPpARG1_MASK),
[OP_GPWENT] = (0),
[OP_SPWENT] = (0),
[OP_EPWENT] = (0),
[OP_GGRNAM] = (OPpARG1_MASK),
[OP_GGRGID] = (OPpARG1_MASK),
[OP_GGRENT] = (0),
[OP_SGRENT] = (0),
[OP_EGRENT] = (0),
[OP_GETLOGIN] = (0),
[OP_SYSCALL] = (OPpARG4_MASK),
[OP_LOCK] = (OPpARG1_MASK),
[OP_ONCE] = (OPpARG1_MASK),
[OP_CUSTOM] = (0xff),
[OP_COREARGS] = (OPpCOREARGS_DEREF1|OPpCOREARGS_DEREF2|OPpCOREARGS_SCALARMOD|OPpCOREARGS_PUSHMARK),
[OP_AVHVSWITCH] = (OPpAVHVSWITCH_MASK|OPpMAYBE_LVSUB),
[OP_RUNCV] = (OPpOFFBYONE),
[OP_FC] = (OPpARG1_MASK),
[OP_PADCV] = (0),
[OP_INTROCV] = (0),
[OP_CLONECV] = (0),
[OP_PADRANGE] = (OPpPADRANGE_COUNTMASK|OPpLVAL_INTRO),
[OP_REFASSIGN] = (OPpARG2_MASK|OPpLVREF_ELEM|OPpLVREF_ITER|OPpLVREF_TYPE|OPpPAD_STATE|OPpLVAL_INTRO),
[OP_LVREF] = (OPpARG1_MASK|OPpLVREF_ELEM|OPpLVREF_ITER|OPpLVREF_TYPE|OPpPAD_STATE|OPpLVAL_INTRO),
[OP_LVREFSLICE] = (OPpLVAL_INTRO),
[OP_LVAVREF] = (OPpARG1_MASK|OPpPAD_STATE|OPpLVAL_INTRO),
[OP_ANONCONST] = (OPpARG1_MASK),
[OP_ISA] = (OPpARG2_MASK),
[OP_CMPCHAIN_AND] = (OPpARG1_MASK),
[OP_CMPCHAIN_DUP] = (OPpARG1_MASK),
[OP_ENTERTRYCATCH] = (OPpARG1_MASK),
[OP_LEAVETRYCATCH] = (0),
[OP_POPTRY] = (0),
[OP_CATCH] = (OPpARG1_MASK),
[OP_PUSHDEFER] = (OPpARG1_MASK|OPpDEFER_FINALLY),
[OP_IS_BOOL] = (OPpARG1_MASK),
[OP_IS_WEAK] = (OPpARG1_MASK),
[OP_WEAKEN] = (OPpARG1_MASK),
[OP_UNWEAKEN] = (OPpARG1_MASK),
[OP_BLESSED] = (OPpARG1_MASK|OPpMAYBE_TRUEBOOL|OPpTRUEBOOL),
[OP_REFADDR] = (OPpARG1_MASK|OPpTARGET_MY),
[OP_REFTYPE] = (OPpARG1_MASK|OPpTARGET_MY),
[OP_CEIL] = (OPpARG1_MASK|OPpTARGET_MY),
[OP_FLOOR] = (OPpARG1_MASK|OPpTARGET_MY),
[OP_IS_TAINTED] = (OPpARG1_MASK),
[OP_HELEMEXISTSOR] = (OPpARG1_MASK|OPpHELEMEXISTSOR_DELETE),
[OP_METHSTART] = (OPpARG1_MASK|OPpINITFIELDS),
[OP_INITFIELD] = (OPpARG1_MASK|OPpINITFIELD_AV|OPpINITFIELD_HV),
};
#endif /* !DOINIT */
END_EXTERN_C
/* ex: set ro ft=C: */