STRLEN buf_size, orig_pkg_len, type_pkg_len, type_meth_len;
char *buf;
STRLEN buf_size, orig_pkg_len, type_pkg_len, type_meth_len;
char *buf;
if (!(oi = ptable_fetch(lt_op_map, o))) {
oi = PerlMemShared_malloc(sizeof *oi);
ptable_map_store(lt_op_map, o, oi);
if (!(oi = ptable_fetch(lt_op_map, o))) {
oi = PerlMemShared_malloc(sizeof *oi);
ptable_map_store(lt_op_map, o, oi);
} else {
SvREFCNT_dec(oi->orig_pkg);
SvREFCNT_dec(oi->type_pkg);
SvREFCNT_dec(oi->type_meth);
} else {
SvREFCNT_dec(oi->orig_pkg);
SvREFCNT_dec(oi->type_pkg);
SvREFCNT_dec(oi->type_meth);
type_meth = sv_2mortal(newSVpvn(buf, oi.type_meth_len));
SvREADONLY_on(type_meth);
}
type_meth = sv_2mortal(newSVpvn(buf, oi.type_meth_len));
SvREADONLY_on(type_meth);
}