| line |
true |
false |
branch |
|
61
|
3 |
0 |
if (!obj || !SvROK(obj) || !SvOBJECT(SvRV(obj))) |
|
|
3 |
0 |
if (!obj || !SvROK(obj) || !SvOBJECT(SvRV(obj))) |
|
|
0 |
3 |
if (!obj || !SvROK(obj) || !SvOBJECT(SvRV(obj))) |
|
64
|
3 |
0 |
return stash && HvNAME(stash) |
|
|
3 |
0 |
return stash && HvNAME(stash) |
|
|
0 |
0 |
return stash && HvNAME(stash) |
|
|
3 |
0 |
return stash && HvNAME(stash) |
|
|
0 |
3 |
return stash && HvNAME(stash) |
|
|
3 |
0 |
return stash && HvNAME(stash) |
|
65
|
3 |
0 |
&& strEQ(HvNAME(stash), "threads::shared::tie"); |
|
|
0 |
3 |
&& strEQ(HvNAME(stash), "threads::shared::tie"); |
|
|
3 |
0 |
&& strEQ(HvNAME(stash), "threads::shared::tie"); |
|
|
3 |
0 |
&& strEQ(HvNAME(stash), "threads::shared::tie"); |
|
|
0 |
3 |
&& strEQ(HvNAME(stash), "threads::shared::tie"); |
|
|
0 |
0 |
&& strEQ(HvNAME(stash), "threads::shared::tie"); |
|
|
3 |
0 |
&& strEQ(HvNAME(stash), "threads::shared::tie"); |
|
|
0 |
3 |
&& strEQ(HvNAME(stash), "threads::shared::tie"); |
|
|
0 |
3 |
&& strEQ(HvNAME(stash), "threads::shared::tie"); |
|
74
|
59 |
0 |
int recur = depth ? depth - 1 : 0; |
|
81
|
0 |
59 |
if (HvKEYS(self) > 0) |
|
|
55 |
4 |
if (HvKEYS(self) > 0) |
|
82
|
0 |
55 |
hv_ksplit(clone, HvKEYS(self)); |
|
85
|
82 |
59 |
while ((next = hv_iternext (self))) |
|
92
|
1 |
81 |
if (HeKUTF8(next)) |
|
114
|
0 |
2 |
if (!ref) return NULL; |
|
119
|
0 |
2 |
if ((seen = CLONE_FETCH(ref))) { |
|
125
|
0 |
2 |
CLONE_STORE(ref, (SV *)root_clone); |
|
130
|
1 |
1 |
if (av_len(self) == 0) { |
|
132
|
1 |
0 |
if (svp && SvROK(*svp) && SvTYPE(SvRV(*svp)) == SVt_PVAV) { |
|
|
1 |
0 |
if (svp && SvROK(*svp) && SvTYPE(SvRV(*svp)) == SVt_PVAV) { |
|
|
1 |
0 |
if (svp && SvROK(*svp) && SvTYPE(SvRV(*svp)) == SVt_PVAV) { |
|
137
|
3000 |
0 |
while (current_ref && SvROK(current_ref) && |
|
138
|
3000 |
0 |
SvTYPE(SvRV(current_ref)) == SVt_PVAV && |
|
144
|
0 |
2999 |
CLONE_STORE(inner_sv, (SV*)new_av); |
|
148
|
0 |
2999 |
if (!svp) break; |
|
154
|
1 |
0 |
if (current_ref) { |
|
155
|
1 |
0 |
if (SvROK(current_ref) && |
|
156
|
1 |
0 |
SvTYPE(SvRV(current_ref)) == SVt_PVAV) { |
|
161
|
0 |
0 |
} else if (SvROK(current_ref)) { |
|
173
|
0 |
0 |
if (svp) { |
|
186
|
0 |
1 |
for (i = 0; i <= arrlen; i++) { |
|
188
|
0 |
0 |
if (svp) { |
|
210
|
0 |
4028 |
if (depth == 0) { |
|
228
|
4064 |
4028 |
for (i = 0; i <= arrlen; i++) { |
|
230
|
4064 |
0 |
if (svp) { |
|
248
|
0 |
308379 |
if (!ref) |
|
258
|
1 |
308378 |
if (rdepth > MAX_DEPTH) { |
|
259
|
0 |
1 |
if (SvTYPE(ref) == SVt_PVAV) { |
|
264
|
1 |
0 |
if (SvROK(ref) && SvTYPE(SvRV(ref)) == SVt_PVAV) { |
|
|
1 |
0 |
if (SvROK(ref) && SvTYPE(SvRV(ref)) == SVt_PVAV) { |
|
267
|
0 |
1 |
if (SvOBJECT(SvRV(ref))) |
|
287
|
6 |
308372 |
if (depth == 0) |
|
290
|
308372 |
0 |
if (visible && (seen = CLONE_FETCH(ref))) |
|
|
22 |
308350 |
if (visible && (seen = CLONE_FETCH(ref))) |
|
300
|
200004 |
108346 |
if (SvTYPE(ref) == SVt_PVLV && SvMAGICAL(ref)) |
|
|
200004 |
0 |
if (SvTYPE(ref) == SVt_PVLV && SvMAGICAL(ref)) |
|
303
|
200004 |
200004 |
for (mg = SvMAGIC(ref); mg; mg = mg->mg_moremagic) |
|
305
|
200004 |
0 |
if ((mg->mg_type == PERL_MAGIC_tiedelem |
|
306
|
0 |
200004 |
|| mg->mg_type == PERL_MAGIC_tiedscalar) |
|
307
|
0 |
0 |
&& is_threads_shared_tie(mg->mg_obj)) |
|
311
|
0 |
0 |
if (visible && ref != clone) |
|
|
0 |
0 |
if (visible && ref != clone) |
|
312
|
0 |
0 |
CLONE_STORE(ref, clone); |
|
345
|
50 |
5 |
if ( SvIsCOW(ref) && !SvOOK(ref) && SvLEN(ref) > 0 ) { |
|
|
50 |
0 |
if ( SvIsCOW(ref) && !SvOOK(ref) && SvLEN(ref) > 0 ) { |
|
|
40 |
10 |
if ( SvIsCOW(ref) && !SvOOK(ref) && SvLEN(ref) > 0 ) { |
|
347
|
38 |
2 |
if ( CowREFCNT(ref) < (SV_COW_REFCNT_MAX - 1) ) { |
|
362
|
1 |
37 |
if (SvUTF8(ref)) |
|
416
|
308350 |
0 |
if ( visible && ref != clone ) |
|
|
108336 |
200014 |
if ( visible && ref != clone ) |
|
417
|
0 |
108336 |
CLONE_STORE(ref,clone); |
|
423
|
200014 |
108336 |
if (ref == clone) |
|
444
|
6 |
108330 |
if (SvMAGICAL(ref) ) |
|
449
|
6 |
6 |
for (mg = SvMAGIC(ref); mg; mg = mg->mg_moremagic) |
|
456
|
1 |
5 |
if (mg->mg_type == '~') |
|
465
|
0 |
1 |
if (mg->mg_virtual && mg->mg_virtual->svt_dup) |
|
|
0 |
0 |
if (mg->mg_virtual && mg->mg_virtual->svt_dup) |
|
485
|
5 |
0 |
if (mg->mg_type == PERL_MAGIC_shared_scalar |
|
486
|
0 |
5 |
|| mg->mg_type == PERL_MAGIC_shared) |
|
490
|
3 |
2 |
if ( mg->mg_obj != NULL ) |
|
509
|
0 |
3 |
if (is_threads_shared_tie(mg->mg_obj)) |
|
523
|
3 |
2 |
if (mg->mg_len >= 0) { /* copy the pv */ |
|
524
|
0 |
3 |
if (mg_ptr) { |
|
528
|
0 |
2 |
} else if (mg->mg_len == HEf_SVKEY) { |
|
531
|
2 |
0 |
} else if (mg->mg_len == -1 && mg->mg_type == PERL_MAGIC_utf8) { /* copy the cache */ |
|
|
2 |
0 |
} else if (mg->mg_len == -1 && mg->mg_type == PERL_MAGIC_utf8) { /* copy the cache */ |
|
532
|
1 |
1 |
if (mg->mg_ptr) { |
|
538
|
0 |
0 |
} else if ( mg->mg_ptr != NULL) { |
|
551
|
0 |
6 |
if (has_qr && (mg = mg_find(clone, 'r'))) |
|
|
0 |
0 |
if (has_qr && (mg = mg_find(clone, 'r'))) |
|
555
|
108333 |
3 |
if ( magic_ref ) |
|
559
|
59 |
108274 |
else if ( SvTYPE(ref) == SVt_PVHV ) |
|
561
|
4028 |
104246 |
else if ( SvTYPE(ref) == SVt_PVAV ) |
|
564
|
4138 |
100108 |
else if (SvROK (ref)) |
|
569
|
54 |
4084 |
if (SvOBJECT(SvRV(ref))) |
|
573
|
9 |
4129 |
if (SvWEAKREF(ref)) { |
|
598
|
300085 |
7 |
AV *weakrefs = newAV(); |
|
608
|
9 |
300092 |
for (i = 0; i <= len; i++) { |
|
610
|
9 |
0 |
if (svp && *svp && SvROK(*svp)) { |
|
|
9 |
0 |
if (svp && *svp && SvROK(*svp)) { |
|
|
9 |
0 |
if (svp && *svp && SvROK(*svp)) { |
|
618
|
0 |
300092 |
EXTEND(SP,1); |