| line | true | false | branch | 
 
| 34 | 5 | 18 | PANDA_GLOBAL_MEMBER_AS_PTR(PayloadMarker, payload_marker_t, get, payload_marker_t()); | 
 
| 47 | 3 | 0 | Sv (T* sv, bool policy = INCREMENT) : sv((SV*)sv) { if (policy == INCREMENT) SvREFCNT_inc_simple_void(sv); } | 
 
|  | 3 | 0 | Sv (T* sv, bool policy = INCREMENT) : sv((SV*)sv) { if (policy == INCREMENT) SvREFCNT_inc_simple_void(sv); } | 
 
|  | 109 | 0 | Sv (T* sv, bool policy = INCREMENT) : sv((SV*)sv) { if (policy == INCREMENT) SvREFCNT_inc_simple_void(sv); } | 
 
|  | 109 | 0 | Sv (T* sv, bool policy = INCREMENT) : sv((SV*)sv) { if (policy == INCREMENT) SvREFCNT_inc_simple_void(sv); } | 
 
|  | 274 | 86 | Sv (T* sv, bool policy = INCREMENT) : sv((SV*)sv) { if (policy == INCREMENT) SvREFCNT_inc_simple_void(sv); } | 
 
|  | 274 | 0 | Sv (T* sv, bool policy = INCREMENT) : sv((SV*)sv) { if (policy == INCREMENT) SvREFCNT_inc_simple_void(sv); } | 
 
| 56 | 13 | 0 | SvREFCNT_inc_simple_void(val); | 
 
|  | 13 | 0 | SvREFCNT_inc_simple_void(val); | 
 
| 59 | 13 | 0 | SvREFCNT_dec(old); | 
 
|  | 13 | 0 | SvREFCNT_dec(old); | 
 
| 87 | 106 | 0 | bool   defined        () const { return sv && SvOK(sv); } | 
 
|  | 2 | 104 | bool   defined        () const { return sv && SvOK(sv); } | 
 
|  | 2 | 0 | bool   defined        () const { return sv && SvOK(sv); } | 
 
|  | 0 | 2 | bool   defined        () const { return sv && SvOK(sv); } | 
 
| 92 | 34 | 0 | bool   is_scalar      () const { return sv && is_scalar_unsafe(); } | 
 
|  | 24 | 10 | bool   is_scalar      () const { return sv && is_scalar_unsafe(); } | 
 
| 93 | 82 | 0 | bool   is_ref         () const { return sv && SvROK(sv); } | 
 
|  | 69 | 13 | bool   is_ref         () const { return sv && SvROK(sv); } | 
 
| 94 | 108 | 0 | bool   is_simple      () const { return sv && SvTYPE(sv) <= SVt_PVMG && !SvROK(sv); } | 
 
|  | 108 | 0 | bool   is_simple      () const { return sv && SvTYPE(sv) <= SVt_PVMG && !SvROK(sv); } | 
 
|  | 54 | 54 | bool   is_simple      () const { return sv && SvTYPE(sv) <= SVt_PVMG && !SvROK(sv); } | 
 
| 96 | 50 | 0 | bool   is_like_number () const { return sv && looks_like_number(sv); } | 
 
|  | 6 | 44 | bool   is_like_number () const { return sv && looks_like_number(sv); } | 
 
| 99 | 2 | 0 | bool   is_hash        () const { return sv && type() == SVt_PVHV; } | 
 
|  | 0 | 2 | bool   is_hash        () const { return sv && type() == SVt_PVHV; } | 
 
| 105 | 54 | 0 | bool   is_object_ref  () const { return is_ref() && SvOBJECT(SvRV(sv)); } | 
 
|  | 3 | 51 | bool   is_object_ref  () const { return is_ref() && SvOBJECT(SvRV(sv)); } | 
 
| 106 | 0 | 2 | bool   is_stash       () const { return is_hash() && HvNAME(sv); } | 
 
|  | 0 | 0 | bool   is_stash       () const { return is_hash() && HvNAME(sv); } | 
 
|  | 0 | 0 | bool   is_stash       () const { return is_hash() && HvNAME(sv); } | 
 
|  | 0 | 0 | bool   is_stash       () const { return is_hash() && HvNAME(sv); } | 
 
|  | 0 | 0 | bool   is_stash       () const { return is_hash() && HvNAME(sv); } | 
 
|  | 0 | 0 | bool   is_stash       () const { return is_hash() && HvNAME(sv); } | 
 
|  | 0 | 0 | bool   is_stash       () const { return is_hash() && HvNAME(sv); } | 
 
|  | 0 | 0 | bool   is_stash       () const { return is_hash() && HvNAME(sv); } | 
 
| 110 | 124 | 0 | bool is_ref_of_type (svtype type) const { return sv && SvROK(sv) && SvTYPE(SvRV(sv)) == type; } | 
 
|  | 124 | 0 | bool is_ref_of_type (svtype type) const { return sv && SvROK(sv) && SvTYPE(SvRV(sv)) == type; } | 
 
|  | 52 | 72 | bool is_ref_of_type (svtype type) const { return sv && SvROK(sv) && SvTYPE(SvRV(sv)) == type; } | 
 
| 134 | 3 | 74 | if (type() < SVt_PVMG) return false; | 
 
| 135 | 78 | 33 | for (MAGIC* mg = SvMAGIC(sv); mg; mg = mg->mg_moremagic) if (mg->mg_virtual == marker) return true; | 
 
|  | 41 | 37 | for (MAGIC* mg = SvMAGIC(sv); mg; mg = mg->mg_moremagic) if (mg->mg_virtual == marker) return true; | 
 
| 140 | 0 | 27 | if (type() < SVt_PVMG) return Payload(); | 
 
| 141 | 40 | 0 | for (MAGIC* mg = SvMAGIC(sv); mg; mg = mg->mg_moremagic) if (mg->mg_virtual == marker) return Payload { mg->mg_ptr, mg->mg_obj }; | 
 
|  | 27 | 13 | for (MAGIC* mg = SvMAGIC(sv); mg; mg = mg->mg_moremagic) if (mg->mg_virtual == marker) return Payload { mg->mg_ptr, mg->mg_obj }; | 
 
| 170 | 0 | 0 | inline bool is_undef() const { return (SvTYPE(sv) <= SVt_PVMG && !SvOK(sv)); } | 
 
|  | 0 | 0 | inline bool is_undef() const { return (SvTYPE(sv) <= SVt_PVMG && !SvOK(sv)); } | 
 
|  | 0 | 0 | inline bool is_undef() const { return (SvTYPE(sv) <= SVt_PVMG && !SvOK(sv)); } | 
 
|  | 0 | 0 | inline bool is_undef() const { return (SvTYPE(sv) <= SVt_PVMG && !SvOK(sv)); } | 
 
| 171 | 10 | 36 | inline bool is_scalar_unsafe() const { return (SvTYPE(sv) <= SVt_PVMG || SvTYPE(sv) == SVt_PVGV); } | 
 
|  | 0 | 10 | inline bool is_scalar_unsafe() const { return (SvTYPE(sv) <= SVt_PVMG || SvTYPE(sv) == SVt_PVGV); } |