| line |
true |
false |
branch |
|
100
|
57629 |
0 |
!(@_ & 1) ? : |
|
|
0 |
57629 |
@_ == 1 && ref $_[0] eq 'HASH' ? : |
|
115
|
0 |
272 |
if @_ > 1 |
|
116
|
0 |
0 |
if @_ > 1 |
|
117
|
0 |
57651 |
if @_ > 1 |
|
118
|
0 |
58064 |
if @_ > 1 |
|
122
|
0 |
257 |
if @_ > 1 |
|
125
|
0 |
0 |
unless @_ > 1 |
|
134
|
5 |
252 |
if defined $name and ord $name == 46 |
|
135
|
80 |
177 |
unless (defined $name and defined $labels->{$name}) |
|
146
|
0 |
69 |
unless @_ == 2 |
|
150
|
0 |
69 |
unless defined $_[1] |
|
155
|
69 |
0 |
unless ref $label |
|
159
|
0 |
69 |
if defined $label->offset |
|
187
|
1 |
1 |
ord $name == 46 ? : |
|
191
|
0 |
0 |
if defined $self_label->offset and defined $peer_label->offset and $self_label->relative_to != $peer_label->relative_to |
|
195
|
1 |
1 |
if defined $self_label->offset and $peer_label->relative_to == $peer->start_address |
|
203
|
2 |
0 |
$_->can('clone_into_writer') ? : |
|
|
1 |
2 |
exists $label_map{$_} ? : |
|
210
|
0 |
1 |
if $bytes & $bytes - 1 |
|
217
|
0 |
4 |
unless length $fill == 1 |
|
232
|
3 |
1 |
if (ref $_[1] eq 'HASH') { } |
|
239
|
0 |
9 |
if defined $label->{'offset'} |
|
242
|
6 |
3 |
if ($ofs < 0) |
|
272
|
3 |
0 |
if (ref $str eq 'HASH') { } |
|
276
|
6 |
3 |
if $nul_terminate |
|
282
|
0 |
0 |
if $nul_terminate |
|
302
|
2810 |
166 |
$reg & 4096 ? : |
|
|
2976 |
0 |
defined($reg = $regnum{$_}) ? : |
|
|
0 |
2976 |
ref $_ && ref($_)->can('value') ? : |
|
|
2588 |
2976 |
ref $_ eq 'ARRAY' ? : |
|
|
10 |
5564 |
&looks_like_number($_) ? : |
|
304
|
2976 |
2598 |
if defined $reg |
|
306
|
0 |
2830 |
unless defined $bits |
|
333
|
35 |
82 |
defined $_[1] ? : |
|
338
|
0 |
0 |
defined $_[1] ? : |
|
344
|
0 |
2 |
unless @_ == 2 |
|
345
|
0 |
2 |
unless defined $_[1] |
|
349
|
2 |
0 |
unless ref $label |
|
355
|
0 |
2 |
unless defined $params->{'target'}{'offset'} |
|
357
|
0 |
2 |
unless $ofs >> 31 == $ofs >> 31 >> 1 |
|
367
|
0 |
0 |
ref $immed ? : |
|
368
|
0 |
0 |
if ref $immed |
|
379
|
2 |
1 |
if ($pop_bytes) { } |
|
380
|
0 |
2 |
ref $pop_bytes ? : |
|
381
|
0 |
2 |
if ref $pop_bytes |
|
398
|
0 |
180 |
unless defined $params->target->offset |
|
403
|
85 |
0 |
defined $params->{'long_op'} ? : |
|
|
95 |
85 |
$short ? : |
|
408
|
0 |
78 |
unless @_ == 4 |
|
410
|
0 |
78 |
unless defined $_[3] |
|
411
|
0 |
78 |
ref $label ? : |
|
420
|
0 |
4 |
unless @_ == 2 |
|
528
|
16 |
169 |
if (CORE::not defined $mem->[0] and $mem->[1] and CORE::not defined $mem->[2] and $mem->[1] > 2147483647 || ref $mem->[1]) |
|
530
|
4 |
4 |
$bits == 16 ? : |
|
|
4 |
8 |
$bits == 32 ? : |
|
|
4 |
12 |
$bits == 64 ? : |
|
|
16 |
0 |
if (lc $reg eq ($bits == 64 ? "rax" : ($bits == 32 ? "eax" : ($bits == 16 ? "ax" : "al")))) |
|
532
|
4 |
12 |
if $bits == 64 |
|
533
|
4 |
12 |
if $bits == 16 |
|
535
|
8 |
8 |
&looks_like_number($disp) ? : |
|
536
|
8 |
8 |
if (CORE::not defined $val) { } |
|
541
|
0 |
14 |
unless defined $v |
|
542
|
2 |
6 |
$bits == 16 ? : |
|
|
2 |
6 |
$bits == 64 ? : |
|
|
6 |
8 |
$v > 2147483647 ? : |
|
554
|
898 |
2690 |
if $bits == 64 |
|
555
|
898 |
1792 |
if $bits == 32 |
|
556
|
896 |
896 |
if $bits == 16 |
|
557
|
896 |
0 |
if $bits == 8 |
|
571
|
28 |
35 |
if ($immed >> 31 >> 1 == 0) { } |
|
|
21 |
14 |
elsif ($immed >> 31 == -1) { } |
|
572
|
12 |
16 |
$reg & 8 ? : |
|
588
|
24 |
33 |
if $reg & 8 |
|
596
|
21 |
28 |
if $reg & 8 |
|
604
|
25 |
30 |
if ($reg & 32) |
|
809
|
96 |
636 |
$immed eq 1 ? : |
|
811
|
147 |
165 |
$bits == 16 ? : |
|
|
189 |
312 |
$bits == 32 ? : |
|
|
231 |
501 |
if ($bits == 64) { } |
|
817
|
636 |
96 |
unless ($immed eq 1) |
|
818
|
0 |
636 |
ref $immed ? : |
|
819
|
0 |
636 |
if ref $immed |
|
833
|
756 |
3024 |
$immed eq 1 ? : |
|
834
|
945 |
2835 |
$bits == 16 ? : |
|
|
945 |
2835 |
$bits == 64 ? : |
|
837
|
3024 |
756 |
unless ($immed eq 1) |
|
838
|
0 |
3024 |
ref $immed ? : |
|
839
|
0 |
3024 |
if ref $immed |
|
1106
|
6 |
9 |
$reg & 8 ? : |
|
1113
|
0 |
16 |
ref $imm ? : |
|
1114
|
12 |
4 |
$val >> 7 == $val >> 8 ? : |
|
1115
|
0 |
16 |
if ref $imm |
|
1129
|
6 |
8 |
$reg & 8 ? : |
|
1139
|
28 |
0 |
if (CORE::not ref $varspace || ref $nesting) { } |
|
1143
|
0 |
0 |
ref $varspace ? : |
|
1144
|
0 |
0 |
if ref $varspace |
|
1146
|
0 |
0 |
ref $nesting ? : |
|
1147
|
0 |
0 |
if ref $nesting |
|
1251
|
4 |
655 |
if @_ == 1 |
|
1272
|
0 |
1468 |
defined $immed ? : |
|
|
0 |
529 |
defined $immed ? : |
|
|
1468 |
529 |
$rex ? : |
|
1334
|
480 |
152 |
if ($uses_extended_reg) { } |
|
1335
|
0 |
480 |
if $uses_high_byte |
|
1350
|
27 |
48 |
!$rex ? : |
|
1358
|
70 |
70 |
if (defined(my $regid = $regnum64{$reg})) { } |
|
|
70 |
0 |
elsif (defined($regid = $regnum32{$reg})) { } |
|
1368
|
24 |
116 |
!$rex ? : |
|
1388
|
7514 |
0 |
if defined $reg |
|
1395
|
7513 |
0 |
if defined $reg |
|
1402
|
7511 |
0 |
if defined $reg |
|
1411
|
5050 |
2020 |
if $regnum & 32 |
|
1413
|
0 |
7070 |
if ($regnum & 16) |
|
1416
|
0 |
0 |
if $rex or ($regnum64{$base_reg // ""} // 0) & 8 or ($regnum64{$index_reg // ""} // 0) & 8 |
|
1424
|
29281 |
9250 |
if defined $index_reg |
|
1427
|
29380 |
9151 |
if (defined $base_reg) |
|
1429
|
97 |
29283 |
if ($base_reg & 64 and ref $disp) |
|
1430
|
97 |
0 |
defined $$disp ? : |
|
|
97 |
0 |
if ref $disp eq "SCALAR" |
|
1435
|
11583 |
26948 |
if defined $prefix |
|
1437
|
0 |
38531 |
if defined $rip |
|
1451
|
48 |
15 |
if defined $base_reg |
|
1453
|
48 |
15 |
if defined $index_reg |
|
1455
|
0 |
63 |
ref $disp ? : |
|
|
63 |
0 |
defined $disp ? : |
|
1460
|
48 |
15 |
if defined $base_reg |
|
1462
|
48 |
15 |
if defined $index_reg |
|
1465
|
0 |
63 |
ref $disp ? : |
|
|
63 |
0 |
defined $disp ? : |
|
1470
|
48 |
15 |
if defined $base_reg |
|
1472
|
48 |
15 |
if defined $index_reg |
|
1474
|
0 |
63 |
ref $disp ? : |
|
|
63 |
0 |
defined $disp ? : |
|
1479
|
48 |
15 |
if defined $base_reg |
|
1481
|
48 |
15 |
if defined $index_reg |
|
1483
|
0 |
63 |
ref $disp ? : |
|
|
63 |
0 |
defined $disp ? : |
|
1499
|
50385 |
2600 |
$opcode <= 255 ? : |
|
1501
|
40406 |
12579 |
if (defined $base_reg) { } |
|
1502
|
179 |
40227 |
if ($base_reg == 2117) |
|
1503
|
0 |
179 |
unless defined $disp |
|
1504
|
0 |
179 |
if defined $scale or defined $immed |
|
1505
|
91 |
88 |
$rex ? : |
|
1511
|
3352 |
6706 |
($base_reg & 7) == 5 ? : |
|
|
10056 |
0 |
$disp >> 31 == $disp >> 31 >> 1 ? : |
|
|
20113 |
10056 |
$disp >> 7 == $disp >> 8 ? : |
|
|
10058 |
30169 |
!$disp ? : |
|
1516
|
30169 |
10058 |
if (defined $index_reg) { } |
|
|
3352 |
6706 |
elsif (($base_reg & 7) == 4) { } |
|
1518
|
0 |
30169 |
unless $index_reg != 4 |
|
1533
|
0 |
12579 |
unless $disp >> 31 == $disp >> 31 >> 1 |
|
1536
|
10056 |
2523 |
if (defined $index_reg) { } |
|
1538
|
0 |
10056 |
if ($index_reg & 15) == 4 |
|
1548
|
4284 |
48522 |
if defined $immed |
|
1551
|
32494 |
20312 |
$rex ? : |
|
1587
|
132 |
22 |
$reg & 15 ? : |
|
|
154 |
0 |
$value >> 31 == $value >> 31 >> 1 ? : |
|
|
295 |
154 |
if (defined $opcode8 and $value >> 7 == $value >> 8) { } |
|
1611
|
126 |
168 |
$rex ? : |
|
|
66 |
22 |
$reg & 15 ? : |
|
|
66 |
88 |
$rex ? : |
|
|
154 |
0 |
$value >> 31 >> 1 == $value >> 31 >> 2 ? : |
|
|
294 |
154 |
if (defined $opcode8 and $value >> 7 == $value >> 8 || $value >> 8 == 16777215) { } |
|
1637
|
105 |
140 |
$rex ? : |
|
|
63 |
21 |
$reg & 15 ? : |
|
|
63 |
84 |
$rex ? : |
|
|
147 |
0 |
$value >> 16 == $value >> 17 ? : |
|
|
245 |
147 |
if (defined $opcode8 and $value >> 7 == $value >> 8 || $value >> 8 == 255) { } |
|
1666
|
0 |
280 |
ref $immed ? : |
|
1667
|
0 |
280 |
unless $value >> 8 == $value >> 9 |
|
1668
|
0 |
280 |
if ($reg & 16) { } |
|
|
40 |
240 |
elsif (CORE::not $reg & 15) { } |
|
|
200 |
40 |
elsif ($reg & 32) { } |
|
1677
|
0 |
280 |
if ref $immed |
|
1685
|
3072 |
960 |
if defined $base_reg |
|
1687
|
3072 |
960 |
if defined $index_reg |
|
1689
|
4032 |
0 |
defined $disp ? : |
|
1694
|
1386 |
0 |
$value >> 31 == $value >> 31 >> 1 ? : |
|
|
2646 |
1386 |
if (defined $opcode8 and $value >> 7 == $value >> 8) { } |
|
1704
|
3072 |
960 |
if defined $base_reg |
|
1706
|
3072 |
960 |
if defined $index_reg |
|
1708
|
4032 |
0 |
defined $disp ? : |
|
1713
|
1386 |
0 |
$value >> 30 >> 2 == $value >> 30 >> 3 ? : |
|
|
2646 |
1386 |
if (defined $opcode8 and $value >> 7 == $value >> 8 || $value >> 8 == 16777215) { } |
|
1723
|
2688 |
840 |
if defined $base_reg |
|
1725
|
2688 |
840 |
if defined $index_reg |
|
1728
|
3528 |
0 |
defined $disp ? : |
|
1733
|
1323 |
0 |
$value >> 16 == $value >> 17 ? : |
|
|
2205 |
1323 |
if (defined $opcode8 and $value >> 7 == $value >> 8 || $value >> 8 == 255) { } |
|
1743
|
1920 |
600 |
if defined $base_reg |
|
1745
|
1920 |
600 |
if defined $index_reg |
|
1747
|
2520 |
0 |
defined $disp ? : |
|
1752
|
0 |
2520 |
unless $value >> 8 == $value >> 9 |
|
1759
|
97 |
54311 |
if (ref $u and CORE::not &looks_like_number($u)) { } |
|
1760
|
0 |
0 |
defined $$u ? : |
|
|
0 |
97 |
if ref $u eq "SCALAR" |
|
1762
|
0 |
97 |
unless ref($u)->can("value") |
|
1777
|
97 |
0 |
if $u->can("instruction") |
|
1809
|
0 |
189 |
if ($location < 0) { } |
|
1819
|
3 |
186 |
if ($self->{'debug'}) |
|
1823
|
3 |
8 |
if $caller[0] ne __PACKAGE__ |
|
1838
|
0 |
0 |
unless defined $v |
|
1840
|
0 |
0 |
$bits <= 64 ? : |
|
|
0 |
0 |
$bits <= 32 ? : |
|
|
0 |
0 |
$bits <= 16 ? : |
|
|
0 |
0 |
$bits <= 8 ? : |
|
1841
|
0 |
0 |
unless $bits == 64 or $v >> $bits == $v >> $bits + 1 |
|
1866
|
93 |
452 |
if $ofs |
|
1869
|
150 |
395 |
unless my $fn = $p->can('encoder') && $p->encoder |
|
1878
|
80 |
315 |
if (length $enc != $p->{'len'}) |
|
1885
|
0 |
395 |
unless (eval {
do {
my $enc = $self->$fn($p);
substr($self->{'_buf'}, $p->{'offset'}, $p->{'len'}) = $enc;
if (length $enc != $p->{'len'}) {
$changed_len = 1;
$ofs += length($enc) - $p->{'len'};
$p->{'len'} = length $enc;
};
1
}
}) |
|
1886
|
0 |
0 |
if (my $caller = $p->caller) { } |