* Any changes made here will be lost!
*/
-#ifndef PERL_GLOBAL_STRUCT_INIT
+#if defined(PERL_CORE) || defined(PERL_EXT)
#define Perl_pp_scalar Perl_pp_null
#define Perl_pp_padany Perl_unimplemented_op
#define Perl_pp_sgrent Perl_pp_ehostent
#define Perl_pp_egrent Perl_pp_ehostent
#define Perl_pp_custom Perl_unimplemented_op
+
+#endif /* End of if defined(PERL_CORE) || defined(PERL_EXT) */
+
START_EXTERN_C
#ifndef DOINIT
"lvrefslice",
"lvavref",
"anonconst",
+ "isa",
+ "cmpchain_and",
+ "cmpchain_dup",
"freed",
};
#endif
"lvalue ref assignment",
"lvalue array reference",
"anonymous constant",
+ "derived class test",
+ "comparison chaining",
+ "comparand shuffling",
"freed op",
};
#endif
END_EXTERN_C
-#endif /* !PERL_GLOBAL_STRUCT_INIT */
-
START_EXTERN_C
-#ifdef PERL_GLOBAL_STRUCT_INIT
-# define PERL_PPADDR_INITED
-static const Perl_ppaddr_t Gppaddr[]
-#elif !defined(PERL_GLOBAL_STRUCT)
-# define PERL_PPADDR_INITED
EXT Perl_ppaddr_t PL_ppaddr[] /* or perlvars.h */
-#endif /* PERL_GLOBAL_STRUCT */
-#if (defined(DOINIT) && !defined(PERL_GLOBAL_STRUCT)) || defined(PERL_GLOBAL_STRUCT_INIT)
-# define PERL_PPADDR_INITED
+#if defined(DOINIT)
= {
Perl_pp_null,
Perl_pp_stub,
Perl_pp_lvrefslice,
Perl_pp_lvavref,
Perl_pp_anonconst,
+ Perl_pp_isa,
+ Perl_pp_cmpchain_and,
+ Perl_pp_cmpchain_dup,
}
#endif
-#ifdef PERL_PPADDR_INITED
;
-#endif
-#ifdef PERL_GLOBAL_STRUCT_INIT
-# define PERL_CHECK_INITED
-static const Perl_check_t Gcheck[]
-#elif !defined(PERL_GLOBAL_STRUCT)
-# define PERL_CHECK_INITED
EXT Perl_check_t PL_check[] /* or perlvars.h */
-#endif
-#if (defined(DOINIT) && !defined(PERL_GLOBAL_STRUCT)) || defined(PERL_GLOBAL_STRUCT_INIT)
-# define PERL_CHECK_INITED
+#if defined(DOINIT)
= {
Perl_ck_null, /* null */
Perl_ck_null, /* stub */
Perl_ck_null, /* lvrefslice */
Perl_ck_null, /* lvavref */
Perl_ck_null, /* anonconst */
+ Perl_ck_isa, /* isa */
+ Perl_ck_null, /* cmpchain_and */
+ Perl_ck_null, /* cmpchain_dup */
}
#endif
-#ifdef PERL_CHECK_INITED
;
-#endif /* #ifdef PERL_CHECK_INITED */
-
-#ifndef PERL_GLOBAL_STRUCT_INIT
#ifndef DOINIT
EXTCONST U32 PL_opargs[];
0x00000440, /* lvrefslice */
0x00000b40, /* lvavref */
0x00000144, /* anonconst */
+ 0x00000204, /* isa */
+ 0x00000300, /* cmpchain_and */
+ 0x00000100, /* cmpchain_dup */
};
#endif
-#endif /* !PERL_GLOBAL_STRUCT_INIT */
-
END_EXTERN_C
#define OPpTRANS_DELETE 0x80
START_EXTERN_C
-#ifndef PERL_GLOBAL_STRUCT_INIT
-
-# ifndef DOINIT
+#ifndef DOINIT
/* data about the flags in op_private */
EXTCONST I16 PL_op_private_bitfields[];
EXTCONST U8 PL_op_private_valid[];
-# else
+#else
/* PL_op_private_labels[]: the short descriptions of private flags.
233, /* lvrefslice */
234, /* lvavref */
0, /* anonconst */
+ 12, /* isa */
+ 0, /* cmpchain_and */
+ 0, /* cmpchain_dup */
};
*/
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 */
+ 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 */
0x2fdc, 0x41b9, /* pushmark */
0x00bd, /* wantarray, runcv */
0x0438, 0x1a50, 0x426c, 0x3d28, 0x3505, /* const */
0x2fdc, 0x3659, /* gvsv */
0x18b5, /* gv */
- 0x0067, /* gelem, lt, i_lt, gt, i_gt, le, i_le, ge, i_ge, eq, i_eq, ne, i_ne, ncmp, i_ncmp, slt, sgt, sle, sge, seq, sne, scmp, bit_and, bit_xor, bit_or, sbit_and, sbit_xor, sbit_or, smartmatch, lslice, xor */
+ 0x0067, /* gelem, lt, i_lt, gt, i_gt, le, i_le, ge, i_ge, eq, i_eq, ne, i_ne, ncmp, i_ncmp, slt, sgt, sle, sge, seq, sne, scmp, bit_and, bit_xor, bit_or, sbit_and, sbit_xor, sbit_or, smartmatch, lslice, xor, isa */
0x2fdc, 0x41b8, 0x03d7, /* padsv */
0x2fdc, 0x41b8, 0x05b4, 0x30cc, 0x3ea9, /* padav */
0x2fdc, 0x41b8, 0x05b4, 0x0650, 0x30cc, 0x3ea8, 0x2b41, /* padhv */
/* LVREFSLICE */ (OPpLVAL_INTRO),
/* LVAVREF */ (OPpARG1_MASK|OPpPAD_STATE|OPpLVAL_INTRO),
/* ANONCONST */ (OPpARG1_MASK),
+ /* ISA */ (OPpARG2_MASK),
+ /* CMPCHAIN_AND */ (OPpARG1_MASK),
+ /* CMPCHAIN_DUP */ (OPpARG1_MASK),
};
-# endif /* !DOINIT */
-#endif /* !PERL_GLOBAL_STRUCT_INIT */
+#endif /* !DOINIT */
END_EXTERN_C