| line |
true |
false |
branch |
|
11
|
35 |
0 |
delete fc; |
|
21
|
25 |
0 |
Sub sub(cv); |
|
23
|
0 |
25 |
if (!fc) throw "invalid function->sub subroutine"; |
|
24
|
23 |
2 |
auto ret = fc->call(&ST(0), items); |
|
25
|
14 |
9 |
if (!ret) XSRETURN_EMPTY; |
|
26
|
0 |
9 |
mXPUSHs(ret.detach()); |
|
|
0 |
0 |
mXPUSHs(ret.detach()); |
|
|
9 |
0 |
mXPUSHs(ret.detach()); |
|
28
|
23 |
0 |
}); } |
|
32
|
35 |
0 |
CV* cv = MUTABLE_CV(newSV_type(SvTYPE(proto))); |
|
36
|
35 |
0 |
CvGV_set(cv,CvGV(proto)); |
|
|
35 |
0 |
CvGV_set(cv,CvGV(proto)); |
|
37
|
35 |
0 |
CvSTASH_set(cv, CvSTASH(proto)); |
|
48
|
35 |
0 |
return Sub::noinc(cv); |
|
55
|
35 |
0 |
ret.payload_attach(fc, &marker); |
|
59
|
36 |
0 |
}} |
|
|
36 |
0 |
}} |