Lines Matching refs:range

60 struct range {  struct
61 RB_ENTRY(range) entry;
92 static RB_HEAD(cutree, range) cuhead = RB_INITIALIZER(&cuhead); argument
95 lopccmp(struct range *e1, struct range *e2) in lopccmp()
100 RB_PROTOTYPE(cutree, range, entry, lopccmp);
101 RB_GENERATE(cutree, range, entry, lopccmp) in RB_GENERATE() argument
174 search_func(struct range *range, Dwarf_Unsigned addr) in search_func() argument
182 STAILQ_FOREACH(f, &range->funclist, next) { in search_func()
220 struct range *range) in collect_func() argument
334 STAILQ_INSERT_TAIL(&range->funclist, f, next); in collect_func()
345 collect_func(dbg, ret_die, f, range); in collect_func()
347 collect_func(dbg, ret_die, parent, range); in collect_func()
355 collect_func(dbg, ret_die, parent, range); in collect_func()
358 if (die != range->die) in collect_func()
369 print_inlines(struct range *range, struct Func *f, Dwarf_Unsigned call_file, in print_inlines() argument
375 if (call_file > 0 && (Dwarf_Signed) call_file <= range->nsrcfiles) in print_inlines()
376 file = range->srcfiles[call_file - 1]; in print_inlines()
401 print_inlines(range, f->inlined_caller, f->call_file, in print_inlines()
405 static struct range *
408 struct range find, *res; in culookup()
432 struct range **range) { in check_labels() argument
441 struct range *labelp, **labels; in check_labels()
483 if ((labels = calloc(label_cnt, sizeof(struct range *))) == NULL) in check_labels()
502 if (labels[i] != *range) in check_labels()
508 labelp = calloc(1, sizeof(struct range)); in check_labels()
544 *range = labels[i]; in check_labels()
545 RB_INSERT(cutree, &cuhead, (*range)); in check_labels()
546 curlopc = (*range)->lopc; in check_labels()
552 if (labels[i] != *range) in check_labels()
557 if (*range != NULL) in check_labels()
569 struct range **range) in check_range() argument
638 ret = check_labels(dbg, die, addr, range); in check_range()
643 if ((*range = calloc(1, sizeof(struct range))) == NULL) in check_range()
645 (*range)->lopc = lopc; in check_range()
646 (*range)->hipc = hipc; in check_range()
647 (*range)->die = die; in check_range()
648 (*range)->dbg = dbg; in check_range()
649 STAILQ_INIT(&(*range)->funclist); in check_range()
650 RB_INSERT(cutree, &cuhead, *range); in check_range()
668 struct range *range; in translate() local
682 range = culookup(addr); in translate()
683 if (range != NULL) { in translate()
684 die = range->die; in translate()
685 dbg = range->dbg; in translate()
724 ret = check_range(dbg, die, addr, &range); in translate()
782 if (ret == DW_DLV_OK && (func || inlines) && range != NULL) { in translate()
783 if (range->srcfiles == NULL) in translate()
784 if (dwarf_srcfiles(die, &range->srcfiles, in translate()
785 &range->nsrcfiles, &de)) in translate()
787 if (STAILQ_EMPTY(&range->funclist)) { in translate()
788 collect_func(dbg, range->die, NULL, range); in translate()
791 f = search_func(range, addr); in translate()
834 if (ret == DW_DLV_OK && inlines && range != NULL && in translate()
835 range->srcfiles != NULL && f != NULL && f->inlined_caller != NULL) in translate()
836 print_inlines(range, f->inlined_caller, f->call_file, in translate()