12 if(pc >= info->
pc_count) {
return NULL; }
17 int32_t step = count / 2;
19 if (!(pc < (*it)->start_pos)) {
22 }
else { count = step; }
31 pc < (((ret + 1 - info->
files) < info->
flen)
32 ? (*(ret+1))->start_pos : info->
pc_count));
38 select_line_type(
const uint16_t *lines,
size_t lines_len)
40 size_t line_count = 0;
43 for (i = 0; i < lines_len; ++
i) {
44 if (lines[i] != prev_line) {
55 if (irep && pc < irep->ilen) {
58 else if ((f = get_file(irep->
debug_info, pc))) {
68 if (irep && pc < irep->ilen) {
73 else if ((f = get_file(irep->
debug_info, pc))) {
84 int32_t step = count / 2;
86 if (!(pc < it->start_pos)) {
89 }
else { count = step; }
124 uint32_t start_pos, uint32_t end_pos)
128 uint32_t file_pc_count;
151 file_pc_count = end_pos - start_pos;
161 ret->
line_type = select_line_type(irep->
lines + start_pos, end_pos - start_pos);
168 for(i = 0; i < file_pc_count; ++
i) {
174 uint16_t prev_line = 0;
178 for(i = 0; i < file_pc_count; ++
i) {
179 if(irep->
lines[start_pos + i] == prev_line) {
continue; }
190 prev_line = irep->
lines[start_pos +
i];
207 for(i = 0; i < d->
flen; ++
i) {