Lines Matching refs:entry

19 		struct block_range *entry = rb_entry(rb, struct block_range, node);  in block_range__debug()  local
21 assert(old < entry->start); in block_range__debug()
22 assert(entry->start <= entry->end); /* single instruction block; jump to a jump */ in block_range__debug()
24 old = entry->end; in block_range__debug()
33 struct block_range *entry; in block_range__find() local
37 entry = rb_entry(parent, struct block_range, node); in block_range__find()
39 if (addr < entry->start) in block_range__find()
41 else if (addr > entry->end) in block_range__find()
44 return entry; in block_range__find()
81 struct block_range *next, *entry = NULL; in block_range__create() local
86 entry = rb_entry(parent, struct block_range, node); in block_range__create()
88 if (start < entry->start) in block_range__create()
90 else if (start > entry->end) in block_range__create()
101 if (!entry) /* tree empty */ in block_range__create()
108 if (entry->end < start) { in block_range__create()
139 entry = malloc(sizeof(struct block_range)); in block_range__create()
140 if (!entry) in block_range__create()
143 *entry = (struct block_range){ in block_range__create()
150 rb_link_node(&entry->node, parent, p); in block_range__create()
151 rb_insert_color(&entry->node, &block_ranges.root); in block_range__create()
154 iter.start = entry; in block_range__create()
155 iter.end = entry; in block_range__create()
162 if (entry->start < start) { /* split: [e->start...][start...] */ in block_range__create()
168 .start = entry->start, in block_range__create()
170 .is_target = entry->is_target, in block_range__create()
173 .coverage = entry->coverage, in block_range__create()
174 .entry = entry->entry, in block_range__create()
177 entry->start = start; in block_range__create()
178 entry->is_target = 1; in block_range__create()
179 entry->entry = 0; in block_range__create()
181 rb_link_left_of_node(&head->node, &entry->node); in block_range__create()
185 } else if (entry->start == start) in block_range__create()
186 entry->is_target = 1; in block_range__create()
188 iter.start = entry; in block_range__create()
195 entry = iter.start; in block_range__create()
200 if (end < entry->end) { /* split: [...end][...e->end] */ in block_range__create()
207 .end = entry->end, in block_range__create()
209 .is_branch = entry->is_branch, in block_range__create()
211 .coverage = entry->coverage, in block_range__create()
212 .taken = entry->taken, in block_range__create()
213 .pred = entry->pred, in block_range__create()
216 entry->end = end; in block_range__create()
217 entry->is_branch = 1; in block_range__create()
218 entry->taken = 0; in block_range__create()
219 entry->pred = 0; in block_range__create()
221 rb_link_right_of_node(&tail->node, &entry->node); in block_range__create()
225 iter.end = entry; in block_range__create()
232 if (end == entry->end) { in block_range__create()
233 entry->is_branch = 1; in block_range__create()
234 iter.end = entry; in block_range__create()
238 next = block_range__next(entry); in block_range__create()
253 .start = entry->end + 1, in block_range__create()
259 rb_link_right_of_node(&tail->node, &entry->node); in block_range__create()
270 if (entry->end + 1 != next->start) { in block_range__create()
276 .start = entry->end + 1, in block_range__create()
287 entry = next; in block_range__create()