| line |
true |
false |
branch |
|
17
|
18 |
12910 |
if (b->use_tabs) { |
|
18
|
28 |
18 |
for (i = 0; i < b->indent; i++) { |
|
23
|
68068 |
12910 |
for (i = 0; i < spaces; i++) { |
|
48
|
369 |
0 |
if (b) { |
|
50
|
369 |
0 |
if (b->enums) SvREFCNT_dec((SV*)b->enums); |
|
51
|
369 |
0 |
if (b->memoized) SvREFCNT_dec((SV*)b->memoized); |
|
114
|
90 |
0 |
if (b->indent > 0) { |
|
221
|
552 |
67 |
if (value && *value) { |
|
|
552 |
0 |
if (value && *value) { |
|
350
|
102 |
5 |
if (min == max) { |
|
352
|
2 |
3 |
} else if (max < 0) { |
|
403
|
3 |
2 |
if (len_var && *len_var) { |
|
|
3 |
0 |
if (len_var && *len_var) { |
|
436
|
3 |
19 |
if (len && *len) { |
|
|
3 |
0 |
if (len && *len) { |
|
471
|
0 |
2 |
if (min_args > 0 || max_args >= 0) { |
|
|
0 |
0 |
if (min_args > 0 || max_args >= 0) { |
|
579
|
8 |
6 |
for (i = 0; i < num_attrs; i++) { |
|
691
|
1 |
0 |
if (num_slots > 0) { |
|
842
|
6 |
0 |
if (num_required > 0) { |
|
844
|
9 |
6 |
for (i = 0; i < num_required; i++) { |
|
887
|
1 |
9 |
if (type == 1) { /* TYPE_DEFINED */ |
|
891
|
3 |
6 |
} else if (type == 2) { /* TYPE_INT */ |
|
895
|
1 |
5 |
} else if (type == 3) { /* TYPE_NUM */ |
|
899
|
1 |
4 |
} else if (type == 4) { /* TYPE_STR */ |
|
903
|
0 |
4 |
} else if (type == 5) { /* TYPE_REF */ |
|
907
|
1 |
3 |
} else if (type == 6) { /* TYPE_ARRAYREF */ |
|
911
|
1 |
2 |
} else if (type == 7) { /* TYPE_HASHREF */ |
|
915
|
1 |
1 |
} else if (type == 8) { /* TYPE_CODEREF */ |
|
919
|
1 |
0 |
} else if (type == 9) { /* TYPE_OBJECT */ |
|
1132
|
17 |
14 |
for (i = 0; i < num_attrs; i++) { |
|
1145
|
1 |
16 |
if (attr->coerce && attr->coerce_len > 0) { |
|
|
1 |
0 |
if (attr->coerce && attr->coerce_len > 0) { |
|
1170
|
3 |
14 |
if (attr->required) { |
|
1178
|
3 |
14 |
if (attr->type > 0 && attr->type_msg) { |
|
|
3 |
0 |
if (attr->type > 0 && attr->type_msg) { |
|
1241
|
1 |
16 |
if (attr->weak) { |
|
1296
|
1 |
13 |
if (call_build) { |
|
1337
|
2 |
1 |
for (i = 0; i < num_args; i++) { |
|
1361
|
2 |
1 |
for (i = 0; i < num_args; i++) { |
|
1554
|
1 |
0 |
if (num_values > 0) { |
|
1556
|
3 |
1 |
for (i = 0; i < num_values; i++) { |
|
2272
|
2 |
1 |
if (xs_jit_xops_registered) return; |
|
2301
|
0 |
0 |
SETs(ary[slot_index] ? ary[slot_index] : &PL_sv_undef); |
|
2317
|
0 |
0 |
if (PL_op->op_private & 1) { |
|
2330
|
0 |
0 |
SETs(ary[slot_index] ? ary[slot_index] : &PL_sv_undef); |
|
2353
|
0 |
0 |
if (!OpHAS_SIBLING(pushmark)) { |
|
2358
|
0 |
0 |
selfop = OpSIBLING(pushmark); |
|
2360
|
0 |
0 |
if (!selfop || selfop->op_type == OP_RV2CV || selfop->op_type == OP_NULL) { |
|
|
0 |
0 |
if (!selfop || selfop->op_type == OP_RV2CV || selfop->op_type == OP_NULL) { |
|
|
0 |
0 |
if (!selfop || selfop->op_type == OP_RV2CV || selfop->op_type == OP_NULL) { |
|
2365
|
0 |
0 |
OP* nextop = OpSIBLING(selfop); |
|
2366
|
0 |
0 |
if (nextop && nextop->op_type != OP_RV2CV && nextop->op_type != OP_NULL) { |
|
|
0 |
0 |
if (nextop && nextop->op_type != OP_RV2CV && nextop->op_type != OP_NULL) { |
|
|
0 |
0 |
if (nextop && nextop->op_type != OP_RV2CV && nextop->op_type != OP_NULL) { |
|
2403
|
0 |
0 |
if (!OpHAS_SIBLING(pushmark)) { |
|
2408
|
0 |
0 |
selfop = OpSIBLING(pushmark); |
|
2409
|
0 |
0 |
if (!selfop || selfop->op_type == OP_RV2CV || selfop->op_type == OP_NULL) { |
|
|
0 |
0 |
if (!selfop || selfop->op_type == OP_RV2CV || selfop->op_type == OP_NULL) { |
|
|
0 |
0 |
if (!selfop || selfop->op_type == OP_RV2CV || selfop->op_type == OP_NULL) { |
|
2413
|
0 |
0 |
valop = OpSIBLING(selfop); |
|
2417
|
0 |
0 |
if (valop && valop->op_type != OP_RV2CV && valop->op_type != OP_NULL) { |
|
|
0 |
0 |
if (valop && valop->op_type != OP_RV2CV && valop->op_type != OP_NULL) { |
|
|
0 |
0 |
if (valop && valop->op_type != OP_RV2CV && valop->op_type != OP_NULL) { |
|
2418
|
0 |
0 |
OP* afterval = OpSIBLING(valop); |
|
2419
|
0 |
0 |
if (!afterval || afterval->op_type == OP_RV2CV || afterval->op_type == OP_NULL) { |
|
|
0 |
0 |
if (!afterval || afterval->op_type == OP_RV2CV || afterval->op_type == OP_NULL) { |
|
|
0 |
0 |
if (!afterval || afterval->op_type == OP_RV2CV || afterval->op_type == OP_NULL) { |
|
2426
|
0 |
0 |
if (is_setter) { |
|
2471
|
0 |
2 |
if (!cv) return 0; |
|
2512
|
0 |
2 |
if (!cv) return XS_JIT_INLINE_NONE; |
|
2515
|
0 |
2 |
if (!mg) return XS_JIT_INLINE_NONE; |
|
2518
|
1 |
1 |
if (mg->mg_ptr == (char*)S_ck_xs_jit_get) { |
|
2520
|
1 |
0 |
} else if (mg->mg_ptr == (char*)S_ck_xs_jit_set) { |
|
2597
|
0 |
0 |
if (classname && *classname) { |
|
|
0 |
0 |
if (classname && *classname) { |
|
2639
|
0 |
2 |
if (is_mortal) { |
|
2667
|
0 |
1 |
if (is_mortal) { |
|
2693
|
0 |
1 |
if (is_mortal) { |
|
2718
|
0 |
0 |
if (is_mortal) { |
|
3070
|
15 |
50 |
if (clause->and_clause) { |
|
3077
|
6 |
59 |
if (clause->or_clause) { |
|
3090
|
148 |
146 |
for (i = 0; i < num; i++) { |
|
3118
|
26 |
0 |
if (!cond || !cond->if_clause) { |
|
|
0 |
26 |
if (!cond || !cond->if_clause) { |
|
3131
|
8 |
26 |
for (i = 0; i < cond->num_elsif; i++) { |
|
3141
|
9 |
17 |
if (cond->num_else_actions > 0) { |
|
3154
|
3 |
0 |
if (!given || given->num_when == 0) { |
|
|
0 |
3 |
if (!given || given->num_when == 0) { |
|
3156
|
0 |
0 |
if (given && given->num_default_actions > 0) { |
|
|
0 |
0 |
if (given && given->num_default_actions > 0) { |
|
3163
|
8 |
3 |
for (i = 0; i < given->num_when; i++) { |
|
3167
|
2 |
6 |
if (!when->key && given->key) { |
|
|
2 |
0 |
if (!when->key && given->key) { |
|
3173
|
3 |
5 |
if (i == 0) { |
|
3184
|
3 |
0 |
if (given->num_default_actions > 0) { |
|
3202
|
150 |
0 |
if (!then_sv || !SvOK(then_sv)) { |
|
|
0 |
150 |
if (!then_sv || !SvOK(then_sv)) { |
|
3207
|
150 |
0 |
if (SvROK(then_sv) && SvTYPE(SvRV(then_sv)) == SVt_PVHV) { |
|
|
148 |
2 |
if (SvROK(then_sv) && SvTYPE(SvRV(then_sv)) == SVt_PVHV) { |
|
3216
|
28 |
120 |
if ((val = hv_fetchs(then_hv, "line", 0)) && SvOK(*val)) { |
|
|
28 |
0 |
if ((val = hv_fetchs(then_hv, "line", 0)) && SvOK(*val)) { |
|
3220
|
60 |
60 |
else if ((val = hv_fetchs(then_hv, "return_iv", 0)) && SvOK(*val)) { |
|
|
60 |
0 |
else if ((val = hv_fetchs(then_hv, "return_iv", 0)) && SvOK(*val)) { |
|
3224
|
4 |
56 |
else if ((val = hv_fetchs(then_hv, "return_nv", 0)) && SvOK(*val)) { |
|
|
4 |
0 |
else if ((val = hv_fetchs(then_hv, "return_nv", 0)) && SvOK(*val)) { |
|
3228
|
55 |
1 |
else if ((val = hv_fetchs(then_hv, "return_pv", 0)) && SvOK(*val)) { |
|
|
55 |
0 |
else if ((val = hv_fetchs(then_hv, "return_pv", 0)) && SvOK(*val)) { |
|
3232
|
0 |
1 |
else if ((val = hv_fetchs(then_hv, "return_sv", 0)) && SvOK(*val)) { |
|
|
0 |
0 |
else if ((val = hv_fetchs(then_hv, "return_sv", 0)) && SvOK(*val)) { |
|
3236
|
1 |
0 |
else if ((val = hv_fetchs(then_hv, "croak", 0)) && SvOK(*val)) { |
|
|
1 |
0 |
else if ((val = hv_fetchs(then_hv, "croak", 0)) && SvOK(*val)) { |
|
3247
|
2 |
0 |
else if (SvROK(then_sv) && SvTYPE(SvRV(then_sv)) == SVt_PVAV) { |
|
|
2 |
0 |
else if (SvROK(then_sv) && SvTYPE(SvRV(then_sv)) == SVt_PVAV) { |
|
3253
|
2 |
0 |
if (len > 0) { |
|
3256
|
4 |
2 |
for (i = 0; i < len; i++) { |
|
3258
|
4 |
0 |
if (elem && SvOK(*elem)) { |
|
|
4 |
0 |
if (elem && SvOK(*elem)) { |
|
3261
|
4 |
0 |
if (sub_actions && sub_count > 0) { |
|
|
4 |
0 |
if (sub_actions && sub_count > 0) { |
|
3280
|
0 |
131 |
if (!clause_hv) { |
|
3287
|
55 |
76 |
if ((val = hv_fetchs(clause_hv, "key", 0)) && SvOK(*val)) { |
|
|
55 |
0 |
if ((val = hv_fetchs(clause_hv, "key", 0)) && SvOK(*val)) { |
|
3294
|
16 |
115 |
if ((val = hv_fetchs(clause_hv, "gt", 0)) && SvOK(*val)) { |
|
|
16 |
0 |
if ((val = hv_fetchs(clause_hv, "gt", 0)) && SvOK(*val)) { |
|
3298
|
16 |
99 |
else if ((val = hv_fetchs(clause_hv, "lt", 0)) && SvOK(*val)) { |
|
|
16 |
0 |
else if ((val = hv_fetchs(clause_hv, "lt", 0)) && SvOK(*val)) { |
|
3302
|
8 |
91 |
else if ((val = hv_fetchs(clause_hv, "gte", 0)) && SvOK(*val)) { |
|
|
8 |
0 |
else if ((val = hv_fetchs(clause_hv, "gte", 0)) && SvOK(*val)) { |
|
3306
|
0 |
91 |
else if ((val = hv_fetchs(clause_hv, "lte", 0)) && SvOK(*val)) { |
|
|
0 |
0 |
else if ((val = hv_fetchs(clause_hv, "lte", 0)) && SvOK(*val)) { |
|
3310
|
84 |
7 |
else if ((val = hv_fetchs(clause_hv, "eq", 0)) && SvOK(*val)) { |
|
|
84 |
0 |
else if ((val = hv_fetchs(clause_hv, "eq", 0)) && SvOK(*val)) { |
|
3314
|
2 |
5 |
else if ((val = hv_fetchs(clause_hv, "ne", 0)) && SvOK(*val)) { |
|
|
2 |
0 |
else if ((val = hv_fetchs(clause_hv, "ne", 0)) && SvOK(*val)) { |
|
3318
|
2 |
3 |
else if ((val = hv_fetchs(clause_hv, "m", 0)) && SvOK(*val)) { |
|
|
2 |
0 |
else if ((val = hv_fetchs(clause_hv, "m", 0)) && SvOK(*val)) { |
|
3322
|
0 |
3 |
else if ((val = hv_fetchs(clause_hv, "im", 0)) && SvOK(*val)) { |
|
|
0 |
0 |
else if ((val = hv_fetchs(clause_hv, "im", 0)) && SvOK(*val)) { |
|
3326
|
0 |
3 |
else if ((val = hv_fetchs(clause_hv, "nm", 0)) && SvOK(*val)) { |
|
|
0 |
0 |
else if ((val = hv_fetchs(clause_hv, "nm", 0)) && SvOK(*val)) { |
|
3330
|
0 |
3 |
else if ((val = hv_fetchs(clause_hv, "inm", 0)) && SvOK(*val)) { |
|
|
0 |
0 |
else if ((val = hv_fetchs(clause_hv, "inm", 0)) && SvOK(*val)) { |
|
3334
|
2 |
1 |
else if ((val = hv_fetchs(clause_hv, "exists", 0)) && SvOK(*val)) { |
|
|
2 |
0 |
else if ((val = hv_fetchs(clause_hv, "exists", 0)) && SvOK(*val)) { |
|
3337
|
1 |
0 |
else if ((val = hv_fetchs(clause_hv, "true", 0)) && SvOK(*val)) { |
|
|
1 |
0 |
else if ((val = hv_fetchs(clause_hv, "true", 0)) && SvOK(*val)) { |
|
3342
|
110 |
21 |
if ((val = hv_fetchs(clause_hv, "then", 0)) && SvOK(*val)) { |
|
|
110 |
0 |
if ((val = hv_fetchs(clause_hv, "then", 0)) && SvOK(*val)) { |
|
3347
|
15 |
116 |
if ((val = hv_fetchs(clause_hv, "and", 0)) && SvOK(*val) && SvROK(*val)) { |
|
|
15 |
0 |
if ((val = hv_fetchs(clause_hv, "and", 0)) && SvOK(*val) && SvROK(*val)) { |
|
|
15 |
0 |
if ((val = hv_fetchs(clause_hv, "and", 0)) && SvOK(*val) && SvROK(*val)) { |
|
3352
|
6 |
125 |
if ((val = hv_fetchs(clause_hv, "or", 0)) && SvOK(*val) && SvROK(*val)) { |
|
|
6 |
0 |
if ((val = hv_fetchs(clause_hv, "or", 0)) && SvOK(*val) && SvROK(*val)) { |
|
|
6 |
0 |
if ((val = hv_fetchs(clause_hv, "or", 0)) && SvOK(*val) && SvROK(*val)) { |
|
3362
|
146 |
39 |
if (actions) { |
|
3368
|
0 |
137 |
if (!clause) return; |
|
3372
|
15 |
122 |
if (clause->and_clause) { |
|
3375
|
6 |
131 |
if (clause->or_clause) { |
|
3385
|
0 |
26 |
if (!cond) return; |
|
3387
|
26 |
0 |
if (cond->if_clause) { |
|
3391
|
8 |
26 |
for (i = 0; i < cond->num_elsif; i++) { |
|
3394
|
4 |
22 |
if (cond->elsif_clauses) { |
|
3404
|
0 |
3 |
if (!given) return; |
|
3406
|
8 |
3 |
for (i = 0; i < given->num_when; i++) { |
|
3409
|
3 |
0 |
if (given->when_clauses) { |
|
3426
|
74 |
18 |
for (i = 0; i < sw->num_cases; i++) { |
|
3429
|
74 |
0 |
if (c->and_clause || c->or_clause) { |
|
|
0 |
74 |
if (c->and_clause || c->or_clause) { |
|
3456
|
13 |
5 |
if (string_ops > 0 && numeric_ops == 0 && other_ops == 0) |
|
|
13 |
0 |
if (string_ops > 0 && numeric_ops == 0 && other_ops == 0) |
|
|
13 |
0 |
if (string_ops > 0 && numeric_ops == 0 && other_ops == 0) |
|
3458
|
3 |
2 |
if (numeric_ops > 0 && string_ops == 0 && other_ops == 0) |
|
|
3 |
0 |
if (numeric_ops > 0 && string_ops == 0 && other_ops == 0) |
|
|
3 |
0 |
if (numeric_ops > 0 && string_ops == 0 && other_ops == 0) |
|
3469
|
1 |
60 |
if (negated) { |
|
3508
|
0 |
19 |
if (!sw) return; |
|
3511
|
1 |
18 |
if (sw->num_cases == 0) { |
|
3512
|
1 |
0 |
if (sw->num_default_actions > 0) { |
|
3526
|
13 |
5 |
if (opt_type == 1) { |
|
3530
|
3 |
2 |
} else if (opt_type == 2) { |
|
3535
|
74 |
18 |
for (i = 0; i < sw->num_cases; i++) { |
|
3539
|
61 |
13 |
if (opt_type == 1 && (c->expr_type == XS_JIT_EXPR_EQ || |
|
|
1 |
60 |
if (opt_type == 1 && (c->expr_type == XS_JIT_EXPR_EQ || |
|
3540
|
1 |
0 |
c->expr_type == XS_JIT_EXPR_NE)) { |
|
3546
|
11 |
2 |
} else if (opt_type == 2) { |
|
3552
|
0 |
2 |
if (!c->key) c->key = key; |
|
3556
|
18 |
56 |
if (i == 0) { |
|
3567
|
17 |
1 |
if (sw->num_default_actions > 0) { |
|
3583
|
0 |
19 |
if (!sw) return; |
|
3585
|
74 |
19 |
for (i = 0; i < sw->num_cases; i++) { |
|
3588
|
18 |
1 |
if (sw->cases) { |
|
3612
|
13 |
0 |
if (!b || !name || !values || num_values <= 0) return; |
|
|
13 |
0 |
if (!b || !name || !values || num_values <= 0) return; |
|
|
13 |
0 |
if (!b || !name || !values || num_values <= 0) return; |
|
|
0 |
13 |
if (!b || !name || !values || num_values <= 0) return; |
|
3615
|
5 |
8 |
if (opts) { |
|
3617
|
2 |
3 |
if (opts->prefix) { |
|
3629
|
96 |
13 |
for (j = 0; j < len; j++) { |
|
3630
|
17 |
79 |
p[j] = toLOWER(p[j]); |
|
3636
|
11 |
2 |
if (!prefix) { |
|
3642
|
81 |
11 |
for (j = 0; j < len; j++) { |
|
3643
|
67 |
14 |
p[j] = toUPPER(p[j]); |
|
3653
|
59 |
13 |
for (i = 0; i < num_values; i++) { |
|
3662
|
308 |
59 |
for (j = 0; j < len; j++) { |
|
3663
|
46 |
262 |
p[j] = toUPPER(p[j]); |
|
3713
|
59 |
13 |
for (i = 0; i < num_values; i++) { |
|
3717
|
13 |
46 |
if (i == 0) { |
|
3745
|
59 |
13 |
for (i = 0; i < num_values; i++) { |
|
3757
|
13 |
0 |
if (lc_name_sv) SvREFCNT_dec(lc_name_sv); |
|
3758
|
11 |
2 |
if (prefix_sv) SvREFCNT_dec(prefix_sv); |
|
3772
|
13 |
0 |
if (!b || !name || !package) return NULL; |
|
|
13 |
0 |
if (!b || !name || !package) return NULL; |
|
|
0 |
13 |
if (!b || !name || !package) return NULL; |
|
3775
|
12 |
1 |
if (!info_svp || !SvROK(*info_svp)) { |
|
|
0 |
12 |
if (!info_svp || !SvROK(*info_svp)) { |
|
3788
|
58 |
12 |
for (i = 0; i < num_vals; i++) { |
|
3796
|
307 |
58 |
for (j = 0; j < len && j < sizeof(uc_name) - 1; j++) { |
|
|
307 |
0 |
for (j = 0; j < len && j < sizeof(uc_name) - 1; j++) { |
|
3797
|
46 |
261 |
uc_name[j] = toUPPER(val_name[j]); |
|
3840
|
9 |
0 |
if (!b || !func_name) return; |
|
|
0 |
9 |
if (!b || !func_name) return; |
|
3843
|
2 |
7 |
if (opts) { |
|
3844
|
1 |
1 |
if (opts->cache_attr) { |
|
3888
|
1 |
8 |
if (ttl > 0) { |
|
3942
|
1 |
8 |
if (ttl > 0) { |
|
3990
|
10 |
0 |
if (!b || !func_name || !package) return NULL; |
|
|
10 |
0 |
if (!b || !func_name || !package) return NULL; |
|
|
0 |
10 |
if (!b || !func_name || !package) return NULL; |
|
3993
|
9 |
1 |
if (!info_svp || !SvROK(*info_svp)) { |
|
|
0 |
9 |
if (!info_svp || !SvROK(*info_svp)) { |
|
4030
|
2 |
5 |
if (opts && opts->compare_key) { |
|
|
2 |
0 |
if (opts && opts->compare_key) { |
|
4316
|
2 |
2 |
if (opts && opts->observers_attr) { |
|
|
2 |
0 |
if (opts && opts->observers_attr) { |
|
4454
|
0 |
17 |
if (!b) return; |