Re: PERFORCE change 12943 for review
[p5sagit/p5-mst-13.2.git] / opcode.h
index 28f1345..b3da7c3 100644 (file)
--- a/opcode.h
+++ b/opcode.h
 
 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 +372,7 @@ EXT char *PL_op_name[] = {
        "threadsv",
        "setstate",
        "method_named",
+       "custom",
 };
 #endif
 
@@ -724,6 +731,7 @@ EXT char *PL_op_desc[] = {
        "per-thread value",
        "set statement info",
        "method with known name",
+       "unknown custom operator",
 };
 #endif
 
@@ -1265,7 +1273,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 */
@@ -1445,6 +1453,7 @@ 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),   /* custom */
 };
 #endif
 
@@ -1479,7 +1488,7 @@ EXT U32 PL_opargs[] = {
        0x00001608,     /* backtick */
        0x00012808,     /* glob */
        0x0001d608,     /* readline */
-       0x00001608,     /* rcatline */
+       0x00000c08,     /* rcatline */
        0x00002204,     /* regcmaybe */
        0x00002204,     /* regcreset */
        0x00002604,     /* regcomp */
@@ -1803,6 +1812,7 @@ EXT U32 PL_opargs[] = {
        0x00000044,     /* threadsv */
        0x00001404,     /* setstate */
        0x00000c40,     /* method_named */
+       0x00000000,     /* custom */
 };
 #endif