This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Add TEST_BOTH and SKIP_BOTH to dumper.t to remove a *lot* of DRY violations.
[perl5.git] / opcode.h
index 859b205..c808bee 100644 (file)
--- a/opcode.h
+++ b/opcode.h
@@ -549,6 +549,10 @@ EXTCONST char* const PL_op_name[] = {
        "isa",
        "cmpchain_and",
        "cmpchain_dup",
+       "entertrycatch",
+       "leavetrycatch",
+       "poptry",
+       "catch",
         "freed",
 };
 #endif
@@ -957,6 +961,10 @@ EXTCONST char* const PL_op_desc[] = {
        "derived class test",
        "comparison chaining",
        "comparand shuffling",
+       "try {block}",
+       "try {block} exit",
+       "pop try",
+       "catch {} block",
         "freed op",
 };
 #endif
@@ -1368,6 +1376,10 @@ EXT Perl_ppaddr_t PL_ppaddr[] /* or perlvars.h */
        Perl_pp_isa,
        Perl_pp_cmpchain_and,
        Perl_pp_cmpchain_dup,
+       Perl_pp_entertrycatch,
+       Perl_pp_leavetrycatch,
+       Perl_pp_poptry,
+       Perl_pp_catch,
 }
 #endif
 ;
@@ -1775,6 +1787,10 @@ EXT Perl_check_t PL_check[] /* or perlvars.h */
        Perl_ck_isa,            /* isa */
        Perl_ck_null,           /* cmpchain_and */
        Perl_ck_null,           /* cmpchain_dup */
+       Perl_ck_trycatch,       /* entertrycatch */
+       Perl_ck_null,           /* leavetrycatch */
+       Perl_ck_null,           /* poptry */
+       Perl_ck_null,           /* catch */
 }
 #endif
 ;
@@ -2183,6 +2199,10 @@ EXTCONST U32 PL_opargs[] = {
        0x00000204,     /* isa */
        0x00000300,     /* cmpchain_and */
        0x00000100,     /* cmpchain_dup */
+       0x00000300,     /* entertrycatch */
+       0x00000400,     /* leavetrycatch */
+       0x00000400,     /* poptry */
+       0x00000300,     /* catch */
 };
 #endif
 
@@ -2850,6 +2870,10 @@ EXTCONST I16  PL_op_private_bitdef_ix[] = {
       12, /* isa */
        0, /* cmpchain_and */
        0, /* cmpchain_dup */
+       0, /* entertrycatch */
+      -1, /* leavetrycatch */
+      -1, /* poptry */
+       0, /* catch */
 
 };
 
@@ -2868,7 +2892,7 @@ EXTCONST I16  PL_op_private_bitdef_ix[] = {
  */
 
 EXTCONST U16  PL_op_private_bitdefs[] = {
-    0x0003, /* scalar, prototype, refgen, srefgen, readline, regcmaybe, regcreset, regcomp, substcont, chop, schop, defined, undef, study, preinc, i_preinc, predec, i_predec, postinc, i_postinc, postdec, i_postdec, negate, i_negate, not, complement, ucfirst, lcfirst, uc, lc, quotemeta, aeach, avalues, each, pop, shift, grepstart, mapstart, mapwhile, range, and, or, dor, andassign, orassign, dorassign, argcheck, argdefelem, method, method_named, method_super, method_redir, method_redir_super, entergiven, leavegiven, enterwhen, leavewhen, untie, tied, dbmclose, getsockname, getpeername, lstat, stat, readlink, readdir, telldir, rewinddir, closedir, localtime, alarm, require, dofile, entertry, ghbyname, gnbyname, gpbyname, shostent, snetent, sprotoent, sservent, gpwnam, gpwuid, ggrnam, ggrgid, lock, once, fc, anonconst, cmpchain_and, cmpchain_dup */
+    0x0003, /* scalar, prototype, refgen, srefgen, readline, regcmaybe, regcreset, regcomp, substcont, chop, schop, defined, undef, study, preinc, i_preinc, predec, i_predec, postinc, i_postinc, postdec, i_postdec, negate, i_negate, not, complement, ucfirst, lcfirst, uc, lc, quotemeta, aeach, avalues, each, pop, shift, grepstart, mapstart, mapwhile, range, and, or, dor, andassign, orassign, dorassign, argcheck, argdefelem, method, method_named, method_super, method_redir, method_redir_super, entergiven, leavegiven, enterwhen, leavewhen, untie, tied, dbmclose, getsockname, getpeername, lstat, stat, readlink, readdir, telldir, rewinddir, closedir, localtime, alarm, require, dofile, entertry, ghbyname, gnbyname, gpbyname, shostent, snetent, sprotoent, sservent, gpwnam, gpwuid, ggrnam, ggrgid, lock, once, fc, anonconst, cmpchain_and, cmpchain_dup, entertrycatch, catch */
     0x2fdc, 0x41b9, /* pushmark */
     0x00bd, /* wantarray, runcv */
     0x0438, 0x1a50, 0x426c, 0x3d28, 0x3505, /* const */
@@ -3346,6 +3370,10 @@ EXTCONST U8 PL_op_private_valid[] = {
     /* ISA        */ (OPpARG2_MASK),
     /* CMPCHAIN_AND */ (OPpARG1_MASK),
     /* CMPCHAIN_DUP */ (OPpARG1_MASK),
+    /* ENTERTRYCATCH */ (OPpARG1_MASK),
+    /* LEAVETRYCATCH */ (0),
+    /* POPTRY     */ (0),
+    /* CATCH      */ (OPpARG1_MASK),
 
 };