-/* !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
- This file is built by opcode.pl from its data. Any changes made here
- will be lost!
-*/
+/* -*- buffer-read-only: t -*-
+ *
+ * opcode.h
+ *
+ * Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+ * 2000, 2001, 2002, 2003, 2004, 2005, 2006 by Larry Wall and others
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Artistic License, as specified in the README file.
+ *
+ * !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+ * This file is built by opcode.pl from its data. Any changes made here
+ * will be lost!
+ */
+
+#ifndef PERL_GLOBAL_STRUCT_INIT
#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
+PERL_PPDEF(Perl_unimplemented_op)
START_EXTERN_C
+#define OP_NAME(o) ((o)->op_type == OP_CUSTOM ? custom_op_name(o) : \
+ PL_op_name[(o)->op_type])
+#define OP_DESC(o) ((o)->op_type == OP_CUSTOM ? custom_op_desc(o) : \
+ PL_op_desc[(o)->op_type])
+
#ifndef DOINIT
-EXT char *PL_op_name[];
+EXTCONST char* const PL_op_name[];
#else
-EXT char *PL_op_name[] = {
+EXTCONST char* const PL_op_name[] = {
"null",
"stub",
"scalar",
"ftewrite",
"fteexec",
"ftis",
- "fteowned",
- "ftrowned",
- "ftzero",
"ftsize",
"ftmtime",
"ftatime",
"ftctime",
+ "ftrowned",
+ "fteowned",
+ "ftzero",
"ftsock",
"ftchr",
"ftblk",
"ftfile",
"ftdir",
"ftpipe",
- "ftlink",
"ftsuid",
"ftsgid",
"ftsvtx",
+ "ftlink",
"fttty",
"fttext",
"ftbinary",
"msgctl",
"msgsnd",
"msgrcv",
+ "semop",
"semget",
"semctl",
- "semop",
"require",
"dofile",
"entereval",
"threadsv",
"setstate",
"method_named",
+ "dor",
+ "dorassign",
+ "entergiven",
+ "leavegiven",
+ "enterwhen",
+ "leavewhen",
+ "break",
+ "continue",
+ "smartmatch",
+ "say",
+ "custom",
};
#endif
#ifndef DOINIT
-EXT char *PL_op_desc[];
+EXTCONST char* const PL_op_desc[];
#else
-EXT char *PL_op_desc[] = {
+EXTCONST char* const PL_op_desc[] = {
"null operation",
"stub",
"scalar",
"integer addition (+)",
"subtraction (-)",
"integer subtraction (-)",
- "concatenation (.)",
+ "concatenation (.) or string",
"string",
"left bitshift (<<)",
"right bitshift (>>)",
"unpack",
"pack",
"split",
- "join",
+ "join or string",
"list",
"list slice",
"anonymous list ([])",
"method lookup",
"subroutine entry",
"subroutine exit",
- "lvalue subroutine exit",
+ "lvalue subroutine return",
"caller",
"warn",
"die",
"-w",
"-x",
"-e",
- "-O",
- "-o",
- "-z",
"-s",
"-M",
"-A",
"-C",
+ "-O",
+ "-o",
+ "-z",
"-S",
"-c",
"-b",
"-f",
"-d",
"-p",
- "-l",
"-u",
"-g",
"-k",
+ "-l",
"-t",
"-T",
"-B",
"msgctl",
"msgsnd",
"msgrcv",
+ "semop",
"semget",
"semctl",
- "semop",
"require",
"do \"file\"",
"eval \"string\"",
"per-thread value",
"set statement info",
"method with known name",
+ "defined or (//)",
+ "defined or assignment (//=)",
+ "given()",
+ "leave given block",
+ "when()",
+ "leave when block",
+ "break",
+ "continue",
+ "smart match",
+ "say",
+ "unknown custom operator",
};
#endif
END_EXTERN_C
+#endif /* !PERL_GLOBAL_STRUCT_INIT */
START_EXTERN_C
-#ifndef DOINIT
-EXT OP * (CPERLscope(*PL_ppaddr)[])(pTHX);
+#ifdef PERL_GLOBAL_STRUCT_INIT
+# define PERL_PPADDR_INITED
+static const Perl_ppaddr_t Gppaddr[]
#else
-EXT OP * (CPERLscope(*PL_ppaddr)[])(pTHX) = {
+# ifndef PERL_GLOBAL_STRUCT
+# define PERL_PPADDR_INITED
+EXT Perl_ppaddr_t PL_ppaddr[] /* or perlvars.h */
+# endif
+#endif /* PERL_GLOBAL_STRUCT */
+#if (defined(DOINIT) && !defined(PERL_GLOBAL_STRUCT)) || defined(PERL_GLOBAL_STRUCT_INIT)
+# define PERL_PPADDR_INITED
+= {
MEMBER_TO_FPTR(Perl_pp_null),
MEMBER_TO_FPTR(Perl_pp_stub),
- MEMBER_TO_FPTR(Perl_pp_scalar),
+ MEMBER_TO_FPTR(Perl_pp_null), /* Perl_pp_scalar */
MEMBER_TO_FPTR(Perl_pp_pushmark),
MEMBER_TO_FPTR(Perl_pp_wantarray),
MEMBER_TO_FPTR(Perl_pp_const),
MEMBER_TO_FPTR(Perl_pp_padsv),
MEMBER_TO_FPTR(Perl_pp_padav),
MEMBER_TO_FPTR(Perl_pp_padhv),
- MEMBER_TO_FPTR(Perl_pp_padany),
+ MEMBER_TO_FPTR(Perl_unimplemented_op), /* Perl_pp_padany */
MEMBER_TO_FPTR(Perl_pp_pushre),
MEMBER_TO_FPTR(Perl_pp_rv2gv),
MEMBER_TO_FPTR(Perl_pp_rv2sv),
MEMBER_TO_FPTR(Perl_pp_glob),
MEMBER_TO_FPTR(Perl_pp_readline),
MEMBER_TO_FPTR(Perl_pp_rcatline),
- MEMBER_TO_FPTR(Perl_pp_regcmaybe),
+ MEMBER_TO_FPTR(Perl_pp_null), /* Perl_pp_regcmaybe */
MEMBER_TO_FPTR(Perl_pp_regcreset),
MEMBER_TO_FPTR(Perl_pp_regcomp),
MEMBER_TO_FPTR(Perl_pp_match),
MEMBER_TO_FPTR(Perl_pp_i_ne),
MEMBER_TO_FPTR(Perl_pp_ncmp),
MEMBER_TO_FPTR(Perl_pp_i_ncmp),
- MEMBER_TO_FPTR(Perl_pp_slt),
- MEMBER_TO_FPTR(Perl_pp_sgt),
+ MEMBER_TO_FPTR(Perl_pp_sle), /* Perl_pp_slt */
+ MEMBER_TO_FPTR(Perl_pp_sle), /* Perl_pp_sgt */
MEMBER_TO_FPTR(Perl_pp_sle),
- MEMBER_TO_FPTR(Perl_pp_sge),
+ MEMBER_TO_FPTR(Perl_pp_sle), /* Perl_pp_sge */
MEMBER_TO_FPTR(Perl_pp_seq),
MEMBER_TO_FPTR(Perl_pp_sne),
MEMBER_TO_FPTR(Perl_pp_scmp),
MEMBER_TO_FPTR(Perl_pp_bit_and),
- MEMBER_TO_FPTR(Perl_pp_bit_xor),
+ MEMBER_TO_FPTR(Perl_pp_bit_or), /* Perl_pp_bit_xor */
MEMBER_TO_FPTR(Perl_pp_bit_or),
MEMBER_TO_FPTR(Perl_pp_negate),
MEMBER_TO_FPTR(Perl_pp_i_negate),
MEMBER_TO_FPTR(Perl_pp_complement),
MEMBER_TO_FPTR(Perl_pp_atan2),
MEMBER_TO_FPTR(Perl_pp_sin),
- MEMBER_TO_FPTR(Perl_pp_cos),
+ MEMBER_TO_FPTR(Perl_pp_sin), /* Perl_pp_cos */
MEMBER_TO_FPTR(Perl_pp_rand),
MEMBER_TO_FPTR(Perl_pp_srand),
- MEMBER_TO_FPTR(Perl_pp_exp),
- MEMBER_TO_FPTR(Perl_pp_log),
- MEMBER_TO_FPTR(Perl_pp_sqrt),
+ MEMBER_TO_FPTR(Perl_pp_sin), /* Perl_pp_exp */
+ MEMBER_TO_FPTR(Perl_pp_sin), /* Perl_pp_log */
+ MEMBER_TO_FPTR(Perl_pp_sin), /* Perl_pp_sqrt */
MEMBER_TO_FPTR(Perl_pp_int),
- MEMBER_TO_FPTR(Perl_pp_hex),
+ MEMBER_TO_FPTR(Perl_pp_oct), /* Perl_pp_hex */
MEMBER_TO_FPTR(Perl_pp_oct),
MEMBER_TO_FPTR(Perl_pp_abs),
MEMBER_TO_FPTR(Perl_pp_length),
MEMBER_TO_FPTR(Perl_pp_substr),
MEMBER_TO_FPTR(Perl_pp_vec),
MEMBER_TO_FPTR(Perl_pp_index),
- MEMBER_TO_FPTR(Perl_pp_rindex),
+ MEMBER_TO_FPTR(Perl_pp_index), /* Perl_pp_rindex */
MEMBER_TO_FPTR(Perl_pp_sprintf),
MEMBER_TO_FPTR(Perl_pp_formline),
MEMBER_TO_FPTR(Perl_pp_ord),
MEMBER_TO_FPTR(Perl_pp_chr),
MEMBER_TO_FPTR(Perl_pp_crypt),
MEMBER_TO_FPTR(Perl_pp_ucfirst),
- MEMBER_TO_FPTR(Perl_pp_lcfirst),
+ MEMBER_TO_FPTR(Perl_pp_ucfirst), /* Perl_pp_lcfirst */
MEMBER_TO_FPTR(Perl_pp_uc),
MEMBER_TO_FPTR(Perl_pp_lc),
MEMBER_TO_FPTR(Perl_pp_quotemeta),
MEMBER_TO_FPTR(Perl_pp_aelem),
MEMBER_TO_FPTR(Perl_pp_aslice),
MEMBER_TO_FPTR(Perl_pp_each),
- MEMBER_TO_FPTR(Perl_pp_values),
- MEMBER_TO_FPTR(Perl_pp_keys),
+ MEMBER_TO_FPTR(Perl_do_kv), /* Perl_pp_values */
+ MEMBER_TO_FPTR(Perl_do_kv), /* Perl_pp_keys */
MEMBER_TO_FPTR(Perl_pp_delete),
MEMBER_TO_FPTR(Perl_pp_exists),
MEMBER_TO_FPTR(Perl_pp_rv2hv),
MEMBER_TO_FPTR(Perl_pp_anonhash),
MEMBER_TO_FPTR(Perl_pp_splice),
MEMBER_TO_FPTR(Perl_pp_push),
- MEMBER_TO_FPTR(Perl_pp_pop),
+ MEMBER_TO_FPTR(Perl_pp_shift), /* Perl_pp_pop */
MEMBER_TO_FPTR(Perl_pp_shift),
MEMBER_TO_FPTR(Perl_pp_unshift),
MEMBER_TO_FPTR(Perl_pp_sort),
MEMBER_TO_FPTR(Perl_pp_reverse),
MEMBER_TO_FPTR(Perl_pp_grepstart),
MEMBER_TO_FPTR(Perl_pp_grepwhile),
- MEMBER_TO_FPTR(Perl_pp_mapstart),
+ MEMBER_TO_FPTR(Perl_unimplemented_op), /* Perl_pp_mapstart */
MEMBER_TO_FPTR(Perl_pp_mapwhile),
MEMBER_TO_FPTR(Perl_pp_range),
MEMBER_TO_FPTR(Perl_pp_flip),
MEMBER_TO_FPTR(Perl_pp_or),
MEMBER_TO_FPTR(Perl_pp_xor),
MEMBER_TO_FPTR(Perl_pp_cond_expr),
- MEMBER_TO_FPTR(Perl_pp_andassign),
- MEMBER_TO_FPTR(Perl_pp_orassign),
+ MEMBER_TO_FPTR(Perl_pp_and), /* Perl_pp_andassign */
+ MEMBER_TO_FPTR(Perl_pp_or), /* Perl_pp_orassign */
MEMBER_TO_FPTR(Perl_pp_method),
MEMBER_TO_FPTR(Perl_pp_entersub),
MEMBER_TO_FPTR(Perl_pp_leavesub),
MEMBER_TO_FPTR(Perl_pp_warn),
MEMBER_TO_FPTR(Perl_pp_die),
MEMBER_TO_FPTR(Perl_pp_reset),
- MEMBER_TO_FPTR(Perl_pp_lineseq),
+ MEMBER_TO_FPTR(Perl_pp_null), /* Perl_pp_lineseq */
MEMBER_TO_FPTR(Perl_pp_nextstate),
MEMBER_TO_FPTR(Perl_pp_dbstate),
MEMBER_TO_FPTR(Perl_pp_unstack),
MEMBER_TO_FPTR(Perl_pp_enter),
MEMBER_TO_FPTR(Perl_pp_leave),
- MEMBER_TO_FPTR(Perl_pp_scope),
+ MEMBER_TO_FPTR(Perl_pp_null), /* Perl_pp_scope */
MEMBER_TO_FPTR(Perl_pp_enteriter),
MEMBER_TO_FPTR(Perl_pp_iter),
MEMBER_TO_FPTR(Perl_pp_enterloop),
MEMBER_TO_FPTR(Perl_pp_last),
MEMBER_TO_FPTR(Perl_pp_next),
MEMBER_TO_FPTR(Perl_pp_redo),
- MEMBER_TO_FPTR(Perl_pp_dump),
+ MEMBER_TO_FPTR(Perl_pp_goto), /* Perl_pp_dump */
MEMBER_TO_FPTR(Perl_pp_goto),
MEMBER_TO_FPTR(Perl_pp_exit),
MEMBER_TO_FPTR(Perl_pp_open),
MEMBER_TO_FPTR(Perl_pp_untie),
MEMBER_TO_FPTR(Perl_pp_tied),
MEMBER_TO_FPTR(Perl_pp_dbmopen),
- MEMBER_TO_FPTR(Perl_pp_dbmclose),
+ MEMBER_TO_FPTR(Perl_pp_untie), /* Perl_pp_dbmclose */
MEMBER_TO_FPTR(Perl_pp_sselect),
MEMBER_TO_FPTR(Perl_pp_select),
MEMBER_TO_FPTR(Perl_pp_getc),
- MEMBER_TO_FPTR(Perl_pp_read),
+ MEMBER_TO_FPTR(Perl_pp_sysread), /* Perl_pp_read */
MEMBER_TO_FPTR(Perl_pp_enterwrite),
MEMBER_TO_FPTR(Perl_pp_leavewrite),
MEMBER_TO_FPTR(Perl_pp_prtf),
MEMBER_TO_FPTR(Perl_pp_sysopen),
MEMBER_TO_FPTR(Perl_pp_sysseek),
MEMBER_TO_FPTR(Perl_pp_sysread),
- MEMBER_TO_FPTR(Perl_pp_syswrite),
+ MEMBER_TO_FPTR(Perl_pp_send), /* Perl_pp_syswrite */
MEMBER_TO_FPTR(Perl_pp_send),
- MEMBER_TO_FPTR(Perl_pp_recv),
+ MEMBER_TO_FPTR(Perl_pp_sysread), /* Perl_pp_recv */
MEMBER_TO_FPTR(Perl_pp_eof),
MEMBER_TO_FPTR(Perl_pp_tell),
- MEMBER_TO_FPTR(Perl_pp_seek),
+ MEMBER_TO_FPTR(Perl_pp_sysseek), /* Perl_pp_seek */
MEMBER_TO_FPTR(Perl_pp_truncate),
- MEMBER_TO_FPTR(Perl_pp_fcntl),
+ MEMBER_TO_FPTR(Perl_pp_ioctl), /* Perl_pp_fcntl */
MEMBER_TO_FPTR(Perl_pp_ioctl),
MEMBER_TO_FPTR(Perl_pp_flock),
MEMBER_TO_FPTR(Perl_pp_socket),
MEMBER_TO_FPTR(Perl_pp_listen),
MEMBER_TO_FPTR(Perl_pp_accept),
MEMBER_TO_FPTR(Perl_pp_shutdown),
- MEMBER_TO_FPTR(Perl_pp_gsockopt),
+ MEMBER_TO_FPTR(Perl_pp_ssockopt), /* Perl_pp_gsockopt */
MEMBER_TO_FPTR(Perl_pp_ssockopt),
- MEMBER_TO_FPTR(Perl_pp_getsockname),
+ MEMBER_TO_FPTR(Perl_pp_getpeername), /* Perl_pp_getsockname */
MEMBER_TO_FPTR(Perl_pp_getpeername),
- MEMBER_TO_FPTR(Perl_pp_lstat),
+ MEMBER_TO_FPTR(Perl_pp_stat), /* Perl_pp_lstat */
MEMBER_TO_FPTR(Perl_pp_stat),
MEMBER_TO_FPTR(Perl_pp_ftrread),
- MEMBER_TO_FPTR(Perl_pp_ftrwrite),
- MEMBER_TO_FPTR(Perl_pp_ftrexec),
- MEMBER_TO_FPTR(Perl_pp_fteread),
- MEMBER_TO_FPTR(Perl_pp_ftewrite),
- MEMBER_TO_FPTR(Perl_pp_fteexec),
+ MEMBER_TO_FPTR(Perl_pp_ftrread), /* Perl_pp_ftrwrite */
+ MEMBER_TO_FPTR(Perl_pp_ftrread), /* Perl_pp_ftrexec */
+ MEMBER_TO_FPTR(Perl_pp_ftrread), /* Perl_pp_fteread */
+ MEMBER_TO_FPTR(Perl_pp_ftrread), /* Perl_pp_ftewrite */
+ MEMBER_TO_FPTR(Perl_pp_ftrread), /* Perl_pp_fteexec */
MEMBER_TO_FPTR(Perl_pp_ftis),
- MEMBER_TO_FPTR(Perl_pp_fteowned),
+ MEMBER_TO_FPTR(Perl_pp_ftis), /* Perl_pp_ftsize */
+ MEMBER_TO_FPTR(Perl_pp_ftis), /* Perl_pp_ftmtime */
+ MEMBER_TO_FPTR(Perl_pp_ftis), /* Perl_pp_ftatime */
+ MEMBER_TO_FPTR(Perl_pp_ftis), /* Perl_pp_ftctime */
MEMBER_TO_FPTR(Perl_pp_ftrowned),
- MEMBER_TO_FPTR(Perl_pp_ftzero),
- MEMBER_TO_FPTR(Perl_pp_ftsize),
- MEMBER_TO_FPTR(Perl_pp_ftmtime),
- MEMBER_TO_FPTR(Perl_pp_ftatime),
- MEMBER_TO_FPTR(Perl_pp_ftctime),
- MEMBER_TO_FPTR(Perl_pp_ftsock),
- MEMBER_TO_FPTR(Perl_pp_ftchr),
- MEMBER_TO_FPTR(Perl_pp_ftblk),
- MEMBER_TO_FPTR(Perl_pp_ftfile),
- MEMBER_TO_FPTR(Perl_pp_ftdir),
- MEMBER_TO_FPTR(Perl_pp_ftpipe),
+ MEMBER_TO_FPTR(Perl_pp_ftrowned), /* Perl_pp_fteowned */
+ MEMBER_TO_FPTR(Perl_pp_ftrowned), /* Perl_pp_ftzero */
+ MEMBER_TO_FPTR(Perl_pp_ftrowned), /* Perl_pp_ftsock */
+ MEMBER_TO_FPTR(Perl_pp_ftrowned), /* Perl_pp_ftchr */
+ MEMBER_TO_FPTR(Perl_pp_ftrowned), /* Perl_pp_ftblk */
+ MEMBER_TO_FPTR(Perl_pp_ftrowned), /* Perl_pp_ftfile */
+ MEMBER_TO_FPTR(Perl_pp_ftrowned), /* Perl_pp_ftdir */
+ MEMBER_TO_FPTR(Perl_pp_ftrowned), /* Perl_pp_ftpipe */
+ MEMBER_TO_FPTR(Perl_pp_ftrowned), /* Perl_pp_ftsuid */
+ MEMBER_TO_FPTR(Perl_pp_ftrowned), /* Perl_pp_ftsgid */
+ MEMBER_TO_FPTR(Perl_pp_ftrowned), /* Perl_pp_ftsvtx */
MEMBER_TO_FPTR(Perl_pp_ftlink),
- MEMBER_TO_FPTR(Perl_pp_ftsuid),
- MEMBER_TO_FPTR(Perl_pp_ftsgid),
- MEMBER_TO_FPTR(Perl_pp_ftsvtx),
MEMBER_TO_FPTR(Perl_pp_fttty),
MEMBER_TO_FPTR(Perl_pp_fttext),
- MEMBER_TO_FPTR(Perl_pp_ftbinary),
+ MEMBER_TO_FPTR(Perl_pp_fttext), /* Perl_pp_ftbinary */
MEMBER_TO_FPTR(Perl_pp_chdir),
MEMBER_TO_FPTR(Perl_pp_chown),
MEMBER_TO_FPTR(Perl_pp_chroot),
- MEMBER_TO_FPTR(Perl_pp_unlink),
- MEMBER_TO_FPTR(Perl_pp_chmod),
- MEMBER_TO_FPTR(Perl_pp_utime),
+ MEMBER_TO_FPTR(Perl_pp_chown), /* Perl_pp_unlink */
+ MEMBER_TO_FPTR(Perl_pp_chown), /* Perl_pp_chmod */
+ MEMBER_TO_FPTR(Perl_pp_chown), /* Perl_pp_utime */
MEMBER_TO_FPTR(Perl_pp_rename),
MEMBER_TO_FPTR(Perl_pp_link),
- MEMBER_TO_FPTR(Perl_pp_symlink),
+ MEMBER_TO_FPTR(Perl_pp_link), /* Perl_pp_symlink */
MEMBER_TO_FPTR(Perl_pp_readlink),
MEMBER_TO_FPTR(Perl_pp_mkdir),
MEMBER_TO_FPTR(Perl_pp_rmdir),
MEMBER_TO_FPTR(Perl_pp_waitpid),
MEMBER_TO_FPTR(Perl_pp_system),
MEMBER_TO_FPTR(Perl_pp_exec),
- MEMBER_TO_FPTR(Perl_pp_kill),
+ MEMBER_TO_FPTR(Perl_pp_chown), /* Perl_pp_kill */
MEMBER_TO_FPTR(Perl_pp_getppid),
MEMBER_TO_FPTR(Perl_pp_getpgrp),
MEMBER_TO_FPTR(Perl_pp_setpgrp),
MEMBER_TO_FPTR(Perl_pp_setpriority),
MEMBER_TO_FPTR(Perl_pp_time),
MEMBER_TO_FPTR(Perl_pp_tms),
- MEMBER_TO_FPTR(Perl_pp_localtime),
+ MEMBER_TO_FPTR(Perl_pp_gmtime), /* Perl_pp_localtime */
MEMBER_TO_FPTR(Perl_pp_gmtime),
MEMBER_TO_FPTR(Perl_pp_alarm),
MEMBER_TO_FPTR(Perl_pp_sleep),
- MEMBER_TO_FPTR(Perl_pp_shmget),
- MEMBER_TO_FPTR(Perl_pp_shmctl),
- MEMBER_TO_FPTR(Perl_pp_shmread),
+ MEMBER_TO_FPTR(Perl_pp_semget), /* Perl_pp_shmget */
+ MEMBER_TO_FPTR(Perl_pp_semctl), /* Perl_pp_shmctl */
+ MEMBER_TO_FPTR(Perl_pp_shmwrite), /* Perl_pp_shmread */
MEMBER_TO_FPTR(Perl_pp_shmwrite),
- MEMBER_TO_FPTR(Perl_pp_msgget),
- MEMBER_TO_FPTR(Perl_pp_msgctl),
- MEMBER_TO_FPTR(Perl_pp_msgsnd),
- MEMBER_TO_FPTR(Perl_pp_msgrcv),
+ MEMBER_TO_FPTR(Perl_pp_semget), /* Perl_pp_msgget */
+ MEMBER_TO_FPTR(Perl_pp_semctl), /* Perl_pp_msgctl */
+ MEMBER_TO_FPTR(Perl_pp_shmwrite), /* Perl_pp_msgsnd */
+ MEMBER_TO_FPTR(Perl_pp_shmwrite), /* Perl_pp_msgrcv */
+ MEMBER_TO_FPTR(Perl_pp_shmwrite), /* Perl_pp_semop */
MEMBER_TO_FPTR(Perl_pp_semget),
MEMBER_TO_FPTR(Perl_pp_semctl),
- MEMBER_TO_FPTR(Perl_pp_semop),
MEMBER_TO_FPTR(Perl_pp_require),
- MEMBER_TO_FPTR(Perl_pp_dofile),
+ MEMBER_TO_FPTR(Perl_pp_require), /* Perl_pp_dofile */
MEMBER_TO_FPTR(Perl_pp_entereval),
MEMBER_TO_FPTR(Perl_pp_leaveeval),
MEMBER_TO_FPTR(Perl_pp_entertry),
MEMBER_TO_FPTR(Perl_pp_leavetry),
- MEMBER_TO_FPTR(Perl_pp_ghbyname),
- MEMBER_TO_FPTR(Perl_pp_ghbyaddr),
+ MEMBER_TO_FPTR(Perl_pp_ghostent), /* Perl_pp_ghbyname */
+ MEMBER_TO_FPTR(Perl_pp_ghostent), /* Perl_pp_ghbyaddr */
MEMBER_TO_FPTR(Perl_pp_ghostent),
- MEMBER_TO_FPTR(Perl_pp_gnbyname),
- MEMBER_TO_FPTR(Perl_pp_gnbyaddr),
+ MEMBER_TO_FPTR(Perl_pp_gnetent), /* Perl_pp_gnbyname */
+ MEMBER_TO_FPTR(Perl_pp_gnetent), /* Perl_pp_gnbyaddr */
MEMBER_TO_FPTR(Perl_pp_gnetent),
- MEMBER_TO_FPTR(Perl_pp_gpbyname),
- MEMBER_TO_FPTR(Perl_pp_gpbynumber),
+ MEMBER_TO_FPTR(Perl_pp_gprotoent), /* Perl_pp_gpbyname */
+ MEMBER_TO_FPTR(Perl_pp_gprotoent), /* Perl_pp_gpbynumber */
MEMBER_TO_FPTR(Perl_pp_gprotoent),
- MEMBER_TO_FPTR(Perl_pp_gsbyname),
- MEMBER_TO_FPTR(Perl_pp_gsbyport),
+ MEMBER_TO_FPTR(Perl_pp_gservent), /* Perl_pp_gsbyname */
+ MEMBER_TO_FPTR(Perl_pp_gservent), /* Perl_pp_gsbyport */
MEMBER_TO_FPTR(Perl_pp_gservent),
MEMBER_TO_FPTR(Perl_pp_shostent),
MEMBER_TO_FPTR(Perl_pp_snetent),
MEMBER_TO_FPTR(Perl_pp_enetent),
MEMBER_TO_FPTR(Perl_pp_eprotoent),
MEMBER_TO_FPTR(Perl_pp_eservent),
- MEMBER_TO_FPTR(Perl_pp_gpwnam),
- MEMBER_TO_FPTR(Perl_pp_gpwuid),
+ MEMBER_TO_FPTR(Perl_pp_gpwent), /* Perl_pp_gpwnam */
+ MEMBER_TO_FPTR(Perl_pp_gpwent), /* Perl_pp_gpwuid */
MEMBER_TO_FPTR(Perl_pp_gpwent),
MEMBER_TO_FPTR(Perl_pp_spwent),
MEMBER_TO_FPTR(Perl_pp_epwent),
- MEMBER_TO_FPTR(Perl_pp_ggrnam),
- MEMBER_TO_FPTR(Perl_pp_ggrgid),
+ MEMBER_TO_FPTR(Perl_pp_ggrent), /* Perl_pp_ggrnam */
+ MEMBER_TO_FPTR(Perl_pp_ggrent), /* Perl_pp_ggrgid */
MEMBER_TO_FPTR(Perl_pp_ggrent),
MEMBER_TO_FPTR(Perl_pp_sgrent),
MEMBER_TO_FPTR(Perl_pp_egrent),
MEMBER_TO_FPTR(Perl_pp_getlogin),
MEMBER_TO_FPTR(Perl_pp_syscall),
MEMBER_TO_FPTR(Perl_pp_lock),
- MEMBER_TO_FPTR(Perl_pp_threadsv),
+ MEMBER_TO_FPTR(Perl_unimplemented_op), /* Perl_pp_threadsv */
MEMBER_TO_FPTR(Perl_pp_setstate),
MEMBER_TO_FPTR(Perl_pp_method_named),
-};
+ MEMBER_TO_FPTR(Perl_pp_defined), /* Perl_pp_dor */
+ MEMBER_TO_FPTR(Perl_pp_defined), /* Perl_pp_dorassign */
+ MEMBER_TO_FPTR(Perl_pp_entergiven),
+ MEMBER_TO_FPTR(Perl_pp_leavegiven),
+ MEMBER_TO_FPTR(Perl_pp_enterwhen),
+ MEMBER_TO_FPTR(Perl_pp_leavewhen),
+ MEMBER_TO_FPTR(Perl_pp_break),
+ MEMBER_TO_FPTR(Perl_pp_continue),
+ MEMBER_TO_FPTR(Perl_pp_smartmatch),
+ MEMBER_TO_FPTR(Perl_pp_print), /* Perl_pp_say */
+}
+#endif
+#ifdef PERL_PPADDR_INITED
+;
#endif
-#ifndef DOINIT
-EXT OP * (CPERLscope(*PL_check)[]) (pTHX_ OP *op);
+#ifdef PERL_GLOBAL_STRUCT_INIT
+# define PERL_CHECK_INITED
+static const Perl_check_t Gcheck[]
#else
-EXT OP * (CPERLscope(*PL_check)[]) (pTHX_ OP *op) = {
+# ifndef PERL_GLOBAL_STRUCT
+# define PERL_CHECK_INITED
+EXT Perl_check_t PL_check[] /* or perlvars.h */
+# endif
+#endif
+#if (defined(DOINIT) && !defined(PERL_GLOBAL_STRUCT)) || defined(PERL_GLOBAL_STRUCT_INIT)
+# define PERL_CHECK_INITED
+= {
MEMBER_TO_FPTR(Perl_ck_null), /* null */
MEMBER_TO_FPTR(Perl_ck_null), /* stub */
MEMBER_TO_FPTR(Perl_ck_fun), /* scalar */
MEMBER_TO_FPTR(Perl_ck_null), /* regcomp */
MEMBER_TO_FPTR(Perl_ck_match), /* match */
MEMBER_TO_FPTR(Perl_ck_match), /* qr */
- MEMBER_TO_FPTR(Perl_ck_null), /* subst */
+ MEMBER_TO_FPTR(Perl_ck_match), /* subst */
MEMBER_TO_FPTR(Perl_ck_null), /* substcont */
- MEMBER_TO_FPTR(Perl_ck_null), /* trans */
+ MEMBER_TO_FPTR(Perl_ck_match), /* trans */
MEMBER_TO_FPTR(Perl_ck_sassign), /* sassign */
MEMBER_TO_FPTR(Perl_ck_null), /* aassign */
MEMBER_TO_FPTR(Perl_ck_spair), /* chop */
MEMBER_TO_FPTR(Perl_ck_null), /* i_ne */
MEMBER_TO_FPTR(Perl_ck_null), /* ncmp */
MEMBER_TO_FPTR(Perl_ck_null), /* i_ncmp */
- MEMBER_TO_FPTR(Perl_ck_scmp), /* slt */
- MEMBER_TO_FPTR(Perl_ck_scmp), /* sgt */
- MEMBER_TO_FPTR(Perl_ck_scmp), /* sle */
- MEMBER_TO_FPTR(Perl_ck_scmp), /* sge */
+ MEMBER_TO_FPTR(Perl_ck_null), /* slt */
+ MEMBER_TO_FPTR(Perl_ck_null), /* sgt */
+ MEMBER_TO_FPTR(Perl_ck_null), /* sle */
+ MEMBER_TO_FPTR(Perl_ck_null), /* sge */
MEMBER_TO_FPTR(Perl_ck_null), /* seq */
MEMBER_TO_FPTR(Perl_ck_null), /* sne */
- MEMBER_TO_FPTR(Perl_ck_scmp), /* scmp */
+ MEMBER_TO_FPTR(Perl_ck_null), /* scmp */
MEMBER_TO_FPTR(Perl_ck_bitop), /* bit_and */
MEMBER_TO_FPTR(Perl_ck_bitop), /* bit_xor */
MEMBER_TO_FPTR(Perl_ck_bitop), /* bit_or */
MEMBER_TO_FPTR(Perl_ck_fun), /* oct */
MEMBER_TO_FPTR(Perl_ck_fun), /* abs */
MEMBER_TO_FPTR(Perl_ck_lengthconst), /* length */
- MEMBER_TO_FPTR(Perl_ck_fun), /* substr */
+ MEMBER_TO_FPTR(Perl_ck_substr), /* substr */
MEMBER_TO_FPTR(Perl_ck_fun), /* vec */
MEMBER_TO_FPTR(Perl_ck_index), /* index */
MEMBER_TO_FPTR(Perl_ck_index), /* rindex */
- MEMBER_TO_FPTR(Perl_ck_fun_locale), /* sprintf */
+ MEMBER_TO_FPTR(Perl_ck_fun), /* sprintf */
MEMBER_TO_FPTR(Perl_ck_fun), /* formline */
MEMBER_TO_FPTR(Perl_ck_fun), /* ord */
MEMBER_TO_FPTR(Perl_ck_fun), /* chr */
MEMBER_TO_FPTR(Perl_ck_fun), /* crypt */
- MEMBER_TO_FPTR(Perl_ck_fun_locale), /* ucfirst */
- MEMBER_TO_FPTR(Perl_ck_fun_locale), /* lcfirst */
- MEMBER_TO_FPTR(Perl_ck_fun_locale), /* uc */
- MEMBER_TO_FPTR(Perl_ck_fun_locale), /* lc */
+ MEMBER_TO_FPTR(Perl_ck_fun), /* ucfirst */
+ MEMBER_TO_FPTR(Perl_ck_fun), /* lcfirst */
+ MEMBER_TO_FPTR(Perl_ck_fun), /* uc */
+ MEMBER_TO_FPTR(Perl_ck_fun), /* lc */
MEMBER_TO_FPTR(Perl_ck_fun), /* quotemeta */
MEMBER_TO_FPTR(Perl_ck_rvconst), /* rv2av */
MEMBER_TO_FPTR(Perl_ck_null), /* aelemfast */
MEMBER_TO_FPTR(Perl_ck_rvconst), /* rv2hv */
MEMBER_TO_FPTR(Perl_ck_null), /* helem */
MEMBER_TO_FPTR(Perl_ck_null), /* hslice */
- MEMBER_TO_FPTR(Perl_ck_fun), /* unpack */
+ MEMBER_TO_FPTR(Perl_ck_unpack), /* unpack */
MEMBER_TO_FPTR(Perl_ck_fun), /* pack */
MEMBER_TO_FPTR(Perl_ck_split), /* split */
MEMBER_TO_FPTR(Perl_ck_join), /* join */
MEMBER_TO_FPTR(Perl_ck_null), /* leavesublv */
MEMBER_TO_FPTR(Perl_ck_fun), /* caller */
MEMBER_TO_FPTR(Perl_ck_fun), /* warn */
- MEMBER_TO_FPTR(Perl_ck_fun), /* die */
+ MEMBER_TO_FPTR(Perl_ck_die), /* die */
MEMBER_TO_FPTR(Perl_ck_fun), /* reset */
MEMBER_TO_FPTR(Perl_ck_null), /* lineseq */
MEMBER_TO_FPTR(Perl_ck_null), /* nextstate */
MEMBER_TO_FPTR(Perl_ck_null), /* iter */
MEMBER_TO_FPTR(Perl_ck_null), /* enterloop */
MEMBER_TO_FPTR(Perl_ck_null), /* leaveloop */
- MEMBER_TO_FPTR(Perl_ck_null), /* return */
+ MEMBER_TO_FPTR(Perl_ck_return), /* return */
MEMBER_TO_FPTR(Perl_ck_null), /* last */
MEMBER_TO_FPTR(Perl_ck_null), /* next */
MEMBER_TO_FPTR(Perl_ck_null), /* redo */
MEMBER_TO_FPTR(Perl_ck_ftst), /* ftewrite */
MEMBER_TO_FPTR(Perl_ck_ftst), /* fteexec */
MEMBER_TO_FPTR(Perl_ck_ftst), /* ftis */
- MEMBER_TO_FPTR(Perl_ck_ftst), /* fteowned */
- MEMBER_TO_FPTR(Perl_ck_ftst), /* ftrowned */
- MEMBER_TO_FPTR(Perl_ck_ftst), /* ftzero */
MEMBER_TO_FPTR(Perl_ck_ftst), /* ftsize */
MEMBER_TO_FPTR(Perl_ck_ftst), /* ftmtime */
MEMBER_TO_FPTR(Perl_ck_ftst), /* ftatime */
MEMBER_TO_FPTR(Perl_ck_ftst), /* ftctime */
+ MEMBER_TO_FPTR(Perl_ck_ftst), /* ftrowned */
+ MEMBER_TO_FPTR(Perl_ck_ftst), /* fteowned */
+ MEMBER_TO_FPTR(Perl_ck_ftst), /* ftzero */
MEMBER_TO_FPTR(Perl_ck_ftst), /* ftsock */
MEMBER_TO_FPTR(Perl_ck_ftst), /* ftchr */
MEMBER_TO_FPTR(Perl_ck_ftst), /* ftblk */
MEMBER_TO_FPTR(Perl_ck_ftst), /* ftfile */
MEMBER_TO_FPTR(Perl_ck_ftst), /* ftdir */
MEMBER_TO_FPTR(Perl_ck_ftst), /* ftpipe */
- MEMBER_TO_FPTR(Perl_ck_ftst), /* ftlink */
MEMBER_TO_FPTR(Perl_ck_ftst), /* ftsuid */
MEMBER_TO_FPTR(Perl_ck_ftst), /* ftsgid */
MEMBER_TO_FPTR(Perl_ck_ftst), /* ftsvtx */
+ MEMBER_TO_FPTR(Perl_ck_ftst), /* ftlink */
MEMBER_TO_FPTR(Perl_ck_ftst), /* fttty */
MEMBER_TO_FPTR(Perl_ck_ftst), /* fttext */
MEMBER_TO_FPTR(Perl_ck_ftst), /* ftbinary */
- MEMBER_TO_FPTR(Perl_ck_fun), /* chdir */
+ MEMBER_TO_FPTR(Perl_ck_chdir), /* chdir */
MEMBER_TO_FPTR(Perl_ck_fun), /* chown */
MEMBER_TO_FPTR(Perl_ck_fun), /* chroot */
MEMBER_TO_FPTR(Perl_ck_fun), /* unlink */
MEMBER_TO_FPTR(Perl_ck_fun), /* msgctl */
MEMBER_TO_FPTR(Perl_ck_fun), /* msgsnd */
MEMBER_TO_FPTR(Perl_ck_fun), /* msgrcv */
+ MEMBER_TO_FPTR(Perl_ck_fun), /* semop */
MEMBER_TO_FPTR(Perl_ck_fun), /* semget */
MEMBER_TO_FPTR(Perl_ck_fun), /* semctl */
- MEMBER_TO_FPTR(Perl_ck_fun), /* semop */
MEMBER_TO_FPTR(Perl_ck_require), /* require */
MEMBER_TO_FPTR(Perl_ck_fun), /* dofile */
MEMBER_TO_FPTR(Perl_ck_eval), /* entereval */
MEMBER_TO_FPTR(Perl_ck_null), /* threadsv */
MEMBER_TO_FPTR(Perl_ck_null), /* setstate */
MEMBER_TO_FPTR(Perl_ck_null), /* method_named */
-};
+ MEMBER_TO_FPTR(Perl_ck_null), /* dor */
+ MEMBER_TO_FPTR(Perl_ck_null), /* dorassign */
+ MEMBER_TO_FPTR(Perl_ck_null), /* entergiven */
+ MEMBER_TO_FPTR(Perl_ck_null), /* leavegiven */
+ MEMBER_TO_FPTR(Perl_ck_null), /* enterwhen */
+ MEMBER_TO_FPTR(Perl_ck_null), /* leavewhen */
+ MEMBER_TO_FPTR(Perl_ck_null), /* break */
+ MEMBER_TO_FPTR(Perl_ck_null), /* continue */
+ MEMBER_TO_FPTR(Perl_ck_smartmatch), /* smartmatch */
+ MEMBER_TO_FPTR(Perl_ck_listiob), /* say */
+ MEMBER_TO_FPTR(Perl_ck_null), /* custom */
+}
#endif
+#ifdef PERL_CHECK_INITED
+;
+#endif /* #ifdef PERL_CHECK_INITED */
+
+#ifndef PERL_GLOBAL_STRUCT_INIT
#ifndef DOINIT
-EXT U32 PL_opargs[];
+EXTCONST U32 PL_opargs[];
#else
-EXT U32 PL_opargs[] = {
+EXTCONST U32 PL_opargs[] = {
0x00000000, /* null */
0x00000000, /* stub */
0x00003604, /* scalar */
0x00002206, /* srefgen */
0x0001368c, /* ref */
0x00122804, /* bless */
- 0x00001608, /* backtick */
+ 0x00003608, /* backtick */
0x00012808, /* glob */
- 0x00001608, /* readline */
- 0x00001608, /* rcatline */
+ 0x0001d608, /* readline */
+ 0x00000c08, /* rcatline */
0x00002204, /* regcmaybe */
0x00002204, /* regcreset */
0x00002604, /* regcomp */
0x0022281c, /* vec */
0x0122291c, /* index */
0x0122291c, /* rindex */
- 0x0004280f, /* sprintf */
+ 0x0004280d, /* sprintf */
0x00042805, /* formline */
0x0001379e, /* ord */
0x0001378e, /* chr */
0x00000248, /* rv2hv */
0x00028404, /* helem */
0x00048801, /* hslice */
- 0x00022800, /* unpack */
+ 0x00122800, /* unpack */
0x0004280d, /* pack */
0x00222808, /* split */
0x0004280d, /* join */
0x00004805, /* anonhash */
0x05326801, /* splice */
0x0004691d, /* push */
- 0x00007604, /* pop */
- 0x00007604, /* shift */
+ 0x00017604, /* pop */
+ 0x00017604, /* shift */
0x0004691d, /* unshift */
- 0x0005a801, /* sort */
+ 0x0005a841, /* sort */
0x00004809, /* reverse */
0x0004a841, /* grepstart */
0x00000648, /* grepwhile */
0x00001a44, /* dump */
0x00001a44, /* goto */
0x00013644, /* exit */
- 0x0052c81c, /* open */
+ 0x0052c81d, /* open */
0x0001d614, /* close */
0x000cc814, /* pipe_op */
0x0000d61c, /* fileno */
0x0000d894, /* ftewrite */
0x0000d894, /* fteexec */
0x0000d894, /* ftis */
- 0x0000d894, /* fteowned */
- 0x0000d894, /* ftrowned */
- 0x0000d894, /* ftzero */
0x0000d89c, /* ftsize */
0x0000d88c, /* ftmtime */
0x0000d88c, /* ftatime */
0x0000d88c, /* ftctime */
+ 0x0000d894, /* ftrowned */
+ 0x0000d894, /* fteowned */
+ 0x0000d894, /* ftzero */
0x0000d894, /* ftsock */
0x0000d894, /* ftchr */
0x0000d894, /* ftblk */
0x0000d894, /* ftfile */
0x0000d894, /* ftdir */
0x0000d894, /* ftpipe */
- 0x0000d894, /* ftlink */
0x0000d894, /* ftsuid */
0x0000d894, /* ftsgid */
0x0000d894, /* ftsvtx */
+ 0x0000d894, /* ftlink */
0x0000d814, /* fttty */
0x0000d894, /* fttext */
0x0000d894, /* ftbinary */
0x0002291c, /* link */
0x0002291c, /* symlink */
0x0001368c, /* readlink */
- 0x0012291c, /* mkdir */
+ 0x0013299c, /* mkdir */
0x0001379c, /* rmdir */
0x0002c814, /* open_dir */
0x0000d600, /* readdir */
0x0022281d, /* msgctl */
0x0022281d, /* msgsnd */
0x2222281d, /* msgrcv */
+ 0x0002281d, /* semop */
0x0022281d, /* semget */
0x0222281d, /* semctl */
- 0x0002281d, /* semop */
0x000136c0, /* require */
0x00002240, /* dofile */
0x00003640, /* entereval */
0x00000014, /* egrent */
0x0000000c, /* getlogin */
0x0004281d, /* syscall */
- 0x00003604, /* lock */
+ 0x0000f604, /* lock */
0x00000044, /* threadsv */
0x00001404, /* setstate */
0x00000c40, /* method_named */
+ 0x00000600, /* dor */
+ 0x00000604, /* dorassign */
+ 0x00000640, /* entergiven */
+ 0x00000200, /* leavegiven */
+ 0x00000640, /* enterwhen */
+ 0x00000200, /* leavewhen */
+ 0x00000000, /* break */
+ 0x00000000, /* continue */
+ 0x00000404, /* smartmatch */
+ 0x0005c815, /* say */
+ 0x00000000, /* custom */
};
#endif
END_EXTERN_C
+
+#endif /* !PERL_GLOBAL_STRUCT_INIT */
+/* ex: set ro: */