Branch Coverage

/usr/local/lib/perl5/site_perl/5.26.1/x86_64-linux/XS/Framework.x/i/xs/typemap/object.h
Criterion Covered Total %
branch 188 620 30.3


line true false branch
27 5 3843 PANDA_GLOBAL_MEMBER_PTR(TypemapMarker, svt_clear_t, get, &func);
6 7192 PANDA_GLOBAL_MEMBER_PTR(TypemapMarker, svt_clear_t, get, &func);
7 2005 PANDA_GLOBAL_MEMBER_PTR(TypemapMarker, svt_clear_t, get, &func);
2 84 PANDA_GLOBAL_MEMBER_PTR(TypemapMarker, svt_clear_t, get, &func);
8 10624 PANDA_GLOBAL_MEMBER_PTR(TypemapMarker, svt_clear_t, get, &func);
61 3843 0 return mg ? mg->mg_ptr : NULL;
3597 0 return mg ? mg->mg_ptr : NULL;
1000 0 return mg ? mg->mg_ptr : NULL;
43 0 return mg ? mg->mg_ptr : NULL;
8132 0 return mg ? mg->mg_ptr : NULL;
65 3601 0 auto marker = xs::Sv::PayloadMarker<TYPE>::get();
5 0 auto marker = xs::Sv::PayloadMarker<TYPE>::get();
1012 0 auto marker = xs::Sv::PayloadMarker<TYPE>::get();
43 0 auto marker = xs::Sv::PayloadMarker<TYPE>::get();
2500 0 auto marker = xs::Sv::PayloadMarker<TYPE>::get();
66 3601 0 marker->svt_clear = typemap::object::TypemapMarker<PURE_TYPEMAP>::get();
5 0 marker->svt_clear = typemap::object::TypemapMarker<PURE_TYPEMAP>::get();
1012 0 marker->svt_clear = typemap::object::TypemapMarker<PURE_TYPEMAP>::get();
43 0 marker->svt_clear = typemap::object::TypemapMarker<PURE_TYPEMAP>::get();
2500 0 marker->svt_clear = typemap::object::TypemapMarker<PURE_TYPEMAP>::get();
71 3601 0 Newx(mg, 1, MAGIC);
5 0 Newx(mg, 1, MAGIC);
1012 0 Newx(mg, 1, MAGIC);
43 0 Newx(mg, 1, MAGIC);
2500 0 Newx(mg, 1, MAGIC);
89 3601 0 static Sv out (const TYPE& var, const Sv& proto) { return _out(var, proto, BACKREF()); }
5 0 static Sv out (const TYPE& var, const Sv& proto) { return _out(var, proto, BACKREF()); }
1012 0 static Sv out (const TYPE& var, const Sv& proto) { return _out(var, proto, BACKREF()); }
43 0 static Sv out (const TYPE& var, const Sv& proto) { return _out(var, proto, BACKREF()); }
2500 0 static Sv out (const TYPE& var, const Sv& proto) { return _out(var, proto, BACKREF()); }
95 5617 0 for (mg = SvMAGIC(sv); mg; mg = mg->mg_moremagic) if (mg->mg_virtual && mg->mg_virtual->svt_clear == marker) return mg;
4730 887 for (mg = SvMAGIC(sv); mg; mg = mg->mg_moremagic) if (mg->mg_virtual && mg->mg_virtual->svt_clear == marker) return mg;
3843 887 for (mg = SvMAGIC(sv); mg; mg = mg->mg_moremagic) if (mg->mg_virtual && mg->mg_virtual->svt_clear == marker) return mg;
3597 0 for (mg = SvMAGIC(sv); mg; mg = mg->mg_moremagic) if (mg->mg_virtual && mg->mg_virtual->svt_clear == marker) return mg;
3597 0 for (mg = SvMAGIC(sv); mg; mg = mg->mg_moremagic) if (mg->mg_virtual && mg->mg_virtual->svt_clear == marker) return mg;
3597 0 for (mg = SvMAGIC(sv); mg; mg = mg->mg_moremagic) if (mg->mg_virtual && mg->mg_virtual->svt_clear == marker) return mg;
1000 0 for (mg = SvMAGIC(sv); mg; mg = mg->mg_moremagic) if (mg->mg_virtual && mg->mg_virtual->svt_clear == marker) return mg;
1000 0 for (mg = SvMAGIC(sv); mg; mg = mg->mg_moremagic) if (mg->mg_virtual && mg->mg_virtual->svt_clear == marker) return mg;
1000 0 for (mg = SvMAGIC(sv); mg; mg = mg->mg_moremagic) if (mg->mg_virtual && mg->mg_virtual->svt_clear == marker) return mg;
43 0 for (mg = SvMAGIC(sv); mg; mg = mg->mg_moremagic) if (mg->mg_virtual && mg->mg_virtual->svt_clear == marker) return mg;
43 0 for (mg = SvMAGIC(sv); mg; mg = mg->mg_moremagic) if (mg->mg_virtual && mg->mg_virtual->svt_clear == marker) return mg;
43 0 for (mg = SvMAGIC(sv); mg; mg = mg->mg_moremagic) if (mg->mg_virtual && mg->mg_virtual->svt_clear == marker) return mg;
8132 0 for (mg = SvMAGIC(sv); mg; mg = mg->mg_moremagic) if (mg->mg_virtual && mg->mg_virtual->svt_clear == marker) return mg;
8132 0 for (mg = SvMAGIC(sv); mg; mg = mg->mg_moremagic) if (mg->mg_virtual && mg->mg_virtual->svt_clear == marker) return mg;
8132 0 for (mg = SvMAGIC(sv); mg; mg = mg->mg_moremagic) if (mg->mg_virtual && mg->mg_virtual->svt_clear == marker) return mg;
202 3601 0 TYPE var = Typemap<TYPE>::template cast<TYPE,TYPEMAP>(downgraded);
5 0 TYPE var = Typemap<TYPE>::template cast<TYPE,TYPEMAP>(downgraded);
1012 0 TYPE var = Typemap<TYPE>::template cast<TYPE,TYPEMAP>(downgraded);
43 0 TYPE var = Typemap<TYPE>::template cast<TYPE,TYPEMAP>(downgraded);
2500 0 TYPE var = Typemap<TYPE>::template cast<TYPE,TYPEMAP>(downgraded);
203 0 3601 if (!var) throw "TYPEMAP PANIC: bad object in sv";
0 5 if (!var) throw "TYPEMAP PANIC: bad object in sv";
0 1012 if (!var) throw "TYPEMAP PANIC: bad object in sv";
0 43 if (!var) throw "TYPEMAP PANIC: bad object in sv";
0 2500 if (!var) throw "TYPEMAP PANIC: bad object in sv";
204 3601 0 Typemap<TYPE>::dispose(var, sv);
5 0 Typemap<TYPE>::dispose(var, sv);
1012 0 Typemap<TYPE>::dispose(var, sv);
43 0 Typemap<TYPE>::dispose(var, sv);
2500 0 Typemap<TYPE>::dispose(var, sv);
206 3601 0 });}
5 0 });}
1012 0 });}
43 0 });}
2500 0 });}
234 5 0 template <class T> static inline void destroy (T* var, SV*) { delete var; }
1012 0 template <class T> static inline void destroy (T* var, SV*) { delete var; }
43 0 template <class T> static inline void destroy (T* var, SV*) { delete var; }
302 3843 0 if (!SvOBJECT(arg)) {
3597 0 if (!SvOBJECT(arg)) {
1000 0 if (!SvOBJECT(arg)) {
43 0 if (!SvOBJECT(arg)) {
8132 0 if (!SvOBJECT(arg)) {
303 3843 0 if (SvROK(arg)) {
3597 0 if (SvROK(arg)) {
1000 0 if (SvROK(arg)) {
43 0 if (SvROK(arg)) {
8132 0 if (SvROK(arg)) {
305 0 3843 if (!SvOBJECT(arg)) throw "arg is a reference to non-object";
0 3597 if (!SvOBJECT(arg)) throw "arg is a reference to non-object";
0 1000 if (!SvOBJECT(arg)) throw "arg is a reference to non-object";
0 43 if (!SvOBJECT(arg)) throw "arg is a reference to non-object";
0 8132 if (!SvOBJECT(arg)) throw "arg is a reference to non-object";
307 0 0 else if (!SvOK(arg)) return TYPE();
0 0 else if (!SvOK(arg)) return TYPE();
0 0 else if (!SvOK(arg)) return TYPE();
0 0 else if (!SvOK(arg)) return TYPE();
0 0 else if (!SvOK(arg)) return TYPE();
0 0 else if (!SvOK(arg)) return TYPE();
0 0 else if (!SvOK(arg)) return TYPE();
0 0 else if (!SvOK(arg)) return TYPE();
0 0 else if (!SvOK(arg)) return TYPE();
0 0 else if (!SvOK(arg)) return TYPE();
0 0 else if (!SvOK(arg)) return TYPE();
0 0 else if (!SvOK(arg)) return TYPE();
0 0 else if (!SvOK(arg)) return TYPE();
0 0 else if (!SvOK(arg)) return TYPE();
0 0 else if (!SvOK(arg)) return TYPE();
311 3843 0 auto ptr = IStorage::get(arg);
3597 0 auto ptr = IStorage::get(arg);
1000 0 auto ptr = IStorage::get(arg);
43 0 auto ptr = IStorage::get(arg);
8132 0 auto ptr = IStorage::get(arg);
312 3843 0 if (ptr) {
3597 0 if (ptr) {
1000 0 if (ptr) {
43 0 if (ptr) {
8132 0 if (ptr) {
314 3843 0 TYPE ret = cast<TYPE,TYPEMAP>(downgraded);
3597 0 TYPE ret = cast<TYPE,TYPEMAP>(downgraded);
1000 0 TYPE ret = cast<TYPE,TYPEMAP>(downgraded);
43 0 TYPE ret = cast<TYPE,TYPEMAP>(downgraded);
8132 0 TYPE ret = cast<TYPE,TYPEMAP>(downgraded);
315 3843 0 if (ret) {
3597 0 if (ret) {
1000 0 if (ret) {
43 0 if (ret) {
8132 0 if (ret) {
316 0 3843 if (!std::is_const<TypeNP>::value && SvREADONLY(arg)) throw "cannot modify read-only object";
0 3597 if (!std::is_const<TypeNP>::value && SvREADONLY(arg)) throw "cannot modify read-only object";
0 1000 if (!std::is_const<TypeNP>::value && SvREADONLY(arg)) throw "cannot modify read-only object";
0 43 if (!std::is_const<TypeNP>::value && SvREADONLY(arg)) throw "cannot modify read-only object";
0 8132 if (!std::is_const<TypeNP>::value && SvREADONLY(arg)) throw "cannot modify read-only object";
323 0 0 auto package = Typemap<TYPE>::package();
0 0 auto package = Typemap<TYPE>::package();
0 0 auto package = Typemap<TYPE>::package();
0 0 auto package = Typemap<TYPE>::package();
0 0 auto package = Typemap<TYPE>::package();
344 0 3601 if (!var) return &PL_sv_undef;
0 5 if (!var) return &PL_sv_undef;
0 1012 if (!var) return &PL_sv_undef;
0 43 if (!var) return &PL_sv_undef;
0 2500 if (!var) return &PL_sv_undef;
347 0 3601 if (proto) {
5 0 if (proto) {
0 1012 if (proto) {
0 43 if (proto) {
2497 3 if (proto) {
348 0 0 if (SvROK(proto)) { // ref to object/base
0 5 if (SvROK(proto)) { // ref to object/base
0 0 if (SvROK(proto)) { // ref to object/base
0 0 if (SvROK(proto)) { // ref to object/base
0 2497 if (SvROK(proto)) { // ref to object/base
349 0 0 rv = proto;
0 0 rv = proto;
0 0 rv = proto;
0 0 rv = proto;
0 0 rv = proto;
352 0 0 else if (proto.type() <= SVt_PVMG) { // class name
5 0 else if (proto.type() <= SVt_PVMG) { // class name
0 0 else if (proto.type() <= SVt_PVMG) { // class name
0 0 else if (proto.type() <= SVt_PVMG) { // class name
2497 0 else if (proto.type() <= SVt_PVMG) { // class name
353 0 0 if (SvOBJECT(proto)) {
0 5 if (SvOBJECT(proto)) {
0 0 if (SvOBJECT(proto)) {
0 0 if (SvOBJECT(proto)) {
0 2497 if (SvOBJECT(proto)) {
355 0 0 rv = Sv::noinc(newRV_noinc(base));
0 0 rv = Sv::noinc(newRV_noinc(base));
0 0 rv = Sv::noinc(newRV_noinc(base));
0 0 rv = Sv::noinc(newRV_noinc(base));
0 0 rv = Sv::noinc(newRV_noinc(base));
357 0 0 base = newSV_type(SVt_PVMG);
5 0 base = newSV_type(SVt_PVMG);
0 0 base = newSV_type(SVt_PVMG);
0 0 base = newSV_type(SVt_PVMG);
2497 0 base = newSV_type(SVt_PVMG);
358 0 0 rv = Sv::noinc(newRV_noinc(base));
5 0 rv = Sv::noinc(newRV_noinc(base));
0 0 rv = Sv::noinc(newRV_noinc(base));
0 0 rv = Sv::noinc(newRV_noinc(base));
2497 0 rv = Sv::noinc(newRV_noinc(base));
359 0 0 sv_bless(rv, gv_stashsv(proto, GV_ADD));
0 0 sv_bless(rv, gv_stashsv(proto, GV_ADD));
5 0 sv_bless(rv, gv_stashsv(proto, GV_ADD));
5 0 sv_bless(rv, gv_stashsv(proto, GV_ADD));
0 0 sv_bless(rv, gv_stashsv(proto, GV_ADD));
0 0 sv_bless(rv, gv_stashsv(proto, GV_ADD));
0 0 sv_bless(rv, gv_stashsv(proto, GV_ADD));
0 0 sv_bless(rv, gv_stashsv(proto, GV_ADD));
2497 0 sv_bless(rv, gv_stashsv(proto, GV_ADD));
2497 0 sv_bless(rv, gv_stashsv(proto, GV_ADD));
363 0 0 else if (proto.type() == SVt_PVHV && HvNAME(proto)) { // stash
0 0 else if (proto.type() == SVt_PVHV && HvNAME(proto)) { // stash
0 0 else if (proto.type() == SVt_PVHV && HvNAME(proto)) { // stash
0 0 else if (proto.type() == SVt_PVHV && HvNAME(proto)) { // stash
0 0 else if (proto.type() == SVt_PVHV && HvNAME(proto)) { // stash
0 0 else if (proto.type() == SVt_PVHV && HvNAME(proto)) { // stash
0 0 else if (proto.type() == SVt_PVHV && HvNAME(proto)) { // stash
0 0 else if (proto.type() == SVt_PVHV && HvNAME(proto)) { // stash
0 0 else if (proto.type() == SVt_PVHV && HvNAME(proto)) { // stash
0 0 else if (proto.type() == SVt_PVHV && HvNAME(proto)) { // stash
0 0 else if (proto.type() == SVt_PVHV && HvNAME(proto)) { // stash
0 0 else if (proto.type() == SVt_PVHV && HvNAME(proto)) { // stash
0 0 else if (proto.type() == SVt_PVHV && HvNAME(proto)) { // stash
0 0 else if (proto.type() == SVt_PVHV && HvNAME(proto)) { // stash
0 0 else if (proto.type() == SVt_PVHV && HvNAME(proto)) { // stash
0 0 else if (proto.type() == SVt_PVHV && HvNAME(proto)) { // stash
0 0 else if (proto.type() == SVt_PVHV && HvNAME(proto)) { // stash
0 0 else if (proto.type() == SVt_PVHV && HvNAME(proto)) { // stash
0 0 else if (proto.type() == SVt_PVHV && HvNAME(proto)) { // stash
0 0 else if (proto.type() == SVt_PVHV && HvNAME(proto)) { // stash
0 0 else if (proto.type() == SVt_PVHV && HvNAME(proto)) { // stash
0 0 else if (proto.type() == SVt_PVHV && HvNAME(proto)) { // stash
0 0 else if (proto.type() == SVt_PVHV && HvNAME(proto)) { // stash
0 0 else if (proto.type() == SVt_PVHV && HvNAME(proto)) { // stash
0 0 else if (proto.type() == SVt_PVHV && HvNAME(proto)) { // stash
0 0 else if (proto.type() == SVt_PVHV && HvNAME(proto)) { // stash
0 0 else if (proto.type() == SVt_PVHV && HvNAME(proto)) { // stash
0 0 else if (proto.type() == SVt_PVHV && HvNAME(proto)) { // stash
0 0 else if (proto.type() == SVt_PVHV && HvNAME(proto)) { // stash
0 0 else if (proto.type() == SVt_PVHV && HvNAME(proto)) { // stash
0 0 else if (proto.type() == SVt_PVHV && HvNAME(proto)) { // stash
0 0 else if (proto.type() == SVt_PVHV && HvNAME(proto)) { // stash
0 0 else if (proto.type() == SVt_PVHV && HvNAME(proto)) { // stash
0 0 else if (proto.type() == SVt_PVHV && HvNAME(proto)) { // stash
0 0 else if (proto.type() == SVt_PVHV && HvNAME(proto)) { // stash
0 0 else if (proto.type() == SVt_PVHV && HvNAME(proto)) { // stash
0 0 else if (proto.type() == SVt_PVHV && HvNAME(proto)) { // stash
0 0 else if (proto.type() == SVt_PVHV && HvNAME(proto)) { // stash
0 0 else if (proto.type() == SVt_PVHV && HvNAME(proto)) { // stash
0 0 else if (proto.type() == SVt_PVHV && HvNAME(proto)) { // stash
0 0 else if (proto.type() == SVt_PVHV && HvNAME(proto)) { // stash
0 0 else if (proto.type() == SVt_PVHV && HvNAME(proto)) { // stash
0 0 else if (proto.type() == SVt_PVHV && HvNAME(proto)) { // stash
0 0 else if (proto.type() == SVt_PVHV && HvNAME(proto)) { // stash
0 0 else if (proto.type() == SVt_PVHV && HvNAME(proto)) { // stash
364 0 0 base = newSV_type(SVt_PVMG);
0 0 base = newSV_type(SVt_PVMG);
0 0 base = newSV_type(SVt_PVMG);
0 0 base = newSV_type(SVt_PVMG);
0 0 base = newSV_type(SVt_PVMG);
365 0 0 rv = Sv::noinc(newRV_noinc(base));
0 0 rv = Sv::noinc(newRV_noinc(base));
0 0 rv = Sv::noinc(newRV_noinc(base));
0 0 rv = Sv::noinc(newRV_noinc(base));
0 0 rv = Sv::noinc(newRV_noinc(base));
366 0 0 sv_bless(rv, proto.get<HV>());
0 0 sv_bless(rv, proto.get<HV>());
0 0 sv_bless(rv, proto.get<HV>());
0 0 sv_bless(rv, proto.get<HV>());
0 0 sv_bless(rv, proto.get<HV>());
370 0 0 rv = Sv::noinc(newRV(proto));
0 0 rv = Sv::noinc(newRV(proto));
0 0 rv = Sv::noinc(newRV(proto));
0 0 rv = Sv::noinc(newRV(proto));
0 0 rv = Sv::noinc(newRV(proto));
375 3601 0 base = newSV_type(SVt_PVMG);
0 0 base = newSV_type(SVt_PVMG);
1012 0 base = newSV_type(SVt_PVMG);
43 0 base = newSV_type(SVt_PVMG);
3 0 base = newSV_type(SVt_PVMG);
376 3601 0 rv = Sv::noinc(newRV_noinc(base));
0 0 rv = Sv::noinc(newRV_noinc(base));
1012 0 rv = Sv::noinc(newRV_noinc(base));
43 0 rv = Sv::noinc(newRV_noinc(base));
3 0 rv = Sv::noinc(newRV_noinc(base));
380 0 0 if (!SvOBJECT(base)) { // not blessed -> bless to default typemap's class
0 0 if (!SvOBJECT(base)) { // not blessed -> bless to default typemap's class
0 0 if (!SvOBJECT(base)) { // not blessed -> bless to default typemap's class
0 0 if (!SvOBJECT(base)) { // not blessed -> bless to default typemap's class
0 0 if (!SvOBJECT(base)) { // not blessed -> bless to default typemap's class
382 6 3595 static PERL_ITHREADS_LOCAL HV* stash = gv_stashpvn(Typemap<TYPE>::package().data(), Typemap<TYPE>::package().length(), GV_ADD);
6 0 static PERL_ITHREADS_LOCAL HV* stash = gv_stashpvn(Typemap<TYPE>::package().data(), Typemap<TYPE>::package().length(), GV_ADD);
6 0 static PERL_ITHREADS_LOCAL HV* stash = gv_stashpvn(Typemap<TYPE>::package().data(), Typemap<TYPE>::package().length(), GV_ADD);
6 0 static PERL_ITHREADS_LOCAL HV* stash = gv_stashpvn(Typemap<TYPE>::package().data(), Typemap<TYPE>::package().length(), GV_ADD);
6 0 static PERL_ITHREADS_LOCAL HV* stash = gv_stashpvn(Typemap<TYPE>::package().data(), Typemap<TYPE>::package().length(), GV_ADD);
0 0 static PERL_ITHREADS_LOCAL HV* stash = gv_stashpvn(Typemap<TYPE>::package().data(), Typemap<TYPE>::package().length(), GV_ADD);
0 0 static PERL_ITHREADS_LOCAL HV* stash = gv_stashpvn(Typemap<TYPE>::package().data(), Typemap<TYPE>::package().length(), GV_ADD);
0 0 static PERL_ITHREADS_LOCAL HV* stash = gv_stashpvn(Typemap<TYPE>::package().data(), Typemap<TYPE>::package().length(), GV_ADD);
0 0 static PERL_ITHREADS_LOCAL HV* stash = gv_stashpvn(Typemap<TYPE>::package().data(), Typemap<TYPE>::package().length(), GV_ADD);
0 0 static PERL_ITHREADS_LOCAL HV* stash = gv_stashpvn(Typemap<TYPE>::package().data(), Typemap<TYPE>::package().length(), GV_ADD);
0 0 static PERL_ITHREADS_LOCAL HV* stash = gv_stashpvn(Typemap<TYPE>::package().data(), Typemap<TYPE>::package().length(), GV_ADD);
0 0 static PERL_ITHREADS_LOCAL HV* stash = gv_stashpvn(Typemap<TYPE>::package().data(), Typemap<TYPE>::package().length(), GV_ADD);
7 1005 static PERL_ITHREADS_LOCAL HV* stash = gv_stashpvn(Typemap<TYPE>::package().data(), Typemap<TYPE>::package().length(), GV_ADD);
7 0 static PERL_ITHREADS_LOCAL HV* stash = gv_stashpvn(Typemap<TYPE>::package().data(), Typemap<TYPE>::package().length(), GV_ADD);
7 0 static PERL_ITHREADS_LOCAL HV* stash = gv_stashpvn(Typemap<TYPE>::package().data(), Typemap<TYPE>::package().length(), GV_ADD);
7 0 static PERL_ITHREADS_LOCAL HV* stash = gv_stashpvn(Typemap<TYPE>::package().data(), Typemap<TYPE>::package().length(), GV_ADD);
7 0 static PERL_ITHREADS_LOCAL HV* stash = gv_stashpvn(Typemap<TYPE>::package().data(), Typemap<TYPE>::package().length(), GV_ADD);
0 0 static PERL_ITHREADS_LOCAL HV* stash = gv_stashpvn(Typemap<TYPE>::package().data(), Typemap<TYPE>::package().length(), GV_ADD);
2 41 static PERL_ITHREADS_LOCAL HV* stash = gv_stashpvn(Typemap<TYPE>::package().data(), Typemap<TYPE>::package().length(), GV_ADD);
2 0 static PERL_ITHREADS_LOCAL HV* stash = gv_stashpvn(Typemap<TYPE>::package().data(), Typemap<TYPE>::package().length(), GV_ADD);
2 0 static PERL_ITHREADS_LOCAL HV* stash = gv_stashpvn(Typemap<TYPE>::package().data(), Typemap<TYPE>::package().length(), GV_ADD);
2 0 static PERL_ITHREADS_LOCAL HV* stash = gv_stashpvn(Typemap<TYPE>::package().data(), Typemap<TYPE>::package().length(), GV_ADD);
2 0 static PERL_ITHREADS_LOCAL HV* stash = gv_stashpvn(Typemap<TYPE>::package().data(), Typemap<TYPE>::package().length(), GV_ADD);
0 0 static PERL_ITHREADS_LOCAL HV* stash = gv_stashpvn(Typemap<TYPE>::package().data(), Typemap<TYPE>::package().length(), GV_ADD);
1 2 static PERL_ITHREADS_LOCAL HV* stash = gv_stashpvn(Typemap<TYPE>::package().data(), Typemap<TYPE>::package().length(), GV_ADD);
1 0 static PERL_ITHREADS_LOCAL HV* stash = gv_stashpvn(Typemap<TYPE>::package().data(), Typemap<TYPE>::package().length(), GV_ADD);
1 0 static PERL_ITHREADS_LOCAL HV* stash = gv_stashpvn(Typemap<TYPE>::package().data(), Typemap<TYPE>::package().length(), GV_ADD);
1 0 static PERL_ITHREADS_LOCAL HV* stash = gv_stashpvn(Typemap<TYPE>::package().data(), Typemap<TYPE>::package().length(), GV_ADD);
1 0 static PERL_ITHREADS_LOCAL HV* stash = gv_stashpvn(Typemap<TYPE>::package().data(), Typemap<TYPE>::package().length(), GV_ADD);
0 0 static PERL_ITHREADS_LOCAL HV* stash = gv_stashpvn(Typemap<TYPE>::package().data(), Typemap<TYPE>::package().length(), GV_ADD);
383 3601 0 sv_bless(rv, stash); // TODO: custom faster bless
0 0 sv_bless(rv, stash); // TODO: custom faster bless
1012 0 sv_bless(rv, stash); // TODO: custom faster bless
43 0 sv_bless(rv, stash); // TODO: custom faster bless
3 0 sv_bless(rv, stash); // TODO: custom faster bless
387 3601 0 IStorage::set(base, const_cast<void*>(IType::out(IType::template cast<TYPEMAP>(var))));
3601 0 IStorage::set(base, const_cast<void*>(IType::out(IType::template cast<TYPEMAP>(var))));
5 0 IStorage::set(base, const_cast<void*>(IType::out(IType::template cast<TYPEMAP>(var))));
1012 0 IStorage::set(base, const_cast<void*>(IType::out(IType::template cast<TYPEMAP>(var))));
43 0 IStorage::set(base, const_cast<void*>(IType::out(IType::template cast<TYPEMAP>(var))));
2500 0 IStorage::set(base, const_cast<void*>(IType::out(IType::template cast<TYPEMAP>(var))));
2500 0 IStorage::set(base, const_cast<void*>(IType::out(IType::template cast<TYPEMAP>(var))));
405 3848 0 template <class TO, class FROM> static inline TO cast (FROM v) { return _cast<TO, FROM>(v, CastType()); }
7198 0 template <class TO, class FROM> static inline TO cast (FROM v) { return _cast<TO, FROM>(v, CastType()); }
2012 0 template <class TO, class FROM> static inline TO cast (FROM v) { return _cast<TO, FROM>(v, CastType()); }
86 0 template <class TO, class FROM> static inline TO cast (FROM v) { return _cast<TO, FROM>(v, CastType()); }
10632 0 template <class TO, class FROM> static inline TO cast (FROM v) { return _cast<TO, FROM>(v, CastType()); }