Revision history for Perl extension Devel::Size.
0.79_52 2015-02-28 nicholas
+ patches from Zefram:
+ * handle the new METHOP. [CPAN #101071]
0.79_51 2015-02-28 nicholas
* as of 5.20.0, s/// is no longer a reliable test for OOK [CPAN #95493]
#ifdef OA_GVOP
, OPc_GVOP /* 13 */
#endif
+#ifdef OA_METHOP
+ , OPc_METHOP
+#endif
} opclass;
case OA_CONDOP: TAG;
return OPc_CONDOP;
#endif
+
+#ifdef OA_METHOP
+ case OA_METHOP: TAG;
+ return OPc_METHOP;
+#endif
}
warn("Devel::Size: Can't determine class of operator %s, assuming BASEOP\n",
PL_op_name[o->op_type]);
}
TAG;break;
+#ifdef OA_METHOP
+ case OPc_METHOP: TAG;
+ st->total_size += sizeof(struct methop);
+ if (baseop->op_type != OP_METHOD)
+ sv_size(aTHX_ st, cMETHOPx_meth(baseop), SOME_RECURSION);
+#if PERL_VERSION*1000+PERL_SUBVERSION >= 21007
+ if (baseop->op_type == OP_METHOD_REDIR || baseop->op_type == OP_METHOD_REDIR_SUPER) {
+ SV *rclass = cMETHOPx_rclass(baseop);
+ if(SvTYPE(rclass) != SVt_PVHV)
+ sv_size(aTHX_ st, rclass, SOME_RECURSION);
+ }
+#endif
+ TAG;break;
+#endif
default:
TAG;break;
}