X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/df91b2c56ff1b711bacf43bb03807cfa68f46eb0..b951c6bd21aaa8bad64b23f0ff9662ffff763ffa:/opcode.h diff --git a/opcode.h b/opcode.h index 4de3dee..0849839 100644 --- a/opcode.h +++ b/opcode.h @@ -1,8 +1,9 @@ -/* +/* -*- buffer-read-only: t -*- + * * opcode.h * - * Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, - * 2000, 2001, 2002, 2003, by Larry Wall and others + * Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, + * 2001, 2002, 2003, 2004, 2005, 2006, 2007 by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. @@ -12,24 +13,26 @@ * 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", @@ -128,6 +131,7 @@ EXT char *PL_op_name[] = { "i_negate", "not", "complement", + "smartmatch", "atan2", "sin", "cos", @@ -159,6 +163,9 @@ EXT char *PL_op_name[] = { "aelemfast", "aelem", "aslice", + "aeach", + "akeys", + "avalues", "each", "values", "keys", @@ -167,6 +174,7 @@ EXT char *PL_op_name[] = { "rv2hv", "helem", "hslice", + "boolkeys", "unpack", "pack", "split", @@ -192,9 +200,11 @@ EXT char *PL_op_name[] = { "and", "or", "xor", + "dor", "cond_expr", "andassign", "orassign", + "dorassign", "method", "entersub", "leavesub", @@ -221,6 +231,13 @@ EXT char *PL_op_name[] = { "dump", "goto", "exit", + "method_named", + "entergiven", + "leavegiven", + "enterwhen", + "leavewhen", + "break", + "continue", "open", "close", "pipe_op", @@ -240,12 +257,11 @@ EXT char *PL_op_name[] = { "leavewrite", "prtf", "print", + "say", "sysopen", "sysseek", "sysread", "syswrite", - "send", - "recv", "eof", "tell", "seek", @@ -253,6 +269,8 @@ EXT char *PL_op_name[] = { "fcntl", "ioctl", "flock", + "send", + "recv", "socket", "sockpair", "bind", @@ -273,23 +291,23 @@ EXT char *PL_op_name[] = { "ftewrite", "fteexec", "ftis", - "fteowned", - "ftrowned", - "ftzero", "ftsize", "ftmtime", "ftatime", "ftctime", + "ftrowned", + "fteowned", + "ftzero", "ftsock", "ftchr", "ftblk", "ftfile", "ftdir", "ftpipe", - "ftlink", "ftsuid", "ftsgid", "ftsvtx", + "ftlink", "fttty", "fttext", "ftbinary", @@ -336,11 +354,12 @@ EXT char *PL_op_name[] = { "msgctl", "msgsnd", "msgrcv", + "semop", "semget", "semctl", - "semop", "require", "dofile", + "hintseval", "entereval", "leaveeval", "entertry", @@ -378,19 +397,15 @@ EXT char *PL_op_name[] = { "getlogin", "syscall", "lock", - "threadsv", - "setstate", - "method_named", - "dor", - "dorassign", + "once", "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", @@ -489,6 +504,7 @@ EXT char *PL_op_desc[] = { "integer negation (-)", "not", "1's complement (~)", + "smart match", "atan2", "sin", "cos", @@ -520,6 +536,9 @@ EXT char *PL_op_desc[] = { "constant array element", "array element", "array slice", + "each on array", + "keys on array", + "values on array", "each", "values", "keys", @@ -528,6 +547,7 @@ EXT char *PL_op_desc[] = { "hash dereference", "hash element", "hash slice", + "boolkeys", "unpack", "pack", "split", @@ -553,9 +573,11 @@ EXT char *PL_op_desc[] = { "logical and (&&)", "logical or (||)", "logical xor", + "defined or (//)", "conditional expression", "logical and assignment (&&=)", "logical or assignment (||=)", + "defined or assignment (//=)", "method lookup", "subroutine entry", "subroutine exit", @@ -582,6 +604,13 @@ EXT char *PL_op_desc[] = { "dump", "goto", "exit", + "method with known name", + "given()", + "leave given block", + "when()", + "leave when block", + "break", + "continue", "open", "close", "pipe", @@ -601,12 +630,11 @@ EXT char *PL_op_desc[] = { "write exit", "printf", "print", + "say", "sysopen", "sysseek", "sysread", "syswrite", - "send", - "recv", "eof", "tell", "seek", @@ -614,6 +642,8 @@ EXT char *PL_op_desc[] = { "fcntl", "ioctl", "flock", + "send", + "recv", "socket", "socketpair", "bind", @@ -634,23 +664,23 @@ EXT char *PL_op_desc[] = { "-w", "-x", "-e", - "-O", - "-o", - "-z", "-s", "-M", "-A", "-C", + "-O", + "-o", + "-z", "-S", "-c", "-b", "-f", "-d", "-p", - "-l", "-u", "-g", "-k", + "-l", "-t", "-T", "-B", @@ -697,11 +727,12 @@ EXT char *PL_op_desc[] = { "msgctl", "msgsnd", "msgrcv", + "semop", "semget", "semctl", - "semop", "require", "do \"file\"", + "eval hints", "eval \"string\"", "eval \"string\" exit", "eval {block}", @@ -739,27 +770,32 @@ EXT char *PL_op_desc[] = { "getlogin", "syscall", "lock", - "per-thread value", - "set statement info", - "method with known name", - "defined or (//)", - "defined or assignment (//=)", + "once", "unknown custom operator", }; #endif 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), @@ -769,7 +805,7 @@ EXT OP * (CPERLscope(*PL_ppaddr)[])(pTHX) = { 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), @@ -785,7 +821,7 @@ EXT OP * (CPERLscope(*PL_ppaddr)[])(pTHX) = { 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), @@ -841,44 +877,45 @@ EXT OP * (CPERLscope(*PL_ppaddr)[])(pTHX) = { MEMBER_TO_FPTR(Perl_pp_i_ne), MEMBER_TO_FPTR(Perl_pp_ncmp), MEMBER_TO_FPTR(Perl_pp_i_ncmp), - MEMBER_TO_FPTR(Perl_pp_slt), - MEMBER_TO_FPTR(Perl_pp_sgt), + MEMBER_TO_FPTR(Perl_pp_sle), /* Perl_pp_slt */ + MEMBER_TO_FPTR(Perl_pp_sle), /* Perl_pp_sgt */ MEMBER_TO_FPTR(Perl_pp_sle), - MEMBER_TO_FPTR(Perl_pp_sge), + MEMBER_TO_FPTR(Perl_pp_sle), /* Perl_pp_sge */ MEMBER_TO_FPTR(Perl_pp_seq), MEMBER_TO_FPTR(Perl_pp_sne), MEMBER_TO_FPTR(Perl_pp_scmp), MEMBER_TO_FPTR(Perl_pp_bit_and), - MEMBER_TO_FPTR(Perl_pp_bit_xor), + MEMBER_TO_FPTR(Perl_pp_bit_or), /* Perl_pp_bit_xor */ MEMBER_TO_FPTR(Perl_pp_bit_or), MEMBER_TO_FPTR(Perl_pp_negate), MEMBER_TO_FPTR(Perl_pp_i_negate), MEMBER_TO_FPTR(Perl_pp_not), MEMBER_TO_FPTR(Perl_pp_complement), + MEMBER_TO_FPTR(Perl_pp_smartmatch), MEMBER_TO_FPTR(Perl_pp_atan2), MEMBER_TO_FPTR(Perl_pp_sin), - MEMBER_TO_FPTR(Perl_pp_cos), + MEMBER_TO_FPTR(Perl_pp_sin), /* Perl_pp_cos */ MEMBER_TO_FPTR(Perl_pp_rand), MEMBER_TO_FPTR(Perl_pp_srand), - MEMBER_TO_FPTR(Perl_pp_exp), - MEMBER_TO_FPTR(Perl_pp_log), - MEMBER_TO_FPTR(Perl_pp_sqrt), + MEMBER_TO_FPTR(Perl_pp_sin), /* Perl_pp_exp */ + MEMBER_TO_FPTR(Perl_pp_sin), /* Perl_pp_log */ + MEMBER_TO_FPTR(Perl_pp_sin), /* Perl_pp_sqrt */ MEMBER_TO_FPTR(Perl_pp_int), - MEMBER_TO_FPTR(Perl_pp_hex), + MEMBER_TO_FPTR(Perl_pp_oct), /* Perl_pp_hex */ MEMBER_TO_FPTR(Perl_pp_oct), MEMBER_TO_FPTR(Perl_pp_abs), MEMBER_TO_FPTR(Perl_pp_length), MEMBER_TO_FPTR(Perl_pp_substr), MEMBER_TO_FPTR(Perl_pp_vec), MEMBER_TO_FPTR(Perl_pp_index), - MEMBER_TO_FPTR(Perl_pp_rindex), + MEMBER_TO_FPTR(Perl_pp_index), /* Perl_pp_rindex */ MEMBER_TO_FPTR(Perl_pp_sprintf), MEMBER_TO_FPTR(Perl_pp_formline), MEMBER_TO_FPTR(Perl_pp_ord), MEMBER_TO_FPTR(Perl_pp_chr), MEMBER_TO_FPTR(Perl_pp_crypt), MEMBER_TO_FPTR(Perl_pp_ucfirst), - MEMBER_TO_FPTR(Perl_pp_lcfirst), + MEMBER_TO_FPTR(Perl_pp_ucfirst), /* Perl_pp_lcfirst */ MEMBER_TO_FPTR(Perl_pp_uc), MEMBER_TO_FPTR(Perl_pp_lc), MEMBER_TO_FPTR(Perl_pp_quotemeta), @@ -886,14 +923,18 @@ EXT OP * (CPERLscope(*PL_ppaddr)[])(pTHX) = { MEMBER_TO_FPTR(Perl_pp_aelemfast), MEMBER_TO_FPTR(Perl_pp_aelem), MEMBER_TO_FPTR(Perl_pp_aslice), + MEMBER_TO_FPTR(Perl_pp_aeach), + MEMBER_TO_FPTR(Perl_pp_akeys), + MEMBER_TO_FPTR(Perl_pp_akeys), /* Perl_pp_avalues */ MEMBER_TO_FPTR(Perl_pp_each), - MEMBER_TO_FPTR(Perl_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_rv2av), /* Perl_pp_rv2hv */ MEMBER_TO_FPTR(Perl_pp_helem), MEMBER_TO_FPTR(Perl_pp_hslice), + MEMBER_TO_FPTR(Perl_pp_boolkeys), MEMBER_TO_FPTR(Perl_pp_unpack), MEMBER_TO_FPTR(Perl_pp_pack), MEMBER_TO_FPTR(Perl_pp_split), @@ -904,14 +945,14 @@ EXT OP * (CPERLscope(*PL_ppaddr)[])(pTHX) = { 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), @@ -919,9 +960,11 @@ EXT OP * (CPERLscope(*PL_ppaddr)[])(pTHX) = { MEMBER_TO_FPTR(Perl_pp_and), MEMBER_TO_FPTR(Perl_pp_or), MEMBER_TO_FPTR(Perl_pp_xor), + MEMBER_TO_FPTR(Perl_pp_defined), /* Perl_pp_dor */ MEMBER_TO_FPTR(Perl_pp_cond_expr), - MEMBER_TO_FPTR(Perl_pp_andassign), - MEMBER_TO_FPTR(Perl_pp_orassign), + MEMBER_TO_FPTR(Perl_pp_and), /* Perl_pp_andassign */ + MEMBER_TO_FPTR(Perl_pp_or), /* Perl_pp_orassign */ + MEMBER_TO_FPTR(Perl_pp_defined), /* Perl_pp_dorassign */ MEMBER_TO_FPTR(Perl_pp_method), MEMBER_TO_FPTR(Perl_pp_entersub), MEMBER_TO_FPTR(Perl_pp_leavesub), @@ -930,13 +973,13 @@ EXT OP * (CPERLscope(*PL_ppaddr)[])(pTHX) = { 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), @@ -945,9 +988,16 @@ EXT OP * (CPERLscope(*PL_ppaddr)[])(pTHX) = { 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_method_named), + MEMBER_TO_FPTR(Perl_pp_entergiven), + MEMBER_TO_FPTR(Perl_pp_leavegiven), + MEMBER_TO_FPTR(Perl_pp_enterwhen), + MEMBER_TO_FPTR(Perl_pp_leavewhen), + MEMBER_TO_FPTR(Perl_pp_break), + MEMBER_TO_FPTR(Perl_pp_continue), MEMBER_TO_FPTR(Perl_pp_open), MEMBER_TO_FPTR(Perl_pp_close), MEMBER_TO_FPTR(Perl_pp_pipe_op), @@ -958,28 +1008,29 @@ EXT OP * (CPERLscope(*PL_ppaddr)[])(pTHX) = { 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_print), + MEMBER_TO_FPTR(Perl_pp_print), /* Perl_pp_say */ MEMBER_TO_FPTR(Perl_pp_sysopen), MEMBER_TO_FPTR(Perl_pp_sysseek), MEMBER_TO_FPTR(Perl_pp_sysread), - MEMBER_TO_FPTR(Perl_pp_syswrite), - MEMBER_TO_FPTR(Perl_pp_send), - MEMBER_TO_FPTR(Perl_pp_recv), + MEMBER_TO_FPTR(Perl_pp_send), /* Perl_pp_syswrite */ MEMBER_TO_FPTR(Perl_pp_eof), MEMBER_TO_FPTR(Perl_pp_tell), - MEMBER_TO_FPTR(Perl_pp_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_send), + MEMBER_TO_FPTR(Perl_pp_sysread), /* Perl_pp_recv */ MEMBER_TO_FPTR(Perl_pp_socket), MEMBER_TO_FPTR(Perl_pp_sockpair), MEMBER_TO_FPTR(Perl_pp_bind), @@ -987,48 +1038,48 @@ EXT OP * (CPERLscope(*PL_ppaddr)[])(pTHX) = { 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), @@ -1043,7 +1094,7 @@ EXT OP * (CPERLscope(*PL_ppaddr)[])(pTHX) = { 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), @@ -1051,38 +1102,39 @@ EXT OP * (CPERLscope(*PL_ppaddr)[])(pTHX) = { 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_hintseval), 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), @@ -1092,31 +1144,39 @@ EXT OP * (CPERLscope(*PL_ppaddr)[])(pTHX) = { 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_pp_setstate), - MEMBER_TO_FPTR(Perl_pp_method_named), - MEMBER_TO_FPTR(Perl_pp_dor), - MEMBER_TO_FPTR(Perl_pp_dorassign), -}; + MEMBER_TO_FPTR(Perl_pp_once), + MEMBER_TO_FPTR(Perl_unimplemented_op), /* Perl_pp_custom */ +} +#endif +#ifdef PERL_PPADDR_INITED +; #endif -#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 */ @@ -1143,16 +1203,16 @@ EXT OP * (CPERLscope(*PL_check)[]) (pTHX_ OP *op) = { MEMBER_TO_FPTR(Perl_ck_fun), /* bless */ MEMBER_TO_FPTR(Perl_ck_open), /* backtick */ MEMBER_TO_FPTR(Perl_ck_glob), /* glob */ - MEMBER_TO_FPTR(Perl_ck_null), /* readline */ + MEMBER_TO_FPTR(Perl_ck_readline), /* readline */ MEMBER_TO_FPTR(Perl_ck_null), /* rcatline */ MEMBER_TO_FPTR(Perl_ck_fun), /* regcmaybe */ MEMBER_TO_FPTR(Perl_ck_fun), /* regcreset */ 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 */ @@ -1215,6 +1275,7 @@ EXT OP * (CPERLscope(*PL_check)[]) (pTHX_ OP *op) = { MEMBER_TO_FPTR(Perl_ck_null), /* i_negate */ MEMBER_TO_FPTR(Perl_ck_null), /* not */ MEMBER_TO_FPTR(Perl_ck_bitop), /* complement */ + MEMBER_TO_FPTR(Perl_ck_smartmatch), /* smartmatch */ MEMBER_TO_FPTR(Perl_ck_fun), /* atan2 */ MEMBER_TO_FPTR(Perl_ck_fun), /* sin */ MEMBER_TO_FPTR(Perl_ck_fun), /* cos */ @@ -1227,7 +1288,7 @@ EXT OP * (CPERLscope(*PL_check)[]) (pTHX_ OP *op) = { MEMBER_TO_FPTR(Perl_ck_fun), /* hex */ MEMBER_TO_FPTR(Perl_ck_fun), /* oct */ MEMBER_TO_FPTR(Perl_ck_fun), /* abs */ - MEMBER_TO_FPTR(Perl_ck_lengthconst), /* length */ + MEMBER_TO_FPTR(Perl_ck_fun), /* length */ MEMBER_TO_FPTR(Perl_ck_substr), /* substr */ MEMBER_TO_FPTR(Perl_ck_fun), /* vec */ MEMBER_TO_FPTR(Perl_ck_index), /* index */ @@ -1246,15 +1307,19 @@ EXT OP * (CPERLscope(*PL_check)[]) (pTHX_ OP *op) = { MEMBER_TO_FPTR(Perl_ck_null), /* aelemfast */ MEMBER_TO_FPTR(Perl_ck_null), /* aelem */ MEMBER_TO_FPTR(Perl_ck_null), /* aslice */ - MEMBER_TO_FPTR(Perl_ck_fun), /* each */ - MEMBER_TO_FPTR(Perl_ck_fun), /* values */ - MEMBER_TO_FPTR(Perl_ck_fun), /* keys */ + MEMBER_TO_FPTR(Perl_ck_each), /* aeach */ + MEMBER_TO_FPTR(Perl_ck_each), /* akeys */ + MEMBER_TO_FPTR(Perl_ck_each), /* avalues */ + MEMBER_TO_FPTR(Perl_ck_each), /* each */ + MEMBER_TO_FPTR(Perl_ck_each), /* values */ + MEMBER_TO_FPTR(Perl_ck_each), /* keys */ MEMBER_TO_FPTR(Perl_ck_delete), /* delete */ MEMBER_TO_FPTR(Perl_ck_exists), /* exists */ MEMBER_TO_FPTR(Perl_ck_rvconst), /* rv2hv */ MEMBER_TO_FPTR(Perl_ck_null), /* helem */ MEMBER_TO_FPTR(Perl_ck_null), /* hslice */ - MEMBER_TO_FPTR(Perl_ck_fun), /* unpack */ + MEMBER_TO_FPTR(Perl_ck_fun), /* boolkeys */ + MEMBER_TO_FPTR(Perl_ck_unpack), /* unpack */ MEMBER_TO_FPTR(Perl_ck_fun), /* pack */ MEMBER_TO_FPTR(Perl_ck_split), /* split */ MEMBER_TO_FPTR(Perl_ck_join), /* join */ @@ -1279,9 +1344,11 @@ EXT OP * (CPERLscope(*PL_check)[]) (pTHX_ OP *op) = { MEMBER_TO_FPTR(Perl_ck_null), /* and */ MEMBER_TO_FPTR(Perl_ck_null), /* or */ MEMBER_TO_FPTR(Perl_ck_null), /* xor */ + MEMBER_TO_FPTR(Perl_ck_null), /* dor */ MEMBER_TO_FPTR(Perl_ck_null), /* cond_expr */ MEMBER_TO_FPTR(Perl_ck_null), /* andassign */ MEMBER_TO_FPTR(Perl_ck_null), /* orassign */ + MEMBER_TO_FPTR(Perl_ck_null), /* dorassign */ MEMBER_TO_FPTR(Perl_ck_method), /* method */ MEMBER_TO_FPTR(Perl_ck_subr), /* entersub */ MEMBER_TO_FPTR(Perl_ck_null), /* leavesub */ @@ -1308,6 +1375,13 @@ EXT OP * (CPERLscope(*PL_check)[]) (pTHX_ OP *op) = { MEMBER_TO_FPTR(Perl_ck_null), /* dump */ MEMBER_TO_FPTR(Perl_ck_null), /* goto */ MEMBER_TO_FPTR(Perl_ck_exit), /* exit */ + MEMBER_TO_FPTR(Perl_ck_null), /* method_named */ + MEMBER_TO_FPTR(Perl_ck_null), /* entergiven */ + MEMBER_TO_FPTR(Perl_ck_null), /* leavegiven */ + MEMBER_TO_FPTR(Perl_ck_null), /* enterwhen */ + MEMBER_TO_FPTR(Perl_ck_null), /* leavewhen */ + MEMBER_TO_FPTR(Perl_ck_null), /* break */ + MEMBER_TO_FPTR(Perl_ck_null), /* continue */ MEMBER_TO_FPTR(Perl_ck_open), /* open */ MEMBER_TO_FPTR(Perl_ck_fun), /* close */ MEMBER_TO_FPTR(Perl_ck_fun), /* pipe_op */ @@ -1327,12 +1401,11 @@ EXT OP * (CPERLscope(*PL_check)[]) (pTHX_ OP *op) = { MEMBER_TO_FPTR(Perl_ck_null), /* leavewrite */ MEMBER_TO_FPTR(Perl_ck_listiob), /* prtf */ MEMBER_TO_FPTR(Perl_ck_listiob), /* print */ + MEMBER_TO_FPTR(Perl_ck_listiob), /* say */ MEMBER_TO_FPTR(Perl_ck_fun), /* sysopen */ MEMBER_TO_FPTR(Perl_ck_fun), /* sysseek */ MEMBER_TO_FPTR(Perl_ck_fun), /* sysread */ MEMBER_TO_FPTR(Perl_ck_fun), /* syswrite */ - MEMBER_TO_FPTR(Perl_ck_fun), /* send */ - MEMBER_TO_FPTR(Perl_ck_fun), /* recv */ MEMBER_TO_FPTR(Perl_ck_eof), /* eof */ MEMBER_TO_FPTR(Perl_ck_fun), /* tell */ MEMBER_TO_FPTR(Perl_ck_fun), /* seek */ @@ -1340,6 +1413,8 @@ EXT OP * (CPERLscope(*PL_check)[]) (pTHX_ OP *op) = { MEMBER_TO_FPTR(Perl_ck_fun), /* fcntl */ MEMBER_TO_FPTR(Perl_ck_fun), /* ioctl */ MEMBER_TO_FPTR(Perl_ck_fun), /* flock */ + MEMBER_TO_FPTR(Perl_ck_fun), /* send */ + MEMBER_TO_FPTR(Perl_ck_fun), /* recv */ MEMBER_TO_FPTR(Perl_ck_fun), /* socket */ MEMBER_TO_FPTR(Perl_ck_fun), /* sockpair */ MEMBER_TO_FPTR(Perl_ck_fun), /* bind */ @@ -1360,27 +1435,27 @@ EXT OP * (CPERLscope(*PL_check)[]) (pTHX_ OP *op) = { 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 */ @@ -1423,14 +1498,15 @@ EXT OP * (CPERLscope(*PL_check)[]) (pTHX_ OP *op) = { MEMBER_TO_FPTR(Perl_ck_fun), /* msgctl */ MEMBER_TO_FPTR(Perl_ck_fun), /* msgsnd */ MEMBER_TO_FPTR(Perl_ck_fun), /* msgrcv */ + MEMBER_TO_FPTR(Perl_ck_fun), /* semop */ MEMBER_TO_FPTR(Perl_ck_fun), /* semget */ MEMBER_TO_FPTR(Perl_ck_fun), /* semctl */ - MEMBER_TO_FPTR(Perl_ck_fun), /* semop */ MEMBER_TO_FPTR(Perl_ck_require), /* require */ MEMBER_TO_FPTR(Perl_ck_fun), /* dofile */ + MEMBER_TO_FPTR(Perl_ck_svconst), /* hintseval */ MEMBER_TO_FPTR(Perl_ck_eval), /* entereval */ MEMBER_TO_FPTR(Perl_ck_null), /* leaveeval */ - MEMBER_TO_FPTR(Perl_ck_null), /* entertry */ + MEMBER_TO_FPTR(Perl_ck_eval), /* entertry */ MEMBER_TO_FPTR(Perl_ck_null), /* leavetry */ MEMBER_TO_FPTR(Perl_ck_fun), /* ghbyname */ MEMBER_TO_FPTR(Perl_ck_fun), /* ghbyaddr */ @@ -1465,19 +1541,20 @@ EXT OP * (CPERLscope(*PL_check)[]) (pTHX_ OP *op) = { MEMBER_TO_FPTR(Perl_ck_null), /* getlogin */ MEMBER_TO_FPTR(Perl_ck_fun), /* syscall */ MEMBER_TO_FPTR(Perl_ck_rfun), /* lock */ - MEMBER_TO_FPTR(Perl_ck_null), /* threadsv */ - MEMBER_TO_FPTR(Perl_ck_null), /* setstate */ - MEMBER_TO_FPTR(Perl_ck_null), /* method_named */ - MEMBER_TO_FPTR(Perl_ck_null), /* dor */ - MEMBER_TO_FPTR(Perl_ck_null), /* dorassign */ + MEMBER_TO_FPTR(Perl_ck_null), /* once */ MEMBER_TO_FPTR(Perl_ck_null), /* custom */ -}; +} #endif +#ifdef PERL_CHECK_INITED +; +#endif /* #ifdef PERL_CHECK_INITED */ + +#ifndef PERL_GLOBAL_STRUCT_INIT #ifndef DOINIT -EXT U32 PL_opargs[]; +EXTCONST U32 PL_opargs[]; #else -EXT U32 PL_opargs[] = { +EXTCONST U32 PL_opargs[] = { 0x00000000, /* null */ 0x00000000, /* stub */ 0x00003604, /* scalar */ @@ -1502,7 +1579,7 @@ EXT U32 PL_opargs[] = { 0x00002206, /* srefgen */ 0x0001368c, /* ref */ 0x00122804, /* bless */ - 0x00001608, /* backtick */ + 0x00013688, /* backtick */ 0x00012808, /* glob */ 0x0001d608, /* readline */ 0x00000c08, /* rcatline */ @@ -1576,6 +1653,7 @@ EXT U32 PL_opargs[] = { 0x0000231e, /* i_negate */ 0x00002216, /* not */ 0x0000220e, /* complement */ + 0x00000404, /* smartmatch */ 0x0002290e, /* atan2 */ 0x0001378e, /* sin */ 0x0001378e, /* cos */ @@ -1588,7 +1666,7 @@ EXT U32 PL_opargs[] = { 0x0001378e, /* hex */ 0x0001378e, /* oct */ 0x0001378e, /* abs */ - 0x0001379c, /* length */ + 0x0001379e, /* length */ 0x1322280c, /* substr */ 0x0022281c, /* vec */ 0x0122291c, /* index */ @@ -1607,6 +1685,9 @@ EXT U32 PL_opargs[] = { 0x00026c04, /* aelemfast */ 0x00026404, /* aelem */ 0x00046801, /* aslice */ + 0x00007600, /* aeach */ + 0x00007608, /* akeys */ + 0x00007608, /* avalues */ 0x00009600, /* each */ 0x00009608, /* values */ 0x00009608, /* keys */ @@ -1615,6 +1696,7 @@ EXT U32 PL_opargs[] = { 0x00000248, /* rv2hv */ 0x00028404, /* helem */ 0x00048801, /* hslice */ + 0x00009600, /* boolkeys */ 0x00122800, /* unpack */ 0x0004280d, /* pack */ 0x00222808, /* split */ @@ -1628,7 +1710,7 @@ EXT U32 PL_opargs[] = { 0x00017604, /* pop */ 0x00017604, /* shift */ 0x0004691d, /* unshift */ - 0x0005a801, /* sort */ + 0x0005a841, /* sort */ 0x00004809, /* reverse */ 0x0004a841, /* grepstart */ 0x00000648, /* grepwhile */ @@ -1640,9 +1722,11 @@ EXT U32 PL_opargs[] = { 0x00000600, /* and */ 0x00000600, /* or */ 0x00022406, /* xor */ + 0x00000600, /* dor */ 0x00000640, /* cond_expr */ 0x00000604, /* andassign */ 0x00000604, /* orassign */ + 0x00000604, /* dorassign */ 0x00000240, /* method */ 0x00004249, /* entersub */ 0x00000200, /* leavesub */ @@ -1669,6 +1753,13 @@ EXT U32 PL_opargs[] = { 0x00001a44, /* dump */ 0x00001a44, /* goto */ 0x00013644, /* exit */ + 0x00000c40, /* method_named */ + 0x00000640, /* entergiven */ + 0x00000200, /* leavegiven */ + 0x00000640, /* enterwhen */ + 0x00000200, /* leavewhen */ + 0x00000000, /* break */ + 0x00000000, /* continue */ 0x0052c81d, /* open */ 0x0001d614, /* close */ 0x000cc814, /* pipe_op */ @@ -1688,12 +1779,11 @@ EXT U32 PL_opargs[] = { 0x00000200, /* leavewrite */ 0x0005c815, /* prtf */ 0x0005c815, /* print */ + 0x0005c815, /* say */ 0x1222c804, /* sysopen */ 0x0022c804, /* sysseek */ 0x122ec81d, /* sysread */ 0x1322c81d, /* syswrite */ - 0x1222c81d, /* send */ - 0x022ec81d, /* recv */ 0x0001d614, /* eof */ 0x0001d60c, /* tell */ 0x0022c804, /* seek */ @@ -1701,6 +1791,8 @@ EXT U32 PL_opargs[] = { 0x0022c80c, /* fcntl */ 0x0022c80c, /* ioctl */ 0x0002c91c, /* flock */ + 0x1222c81d, /* send */ + 0x022ec81d, /* recv */ 0x0222c814, /* socket */ 0x222cc814, /* sockpair */ 0x0002c814, /* bind */ @@ -1721,23 +1813,23 @@ EXT U32 PL_opargs[] = { 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 */ @@ -1751,7 +1843,7 @@ EXT U32 PL_opargs[] = { 0x0002291c, /* link */ 0x0002291c, /* symlink */ 0x0001368c, /* readlink */ - 0x0012291c, /* mkdir */ + 0x0013299c, /* mkdir */ 0x0001379c, /* rmdir */ 0x0002c814, /* open_dir */ 0x0000d600, /* readdir */ @@ -1784,14 +1876,15 @@ EXT U32 PL_opargs[] = { 0x0022281d, /* msgctl */ 0x0022281d, /* msgsnd */ 0x2222281d, /* msgrcv */ + 0x0002281d, /* semop */ 0x0022281d, /* semget */ 0x0222281d, /* semctl */ - 0x0002281d, /* semop */ 0x000136c0, /* require */ 0x00002240, /* dofile */ + 0x00000c04, /* hintseval */ 0x00003640, /* entereval */ 0x00002200, /* leaveeval */ - 0x00000600, /* entertry */ + 0x00001640, /* entertry */ 0x00000800, /* leavetry */ 0x00003600, /* ghbyname */ 0x00022800, /* ghbyaddr */ @@ -1826,13 +1919,13 @@ EXT U32 PL_opargs[] = { 0x0000000c, /* getlogin */ 0x0004281d, /* syscall */ 0x0000f604, /* lock */ - 0x00000044, /* threadsv */ - 0x00001404, /* setstate */ - 0x00000c40, /* method_named */ - 0x00000600, /* dor */ - 0x00000604, /* dorassign */ + 0x00000600, /* once */ 0x00000000, /* custom */ }; #endif +#endif /* !PERL_GLOBAL_STRUCT_INIT */ + END_EXTERN_C + +/* ex: set ro: */