Branch Coverage

JIT.xs
Criterion Covered Total %
branch 51 72 70.8


line true false branch
25 284 0 int num_functions = 0;
32 1 283 if ((items - 1) % 2 != 0) {
36 1125 282 for (i = 1; i < items; i += 2) {
40 282 843 if (strEQ(key, "code")) {
42 282 561 } else if (strEQ(key, "name")) {
44 278 283 } else if (strEQ(key, "cache_dir")) {
45 278 0 if (SvOK(val)) {
48 1 282 } else if (strEQ(key, "force")) {
50 0 282 } else if (strEQ(key, "extra_cflags")) {
51 0 0 if (SvOK(val)) {
54 0 282 } else if (strEQ(key, "extra_ldflags")) {
55 0 0 if (SvOK(val)) {
58 282 0 } else if (strEQ(key, "functions")) {
59 282 0 if (!SvROK(val) || SvTYPE(SvRV(val)) != SVt_PVHV) {
1 281 if (!SvROK(val) || SvTYPE(SvRV(val)) != SVt_PVHV) {
67 1 281 if (!code) {
70 1 280 if (!name) {
73 1 279 if (!functions_hv) {
78 0 279 num_functions = HvKEYS(functions_hv);
79 1 278 if (num_functions == 0) {
92 544 278 while ((entry = hv_iternext(functions_hv)) != NULL) {
99 471 73 if (SvROK(val) && SvTYPE(SvRV(val)) == SVt_PVHV) {
471 0 if (SvROK(val) && SvTYPE(SvRV(val)) == SVt_PVHV) {
105 471 0 if (!source_sv || !SvOK(*source_sv)) {
0 471 if (!source_sv || !SvOK(*source_sv)) {
109 471 0 if (native_sv && SvTRUE(*native_sv)) {
471 0 if (native_sv && SvTRUE(*native_sv)) {
134 544 278 for (i = 0; i < num_functions; i++) {
149 11 0 const char *cache_dir = NULL;
152 11 0 if (items > 3 && SvOK(ST(3))) {
11 0 if (items > 3 && SvOK(ST(3))) {
174 0 2 num_functions = HvKEYS(functions_hv);
175 1 1 if (num_functions == 0) {
183 1 1 while ((entry = hv_iternext(functions_hv)) != NULL) {
202 1 1 for (i = 0; i < num_functions; i++) {
208 1 0 if (generated) {