@@ -549,6 +549,7 @@ EXTCONST char* const PL_op_name[] = {
549
549
"isa" ,
550
550
"cmpchain_and" ,
551
551
"cmpchain_dup" ,
552
+ "catch" ,
552
553
"freed" ,
553
554
};
554
555
#endif
@@ -957,6 +958,7 @@ EXTCONST char* const PL_op_desc[] = {
957
958
"derived class test" ,
958
959
"comparison chaining" ,
959
960
"comparand shuffling" ,
961
+ "catch {} block" ,
960
962
"freed op" ,
961
963
};
962
964
#endif
@@ -1368,6 +1370,7 @@ EXT Perl_ppaddr_t PL_ppaddr[] /* or perlvars.h */
1368
1370
Perl_pp_isa ,
1369
1371
Perl_pp_cmpchain_and ,
1370
1372
Perl_pp_cmpchain_dup ,
1373
+ Perl_pp_catch ,
1371
1374
}
1372
1375
#endif
1373
1376
;
@@ -1775,6 +1778,7 @@ EXT Perl_check_t PL_check[] /* or perlvars.h */
1775
1778
Perl_ck_isa , /* isa */
1776
1779
Perl_ck_null , /* cmpchain_and */
1777
1780
Perl_ck_null , /* cmpchain_dup */
1781
+ Perl_ck_null , /* catch */
1778
1782
}
1779
1783
#endif
1780
1784
;
@@ -2183,6 +2187,7 @@ EXTCONST U32 PL_opargs[] = {
2183
2187
0x00000204 , /* isa */
2184
2188
0x00000300 , /* cmpchain_and */
2185
2189
0x00000100 , /* cmpchain_dup */
2190
+ 0x00000300 , /* catch */
2186
2191
};
2187
2192
#endif
2188
2193
@@ -2850,6 +2855,7 @@ EXTCONST I16 PL_op_private_bitdef_ix[] = {
2850
2855
12 , /* isa */
2851
2856
0 , /* cmpchain_and */
2852
2857
0 , /* cmpchain_dup */
2858
+ 0 , /* catch */
2853
2859
2854
2860
};
2855
2861
@@ -2868,7 +2874,7 @@ EXTCONST I16 PL_op_private_bitdef_ix[] = {
2868
2874
*/
2869
2875
2870
2876
EXTCONST U16 PL_op_private_bitdefs [] = {
2871
- 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 */
2877
+ 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, catch */
2872
2878
0x2fdc , 0x41b9 , /* pushmark */
2873
2879
0x00bd , /* wantarray, runcv */
2874
2880
0x0438 , 0x1a50 , 0x426c , 0x3d28 , 0x3505 , /* const */
@@ -3346,6 +3352,7 @@ EXTCONST U8 PL_op_private_valid[] = {
3346
3352
/* ISA */ (OPpARG2_MASK ),
3347
3353
/* CMPCHAIN_AND */ (OPpARG1_MASK ),
3348
3354
/* CMPCHAIN_DUP */ (OPpARG1_MASK ),
3355
+ /* CATCH */ (OPpARG1_MASK ),
3349
3356
3350
3357
};
3351
3358
0 commit comments