X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/6f3ed33686edc657dce73f7b5a70e096a40970aa..84c7b88ccae183c236ad7ca5cdb8dd097de25420:/opcode.h diff --git a/opcode.h b/opcode.h index 9e42d8b..0d0990e 100644 --- a/opcode.h +++ b/opcode.h @@ -2,15 +2,15 @@ * * opcode.h * - * Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, - * 2001, 2002, 2003, 2004, 2005, 2006, 2007 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. * * !!!!!!! DO NOT EDIT THIS FILE !!!!!!! - * This file is built by regen/opcode.pl from its data. Any changes made - * here will be lost! + * This file is built by regen/opcode.pl from its data. + * Any changes made here will be lost! */ #ifndef PERL_GLOBAL_STRUCT_INIT @@ -18,12 +18,15 @@ #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_predec Perl_pp_preinc +#define Perl_pp_i_predec Perl_pp_preinc #define Perl_pp_i_postinc Perl_pp_postinc -#define Perl_pp_i_postdec Perl_pp_postdec +#define Perl_pp_postdec Perl_pp_postinc +#define Perl_pp_i_postdec Perl_pp_postinc #define Perl_pp_slt Perl_pp_sle #define Perl_pp_sgt Perl_pp_sle #define Perl_pp_sge Perl_pp_sle @@ -35,6 +38,7 @@ #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 @@ -51,13 +55,31 @@ #define Perl_pp_dbmclose Perl_pp_untie #define Perl_pp_read Perl_pp_sysread #define Perl_pp_say Perl_pp_print -#define Perl_pp_syswrite Perl_pp_send #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 @@ -103,14 +125,23 @@ #define Perl_pp_gpbynumber Perl_pp_gprotoent #define Perl_pp_gsbyname Perl_pp_gservent #define Perl_pp_gsbyport Perl_pp_gservent +#define Perl_pp_snetent Perl_pp_shostent +#define Perl_pp_sprotoent Perl_pp_shostent +#define Perl_pp_sservent Perl_pp_shostent +#define Perl_pp_enetent Perl_pp_ehostent +#define Perl_pp_eprotoent Perl_pp_ehostent +#define Perl_pp_eservent Perl_pp_ehostent #define Perl_pp_gpwnam Perl_pp_gpwent #define Perl_pp_gpwuid Perl_pp_gpwent +#define Perl_pp_spwent Perl_pp_ehostent +#define Perl_pp_epwent Perl_pp_ehostent #define Perl_pp_ggrnam Perl_pp_ggrent #define Perl_pp_ggrgid Perl_pp_ggrent +#define Perl_pp_sgrent Perl_pp_ehostent +#define Perl_pp_egrent Perl_pp_ehostent #define Perl_pp_custom Perl_unimplemented_op #define Perl_pp_reach Perl_pp_rkeys #define Perl_pp_rvalues Perl_pp_rkeys -#define Perl_pp_transr Perl_pp_trans START_EXTERN_C #ifndef DOINIT @@ -153,6 +184,7 @@ EXTCONST char* const PL_op_name[] = { "subst", "substcont", "trans", + "transr", "sassign", "aassign", "chop", @@ -245,6 +277,7 @@ EXTCONST char* const PL_op_name[] = { "quotemeta", "rv2av", "aelemfast", + "aelemfast_lex", "aelem", "aslice", "aeach", @@ -486,7 +519,7 @@ EXTCONST char* const PL_op_name[] = { "reach", "rkeys", "rvalues", - "transr", + "coreargs", }; #endif @@ -530,6 +563,7 @@ EXTCONST char* const PL_op_desc[] = { "substitution (s///)", "substitution iterator", "transliteration (tr///)", + "transliteration (tr///)", "scalar assignment", "list assignment", "chop", @@ -622,6 +656,7 @@ EXTCONST char* const PL_op_desc[] = { "quotemeta", "array dereference", "constant array element", + "constant lexical array element", "array element", "array slice", "each on array", @@ -863,7 +898,7 @@ EXTCONST char* const PL_op_desc[] = { "each on reference", "keys on reference", "values on reference", - "transliteration (tr///)", + "CORE:: subroutine", }; #endif @@ -921,6 +956,7 @@ EXT Perl_ppaddr_t PL_ppaddr[] /* or perlvars.h */ Perl_pp_subst, Perl_pp_substcont, Perl_pp_trans, + Perl_pp_transr, /* implemented by Perl_pp_trans */ Perl_pp_sassign, Perl_pp_aassign, Perl_pp_chop, @@ -933,12 +969,12 @@ EXT Perl_ppaddr_t PL_ppaddr[] /* or perlvars.h */ Perl_pp_pos, Perl_pp_preinc, Perl_pp_i_preinc, /* implemented by Perl_pp_preinc */ - Perl_pp_predec, - Perl_pp_i_predec, /* implemented by Perl_pp_predec */ + Perl_pp_predec, /* implemented by Perl_pp_preinc */ + Perl_pp_i_predec, /* implemented by Perl_pp_preinc */ Perl_pp_postinc, Perl_pp_i_postinc, /* implemented by Perl_pp_postinc */ - Perl_pp_postdec, - Perl_pp_i_postdec, /* implemented by Perl_pp_postdec */ + Perl_pp_postdec, /* implemented by Perl_pp_postinc */ + Perl_pp_i_postdec, /* implemented by Perl_pp_postinc */ Perl_pp_pow, Perl_pp_multiply, Perl_pp_i_multiply, @@ -1013,6 +1049,7 @@ EXT Perl_ppaddr_t PL_ppaddr[] /* or perlvars.h */ Perl_pp_quotemeta, Perl_pp_rv2av, Perl_pp_aelemfast, + Perl_pp_aelemfast_lex, /* implemented by Perl_pp_aelemfast */ Perl_pp_aelem, Perl_pp_aslice, Perl_pp_aeach, @@ -1113,7 +1150,7 @@ EXT Perl_ppaddr_t PL_ppaddr[] /* or perlvars.h */ Perl_pp_sysopen, Perl_pp_sysseek, Perl_pp_sysread, - Perl_pp_syswrite, /* implemented by Perl_pp_send */ + Perl_pp_syswrite, Perl_pp_eof, Perl_pp_tell, Perl_pp_seek, /* implemented by Perl_pp_sysseek */ @@ -1121,7 +1158,7 @@ EXT Perl_ppaddr_t PL_ppaddr[] /* or perlvars.h */ Perl_pp_fcntl, /* implemented by Perl_pp_ioctl */ Perl_pp_ioctl, Perl_pp_flock, - Perl_pp_send, + Perl_pp_send, /* implemented by Perl_pp_syswrite */ Perl_pp_recv, /* implemented by Perl_pp_sysread */ Perl_pp_socket, Perl_pp_sockpair, @@ -1229,23 +1266,23 @@ EXT Perl_ppaddr_t PL_ppaddr[] /* or perlvars.h */ Perl_pp_gsbyport, /* implemented by Perl_pp_gservent */ Perl_pp_gservent, Perl_pp_shostent, - Perl_pp_snetent, - Perl_pp_sprotoent, - Perl_pp_sservent, + Perl_pp_snetent, /* implemented by Perl_pp_shostent */ + Perl_pp_sprotoent, /* implemented by Perl_pp_shostent */ + Perl_pp_sservent, /* implemented by Perl_pp_shostent */ Perl_pp_ehostent, - Perl_pp_enetent, - Perl_pp_eprotoent, - Perl_pp_eservent, + Perl_pp_enetent, /* implemented by Perl_pp_ehostent */ + Perl_pp_eprotoent, /* implemented by Perl_pp_ehostent */ + Perl_pp_eservent, /* implemented by Perl_pp_ehostent */ Perl_pp_gpwnam, /* implemented by Perl_pp_gpwent */ Perl_pp_gpwuid, /* implemented by Perl_pp_gpwent */ Perl_pp_gpwent, - Perl_pp_spwent, - Perl_pp_epwent, + Perl_pp_spwent, /* implemented by Perl_pp_ehostent */ + Perl_pp_epwent, /* implemented by Perl_pp_ehostent */ Perl_pp_ggrnam, /* implemented by Perl_pp_ggrent */ Perl_pp_ggrgid, /* implemented by Perl_pp_ggrent */ Perl_pp_ggrent, - Perl_pp_sgrent, - Perl_pp_egrent, + Perl_pp_sgrent, /* implemented by Perl_pp_ehostent */ + Perl_pp_egrent, /* implemented by Perl_pp_ehostent */ Perl_pp_getlogin, Perl_pp_syscall, Perl_pp_lock, @@ -1254,7 +1291,7 @@ EXT Perl_ppaddr_t PL_ppaddr[] /* or perlvars.h */ Perl_pp_reach, /* implemented by Perl_pp_rkeys */ Perl_pp_rkeys, Perl_pp_rvalues, /* implemented by Perl_pp_rkeys */ - Perl_pp_transr, /* implemented by Perl_pp_trans */ + Perl_pp_coreargs, } #endif #ifdef PERL_PPADDR_INITED @@ -1309,6 +1346,7 @@ EXT Perl_check_t PL_check[] /* or perlvars.h */ Perl_ck_match, /* subst */ Perl_ck_null, /* substcont */ Perl_ck_match, /* trans */ + Perl_ck_match, /* transr */ Perl_ck_sassign, /* sassign */ Perl_ck_null, /* aassign */ Perl_ck_spair, /* chop */ @@ -1401,6 +1439,7 @@ EXT Perl_check_t PL_check[] /* or perlvars.h */ Perl_ck_fun, /* quotemeta */ Perl_ck_rvconst, /* rv2av */ Perl_ck_null, /* aelemfast */ + Perl_ck_null, /* aelemfast_lex */ Perl_ck_null, /* aelem */ Perl_ck_null, /* aslice */ Perl_ck_each, /* aeach */ @@ -1415,7 +1454,7 @@ EXT Perl_check_t PL_check[] /* or perlvars.h */ Perl_ck_null, /* helem */ Perl_ck_null, /* hslice */ Perl_ck_fun, /* boolkeys */ - Perl_ck_unpack, /* unpack */ + Perl_ck_fun, /* unpack */ Perl_ck_fun, /* pack */ Perl_ck_split, /* split */ Perl_ck_join, /* join */ @@ -1423,11 +1462,11 @@ EXT Perl_check_t PL_check[] /* or perlvars.h */ Perl_ck_null, /* lslice */ Perl_ck_fun, /* anonlist */ Perl_ck_fun, /* anonhash */ - Perl_ck_push, /* splice */ - Perl_ck_push, /* push */ + Perl_ck_fun, /* splice */ + Perl_ck_fun, /* push */ Perl_ck_shift, /* pop */ Perl_ck_shift, /* shift */ - Perl_ck_push, /* unshift */ + Perl_ck_fun, /* unshift */ Perl_ck_sort, /* sort */ Perl_ck_fun, /* reverse */ Perl_ck_grep, /* grepstart */ @@ -1642,7 +1681,7 @@ EXT Perl_check_t PL_check[] /* or perlvars.h */ Perl_ck_each, /* reach */ Perl_ck_each, /* rkeys */ Perl_ck_each, /* rvalues */ - Perl_ck_match, /* transr */ + Perl_ck_null, /* coreargs */ } #endif #ifdef PERL_CHECK_INITED @@ -1691,6 +1730,7 @@ EXTCONST U32 PL_opargs[] = { 0x00001544, /* subst */ 0x00000344, /* substcont */ 0x00001804, /* trans */ + 0x00001804, /* transr */ 0x00000004, /* sassign */ 0x00022208, /* aassign */ 0x00002b0d, /* chop */ @@ -1783,6 +1823,7 @@ EXTCONST U32 PL_opargs[] = { 0x00009b8e, /* quotemeta */ 0x00000148, /* rv2av */ 0x00013604, /* aelemfast */ + 0x00013040, /* aelemfast_lex */ 0x00013204, /* aelem */ 0x00023401, /* aslice */ 0x00003b00, /* aeach */ @@ -1797,7 +1838,7 @@ EXTCONST U32 PL_opargs[] = { 0x00014204, /* helem */ 0x00024401, /* hslice */ 0x00004b00, /* boolkeys */ - 0x00091400, /* unpack */ + 0x00091480, /* unpack */ 0x0002140d, /* pack */ 0x00111408, /* split */ 0x0002140d, /* join */ @@ -1904,8 +1945,8 @@ EXTCONST U32 PL_opargs[] = { 0x01116404, /* ssockopt */ 0x00006b04, /* getsockname */ 0x00006b04, /* getpeername */ - 0x00006c80, /* lstat */ - 0x00006c80, /* stat */ + 0x0000ec80, /* lstat */ + 0x0000ec80, /* stat */ 0x00006c84, /* ftrread */ 0x00006c84, /* ftrwrite */ 0x00006c84, /* ftrexec */ @@ -2024,7 +2065,7 @@ EXTCONST U32 PL_opargs[] = { 0x00001b00, /* reach */ 0x00001b08, /* rkeys */ 0x00001b08, /* rvalues */ - 0x00001804, /* transr */ + 0x00000600, /* coreargs */ }; #endif