X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=opcode.h;h=240e30045f2cfe109b4600eee671b3b7474792cb;hb=9ac5eb64d274bdbd879ebb568a13f392d2a50575;hp=fd12e46afe85efce42690cc96177fcea9a74fe20;hpb=afd1eb533c8ea286efcac6fd054ae7cebaf0dfe3;p=p5sagit%2Fp5-mst-13.2.git diff --git a/opcode.h b/opcode.h index fd12e46..240e300 100644 --- a/opcode.h +++ b/opcode.h @@ -1,7 +1,15 @@ -/* !!!!!!! DO NOT EDIT THIS FILE !!!!!!! - This file is built by opcode.pl from its data. Any changes made here - will be lost! -*/ +/* + * opcode.h + * + * Copyright (c) 1997-2003, Larry Wall + * + * 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! + */ #define Perl_pp_i_preinc Perl_pp_preinc #define Perl_pp_i_predec Perl_pp_predec @@ -11,6 +19,12 @@ 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[]; #else @@ -366,6 +380,9 @@ EXT char *PL_op_name[] = { "threadsv", "setstate", "method_named", + "dor", + "dorassign", + "custom", }; #endif @@ -724,6 +741,9 @@ EXT char *PL_op_desc[] = { "per-thread value", "set statement info", "method with known name", + "defined or (//)", + "defined or assignment (//=)", + "unknown custom operator", }; #endif @@ -1087,6 +1107,8 @@ EXT OP * (CPERLscope(*PL_ppaddr)[])(pTHX) = { MEMBER_TO_FPTR(Perl_pp_threadsv), MEMBER_TO_FPTR(Perl_pp_setstate), MEMBER_TO_FPTR(Perl_pp_method_named), + MEMBER_TO_FPTR(Perl_pp_dor), + MEMBER_TO_FPTR(Perl_pp_dorassign), }; #endif @@ -1265,7 +1287,7 @@ EXT OP * (CPERLscope(*PL_check)[]) (pTHX_ OP *op) = { 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 */ @@ -1289,7 +1311,7 @@ EXT OP * (CPERLscope(*PL_check)[]) (pTHX_ OP *op) = { MEMBER_TO_FPTR(Perl_ck_fun), /* close */ MEMBER_TO_FPTR(Perl_ck_fun), /* pipe_op */ MEMBER_TO_FPTR(Perl_ck_fun), /* fileno */ - MEMBER_TO_FPTR(Perl_ck_octmode), /* umask */ + MEMBER_TO_FPTR(Perl_ck_fun), /* umask */ MEMBER_TO_FPTR(Perl_ck_fun), /* binmode */ MEMBER_TO_FPTR(Perl_ck_fun), /* tie */ MEMBER_TO_FPTR(Perl_ck_fun), /* untie */ @@ -1361,13 +1383,13 @@ EXT OP * (CPERLscope(*PL_check)[]) (pTHX_ OP *op) = { 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_octmode), /* chmod */ + MEMBER_TO_FPTR(Perl_ck_fun), /* chmod */ MEMBER_TO_FPTR(Perl_ck_fun), /* utime */ MEMBER_TO_FPTR(Perl_ck_fun), /* rename */ MEMBER_TO_FPTR(Perl_ck_fun), /* link */ MEMBER_TO_FPTR(Perl_ck_fun), /* symlink */ MEMBER_TO_FPTR(Perl_ck_fun), /* readlink */ - MEMBER_TO_FPTR(Perl_ck_octmode), /* mkdir */ + MEMBER_TO_FPTR(Perl_ck_fun), /* mkdir */ MEMBER_TO_FPTR(Perl_ck_fun), /* rmdir */ MEMBER_TO_FPTR(Perl_ck_fun), /* open_dir */ MEMBER_TO_FPTR(Perl_ck_fun), /* readdir */ @@ -1445,6 +1467,9 @@ EXT OP * (CPERLscope(*PL_check)[]) (pTHX_ OP *op) = { MEMBER_TO_FPTR(Perl_ck_null), /* threadsv */ MEMBER_TO_FPTR(Perl_ck_null), /* setstate */ MEMBER_TO_FPTR(Perl_ck_null), /* method_named */ + MEMBER_TO_FPTR(Perl_ck_null), /* dor */ + MEMBER_TO_FPTR(Perl_ck_null), /* dorassign */ + MEMBER_TO_FPTR(Perl_ck_null), /* custom */ }; #endif @@ -1479,7 +1504,7 @@ EXT U32 PL_opargs[] = { 0x00001608, /* backtick */ 0x00012808, /* glob */ 0x0001d608, /* readline */ - 0x00001608, /* rcatline */ + 0x00000c08, /* rcatline */ 0x00002204, /* regcmaybe */ 0x00002204, /* regcreset */ 0x00002604, /* regcomp */ @@ -1589,7 +1614,7 @@ EXT U32 PL_opargs[] = { 0x00000248, /* rv2hv */ 0x00028404, /* helem */ 0x00048801, /* hslice */ - 0x00022800, /* unpack */ + 0x00122800, /* unpack */ 0x0004280d, /* pack */ 0x00222808, /* split */ 0x0004280d, /* join */ @@ -1799,10 +1824,13 @@ EXT U32 PL_opargs[] = { 0x00000014, /* egrent */ 0x0000000c, /* getlogin */ 0x0004281d, /* syscall */ - 0x00003604, /* lock */ + 0x0000f604, /* lock */ 0x00000044, /* threadsv */ 0x00001404, /* setstate */ 0x00000c40, /* method_named */ + 0x00000600, /* dor */ + 0x00000604, /* dorassign */ + 0x00000000, /* custom */ }; #endif